Автор: Brandon Black
Перевод: AididiaoJP, Foresight News
В небольшом мирке крипто-твиттера в течение последнего года велись ожесточенные споры вокруг предложения «мягкого форка для уменьшения данных» (BIP110), выдвинутого @dathon_ohm.
Основная логика предложения такова: некоторые биткойн-транзакции включают данные в свои скрипты блокировки или разблокировки, которые, помимо заложенного в биткойн-скрипты смысла, могут быть интерпретированы другим программным обеспечением как дополнительная информация. Сторонники считают это нарушением принципов сети.
По их мнению, сокращение таких транзакций является достаточным основанием для оправдания этого на сегодняшний день самого «экспроприирующего» мягкого форка в биткойне — его развертывание происходит гораздо быстрее, чем два последних мягких форка, и порог активации ниже.
Биткойн по своей сути — это открытый, устойчивый к цензуре, распределенный реестр. Любой, кто готов заплатить достаточную комиссию, чтобы убедить создателя шаблона блока и майнера включить транзакцию, может записать в этот реестр информацию. Фундаментальная ценность биткойна, отличающая его от всех других систем учета, заключается именно в этой открытости. Без нее реестр биткойна ничем не отличается от табло в боулинг-клубе. Именно благодаря этому открытому доступу мы все знаем, что биткойном будут пользоваться люди, которые нам не нравятся.
Это похоже на принцип свободы слова: если он защищает только ту речь, которая нам нравится, он бессмыслен. То же самое и с открытым доступом в биткойне: если он разрешает только те транзакции, которые одобряем мы с вами, он теряет смысл. Поэтому нам не нужно цензурировать, как другие строят свои записи в реестре, так же как мы не хотим, чтобы они цензурировали наши записи.
Сторонники BIP110 могут возразить: «Конечно! Но это касается только немонетарных записей! А как насчет чисто денежных транзакций?» Реальность такова, что четкого разграничения не существует. Каждая транзакция в биткойне — это создание записи в реестре путем удовлетворения условий некоторого скрипта блокировки: тратится входной UTXO, создается новый выходной UTXO.
То, что скрипт транзакции немного больше или меньше, абсолютно не важно ни для оператора узла, ни для обычного пользователя. Во-первых, мне совершенно безразличны детали чужих транзакций — это так же не мое дело, как то, что кто-то заказывает в кофейне. Во-вторых, сам биткойн-узел такого различия не делает. Транзакции бывают только действительными или недействительными, и стоимость их проверки может быть разной (например, большие мультиподписные транзакции дороже в проверке, некоторые Ordinals или OP_RETURN относительно дешевле).
Некоторые могут утверждать, что биткойн был бы лучшим денежным активом, если бы он, подобно золоту, не мог использоваться «другими способами». Представьте, если бы золото нельзя было использовать для ювелирных изделий или в промышленности, оно было бы, возможно, чище как деньги. Но именно те физические свойства, которые делают золото хорошими деньгами, делают его популярным и в ювелирном деле, и в промышленности.
То же самое и с биткойном: именно потому, что он позволяет любому заплатить и записать данные, мы не можем контролировать, как другие будут интерпретировать эти данные. Как бы мы ни ограничивали структуру скриптов, всегда найдется тот, кто с помощью другого программного обеспечения за пределами биткойна сможет интерпретировать эти записи по-иному. Поэтому, как и в случае с золотом, мы должны смириться с неизбежностью «других применений». На рынке золота это приводит к ценовым искажениям из-за колебаний немонетарного спроса; в биткойне это может привести к росту комиссий во время всплеска спроса на блок-пространство.
Однако у биткойна есть два преимущества перед золотом. Во-первых, создание биткойн-транзакций, которые могут быть интерпретированы альтернативно, не оказывает прямого влияния на рынок биткойна как актива — в отличие от золота, объем биткойна, используемого для этих «дополнительных целей», на самом деле очень мал. Во-вторых, протокол биткойна изначально был разработан с механизмами для минимизации нагрузки, которую такие «дополнительные интерпретации» создают для сети проверки. Он ограничивает размер блока и количество подписей (sigops) в транзакциях, которые и составляют самую большую часть затрат на проверку для узлов.
Эти ограничения, установленные на раннем этапе, были предназначены именно для предотвращения высокочастотного и массового злоупотребления реестром. Именно эти ограничения подстегнули инновации второго уровня, такие как Lightning Network, Ark, Spark, Cashu. Даже если спрос на блок-пространство из-за «немонетарных» данных резко возрастет, это, наоборот, будет стимулировать использование этих более эффективных решений для масштабирования, которые могут записывать меньше информации в основном блокчейне.
Теперь, когда так называемые обоснования BIP110 разъяснены (и явно несостоятельны), давайте посмотрим, что же он на самом деле пытается изменить.
BIP110 ограничит размер скриптов блокировки, ограничит количество альтернативных скриптов, доступных в Taproot, сделает недействительным приложение (annex) Taproot, удалит все обновляемые версии свидетелей (witness) и версии Tapscript, удалит все обновляемые операторы в Tapscript и отключит OP_IF и OP_NOTIF в Tapscript. Эти ограничения будут применяться только к UTXO, созданным в течение примерно 52 414 блоков (около года) после активации.
Кроме того, BIP110 снижает порог подачи сигнала готовности майнеров до 55% (обычно для мягких форков требуется более 90%) и устанавливает механизм принудительной активации для узлов: если до блока 961 632 сигналов будет недостаточно, узлы, выполняющие это правило, будут считать несигнализирующие блоки недействительными, тем самым форсируя блокировку изменений на блоке 963 648 и активацию на блоке 965 664.
Это будут самые радикальные ограничения для биткойн-скриптов со времен 2010 года, когда Сатоши отключил несколько операторов из-за серьезной уязвимости (CVE-2010-5137). Эти изменения пытаются протолкнуть с беспрецедентно низким порогом, чрезвычайно короткими сроками активации (менее 9 месяцев от получения номера BIP до активации) и минимальной проверкой кода — и все под предлогом того, что кто-то интерпретирует записи реестра способом, не одобряемым сторонниками.
Что еще более иронично, люди, использующие «оспариваемые» данные, уже обновили программное обеспечение и готовы: даже если BIP110 активируется, они смогут продолжать внедрять аналогичные данные. Многие из нас предсказали это заранее, потому что на открытом публичном реестре просто невозможно ограничить, как пользователи будут интерпретировать записи с помощью внешнего программного обеспечения.
Подводя итог, BIP110 пытается сделать невозможное — ограничить способы использования открытого реестра его пользователями — в то время как проблема, которую он якобы решает, уже давно хорошо решена существующими ограничениями протокола биткойна. Он также пытается навязать это безответственно быстрыми сроками, поспешной проверкой кода и пренебрежением консенсусом экосистемы. К счастью, биткойн — не такая хрупкая система, и эта безрассудная попытка изменений не увенчается успехом.
Майнеры уже четко отвергли BIP110, разработчики, инвесторы, лидеры мнений и представители бизнеса также высказались против. К августу этого года эта «атака» на правила консенсуса биткойна закончится провалом, и биткойн станет сильнее, продолжая стабильно генерировать блоки — один за другим.








