OP_CAT и его применения: обзор и проблемы

OP_CAT и его применения: обзор и проблемы

6

OP_CAT и бесконечное ничто

Вступление

Вы, возможно, слышали о возможности повторного включения OP_CAT в качестве потенциального обновления языка скриптов биткоина. В зависимости от источника информации OP_CAT называли `всего лишь 10 строк кода`, `лучший способ предоставить возможность экспериментов с ковенантами`, `слишком мощный`, `опасный и ведущий к централизации майнеров` или `гарантированно приведет к контрверсиальному мягкому форку`. Я собираюсь доказать, что все эти точки зрения ошибочны. OP_CAT очень полезен, может использоваться в качестве ковенанта и не (только) является лучшим следующим шагом для биткоина. Ничего больше и ничего меньше.

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

Давайте рассмотрим главный вопрос, который многие задают при первом знакомстве с OP_CAT. Как несколько строк кода, комбинирующих два элемента из стека в один (A B CAT -> AB), могут возможно включать что-то интересное? Эндрю Поэлстра тонко объяснил в недавних интервью, и я опубликовал глупое и краткое объяснение:

Биткоин довольно странный, поэтому он также может разделять вещи. Затем SHA256 позволяет нам отменять хеши. Затем, поскольку криптография - это просто математика, и мы знаем, как мучать, CAT позволяет нам извлекать хеш из проверки подписи. В результате мы можем осмотреть любой хешированный элемент внутри подписи...

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

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

Это замечательно, но у биткоина нет опкода вроде OP_TXHASH, чтобы дать скрипту доступ к хешу транзакции. Здесь мы используем уравнение проверки сигнатуры Schnorr из BIP340, чтобы потребовать, чтобы пользователь предоставил хеш. Если пользователь предоставляет значение, которое будет являться допустимым хешем транзакции, если скрипт конкатенирует байт 0x00 в конец него, это значение также будет частью допустимой сигнатуры BIP340 (с определенными другими параметрами, установленными).

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

Но мы не должны этого делать. Создание этих вещей с использованием OP_CAT приводит к сложным в обслуживании абоминациям. Вместо этого мы должны использовать OP_CAT для того, для чего он подходит, а вариантов этого предостаточно: Он позволяет эффективнее проверять эквивалент OP_CHECKSEPARATESIG, проверку включения в Merkle доказательства, комбинировать данные для проверки подписи с OP_CHECKSIGFROMSTACK и многое другое. Проблемы с CAT

Теперь, когда мы знаем, что делает CAT, в чем проблема? Почему люди (включая меня самого) говорили, что это опасное существо? Используя описанную выше технику интроспекции, CAT позволяет два конкретных построения: Эскроу хешрейтов и (предположительно) автоматических рыночных сделок (AMM). До недавнего времени оба этих варианта считались серьезными угрозами привлечения централизующего MEV к биткоину. MEV, MEVil и централизация майнеров

Термин MEV (Майнерное Извлекаемое Значение) немного путает. В самом простом толковании он включал бы комиссию за транзакцию, которую, разумеется, мы хотим, чтобы платили майнеры, чтобы обеспечить безопасность биткоина на долгие годы вперед. MEV обычно используется для указания дополнительного значения, которое майнеры могут извлечь из своих блоков, кроме комиссий, видимых на общедоступной ретрансляционной сети. Это могло бы происходить в форме внебиржевых платежей, участия майнеров в контрактах и переупорядочивания транзакций таким образом, чтобы выигрывать себе, или даже открытого укрывательства товаров и услуг со стороны майнеров, добывающих блоки, которые реорганизуются и двойное тратят подтвержденный платеж торговцу. Все эти формы MEV могут рассматриваться как общее зло для участников сети, поскольку майнеры используют свое положение в сети в свою пользу за счет других участников сети. Однако MEV само по себе не представляет системную проблему, приводящую к централизации майнеров, а только локальную проблему для специально затронутых участников.

MEVil - термин, который иногда используется для MEV, который приводит к централизации майнеров - я предпочитаю термин `централизующее MEV` и буду использовать его в дальнейшем. Для того чтобы превратить MEV в централизующее MEV, необходимо несколько вещей: 1) Это должно быть достаточно трудоемким для извлечения, чтобы строитель шаблона блока с открытым исходным кодом не мог разумно его извлечь 2) Общая извлекаемая стоимость должна расти с хешрейтом биткойн майнера 3) Извлекаемая стоимость должна оправдывать затраты на извлечение

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

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

Для получения дополнительной информации ознакомьтесь с недавним постом @TheBlueMatt. Эскроу хешрейта (бывшие Drivechains)

Много лного лет назад (до Сети Молний или идей, как Ark, Таймаут Три, ролл-апы, BitVM или CatVM) сайдчейны считались конечным решением масштабирования для биткоина. Идея концептуально была проста: блоки биткоина должны оставаться ограниченными по размеру по всем привычным причинам децентрализации, но мы можем присоединить сайдчейны к биткоину, и у них могут быть быстрые блоки, большие блоки, больше вычислений или что угодно. Однако на практике реализация сайдчейнов была не так легка. Окончательное расчетное обязательство биткоина фундаментально связано с доказательством работы, невозможными к отмене затратами на переупорядочение транзакций, каким образом сайдчейн наследует это? Кроме того, как биткоин может быть передан в и из сайдчейна? Лучшее известное предложение для ответа на эти два вопроса называется Drivechains (BIP 300 и 301). Я вас не буду утомлять деталями Drivechains, но достаточно сказать, что существует только два исхода таких систем сайдчейнов: Либо они относительно не используются (и, следовательно, бесполезны), либо они широко используются и становятся де-факто увеличением размера блока для биткоина. Де-факто увеличение размера блока такого рода является формой централизующего MEV, где только крупные майнеры смогут эффективно участвовать в дополнительных возможностях дохода, предлагаемых потенциально крупными и сложными блоками сайдчейнов.

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

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

По причинам, которые никогда не будут полностью понятны мне, люди обожают токены (хорошие или плохие, или вообще просто токены). Почти с самого начала биткоина говорилось о том, как встроить другие токены в протокол, от Colored Coins и Counterparty до более поздних Taproot Assets и Runes. Все эти протоколы имеют общее: Они требуют внешний индекс биткоин-транзакций, который имеет знание внешних данных или обрабатывает данные из последовательности биткоин-транзакций для определения преобразований токенов внутри протокола. Точка, важная для этой статьи, состоит в том, что блокирующие скрипты биткоин полностью не знают о существовании токенов, и даже биткоин-узлы, которые проверяют транзакции, не знают о токенах (т.е. даж

JustGiving запускает поддержку криптовалютных пожертвований, включая Биткойн и Догикойн
JustGiving запускает поддержку криптовалютных пожертвований, включая Биткойн и Догикойн
JustGiving теперь принимает криптопожертвования, включая биткойн и догикойн, расширяя способы сбора средств для благотворительности 💰✨. Это привлечет новых доноров и увеличит объемы пожертвований! 🌍🤝💖
Просмотреть
Visa запускает B2B Connect в Катаре благодаря новым регулированиям DLT
Visa запускает B2B Connect в Катаре благодаря новым регулированиям DLT
Visa запустила B2B Connect в Катаре благодаря новым регулированиям DLT. Это решение улучшает трансакции и поддерживает развитие цифровой экономики страны. 🚀💳🌍✨
Просмотреть
Брайан Брукс может стать председателем SEC при Трампе: шансы, конкуренты и влияние на крипторынок
Брайан Брукс может стать председателем SEC при Трампе: шансы, конкуренты и влияние на крипторынок
Брайан Брукс является фаворитом на пост председателя SEC при возможном втором сроке Трампа, имея 40% шансов. Его подход к регулированию криптовалюты поддерживается сообществом 💰📈. Другие кандидаты — Дан Галлахер (30%) и Роберт Стеббинс. 🔍🪙
Просмотреть
Ноутбук, отслеживавший биткойны Bitfinex, выставлен в Смитсоновском институте
Ноутбук, отслеживавший биткойны Bitfinex, выставлен в Смитсоновском институте
Ноутбук, использованный для отслеживания украденных биткойнов у Bitfinex, пополнит коллекцию Смитсоновского института. Это символизирует изменение восприятия криптовалют и их отслеживаемости. 💻💰🔍
Просмотреть