Taproot Bitcoin – технология для повышения анонимности. Что это? Как работает?
Вкратце:
- Taproot (Тапрут) - это обновление сети Биткойн (BTC), активированное в ноябре 2021 года в формате софт форк, которое стало фундаментом для дальнейшего развития смарт контрактов и повышения конфиденциальности транзакций.
- Это крупнейшее обновление сети со времен SegWit 2017 года, когда в сообществе Биткойна велись споры о масштабировании и будущем протокола.
Taproot - это новая технология в сети Биткойн, призванная расширить возможности смарт-контрактов и повысить конфиденциальность транзакций. Основная идея, лежащая в основе Taproot, заключается в том, чтобы обеспечить возможность добавления логики к транзакциям с помощью мульти-подписей Шнорра, работающих вместе с P2SH и MAST.
MAST — это симбиоз из абстрактного ситаксического дерева (AST), которое разделит смарт-контракт на части, и хэш-дерева, или дерева Меркла, оно позволит уменьшить размер данных в блоке и проверить принадлежность этих разделенных частей смарт-контракта на примере одного любого хэша в дереве.
Отсюда следует, что Taproot - это форма MAST, но с небольшим изменением, которое позволяет сделать сложную условную транзакцию (т.е. многозначную, анонимную) похожей на обычную транзакцию.
Слишком сложно? Taproot повышает эффективность и конфиденциальность Биткойна, минимизируя объем раскрываемой информации и делая различные типы транзакций максимально похожими друг на друга на уровне блокчейна!
Но зачем понадобилось консервативному Биткойну имплементировать столь обширные обновления?
Зачем понадобилось разрабатывать Taproot
Общее восприятие конфиденциальности биткойна перешло к большему акценту на ее улучшение, поскольку рынок ориентированных на конфиденциальность криптовалют растет, и раскрывается больше векторов атаки для деанонимизации пользователей.
От протоколов Dandelion ++ до Chaumian CoinJoins реализуются многочисленные инициативы, направленные на повышение гарантий конфиденциальности псевдо анонимного Биткойна.
После интеграции подписей Шнорра протокол Taproot стал ключевым механизмом, обеспечивающим улучшенную конфиденциальность и более эффективную работу сложных сценариев транзакций.
Первоначально предложенный разработчиком и криптографом Грегори Максвеллом в январе 2018 года, Taproot расширяет возможности смарт-контрактов Биткойна, сохраняя при этом конфиденциальность, делая стандартные транзакции и более сложные транзакции с расширенными условиями, делая их неотличимыми от стандартных переводов для внешних наблюдателей.
Обновление совпадает с несколькими другими предлагаемыми нововведениями, включая «подписи Шнорра», «Graftroot» и «MAST» - улучшение по сравнению с P2SH (Pay to script hash). Об этом расскажем ниже.
P2SH - это расширенный тип транзакции. Он позволяет отправителю фиксировать средства в хэше произвольного действующего скрипта.
Некоторые из ведущих разработчиков Биткойна в настоящее время работают над планом интеграции подписей Шнорра и Taproot в качестве комбинированного усовершенствования протокола.
P2SH и MAST
Понимание Taproot требует сначала оценки нескольких методов, которые лежат в основе транзакций в сети Биткойн - P2SH и MAST.
P2SH
P2SH (известный как хэш сценария оплаты) - это место, где монеты заблокированы в биткойн-контракте, содержащем сценарии, которые определяют особые условия, которые должны быть выполнены, чтобы монеты были потрачены владельцем.
Например, стандартные транзакции требуют создания приватного ключа для проверки того, что монеты можно потратить. Однако более сложные транзакции, такие как multi-sig (транзакции с мульти-подписями – прим. авт.), требуют, чтобы определенное количество человек подписывали транзакцию, прежде чем она может быть отправлена.

Таким образом, если Алиса, Боб и Чарли являются участниками компании, для расходования X-го количества биткойнов из обменного фонда, сценарий мульти-подписи P2SH может потребовать, чтобы по крайней мере 2 из 3 участников подписали транзакцию для совершения транзакции.
Право тратить средства может соответствовать нескольким условиям скрипта P2SH, но только одно должно быть выполнено, чтобы разрешить транзакцию.
Условия этих более сложных транзакций хранятся в сценарии P2SH в виде хэша в блокчейне. Тем не менее, после того, как монеты потрачены, все условия раскрываются в сети, независимо от того, были ли они условиями, которые были выполнены и санкционировали расходование монет.
Например, если условие мульти-подписи 2 из 3х выполняется до другого условия сценария P2SH, такого как временная блокировка, тогда и сценарии временной блокировки, и сценарии мульти-подписи обнаруживаются после расходования монет.
Это создает проблемы с конфиденциальностью, поскольку не все биткойн-кошельки содержат такие функции, как мульти-подпись и контракты с блокировкой по времени.
Таким образом, наблюдатели могут вычислить тип исходного кошелька для транзакции, отсеяв кошельки, которые не имеют продвинутых условий написания сценариев P2SH.
Многочисленные условия могут также привести к более тяжелым транзакциям, снижая масштабируемость.
MAST
MAST был разработан для улучшения P2SH, запутывая условия сценария для транзакции.
Известный как «Merklelized Abstract Syntax Tree» (Мерклизованные абстрактные синтаксические деревья – прим. авт.), MAST скрывает условия сценария транзакции и показывает только первое выполненное условие, которое было ответственным за действительный расход монет.
MAST умно использует Дерево Меркла для хеширования каждого отдельного условия сценария, а не для хеширования всего набора условий.
При этом путь Merkle может подтвердить подлинность выполненного условия, не раскрывая другие условия сценариев.
Вернемся к примеру Алисы, Боба и Чарли. Если P2SH содержит условие мульти-подписи 2-из-3 и условие временной блокировки, то будет обнаружено только условие, которое выполнено первым. Если Алиса и Боб подписывают транзакцию, наблюдатель может проверить, было ли выполнено условие 2-из-3 для нескольких подписей, но они не будут знать, что P2SH также содержал условие временной блокировки.
Taproot на практике
|
Применения |
Как было до Taproot |
Как стало после Taproot |
Практическая польза |
|
Тип адресов |
P2PKH, P2SH, P2WPKH |
P2TR (Pay to Taproot) |
Новый стандарт адресов (bc1p…), поддерживающий скрытые условия |
|
Обычные переводы |
Отличимы от сложных скриптов |
Неотличимы от мультиподписей и контрактов |
Повышение конфиденциальности по умолчанию |
|
Мульти подписи |
Несколько подписей, большой размер |
Одна подпись Шнорра |
Меньше данных, дешевле комиссии |
|
Раскрытие скриптов |
Весь скрипт раскрывался |
Раскрывается только использованный путь |
Скрываются альтернативные условия |
|
MAST скрипты |
Не применялись массово |
Используются через Taproot |
Более сложные контракты без утечек логики |
|
Lightning Network |
Ограниченная приватность |
Каналы выглядят как обычные транзакции |
Сложнее определить LN-операции |
|
DLC контракты |
Сложная и заметная структура |
Минимальное раскрытие условий |
Улучшение финансовых деривативов |
|
Комиссии |
Выше из-за веса данных |
Ниже за счет компактных подписей |
Экономия средств пользователей |
|
Анализ блокчейна |
Легче классифицировать транзакции |
Сложнее определить тип операции |
Удорожание деанонимизации |
|
Безопасность |
Зависимость от ECDSA |
Подписи Шнорра (линейные) |
Более строгие криптографические свойства |
На практике Taproot не добавляет «анонимность» в привычном всем нам смысле, но значительно сокращает объем информации, раскрываемой в блокчейне.
Сложные транзакции, такие как мульти подписи, платежные каналы и смарт контракты теперь выглядят как обычные переводы, что повышает конфиденциальность, снижает комиссии и делает анализ сети менее эффективным.
Подписи Шнорра и Taproot
Основным преимуществом подписей Шнорра является их способность объединять транзакции в одну. Вместо того чтобы вводить данные, требующие отдельных подписей, подписи нескольких транзакций могут быть интегрированы в транзакцию с единой общей подписью.
Ярким преимуществом агрегирования подписей является экономия памяти в каждом блоке и, как следствие, лучшая масштабируемость сети. Однако при применении подписей Шнорра к транзакциям с мульти-подписями можно использовать Taproot.
Используя трюк, называемый «пороговыми подписями», когда подпись Шнорра применяется к транзакциям с мульти-подписями, участники могут собирать вместе свои подписи и открытые ключи, чтобы потратить монеты, как и при любой стандартной сделке.
Taproot - это инновация, объединяющая MAST с этой концепцией, когда участники могут «настроить» открытый ключ или пороговую подпись.
Что такое криптографические подписи?
По сути, они могут доказать достоверность транзакции с несколькими подписями, не раскрывая, что их транзакция содержала сложные условия сценария.
В результате расширенная (мульти-подписная) транзакция может быть скрыта в агрегированной подписи Шнорра как обычная транзакция.
Кроме того, транзакция не показывает, что она содержит структуру MAST.

Подпись Шнорра, MAST и Taproot рассматриваются как взаимодополняющие инновации, которые приводят к некоторым захватывающим и более сложным возможностям транзакций в биткойне.
Разработчик Bitcoin Core Энтони Таунс (Anthony Towns), предложил идею «generalized taproot», что позволило бы сократить объем данных, необходимых для первоначального варианта Taproot.
Однако он отмечает:
«Что касается развертывания, я думаю, что имеет смысл сначала вывести начальное развертывание Подписей Шнорра / Taproot / MAST, а позже добавить обобщенный Taproot / агрегацию. Мне кажется, что для обобщенного Taproot нет особой срочности, поэтому было бы целесообразно сейчас заняться подписями Шнорра / Taproot / MAST, уделить время анализу обобщенного Taproot, и, если он окажется нормальным и полезным, постараться включить его на более позднем этапе, например, одновременно с Taproot / агрегацией»
Taproot был реализован совместно с подписями Шнорра, что позволило внедрить обновление без нарушения обратной совместимости и сохранить устойчивость сети.
Подписи Шнорра, MAST и Taproot были реализованы как взаимосвязанный набор изменений, значительно расширивший скрипты Биткоина и снизивший объем раскрываемых данных в блокчейне.
Подписи Шнорра - это серьезное обновление для биткойна, конкурирующее с SegWit. Основные обновления приходят с разногласиями и задержками среди сообщества, но поддержка подписей Шнорра сильна.
После активации Taproot разработчики и инфраструктурные сервисы сосредоточились на его практическом применении: от мульти-подписей нового поколения до контрактов для Lightning Network.
После длительного процесса обсуждений, тестирования и согласования обновление Taproot было успешно активировано в основной сети Биткойна в ноябре 2021 года.
Taproot представляет некоторые интригующие преимущества конфиденциальности в качестве дополнения к подписям Шнорра и MAST, и возможное добавление Graftroot даже стремится улучшить Taproot путем устранения некоторых недостатков в эффективности.
Эффективность и конфиденциальность Биткойна были в центре внимания сообщества в течение многих лет, и значительный прогресс уже достигнут благодаря таким инновациям, как SegWit, Stonewall и Chaumian CoinJoins.
Многие другие предложения будут подвергаться дальнейшей разработке в течение 2020 года и послужат убедительными улучшениями для постоянно развивающейся сети Биткойн.
Кто придумал Taproot ?
Taproot был предложен в 2018 году Грегори Максвеллом.
Максвелл - разработчик Bitcoin Core, программного обеспечения с открытым исходным кодом, созданного Blockstream, где Максвелл когда-то был техническим директором.
Bitcoin Core является преобладающим программным клиентом для Биткойн, что означает, что он позволяет людям взаимодействовать с блокчейном.
Загрузив Bitcoin Core, люди могут принимать участие в проверке транзакций в блокчейне Биткойн.
Каков текущий статус?
Для активации Taproot майнеры Биткойна использовали механизм сигнализации, в рамках которого необходимый порог поддержки был достигнут в июне 2021 года. («Сложность» майнинга биткойнов регулируется каждые 2016 блоков или около двух недель, в зависимости от того, как быстро майнеры создают новые блоки; цель состоит в том, чтобы усреднять новый блок каждые 10 минут.)
Для того, чтобы обновление было выполнено, 90% добытых блоков в течение этого периода должны были включать данные от майнеров, известные как «сигнальный бит». Если порог не был достигнут, у майнеров был еще один шанс в течение следующего двухнедельного периода, до 11 августа. После нескольких неудачных попыток достичь порога в 90%, майнеры сети достигли цели 12 июня.
После успешного достижения консенсуса обновление Taproot было активировано в сети Биткойн в ноябре 2021 года!
P2TR (Pay to Taproot): новый стандарт адресов Bitcoin
P2TR (Pay to Taproot) - это новый тип выходов в сети Биткоин, представленный в рамках обновления Taproot.
Он объединяет одиночную подпись, агрегированные подписи Шнорра и скрытые сценарии (MAST) в единой структуре, делая сложные транзакции неотличимыми от обычных.
|
Характеристика |
P2PKH / P2WPKH |
P2SH / P2WSH |
P2TR (Taproot) |
|
Тип адреса |
bc1q / 1… |
bc1q / 3… |
bc1p… |
|
Подписи |
ECDSA |
ECDSA |
Schnorr |
|
Multisig |
Видим в блокчейне |
Видим |
Скрыт как single-sig |
|
Скрипты |
Простые |
Полностью раскрываются |
Раскрывается только использованный путь |
|
Поддержка MAST |
- |
- |
встроена |
|
Конфиденциальность |
Низкая |
Средняя |
Повышенная по умолчанию |
|
Размер транзакции |
Стандартный |
Большой |
Меньше при сложных условиях |
Как работает P2TR на практике?
|
Способ расходования средств |
Описание |
Что видит блокчейн |
|
Key Path Spend |
Трата по агрегированной подписи Шнорра |
Обычную single sig транзакцию |
|
Script Path Spend |
Трата по одному из MAST-скриптов |
Только выполненное условие |
|
Fallback-условия |
Таймлоки, аварийные ключи |
Полностью скрыты, если не использованы |
Почему P2TR это больше, чем улучшенный P2SH?
|
P2SH |
P2TR |
|
Хранит хэш всего скрипта |
Хранит модифицированный публичный ключ |
|
Всегда раскрывает условия |
Раскрывает только при необходимости |
|
Multisig легко распознать |
Multisig неотличим от обычной подписи |
|
Нет нативной поддержки MAST |
MAST встроен по умолчанию |
Кто против Taproot?
Некоторые критики, включая Эдварда Сноудена, выражали опасения, что расширение функциональности BTC может привести к новым формам анализа транзакций, однако большинство разработчиков считают Taproot шагом к снижению утечек данных, а не их усилению.





