Taproot Bitcoin – технология для повышения анонимности
Вкратце:
- Taproot - это обновление сети Биткойн, завершенное в ноябре 2021 года.
- Это крупнейшее обновление сети со времен SegWit 2017 года, которое привело к созданию Bitcoin Cash.
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 - это инновация, объединяющая MAST с этой концепцией, когда участники могут «настроить» открытый ключ или пороговую подпись.
Что такое криптографические подписи?
По сути, они могут доказать достоверность транзакции с несколькими подписями, не раскрывая, что их транзакция содержала сложные условия сценария.
В результате расширенная (мульти-подписная) транзакция может быть скрыта в агрегированной подписи Шнорра как обычная транзакция.
Кроме того, транзакция не показывает, что она содержит структуру MAST.
Принцип действия обычных транзакций и транзакций с подписями Шнорра
Подпись Шнорра, MAST и Taproot рассматриваются как взаимодополняющие инновации, которые приводят к некоторым захватывающим и более сложным возможностям транзакций в биткойне.
Разработчик Bitcoin Core Энтони Таунс (Anthony Towns), предложил идею «generalized taproot», что позволило бы сократить объем данных, необходимых для первоначального варианта Taproot.
Однако он отмечает:
«Что касается развертывания, я думаю, что имеет смысл сначала вывести начальное развертывание Подписей Шнорра / Taproot / MAST, а позже добавить обобщенный Taproot / агрегацию. Мне кажется, что для обобщенного Taproot нет особой срочности, поэтому было бы целесообразно сейчас заняться подписями Шнорра / Taproot / MAST, уделить время анализу обобщенного Taproot, и, если он окажется нормальным и полезным, постараться включить его на более позднем этапе, например, одновременно с Taproot / агрегацией»
Taproot в основном готов к развертыванию, но требует, чтобы подписи Шнорра были внедрены первым или, по крайней мере, в сочетании с Taproot.
Подробные предложения по включению подписей Шнорра в протокол Bitcoin Core уже доступны, однако пока еще нет точных сроков его реализации. Общее мнение заключается в том, что подписи Шнорра, MAST и Taproot будут реализованы в виде набора дополнительных обновлений протокола.
Подписи Шнорра - это серьезное обновление для биткойна, конкурирующее с SegWit. Основные обновления приходят с разногласиями и задержками среди сообщества, но поддержка подписей Шнорра сильна.
Разработчики работают над тестированием и уточнением технической реализации обновления, прежде чем объявить о его окончательной подготовке.
Разработчики биткойна и более широкое сообщество уже давно воодушевлены потенциалом интеграции подписей Шнорра в протокол, и похоже, что официальная дата его включения уже намечена на 2020 год.
Taproot представляет некоторые интригующие преимущества конфиденциальности в качестве дополнения к подписям Шнорра и MAST, и возможное добавление Graftroot даже стремится улучшить Taproot путем устранения некоторых недостатков в эффективности.
Эффективность и конфиденциальность Биткойна были в центре внимания сообщества в течение многих лет, и значительный прогресс уже достигнут благодаря таким инновациям, как SegWit, Stonewall и Chaumian CoinJoins.
Многие другие предложения будут подвергаться дальнейшей разработке в течение 2020 года и послужат убедительными улучшениями для постоянно развивающейся сети Биткойн.
Кто придумал Taproot ?
Taproot был предложен в 2018 году Грегори Максвеллом.
Максвелл - разработчик Bitcoin Core, программного обеспечения с открытым исходным кодом, созданного Blockstream, где Максвелл когда-то был техническим директором.
Bitcoin Core является преобладающим программным клиентом для Биткойн, что означает, что он позволяет людям взаимодействовать с блокчейном.
Загрузив Bitcoin Core, люди могут принимать участие в проверке транзакций в блокчейне Биткойн.
Каков текущий статус?
Биткойн-майнеры - те, кто создают новые блоки в сети - должны были буквально «сигнализировать» о том, что они поддерживают обновление в течение двухнедельного периода.(«Сложность» майнинга биткойнов регулируется каждые 2016 блоков или около двух недель, в зависимости от того, как быстро майнеры создают новые блоки; цель состоит в том, чтобы усреднять новый блок каждые 10 минут.)
Для того, чтобы обновление было выполнено, 90% добытых блоков в течение этого периода должны были включать данные от майнеров, известные как «сигнальный бит». Если порог не был достигнут, у майнеров был еще один шанс в течение следующего двухнедельного периода, до 11 августа. После нескольких неудачных попыток достичь порога в 90%, майнеры сети достигли цели 12 июня.
Если все и дальше будет идти по плану, то Taproot будет запущен в ноябре 2021 года!
Кто против Taproot?
Эдвард Сноуден, бывший подрядчик Агентства национальной безопасности, сообщивший, что Taproot может на самом деле ухудшить конфиденциальность биткойнов. Большинство разработчиков биткойнов не согласны с этой оценкой.