Разработчик Биткоина спрятал изображение размером 66 КБ в транзакции, чтобы выявить уязвимость управления, подверженную спаму

биткоин транзакции консенсус политика Utxo cryptoslate.com

Разработчик Биткоина встроил изображение 66 КБ в транзакцию без OP_RETURN или Taproot, следуя консенсусным правилам. Мартин Хабоштяк доказал, что закрытие каналов данных лишь меняет место их сокрытия. Пост «Bitcoin developer hides a 66KB image in a transaction to expose a governance blind spot vulnerable to spam» впервые появился на CryptoSlate. — cryptoslate.com

Разработчик Биткоина встроил изображение размером 66 килобайт в одну транзакцию, не используя OP_RETURN или Taproot.

Транзакция соответствовала консенсусным правилам. Любой желающий может проверить байты с помощью стандартного программного обеспечения узла. Мартин Хабоштяк сделал это не ради искусства, а чтобы доказать: закрытие одного канала для данных не устраняет саму возможность, а лишь меняет место, где прячутся байты.

Эта демонстрация появилась на фоне самой ожесточенной за последние годы борьбы за управление Биткоином. Одна фракция настаивает на более строгих фильтрах для исключения «спама» из блокчейна.

Другая сторона утверждает, что жесткие ограничения подталкивают людей к худшим практикам и дают преимущество крупным майнерам. Эксперимент Хабоштяка подтверждает вторую позицию: фильтрация перенаправляет, а не предотвращает.

Что произошло на самом деле

В отчете Хабоштяка указаны идентификатор транзакции и метод верификации.

Пользователи могут выполнить команды bitcoin-cli getrawtransaction, а затем xxd -r -p для реконструкции файла. Эта конструкция обходит два пути, наиболее часто упоминаемых в дебатах о хранении данных: поле OP_RETURN, которое Bitcoin Core недавно ослабил, и структуру свидетелей Taproot, которая позволила множество надписей (Taproot).

Транзакции Биткоина — это байты. Узлы обеспечивают соблюдение структурных правил, таких как действительные подписи, правильное форматирование и законные условия расходования.

Они не следят за тем, чтобы байты «означали только деньги». Если кто-то создает допустимые байты транзакции, которые также формируют действительный файл изображения, сеть их хранит и передает.

Биткоин может препятствовать определенным шаблонам данных с помощью настроек по умолчанию в программном обеспечении. Он не может предотвратить их, не вступая в прямое противоречие с экономическими стимулами майнеров.

Различие, которое никто не объясняет

Биткоин работает на двух уровнях правил. Консенсусные правила определяют, какие блоки действительны. Политические правила определяют, какие транзакции индивидуальные узлы передают и какие майнеры по умолчанию принимают в мемпулы.

Уровень правил Что контролирует (простыми словами) Что не может гарантировать Почему это важно здесь
Консенсусные правила Что делает блоки/транзакции действительными Не может обеспечить «смысл только денег» Если это допустимо, это может быть включено в блок
Политика / Стандартность Что узлы передают / мемпулы принимают по умолчанию Может быть обойдено Фильтры создают трение, а не уверенность
Включение майнерами Что попадает в блоки Стимулы перевешивают предпочтения За включение можно «заплатить» комиссиями
Прямые каналы подачи Обход сети ретрансляции Концентрирует доступ Риск «плати за игру» (маршруты типа Slipstream)

Политика может замедлить поведение, увеличить трение и наложить расходы. Она не может гарантировать предотвращение, если транзакция остается соответствующей консенсусу и оплачивает достаточные комиссии.

Майнеры могут включать любую консенсусно допустимую транзакцию, особенно когда она достигает их через пути, обходящие обычную ретрансляцию узлами.

Лимиты размера OP_RETURN всегда были выбором политики, а не консенсусными барьерами. Bitcoin Core исторически рассматривал их как стимулы к стандартизации, при этом разработчики утверждали, что жесткие ограничения подталкивают людей к худшим методам кодирования, например, к запихиванию данных в выходы, которые выглядят как подлежащие расходованию, раздувая набор UTXO, который должен поддерживать каждый узел.

Демонстрация Хабоштяка делает этот абстрактный аргумент конкретным. Ограничьте один метод, и инженерные усилия перетекут к другому.

Проблема «плати за игру»

Даже когда многие узлы отказываются ретранслировать «нестандартные» транзакции, экономические стимулы создают обходные пути. Майнинговые пулы принимают транзакции напрямую, минуя сеть ретрансляции. Для этого уже существуют специализированные сервисы.

Slipstream от MARA работает как прямой канал подачи для «крупных или нестандартных» транзакций, которые узлы часто исключают из мемпулов, даже если они соответствуют консенсусным правилам. Сервис обходит настройки по умолчанию, а не нарушает правила.

Это создает вектор централизации, который могут усилить более строгие фильтры. Когда обычные узлы не ретранслируют определенные типы транзакций, только майнеры и специализированные сервисы могут надежно доставить их в блоки.

При 10 сатоши за виртуальный байт один мегабайт блочного пространства стоит примерно 0,1 BTC. При 50 сатоши за байт — около 0,5 BTC. Вопрос о «запрете» превращается в вопрос: «Сколько люди готовы заплатить?»

Разработчик Биткоина спрятал изображение размером 66 КБ в транзакции, чтобы выявить уязвимость управления, подверженную спаму
На графике показано, что стоимость занятия одного мегабайта блочного пространства Биткоина варьируется от 0,10 BTC при 10 sat/vB до 1,00 BTC при 100 sat/vB.

BIP-110 и поле битвы управления

Демонстрация появилась на фоне обсуждения в сообществе Биткоина BIP-110 — предложения временно ограничить на уровне консенсуса поля транзакций, переносящие данные, примерно на один год.

Поле / область Что предлагает BIP-110 (простыми словами) Что он пытается предотвратить Основной компромисс / риск
Новые скрипты вывода Новые scriptPubKeys > 34 байта недействительны (за исключением разрешения OP_RETURN) Данные, запихнутые в выводы Риск вытеснения данных в другие места
Исключение OP_RETURN OP_RETURN разрешен до 83 байт Небольшие доказуемые заметки Критики: все равно не «запрещает данные»
Лимиты полезной нагрузки Ограничивает определенные переданные элементы данных (общий потолок в 256 байт с исключениями) Большие встроенные блоки Могут появиться обходные пути
Элементы стека свидетелей Ограничивает размеры элементов свидетелей (общий предел в 256 байт) Полезные нагрузки в стиле надписей Может перенаправить к худшим методам кодирования
Временное обрамление Временное (~1 год) Тактическое замедление Подразумевает «отсутствие чистого постоянного решения»
Вторичный эффект Если данные смещаются в выводы, похожие на UTXO Избежать долгосрочной нагрузки на узлы Риск обратного эффекта: раздувание UTXO увеличивается

Черновик сделает недействительными новые скрипты вывода размером более 34 байт, за исключением выходов OP_RETURN, которые могут достигать 83 байт. Он также предлагает ограничения на размеры полезной нагрузки и элементов стека свидетелей, обычно ограничивая их 256 байтами с узкими исключениями.

Сторонники представляют BIP-110 как меру, защищающую операторов узлов от неконтролируемого роста затрат на хранение.

Критики предупреждают о побочных эффектах и рисках реализации. Предложение представляет собой эскалацию от фильтрации на уровне политики к ограничению на уровне консенсуса — сдвиг, несущий управленческие последствия, выходящие за рамки непосредственного технического вопроса.

Эксперимент Хабоштяка напрямую подпитывает эти дебаты. Он демонстрирует, что даже консенсусные ограничения сталкиваются с давлением, требующим адаптации. Он отмечает, что BIP-110 может аннулировать его конкретную конструкцию, но также и то, что он мог бы создать альтернативы, используя другие методы кодирования.

Основная динамика сохраняется: сожмите один шаблон, и стимулы плюс изобретательность вытолкнут данные в другое место.

Временное обрамление, один год вместо постоянного, неявно признает эту реальность. Постоянное изменение потребует решения более сложных вопросов об устойчивости принуждения.

Временная мера признает, что проблема может не иметь чистого технического решения, а только тактическое управление с ограниченным сроком действия.

Проблема наихудшего поведения

Ограничение популярных каналов передачи данных может обернуться против, подталкивая использование к методам кодирования, которые накладывают более высокие сетевые издержки.

Когда разработчики создают выходы, выглядящие как подлежащие расходованию, для переноса произвольных данных, они увеличивают набор UTXO — базу данных неиспользованных выходов, которую каждый полный узел должен поддерживать в доступном хранилище.

Рост UTXO представляет собой более постоянное бремя, чем данные свидетелей или полезные нагрузки OP_RETURN, которые могут быть обрезаны. Выход, кодирующий файл изображения, остается в наборе UTXO до тех пор, пока кто-то его не потратит, потенциально бесконечно.

Издержки для узла накапливаются, а не исчезают со временем.

Это объясняет историческую нерешительность Bitcoin Core вводить жесткие ограничения на OP_RETURN. Альтернатива не обязательно лучше. Фильтры, которые кажутся защитными, могут увеличить долгосрочные операционные расходы для узлов, подрывая цель децентрализации, которую они стремятся сохранить.

Три пути вперед

Экономика принуждения предполагает три сценария.

Первый путь сохраняет статус-кво: ценообразование, а не запрет. Произвольные данные сохраняются, управляемые в основном рынками комиссий. Когда блочное пространство становится дефицитным, транзакции с большим объемом данных естественным образом вытесняются ценой. Рычаг становится экономическим, а не техническим.

Второй путь ужесточает политические фильтры, оставляя консенсус неизменным. Данные смещаются в сторону более сложных для фильтрации методов кодирования и прямой подачи майнерам. Риск централизации возрастает, поскольку только майнеры и специализированные каналы могут надежно доставить эти транзакции в блоки.

Третий путь реализует консенсусные ограничения, подобные тем, что изложены в BIP-110. Популярные шаблоны могут временно сократиться, но адаптация продолжается по мере появления новых методов кодирования. Сопутствующий ущерб возрастает, если ограничения выталкивают данные в выходы, которые раздувают набор UTXO.

Риск управления возрастает, поскольку спорные консенсусные изменения вызывают проблемы с координацией и потенциал раскола сети.

Что определит исход

Три индикатора сигнализируют о том, какой сценарий материализуется.

Во-первых, поведение майнеров. Продолжают ли майнинговые пулы принимать нестандартные транзакции через прямые каналы? Сервисы вроде Slipstream существуют именно для этого, и их устойчивая работа выявляет приоритеты майнеров.

Во-вторых, траектория управления. Собирает ли BIP-110 значительное принятие, выходящее за рамки дебатов? Предложение требует скоординированной активации в децентрализованной сети, что делает политическую жизнеспособность столь же важной, как и техническую ценность.

В-третьих, вторичные эффекты. Выталкивают ли ограничения больше данных в методы кодирования, которые увеличивают нагрузку на узлы? Темпы роста UTXO в периоды ужесточения политики предоставят эмпирические доказательства.

Неудобная реальность

Если вы против хранения данных в блокчейне, выходящего за рамки финансовых транзакций, демонстрация Хабоштяка несет неудобное сообщение: вы, вероятно, не сможете это запретить.

Вы можете установить цену через рынки комиссий. Вы можете отговорить через настройки по умолчанию политики. Вы можете увеличить трение через сложность реализации.

Но полное предотвращение требует либо принятия экономических ограничений, которые вы не можете контролировать, либо внедрения консенсусных ограничений, которые несут свои собственные риски.

Биткоин проверяет структуру транзакции, а не ее смысл. Протокол не различает «финансовые транзакции» и «транзакции с данными», потому что это различие требует интерпретации, которую сеть выполнить не может.

Настоящие дебаты не в том, может ли Биткоин технически предотвратить произвольные данные, поскольку продемонстрированный ответ: «нелегко, а возможно, и вовсе нет».

Дебаты заключаются в том, на какие компромиссы соглашается сеть: централизация в сторону майнеров, обходящих фильтры, риск управления от спорных консенсусных изменений или более высокие долгосрочные издержки от худшего выбора методов кодирования.

Изображение Хабоштяка доказывает, что фильтры работают не так, как заявлено. Что произойдет дальше, зависит от того, примут ли пользователи и разработчики Биткоина эту реальность или продолжат искать технические решения проблемы, которая все больше выглядит как экономическая и управленческая.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: