Bitcoin часто критикуют за медленную эволюцию, но это восприятие проистекает из недопонимания того, как протокол отдает приоритет безопасности и стабильности. Хотя обновления происходят реже по сравнению с другими блокчейн-сетями, они бывают значительными. Активация Taproot в ноябре 2021 года ознаменовала один из самых важных технических скачков в истории Bitcoin. Это обновление было не просто одной функцией, а набором технологий, предназначенных для модернизации способа верификации транзакций и хранения данных в блокчейне.
В своей основе Taproot решает две фундаментальные проблемы: приватность и эффективность. По мере роста сети пользователи требовали более сложные типы транзакций, такие как мультиподписные кошельки и контракты с временной блокировкой. В предыдущей версии протокола Bitcoin эти сложные транзакции были объемными по данным и легко идентифицируемыми в публичном реестре. Это создавало ситуацию, когда пользователи вынуждены были жертвовать приватностью и платить более высокие комиссии за использование продвинутых функций скриптинга.
Обновление Taproot решает эти проблемы, вводя подписи Schnorr, мерклизованные абстрактные синтаксические деревья (MAST) и новый язык скриптинга под названием Tapscript. Вместе эти технологии позволяют сложным транзакциям выглядеть неотличимыми от стандартных переводов в блокчейне. Это создает более приватную, взаимозаменяемую и масштабируемую сеть. Понимание этих компонентов показывает, как Bitcoin позиционирует себя не только как цифровое золото, но и как надежную платформу для безопасного, приватного и эффективного переноса ценности.
Исторический контекст обновлений Bitcoin
Чтобы понять масштаб Taproot, нужно оглянуться на обновление Segregated Witness (SegWit) 2017 года. SegWit в первую очередь исправляло проблему изменяемости транзакций — ошибку, которая позволяла изменять ID транзакций до подтверждения. Однако его наиболее долговечным наследием стало изменение способа измерения пространства блока. Разделяя цифровую подпись (данные свидетеля) от данных транзакции, SegWit эффективно увеличило лимит размера блока и проложило путь для решений второго уровня, таких как Lightning Network.
SegWit ввело понятие «веса блока», что позволило уместить больше транзакций в один блок за счет снижения веса данных свидетеля. Хотя это улучшило пропускную способность, оно не изменило фундаментально криптографическую схему подписей или способ обработки скриптов. Bitcoin продолжал полагаться на алгоритм цифровой подписи на эллиптических кривых (ECDSA), который был стандартом отрасли с момента создания Bitcoin.
Ограничения устаревшей системы
До Taproot сложные условия расходования обрабатывались с помощью Pay-to-Script-Hash (P2SH). Если пользователь хотел создать контракт, требующий либо две из трех приватных ключей для подписи, либо истечения определенного времени, ему приходилось хэшировать весь скрипт и размещать его в блокчейне.
При расходе средств пользователь был обязан раскрыть весь скрипт, включая невыполненные условия. У этой системы было две основные проблемы. Во-первых, она была неэффективной, поскольку большие скрипты занимали значительное пространство блока, что приводило к более высоким комиссиям за транзакции. Во-вторых, это был кошмар для приватности. Раскрывая все возможные условия смарт-контракта, пользователи раскрывали свои настройки безопасности всему миру.
Обновление Taproot кардинально меняет эту динамику. Оно позволяет пользователям фиксировать сложный скрипт, не раскрывая его содержимое до момента фактического расхода средств. Даже тогда раскрывается только конкретное использованное условие, а остальная логика контракта остается скрытой от публичного просмотра.
Сила подписей Schnorr
Первый столп обновления Taproot — внедрение подписей Schnorr (BIP 340). Это заменяет устаревший механизм ECDSA для генерации публичных ключей и подписей. Хотя ECDSA безопасен, ему не хватает математического свойства, известного как линейность. Линейность позволяет объединять несколько цифровых подписей в одну действительную подпись. Эта возможность известна как агрегация ключей.
В традиционной мультиподписной транзакции Bitcoin сеть должна проверять каждую индивидуальную подпись и хранить их все в блокчейне. Если три человека подписывают транзакцию, три подписи и три публичных ключа занимают место в блоке. Этот линейный рост объема данных делает безопасность дорогой.
Подписи Schnorr решают эту проблему, позволяя нескольким сторонам объединять свои публичные ключи в один агрегированный ключ. При подписании транзакции их индивидуальные частичные подписи объединяются в одну подпись. Для сети Bitcoin эта агрегированная подпись выглядит точно как стандартная подпись одного пользователя. Это резко снижает объем данных, хранящихся в цепочке, уменьшая комиссии для сложных настроек безопасности.
Помимо эффективности, Schnorr позволяет выполнять «пакетную валидацию». Эта функция позволяет полным узлам проверять подписи гораздо быстрее, чем раньше. Вместо проверки каждой подписи по отдельности узел может одновременно верифицировать пакет подписей Schnorr. Эта математическая эффективность снижает вычислительную нагрузку на сеть, облегчая пользователям запуск собственных узлов и поддерживая децентрализацию системы.
Мерклизованные абстрактные синтаксические деревья (MAST)
Второй основной компонент обновления — интеграция мерклизованных абстрактных синтаксических деревьев, или MAST. Эта технология революционизирует структуру смарт-контрактов в Bitcoin. В информатике дерево Меркла — это структура данных, позволяющая эффективно верифицировать большие наборы данных без необходимости наличия всего набора. MAST применяет это понятие к скриптам Bitcoin.
В старой системе P2SH смарт-контракт был одним линейным скриптом. Если скрипт содержал несколько условий расходования (ветвей), весь скрипт приходилось обрабатывать и раскрывать. MAST разбивает эти условия на отдельные листья дерева Меркла. При расходе средств пользователь предоставляет только используемый лист (условие) и «доказательство Меркла», связывающее этот лист с корнем дерева.
Эффективность за счет выборочного раскрытия
Основное преимущество MAST — эффективность. Представьте сложный наследственный контракт с десятью различными способами доступа к средствам, включающими разных членов семьи и временные задержки. В устаревшей системе все десять условий занимали бы место в блоке. С MAST, если основной бенефициар использует средства по самому простому условию, раскрывается и хранится в цепочке только это условие.
Невыполненные ветви дерева остаются хэшированными и скрытыми. Это значит, что транзакция с сотней потенциальных условий расходования может быть такой же маленькой и дешевой, как транзакция с одним условием. Это разделение сложности контракта и стоимости транзакции устраняет финансовый штраф за использование продвинутых мер безопасности.
Преимущества приватности от скрытых скриптов
MAST предлагает значительные улучшения приватности. Поскольку невыполненные ветви никогда не раскрываются, внешние наблюдатели не могут узнать полные детали конфигурации кошелька пользователя. Наблюдатель, просматривающий блокчейн, видит только выполненное условие, а не те, что были в резерве.
Например, кошелек пользователя может разблокироваться аппаратным кошельком мгновенно или доверенной третьей стороной после годовой задержки. Если пользователь тратит средства обычным способом с аппаратным кошельком, существование резервного условия третьей стороны никогда не раскрывается публично. Это выборочное раскрытие делает крайне сложным для фирм по анализу цепочек идентификацию кошельков или определение уровня сложности настроек безопасности пользователя.
Pay-to-Taproot (P2TR) и расходование по ключевому пути
Taproot объединяет подписи Schnorr и MAST в новый тип выхода транзакции под названием Pay-to-Taproot (P2TR), определенный в BIP 341. Эта структура позволяет тратить выход Bitcoin двумя способами: по «ключевому пути» и по «скриптовому пути». Эта двойная возможность делает транзакции Taproot единообразными в блокчейне.
Ключевой путь использует агрегацию ключей Schnorr. Если все стороны смарт-контракта согласны с действиями, они могут совместно создать одну подпись для расходования средств. Это сценарий совместного закрытия. Для сети это выглядит идентично простому платежу от человека к человеку. Нижестоящий скрипт никогда не раскрывается, поскольку авторизация расходования обрабатывается чисто криптографически вне цепочки.
Если стороны не могут договориться или должно быть выполнено конкретное сложное условие, кошелек переключается на скриптовый путь. Здесь вступает в игру MAST. Кошелек раскрывает конкретную ветвь дерева Меркла, необходимую для перемещения средств. Гениальность P2TR в том, что публичный ключ в блокчейне на самом деле является комбинацией публичного ключа пользователя и корня MAST.
Это значит, что каждый выход P2TR выглядит одинаково до расходования. Наблюдатель не может определить, является ли адрес P2TR простым одиночным кошельком, мультиподписной настройкой или сложным смарт-контрактом. Если пользователь тратит по ключевому пути, существование скриптового пути математически скрыто навсегда. Это понятие, известное как «совместное закрытие», побуждает стороны договариваться вне цепочки, чтобы сэкономить на комиссиях и сохранить приватность.
| Характеристика | Устаревшая (P2SH/ECDSA) | Taproot (P2TR/Schnorr) |
|---|---|---|
| Алгоритм подписи | ECDSA | Schnorr |
| Приватность | Раскрывает весь скрипт | Раскрывает только выполненную ветвь |
| Данные мультиподписи | Одна подпись на подписанта | Одна агрегированная подпись |
| Эффективность | Стоимость растет с сложностью | Постоянная стоимость для ключевого пути |
| Фунгибельность | Отличительные отпечатки кошельков | Единообразный вид транзакций |
Эволюция смарт-контрактов Bitcoin
Хотя Bitcoin не является платформой смарт-контрактов с полной вычислимостью Тьюринга, как Ethereum, он обладает мощным языком скриптинга, способным обрабатывать сложную финансовую логику. Taproot значительно усиливает эту возможность. Устраняя штраф за сложные скрипты, оно побуждает разработчиков создавать более сложные приложения непосредственно на базовом уровне Bitcoin.
Это не значит, что Bitcoin пытается копировать функциональность других цепочек. Вместо этого он фокусируется на верификации, а не на вычислениях. Смарт-контракты Bitcoin фундаментально касаются условий авторизации: кто и когда может тратить деньги. Taproot позволяет этим условиям авторизации быть произвольно сложными вне цепочки, оставаясь простыми и краткими в цепочке.
Tapscript и будущие обновления
Чтобы поддержать эти новые функции, обновление ввело Tapscript (BIP 342) — обновленную версию языка скриптинга Bitcoin. Tapscript изменяет способ верификации подписей и возвращает или модифицирует определенные «opcodes» (коды операций), делая их более гибкими.
Одно из ключевых изменений в Tapscript — удаление строгого лимита размера данных свидетеля. Ранее существовал жесткий предел на размер обрабатываемого скрипта. Tapscript ослабляет эти ограничения, позволяя выполнять более крупные и сложные скрипты при условии соответствия лимитам веса блока.
Кроме того, Tapscript разработан с учетом будущих обновлений. Он переопределяет обработку неопределенных opcodes. В устаревшей системе введение нового opcode часто требовало сложного процесса обновления. В Tapscript неизвестные opcodes по умолчанию считаются действительными (no-ops), что упрощает введение новой функциональности позже через софтфорки без нарушения сети. Этот дальновидный дизайн гарантирует, что Bitcoin сможет адаптироваться к новым криптографическим инновациям.
Влияние на решения второго уровня
Последствия Taproot выходят далеко за пределы базового уровня, значительно улучшая масштабируемые решения второго уровня, такие как Lightning Network. В настоящее время открытие и закрытие канала Lightning включает мультиподписную транзакцию 2-of-2. В устаревшей цепочке эти транзакции отличимы и легко идентифицируемы.
С Taproot открытие или закрытие канала Lightning может использовать ключевой путь. Это значит, что транзакция Lightning выглядит точно как стандартный платеж пользователя. Это улучшает приватность пользователей Lightning Network, поскольку становится гораздо сложнее отличить платежи в цепочке от операций управления каналами.
Кроме того, Taproot позволяет заменить текущие Hashed Time Locked Contracts (HTLC), используемые в Lightning, на Point Time Locked Contracts (PTLC). PTLC используют криптографию Schnorr для улучшения приватности по маршруту платежа. В HTLC один и тот же хэш используется по всему маршруту, что потенциально позволяет узлам коррелировать платежи. PTLC используют случайные скаляры на каждом хопе, разрывая эту связь и делая маршрут платежа математически непрозрачным для посредников.
Управление Bitcoin и активация
Путь к активации Taproot продемонстрировал уникальный характер управления Bitcoin. В отличие от централизованных систем, где лидеры диктуют обновления, Bitcoin полагается на консенсус среди децентрализованных заинтересованных сторон, включая майнеров, разработчиков и операторов узлов. Процесс активации Taproot назывался «Speedy Trial».
Этот механизм позволял майнерам сигнализировать поддержку обновления в своих добытых блоках в течение трех месяцев. Порог активации был установлен на уровне 90% блоков в эпоху сложности. Эта высокая планка гарантирует, что обновления проходят только при подавляющем консенсусе, предотвращая разделение сети или спорные хардфорки.
Успешная активация в ноябре 2021 года доказала, что Bitcoin все еще способен координировать сложные обновления несмотря на свой огромный размер и децентрализованный характер. Это подчеркнуло культурное предпочтение «софтфорков» — обратно совместимых обновлений, которые не заставляют пользователей немедленно обновлять ПО. Узлы Taproot могут продолжать общаться со старыми узлами, гарантируя, что никто не будет отключен от сети за отсутствие обновления.
Непредвиденные последствия: Возвышение Ordinals
Одним из самых неожиданных результатов обновления Taproot стало появление Bitcoin Ordinals. Хотя Taproot разрабатывался для улучшения финансовых смарт-контрактов, ослабление лимитов данных в поле свидетеля (через Tapscript) открыло дверь для хранения произвольных данных в блокчейне.
Ordinals позволяют пользователям наносить данные — такие как изображения, текст или код — непосредственно на отдельные сатоши (наименьшую единицу Bitcoin). Поскольку Taproot убрал лимит размера данных свидетеля, пользователи внезапно смогли транзактировать с 4 МБ данных в одном блоке при условии оплаты комиссий. Это породило рынок «цифровых артефактов» или NFT непосредственно в Bitcoin.
Это развитие вызвало ожесточенные дебаты в сообществе. Пуристы утверждают, что это «раздувает» блокчейн нефинансовыми данными, потенциально усложняя запуск полных узлов. Сторонники считают, что высокие комиссии от надписей Ordinals обеспечивают безопасность сети по мере снижения субсидии блока. Независимо от позиции, Ordinals продемонстрировали гибкость архитектуры Taproot и непредсказуемость использования открытых протоколов после их выпуска.
Covenants и возвращение OP_CAT
Гибкость, введенная Taproot, возродила обсуждения о дальнейшем расширении возможностей скриптинга Bitcoin. Основная тема текущих исследований — «covenants» — скрипты, ограничивающие, куда могут быть отправлены средства после расходования. В настоящее время скрипт Bitcoin контролирует только авторизацию (кто может тратить), но не назначение (куда они идут).
Чтобы включить covenants и более продвинутые мосты сайдчейнов, разработчики обсуждают повторное введение опкода OP_CAT. OP_CAT позволяет соединять (конкатенировать) два фрагмента данных в скрипте. Он был удален в ранние дни Bitcoin из-за опасений по поводу использования памяти, но с современными защитами Tapscript его можно безопасно восстановить.
Если активировать, OP_CAT в сочетании с Taproot позволит создавать еще более мощные смарт-контракты, такие как децентрализованные хранилища, заставляющие ждать перед перемещением средств на новый адрес, эффективно нейтрализуя кражу даже при компрометации приватных ключей. Это представляет продолжающуюся эволюцию скриптинга Bitcoin на основе фундамента, заложенного Taproot.
Заключение
Интеграция Taproot и MAST представляет собой созревание протокола Bitcoin. Перемещая сложную логику верификации вне цепочки и используя продвинутую криптографию, Bitcoin удалось масштабировать функциональность без ущерба для основных ценностей безопасности и децентрализации. Обновление разрешило конфликт между приватностью и функциональностью, доказав, что пользователям не нужно выбирать между сложной безопасностью и финансовой приватностью.
По мере adoption этих инструментов экосистемой можно ожидать перехода к стандартам кошельков, где все транзакции выглядят одинаково независимо от их сложности. От улучшения Lightning Network до включения новых типов активов вроде Ordinals, Taproot обеспечил актуальность Bitcoin в быстро эволюционирующем цифровом ландшафте. Он служит основой для следующего поколения приватных, эффективных и программируемых денег.
Taproot и MAST позволяют Bitcoin скрывать детали сложных транзакций, делая смарт-контракты дешевле в использовании и сложнее для отслеживания.