May 6

Должны ли биткоинеры пофиксить Incriptions

Помните ли вы о драме вокруг Драйвчейнов? Или скандальный уход Джереми Рубина из разработки на фоне обсуждения OP_CTV? Ему всего лишь надо было бы дискутировать в твиттере и на Гитхабе в течение двух лет до появления Ark и BitVM, чтобы тема "хранителей" стала снова популярной и Джакомо Зукко признал свою неправоту в отношении OP_CTV. Все эти достаточно технические дикуссии, которые в широком смысле были мало кому интересны, в результате были оставлены в пользу обсужденений и общей ненависти в сторону Inscriptions/Ordinals. Они успешно генерировали повышенные комиссии в течение года.

Как Ark так и BitVM могут работать без софтфорков. У Ark это может сильно ограничить функциональность протокола и они запустят первую версию на Liquid сайдчейне. Для BitVM пока нет однозначного ответа что именно могло бы обеспечить прорыв. В такой ситуации не может быть общего мнения о единственно правильном софт-форке, на котором бы стоило остановиться в данный момент. Поэтому сложность внесения изменений в протокол зависит не только от партии "оссификации" или "окостенения" Биткоина, но и мобилизации остальных групп на одном решении. "Заморозка" протокола является продолжающейся дискуссией, которая приняла неожиданный оборот: сторонник фиксации правил протокола Майкл Сейлор теперь обсуждается в несколько негативном контексте "кит, который не хочет ничего менять и хочет чтобы Биткоин прогнулся под кастодианов, вместо глобального расширения". Однако "оссификация" была обсуждаема в пике войны за размер блока наряду с масштабированием в прочих слоях, отличных от основного блокчейна. В некотором роде это возвращение к прежним обсуждениям, только сейчас партия разработчиков представлена на уровне приложений Биткоина. Например Стив Ли, руководитель Spiral, в эфире подкаста Ливеры высказывал разные соображения в пользу измeнений кода Биткоина: от не связанных с консенсусом до таких, которые бы могли обеспечить глобальное использование криптовалюты. Дискуссию подогревает атака на разработчиков кошелька Самурай, что стимулирует людей размышлять о таких изменениях протокола, которые бы могли повысить приватность.

В эссе Slow & Steady Энтони Таунс разделяет различные сообщества, которые есть в Биткоине и которые в настоящее время пополняются большим количеством аутсайдеров ("L2" и роллапы, BRC20 и NFT проекты, "руны") из так называемого web3. Эти новички составляют новую группу, которая имеет тенденцию повторять тезисы 10-летней давности. О подходе "Медленно и верно" Энтони говорит так:

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

Как желание или не желание Биткоинеров вносить изменения могло бы быть связано с главной темой статьи? Опосредованно. Если некая группа считает, что на Биткоин осуществляется атака, и в Биткоине есть баг, то само определение бага должно стимулировать к срочным изменениям.

Ради вашего блага

Однако никакие срочные изменения в Биткоине невозможны в силу децентрализованности протокола. Только в одном случае это может быть осуществлено: когда существует экзистенциальная угроза и протокол не функционирует вообще (13 марта 2013 года). Поэтому срочные изменения Биткоина из-за того, что кто-то решил поместить на блокчейн транзакции, лишённые экономического смысла — в высшей степени субъективной метрики — обречены на неудачу. Тем более, стоило появиться более эффективному протоколу Runes (по сравнению с BRC20), как в процентном отношении он стал превалировать на менее эффективными протоколами. Это может также подтвеждать тезис о том, что NFT и выпуском токенов в Биткоине занята примерно одна и та же группа людей и данная активность не является органической.

Тем не менее, определённая группа людей в сообществе Биткоина, которую возглавлял персонально Luke-Jr, и у которой даже появилась организационная поддержка в виде пула OCEAN, решила объявить крестовый поход против всех "не экономических" видов использования Биткоина, как будто существует божественный разум способный наперёд опознать такие транзакции и не включать их в блоки. Так как такого разума не существует, то Luke-Jr, уже в составе руководства OCEAN решил фильтровать транзакции и майнить блоки без транзакций с 80-байтными выходами OP_RETURN, ограничив это поле только 40 байтами. На короткое время Люк вошёл в конфликт с разработчиками Samourai Wallet, поскольку пул начал фильтровать транзакции CoinJoin. Сейчас, когда они ждут суда, эта деталь кажется вызывающе малозначительной, но тогда конфликт стал достоянием публики главным образом из-за стиля маркетинга Samourai Wallet и накала тезиса "Биткоин под атакой".

Поэтому OCEAN предпринял попытку публичного разъяснения своей позиции и она оказалось неплоха. Хотя что более важно, под давлением общественности (и майнеров), они начали готовить три варианта шаблонов блока. Первый вариант шаблона OCEAN включает OP_RETURN до 40 байт и два остальных соотвествуют политикам стандартного клиента Core, т.е. позволяют майнерам искать блоки в том числе для транзакций Samourai Wallet, которые оказались выброшенными из-за стадии pre-mix, которая использует OP_RETURN для координации раундов CoinJoin.

https://ocean.xyz/blocktemplate

Очень подробно причины ограничений на попадание транзакций в блоки пула рассказал Bitcoin Mechanic в подкасте Престона Пиша. В том числе он объяснил почему Inscriptions считаются багом на его взгляд (и некоторых других разработчиков).

Подкаст повидимому произвёл впечатление на майнеров и их исход на некоторое время приостановился в моменте драмы и к настоящему времени уже в 3 раза больше хэшрейта на момент пика обсуждений (и пика хайпа BRC20) в декабре 2023.

Подкаст Престона Пиша был не единственный и тут же можно привести What Bitcoin Did выпуск.

Практически сразу ветераны Биткоина комментировали проблему Inscriptions и мы уделили этому внимание в лонгриде Спамить Биткоин. В нём отсутствует разве что точка зрения Грегори Максвелла, которая не отличается о мнения например Эндрю Поэльстры: всегда можно найти способ поместить в биткоин нечто такое, что не будет соотвествовать тезису передачи биткоинов внутри транзакции ни в каком виде.

Комментируя пассаж "если мы закроем этот вектор, эти сумасшедшие просто найдут другой вектор, чтобы дальше спамить, такой как OP_RETURN или Segwit v1 данные witness, упакованные должным образом в двоичном виде, scriptsigs в устаревших адресах, которые имеют фиктивный скрипт P2PKH, за которым следуют компактные BRC-20 OP_PUSHDATAs и так далее. Мы не можем полностью отключить все такие векторы, так как некоторые требуют хард-форка."

Максвелл отвечает:

Не просто хард-форк, это кажется фундаментально *невозможным* даже с хард-форком: потому что атакующие могут просто перегрузить сеть цепочками транзакций, которые выглядят почти неотличимыми (как это действительно происходило в 2016/2017 годах — некоторые атаки флуда становятся очевидными только при ретроспективном анализе блокчейна).
Я учитываю точку зрения pooya87 из другой ветки здесь, что часть атаки заключается в привлечении идиотов для участия, что можно частично снизить за счет правил стандартности, ограничивающих конкретные формы спама. Я считаю, что он прав, но это не имеет значения, привлечение - это только небольшой постоянный фактор в стоимости атаки. Конечно, атакующий будет использовать привлечение для снижения своих затрат...

"Стандартность" - это совокупность правил, которые применяются к транзакции, перед её помещением в мемпул клиентом Bitcoin Core, т.е. тем, что предлагает Luke - Jr в своей версии Core, Knots. Введение новых правил возможно только в ретроспективе, поскольку например как только появились обсуждения о запрете OP_RETURN/Inscriptions на уровне клиентов, Mike in Space предложил STAMPs, которые спамят через ключи мультисига и все данные помещают в Legacy часть блока.

Повышение ставок

Если весь Биткоин находится под атакой то простым изменением собственного клиента невозможно "спасти" весь протокол, поэтому Luke-Jr предпринял попытку изменения политики вещания транзакций стандартными клиентами и она провалилась. Вероятно, это может сказаться на его статусе среди разработчиков Core. Достаточно уникальное поведение Люка было причиной жарких дискуссий о способе активации Тапрут, пока не был придуман Speedy Trial, подсказавший исход до установленных дат окончания этих дискуссий.

https://x.com/LukeDashjr/status/1786143344818565411

Pull Request даёт также понимание отношения остальных разработчиков к изменению политик вещания транзакций вне консенсуса. Картину основателей Blockstream дополняет точка зрения Питера Вьюлле, который подробно вдаётся в детали политик мемпула и также пытается объяснить дополнительные последствия, которые будут иметь место если рядовые участники сети начнут фильтровать транзакции:

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

Учитывая очевидный экономический спрос на эти данные (к лучшему или худшему), лучшее, что может сделать правило, - это доставить легкое неудобство. Худшее, что оно может сделать, - это вызвать развитие ретрансляторов транзакций, обходящих mempool, для майнеров, что я считаю гораздо более вредным в долгосрочной перспективе, чем любая нынешняя шумиха.
...
Оправдание, которое когда-то существовало для политики фильтрации данных, просто больше не применимо. До того как органический спрос на транзакции стал достаточным для заполнения блоков, я считаю, что было вполне разумно препятствовать приложениям халявить на неиспользуемом пространстве, поскольку это активно увеличивало затраты на ресурсы для полностью валидирующих узлов зарождающейся экосистемы. Сегодня, нежелательные данные или нет, блоки все равно заполнены, и затраты на проверку узлов остаются прежними.

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

Необходимо упомянуть что большинство BRC20/Inscriptions попадают в блоки не с клиентов рядовых пользователей а как раз через прямые связи посредников с пулами. Другими словами проекты типа Taproot Wizards и так покупают место в блоках "оптом", минуя сеть, для достижения своих целей сокрытия присуствия определённых транзакций в сети и "фронтраннинга" токенов. Аргумент о том, что мемпул фильтр работает, основывается на NFT выходах которые имеют 546 сатоши каждый — dust limit, внесенный в Core в 2013 году.

LukeJr готов идти так далеко, как находится софт-форк. 5 лет тому назад он проанализировал время синхронизации и привел результаты своего анализа, согласно которым уменьшение максимального размера блока до 300 КБ позволит сохранить текущее время синхронизации блокчейна, а также позволит времени синхронизации медленно уменьшаться с годами. Однако его скрипт рассчитывает только одно узкое место (время синхронизации, или технически просто размер цепочки) и это известно, что улучшения внутри клиента, не затрагивающие параметры протокола и так уменьшают время синхронизации, особенно при использовании лучшего оборудования: такие тесты регулярно проводит Лопп.

https://blog.lopp.net/running-bitcoin-core-v0-7-and-earlier/

Наличие NFT разумется осложняет закачку блоков из сети, хотя OP_RETURN UTXO не включаются в множество монет в клиенте, поэтому игнорируются при валидации транзакций. Скорее всего, полные блоки одних только настоящих транзакций Биткоина будут валидироваться дольше. Меньшие блоки приведут к росту комиссий — это было вторым соображением Luke-Jr в пользу уменьшения блока, и главным на момент 2019 года, когда начала сказываться работа Lightning Network и нагрузка на цепочку в виде мелких транзакций упала.

Среди биктоинеров с большим весом пожалуй можно выделить только Джека Дорси, который считает Люка "Ангелом-хранителем Биткоина", для остальной части сообщества, хотя и принимающей Люка как человека честного и верного католическим принципам, его меры кажутся не всегда обоснованными, поскольку в них просматривается недостаточное внимание к субъективности многих действий, совершаемых биткоинерами. Для кого-то JPEG может иметь большую ценность, и ещё большую, если он сохранён в блокчейне.

Или LN платежом

LNURL1DP68GURN8GHJ7AMPD3KX2AR0VEEKZAR0WD5XJTNRDAKJ7TNHV4KXCTTTDEHHWM30D3H82UNVWQHKXETWW3EXZMRKD9HKCCF4XYK4YTL3

Или [email protected]

Например из @LightningTipBot в Телеграме

/send 100 [email protected]

Или начните пользоваться LN кошельком типа Valet.