Вскоре пользователи Биткойна смогут воспользоваться трюком под названием
Несмотря на то, что это большое предприятие, это не просто теория. Некоторые из самых плодовитых участников Bitcoin Core, включая Питера Уилля, Энтони Таунса, Джонсона Лау, Джонаса Ника, Эндрю Польстры, Тима Раффинга, Расти Рассела и, действительно, Грегори Максвелла, работают над предложением подписи Шнорра, которое включает Taproot, все в одном обновлении протокола.
Вот что такое Taproot и как он работает.
P2SH
Все биткойны по существу "заперты" в скриптах: пара строк кода, встроенных в транзакцию, включенную в блокчейн, которые определяют, как монеты могут быть потрачены в следующей транзакции. Условия расходования обычно включают предоставление подписи, чтобы доказать владение монетами.
Различные условия могут быть смешаны и сопоставлены, чтобы создать сложные типы смарт-контрактов. Примером такого контракта может быть то, что монеты могут быть потрачены, если подпишут Алиса и Боб, или если Алиса подпишет только через неделю, или если Боб подпишет только при этом предоставит секретный номер.
С 2012 года сценарии (условия) часто не видны публично вначале; только новый владелец монет знает, как они могут быть потрачены. Это делается с помощью трюка под названием P2SH (pay to script hash), где изначально только хэш сценария включен в блокчейн. Это, казалось бы, случайный номер, удерживающий монеты. Когда владелец тратит монеты, он раскрывает весь сценарий, а также решение к сценарию одновременно.
Тем не менее, когда монеты расходуются, в настоящее время необходимо раскрыть все возможные условия, которые могли быть выполнены, включая условия, которые не были выполнены. Это имеет два основных недостатка. Во-первых, это тяжелое обращение с данными, особенно если есть много условий. И во-вторых, это плохо для конфиденциальности. Каждый узнает все различные способы, которыми могли быть потрачены средства, которые могут, например, раскрыть, какой вид кошелька использовался и, возможно, даже больше.
Маст
MAST (Merkelized Abstract Syntax Tree) - это предложенное решение, которое использует деревья Меркле (десятилетняя компактная структура данных, изобретенная криптографом Ральфом Мерклем), чтобы обойти эти два недостатка.
Уникальное преимущество заключается в том, что если какие-либо данные в дереве Меркле раскрываются, корня Меркла и некоторые дополнительные данные (называемые путем Меркла) могут быть использованы для проверки того, что конкретные данные были включены в дерево Меркла.
При MAST это означает, что необходимо раскрыть только условие, которое выполнено. Если, в первоначальном примере выше, Алиса одна тратит средства через неделю, она просто раскрывает это условие (и путь Меркла). Никто не узнает, что деньги также могли быть потрачены Алисой и Бобом вместе, или Бобом в одиночку, если бы он добавил секретный номер. Это делает MAST более эффективным по сравнению со сложными смарт-контрактами P2SH и добавляет конфиденциальность для загрузки.
Тем не менее, с Шнорром Taproot может сделать еще лучше: транзакция может скрыть, что структура MAST вообще существовала.
Шнор.
Схема подписи Шнор уже давно находится в списке пожеланий многих разработчиков Биткойна и в настоящее время находится в разработке для развертывания в качестве обновления протокола мягкой вилки.
В качестве наиболее известного преимущества в контексте биткойна,
И схема подписи может быть использована еще более интересными способами. Например, можно использовать данные для
Это то, что позволяет Taproot.
Скорпион
Taproot основан на интересном понимании: независимо от того, насколько сложно, почти любое создание MAST может (или должно) включать условие, которое позволяет всем участникам договориться о результате и просто подписать сделку.
Taproot напоминает MAST и всегда включает условие, при котором все участники могут сотрудничать, чтобы потратить средства:
Используя подписи Шнорра, здесь становится интересно.
Во-первых, кооперативный закрытие будет использовать трюк порога Шнорра, чтобы сделать его похожим на обычную транзакцию, от одного человека к другому. Таким образом, публичные ключи всех участников добавляются вместе, в результате чего получается
До сих пор все хорошо, но расходование средств, как если бы это была нормальная транзакция, это единственное, что они могут сделать - пока нет структур, подобных MAST.
Все альтернативные способы расходования средств
Теперь, если деньги тратятся совместно, все участники объединяют свои подписи в
Только если кооперативное закрытие окажется невозможным, пороговый публичный ключ может быть показан таким, каким он на самом деле является: откорректирован.
В этом случае раскрывается как первоначальный пороговый публичный ключ, так и скрипт. Это доказывает, что
В качестве альтернативы, вместо того, чтобы настроить пороговый публичный ключ с помощью скрипта, пороговый публичный ключ можно настроить с помощью корня Merkle дерева Merkle, который включает в себя все различные условия, при которых могут быть потрачены средства: структура MAST. Чтобы потратить средства, то необходимо раскрыть только условие расходов, которое было выполнено.
Таким образом, Taproot предлагает все преимущества MAST, в то время как при нормальных обстоятельствах никто никогда не узнает, что обычная транзакция скрывала такой сложный смарт-контракт в качестве резервного.
Это общий очертание концепции Taproot; особенности реализации могут варьироваться.