Добавь кота: чем интересно потенциальное обновление OP_CAT в сети биткоина
Апгрейды сети биткоина происходят довольно редко — последний софтфорк Taproot активирован в ноябре 2021 года. Для сравнения: с этого момента в Ethereum произошли обновления Shapella, Dencun и The Merge, а на первый квартал 2025 года уже запланирован апгрейд Pectra.
Тем временем сообщество только обсуждает возможность реализации предложения по улучшению биткоина под названием OP_CAT (BIP-347). Рассказываем, чем оно интересно и почему идеи разработчиков реализуются так медленно.
Убрать, нельзя добавить
Незадолго до исчезновения в 2010 году создатель биткоина Сатоши Накамото внес несколько существенных изменений в протокол первой криптовалюты:
- ввел ограничение размера блока в 1 Мб для предотвращения спам-атак и улучшения децентрализации сети;
- исправил ошибки, связанные с целочисленным переполнением, которое могло привести к созданию неправильных или вредоносных транзакций;
- удалил централизованные ноды, добавив механизм DNS seed, позволяющий клиентам динамически находить узлы для подключения к сети;
- отключил 16 опкодов, включая OP_CAT. Последний помещает однобайтовое значение в стек, а затем повторяет OP_DUP и OP_CAT 40 раз, увеличивая его до более 1Тб.
Эти нововведения обеспечили развитие цифрового золота при сохранении децентрализации. Тем не менее особенности языка Script негативно сказывались на программируемости биткоина:
- стековый язык. Операции обрабатываются в стеке, работающем по принципу «последний пришел — первый вышел» (LIFO);
- неполный по Тьюрингу. Не поддерживает циклы и другие конструкции, которые могут привести к бесконечным вычислениям. Это ограничивает создание dapps со сложными смарт-контрактами, но делает язык более безопасным;
- малый набор команд. Ограниченное количество опкодов позволяет выполнять только простые операции вроде добавления, сравнения и хеширования данных в стеке.
В конце 2021 года в сети биткоина произошел софтфорк Taproot, включавший поддержку подписей Шнорра (BIP-340) и языка кодирования скриптов TapScript (BIP-342). Последний ограничил максимальный размер элемента стека 520 байтами, а значит устранил потенциальную уязвимость OP_CAT.
Убрать нельзя, добавить
Черновик BIP-347 опубликовали программисты Итан Хейлман и Армин Сабури в 2023 году. Они предложили перезапустить OP_CAT в качестве софтфорка, добавив ее код в существующую операцию OP_SUCCESS126.
Смарт-контракты (СК) позволяют переводить средства автоматически и без посредников. Однако в биткоине их функциональность ограничена блокировкой и разблокировкой.
Расширить возможности СК в сети первой криптовалюты могут ковенанты — условия или ограничения, которые обеспечивают выполнение определенных правил при взаимодействии с активами или функциями, описанными в контракте.
Основная функция OP_CAT — конкатенация (conCATenate), объединение двух и более строк или других последовательностей в одну. Разработчики BIP-347 предлагают использовать обратную конкатенацию для создания рекурсивных ковенантов и разделения элементов стека на несколько частей.
Если смарт-контракт получит от пользователя подпись и публичный ключ, он сможет проверить их независимо, гарантируя, что оба элемента относятся к одной транзакции.
Внедрение OP_CAT позволит минимизировать угрозу со стороны квантовых компьютеров, а также реализовать в сети биткоина:
- хранилища — ковенанты для блокировки злоумышленников, получивших доступ к секретному ключу пользователя;
- мультиподписи с более чем 20 публичными ключами благодаря использованию деревьев Меркла при проверке скриптов;
- безопасные кроссчейн-мосты с L2-сетями;
- поддержку сложных финансовых инструментов вроде эскроу-счетов;
- расширенные возможности для атомарных свопов;
- штрафы за двойную трату в платежных каналах.
Соучредители Taproot Wizards Эрик Уолл и Уди Вертхаймер возглавили PR-кампанию по возвращению OP_CAT под лозунгом BIP-420 и создали коллекцию «надписей» Quantum Cats, акцентирующую внимание на повышении квантовой устойчивости биткоина после обновления.
Согласно CoinGecko, в апреле 2024 года минимальная цена «квантового кота» достигала 0,47 BTC. На момент публикации NFT торгуются на отметке 0,28 BTC.
OP_CAT — не единственное предложение по поддержке ковенантов. Разработчики предложили несколько других подходов:
- Check Template Verify (CTV) — опкод от Джереми Рубина, гарантирующий, что только транзакции, соответствующие заранее определенному шаблону, могут тратить монеты. Возможные юзкейсы — хранилища и более сложные схемы мультиподписи;
- OP_CHECKSIGFROMSTACK (CSFS) облегчает создание мультиподписей — позволяет проверять их, извлекая из стека, а не из стандартных полей транзакции. Считается более гибким и мощным решением для реализации расширенного спектра приложений;
- LNHANCE. Предлагает гибкие возможности сценариев, включая циклы и условное исполнение на основе внешних данных. Концептуальное и менее формализованное предложение.
Сообщество также обсуждает реализацию кроссчейн-мостов и L2-сетей в случае внедрения OP_CAT. Например, Taproot Wizards начала разработку протокола для масштабирования биткоина CatVM в качестве альтернативы существующему решению BitVM, где пользователям приходится полагаться на операторов для перевода средств.
Стоящая за StarkNet компания StarkWare объявила о намерении сделать L2-сеть единым уровнем масштабирования для первой криптовалюты. По словам сооснователя фирмы Эли Бен-Сассона, этого можно достигнуть через шесть месяцев после имплементации OP_CAT:
«Как только OP_CAT будет принято, внедрение верификатора STARK в скрипт биткоина станет реальностью. Это откроет путь для безопасного и самостоятельного перемещения между блокчейном первой криптовалюты и StarkNet, создавая единый уровень масштабирования как для Ethereum, так и для BTC».
Почему так долго
Битокин — открытый протокол, позволяющий каждому, кто имеет необходимые навыки, публиковать BIP. Однако после этого предложение должна утвердить группа редакторов, а затем одобрить 95% майнеров.
Долгое время единственным редактором BIP был Люк Дэш — младший, высказывавший неоднозначное мнение по поводу будущего первой криптовалюты. Например, в начале года он предложил заблокировать Ordinals на уровне кода, но не получил достаточной поддержки.
В апреле 2024 программистка Bitcoin Core Ава Чоу предложила сформировать группу редакторов, чтобы ускорить процесс принятия решений и снять непомерную ответственность с Люка Дэша — младшего.
В команду вошли разработчики биткоина Брайан Бишоп (Kanzure) и Джон Этэк, участники bitdevs.org Марк Эрхардт (Murch) и Рубен Сомсен, а также технический директор Lightning Labs Олаолува Осунтокун (Roasbeef).
Нововведение позволило ускорить следующий возможный апгрейд: 24 апреля 2024 года редакторы присвоили OP_CAT номер BIP-347.
«Присвоение номера не сигнализирует о консенсусе в сообществе, но упрощает обсуждение и написание программного обеспечения для предложения, ведь теперь у него есть уникальный идентификатор, с которым все согласны», — отметил Итан Хейлман в интервью CoinDesk.
Выводы
OP_CAT расширит функциональные возможности биткоина и позволит создавать продвинутые смарт-контракты в сети первой криптовалюты.
Путь от первого упоминания до реализации для обновлений SegWit и Taproot занял около двух лет, а сама активация происходила спустя год после одобрения сообществом. Учитывая этот опыт, можно ожидать внедрения BIP-347 в 2026 году.