ua
МОВА

Taproot: разбор долгожданного обновления в сети Bitcoin

WhiteBIT
Опублікував 11 Листопада 2021

Уже скоро состоится запуск Taproot – апгрейда, который призван повысить конфиденциальность, масштабируемость и безопасность сети BTC. Taproot обещает стать самым крупным технологическим обновлением биткоина, начиная с 2017 года. В чём оно заключается и как работает – в нашем материале.

Что такое Taproot?

Taproot – софтфорк Bitcoin, нацеленный на модификацию скриптов протокола для всестороннего улучшения его работы. Любая транзакция в сети активирует скрипты, которые определяют, что именно пользователи могут делать с активом. Сейчас в сети Bitcoin используется надстройка P2SH: скрипт хеширует пользовательские условия и сохраняет их в виде зашифрованного кода. Однако после траты монет скрипты попадают в блокчейн, в результате чего:

  • увеличивается размер сети;
  • возникает угроза конфиденциальности.

Любой участник сети сможет увидеть транзакции с применением сложных скриптов, а значит, их проще отслеживать. Taproot позволит скрыть сам факт использования скрипта, стирая различия между разными типами транзакций, будь то одноранговая транзакция или сложный смарт-контракт. Обновление Taproot будет реализовано в связке с подписями Шнорра и решением MAST.

Дерево Меркла (или MAST)

MAST (Merkelized Abstract Syntax Tree) позволяет по отдельности хешировать условия расходования монет, а затем объединять их в дерево Меркла. В отличие от P2SH, MAST позволяет структурировать в дереве Меркла множество условий расходования, раскрывая при этом только выполненные.

Открытие только исполняемого скрипта экономит пространство в сети и способствует реализации более сложных скриптов. Возможна реализация нескольких условий, например: мультиподпись, передача актива в определённое время и необходимость ввода секретного кода. Будет раскрыто то условие, которое было выполнено первым, и никто не узнает, в чём заключались другие, нереализованные условия. Однако без технологии подписей Шнорра нельзя скрыть сам факт существования MAST-структуры.

Схема подписей Шнорра

Основное преимущество технологии – линейность. Это свойство позволяет агрегировать ключи и подписи в единый публичный ключ и единую подпись. Это предоставляет возможность скрыть данные о типе транзакции, количестве пользователей и ключей для её активации и т.д.

При создании Bitcoin использовался ECDSA, но созданные с помощью этого алгоритма цифровые подписи не являются линейными, а значит, из них нельзя получить агрегированную подпись. Для мультиподписей ECDSA необходимо предоставлять подпись от каждого участника отдельно, что приводит увеличению размера блокчейна.

Агрегирование ключей благодаря технологии подписей Шнорра устраняет необходимость верификации каждого отдельного входа и позволяет ускорить процесс подтверждения. Подписи Шнорра занимают меньше места в сети, благодаря чему уменьшается размер транзакции и снижается комиссия. Также технология позволяет скрыть, принадлежит ли адрес группе лиц или одному пользователю.

Возможности Taproot

Обновление Taproot включает в себя лучшие характеристики описанных выше технологий, но модифицирует их на свой лад.

Для достижения консенсуса можно привлечь всех участников и совершить “совместную трату”. Благодаря подписям Шнорра все условия, не предполагающие “совместной траты”, объединяются в отдельный скрипт и хешируются. Затем этот хеш используется для видоизменения “порогового публичного ключа” путем умножения. Аналогичная процедура с “пороговой подписью” позволяет получить еще одну пару. Таким образом, при совершении “совместной траты” “пороговая подпись”, умноженная на скрипт, позволяет участникам осуществить трату. При этом сторонние наблюдатели все равно будут видеть стандартную транзакцию.

Если же “совместная трата” оказалась невозможной, раскрывается и «пороговый публичный ключ», и скрипт: это подтверждает истинность видоизмененного варианта и свидетельствует, что трата могла быть реализована при соблюдении альтернативных условий, заключенных в скрипте.

Также для модификации порогового ключа возможно использование хеша дерева Меркла вместо скрипта. В этом случае для траты монет необходимо раскрытие только того условия, которое было реализовано.

Заключение

Taproot сделает скрипты Bitcoin более приватными, гибкими и эффективными. Разработчики смогут писать сложные скрипты, снизив при этом воздействие на блокчейн, а усложненные транзакции с агрегированной подписью позволят сэкономить на комиссиях. Также Taproot предоставит возможность минимизировать раскрываемую в блокчейне информацию об условиях расходования для выхода транзакции, а подписи Шнорра увеличат группу типов транзакций, которым можно придать видимость обычных.