YTWO Report: Preconfirmations
Содержание
Introduction
Блокчейны создали новую эпоху глобального сотрудничества, обеспечивая децентрализованный и демократичный доступ для всех. Умные стимулы и криптография позволяют участникам свободно обмениваться ценностями. Однако не все участники равны, а опытные игроки часто пользуются неопытностью обычных пользователей.
Preconfirmation (предварительное подтверждение) — это следующий шаг в эволюции блокчейна, который уравняет условия для всех участников и улучшит пользовательский опыт. Эти подтверждения помогут сократить разрыв между Web2 и DApps.
Текущая ситуация
Более 90% блоков на L1 в настоящее время “финализируются” через mev-boost. Валидаторы продают право на создание блока Builders (строителям или конструкторам), который предлагает самую высокую цену на аукционе. Пользователи, торговые боты и Searchers (специальные пользователи, которые запускают алгоритмы для создания прибыльных транзакций) отправляют свои транзакции через узлы RPC в mempool или напрямую Builders. Builders создают максимально прибыльный блок, объединяя транзакции из публичного mempool и частного orderflow, а затем делают ставки на открытом аукционе, чтобы выиграть право на создание блока. Аукцион проводится с помощью ретрансляторов, которые гарантируют, что победит блок с самой высокой ставкой, и валидатор не сможет украсть MEV у Builder и оставить все награды MEV себе.
Проблема
В повседневной жизни люди настолько привыкли к Preconfirmation, что едва ли замечают их. Например, при совершении онлайн-платежа или размещении заказа BUY на платформе вроде Robinhood пользователи ожидают, что их запрос будет выполнен, как только они увидят подтверждение на экране. Обрабатывающая заказ организация может столкнуться с многочисленными трудностями при выполнении запроса, но пользователи не знают об этих сложностях.
В блокчейн-транзакциях Preconfirmation служит надежным и своевременным обещанием от поставщика (того, кто выполняет, например, валидатора или создателя блоков) участнику торгов (субъекту, которому необходимо выполнение транзакции). Это обещание, предлагаемое в обмен на экономический стимул, обеспечивает лучшее выполнение транзакции. Это обещание может означать разные вещи в зависимости от того, является ли оно обещанием включения транзакции, выполнения или успеха.
"Мы постоянно ищем способы улучшить пользовательский опыт web3. Preconfirmation решает одно из самых больших препятствий для массового внедрения блокчейна — медленную скорость транзакций, позволяя пользователям получать сигнал о том, что их транзакция в сети была принята практически мгновенно" говорят Polyhedra Network.
Хотя уже существует множество решений, значительно увеличивающих скорость транзакций, все еще остаются проблемные места. Мало кто хочет ждать подтверждения своих транзакций в блокчейне, беспокоясь о возможных сбоях или задержках.
Даже небольшие задержки могут отпугнуть потенциальных пользователей, которые не готовы мириться с неудобствами ради децентрализации. Эти пользователи ожидают, что транзакции будут происходить мгновенно, как и в традиционных финансовых системах.
Preconfirmations решают несколько проблем.
- Уменьшения эффекта MEV из конечных пользователей: создатели блоков мотивированы извлекать максимальную ценность, что обычно обходится конечным пользователям
- Снижение риска отказа транзакций: пользователи и searchers не могут гарантировать включение своей транзакции в блок.
- Концентрация Block Builders: где три крупнейших Builders создают более 90% блоков, также решается, так как мелкие Block Builders нуждаются в доступе к частному потоку заказов.
- Более низкая устойчивость к цензуре: когда большинство предлагающих валидаторов передают создание блоков специализированным организациям.
Однако для внедрения Preconfirmation необходимо разработать справедливые и надежные механизмы координации между всеми участниками жизненного цикла транзакции, включая пользователей, ботов, searchers, builders, ретрансляторов и валидаторов. Это позволит создать коммуникативный уровень, не требующий доверия. Обеспечение такой бездоверительной коммуникации является одной из ключевых задач на сегодняшний день.
L1 Preconfirmation
Как мы уже поняли Preconfirmation предлагает решение, которое позволяет пользователям получать сигнал о принятии их транзакции практически мгновенно. Таким образом, Preconfirmation устраняет одно из самых больших препятствий для массового внедрения блокчейна — медленную скорость транзакций, делая процесс более удобным и привлекательным для пользователей.
Эта концепция, предложенная исследователем Ethereum Foundation Джастином Дрейком в 2023 году, направлена на значительное сокращение времени подтверждения транзакций, потенциально позволяя достичь UX менее чем за секунду, сохраняя при этом основные принципы децентрализации и безопасности.
Основная идея заключается в том, чтобы предлагающие блоки Ethereum, известные как «preconfers», выдавали пользователям подписанные обещания, гарантирующие, что их транзакции будут включены и выполнены в течение определенного периода времени. Пользователи платят чаевые за эту услугу. Приобретая обещания preconf у будущих создателей блоков, пользователи могут получить гарантию быстрого выполнения.
- Ускоренная обработка транзакций: предоставляя ранние сигналы о действительности транзакции, Preconfirmation позволяют получателям быстрее выполнять транзакции, не дожидаясь множественных подтверждений блоков.
- Улучшенный пользовательский опыт: пользователи могут наблюдать за тем, как их транзакции обрабатываются и принимаются сетью в режиме реального времени, что снижает беспокойство и неопределенность в период подтверждения.
- Улучшенные меры безопасности: Preconfirmation могут помочь обнаружить потенциальные попытки двойной траты раньше, поскольку узлы будут отмечать конфликтующие транзакции до включения блока.
- Сокращение времени подтверждения: Preconfirmation ускоряют принятие решений и устраняют необходимость ожидания множественных подтверждений блоков для приложений, чувствительных ко времени.
Реализация Preconfirmation различается в разных сетях. Некоторые системы используют механизм голосования, где определенный процент узлов должен подать сигнал о принятии, прежде чем транзакция будет считаться предварительно подтвержденной. Другие могут использовать более сложные алгоритмы, которые учитывают репутацию узла или комиссии за транзакцию.
Хотя Preconf предлагают многочисленные преимущества, важно отметить, что они не гарантируют абсолютной окончательности. Полные подтверждения блоков по-прежнему необходимы для полной безопасности транзакций, особенно для переводов на большие суммы. Preconfirmation следует рассматривать как дополнительную функцию, которая повышает общую эффективность блокчейнов, а не как замену традиционных процессов подтверждения.
Как мы уже сказали, для внедрения Preconfirmation необходимо разработать справедливые и надежные механизмы координации между всеми участниками жизненного цикла транзакции, включая пользователей, ботов, searchers, builders, ретрансляторов и валидаторов для организации коммуникативного уровня, не требующего доверия.
Кратко рассмотрим основные механизмы координации для Preconf:
Inclusion Lists позволяют предлагающим валидаторам принудительно включать определенные транзакции в текущий или последующий блок. Благодаря IL, предлагающие валидаторы могут передавать на аутсорсинг создание блока, при этом обеспечивая включение определенных транзакций.
В Execution Tickets валидаторы выбираются случайным образом для двух основных задач посредством лотереи на основе суммы застейканного ETH. ET предлагается как решение для разделения двух обязанностей, защищая валидаторов от централизующих сил и позволяя большему количеству валидаторов-одиночек участвовать в качестве валидаторов специальных блоков, тем самым стимулируя децентрализацию процесса. Однако такой подход всё же создает некие риски централизации.
Mev-commit — это P2P-сеть, разработанная для того, чтобы все посредники MEV могли эффективно и без доверия координировать свои действия, и где обязательства по выполнению транзакций Ethereum могут быть записаны вместе с логикой вознаграждения/сокращения поставщиков. Концепция позволяет участникам торгов (таким, как Searchers, Solvers, Telegram Bots, AA Bundlers, Wallets, Transaction Aggregators и конечным пользователям) указывать свои предпочтения по выполнению транзакций и получать обязательства от поставщиков выполнения (таких, как Block Builders, Validators).
Preconfirmation для L2. Отказ от Централизованных Секвенсоров
Большинство Rollups управляют упорядочивание и выполнением, полагаясь на Ethereum L1 для доступности данных и расчетов. В настоящее время Rollups используют централизованные секвенсоры для сортировки транзакций. Затем валидатор/prover генерирует конечное состояние на основе этих транзакций и размещает его в мостовом контракте L1.
Централизованные секвенсоры могут предоставлять пользователям обязательства о включении транзакций до проверки на L1. Пользователи не могут принудительно выполнять эти обязательства (через программный slashing или арбитраж), но они могут доверять обязательствам секвенсора, поскольку именно он отвечают за сбор и сортировку транзакций. Это обязательство можно назвать Preconfirmation. Однако, если валидатор/prover не публикует конечное состояние на L1, то это доверие может быть скомпрометировано.
Централизованные секвенсоры предлагают Preconfirmation, но они также создают риски: цензуры, отдельных точек отказа и извлечения MEV. Децентрализация секвенсоров является сложной задачей, особенно в поддержке Preconfirmation для пользователей.
Чтобы использовать существующую сеть L1 для создания и секвенирования блоков L2, все тот же Джастин Дрейк предложил использовать концепцию Based Rollups в марте 2023 года, которая убирала необходимость использования централизованных секвенсоров.
Узнать о слабых местах централизованных секвенсоров вы можете по ссылке на нашу статью.
Джастин Дрейк дал определению Based Rollup:
«Rollup называется Based или L1-sequenced, когда его процесс секвенирования транзакций управляется L1. Более конкретно, Based Rollup — это то, где следующий L1 proposer, предлагающий следующий блок L1, может, в сотрудничестве с Searchers и Builders L1, без разрешения включать следующий блок Rollup, как часть следующего блока L1».
- Proposer – предлагающий следующий блок
- Searchers – отвечают за поиск и упорядочивание транзакций для включения их в блоки
- Builders – собирают транзакции, предоставленные искателями, и формируют из них блоки
По сути, Builder L1 или Searcher L1 может играть роль Builder блоков L2, выбирая транзакции из mempool L2, создавая блок L2 и включая его в bundle L1. Поскольку большая часть MEV поступает к валидаторам L1, предлагающие L1 заинтересованы в том, чтобы включать блоки Rollup в L1.
- Децентрализация и жизнеспособность: унаследованную Ethereum
- Простота: исключение дополнительных проверок подписи секвенсора и прочих издержек;
- MEV: Rollups сталкиваются с компромиссом между заработком на MEV и потенциальным получением большей доли рынка за счет приоритетности этих преимуществ (скорее не плюс, а необходимость в угоду децентрализации);
- Отсутствие быстрых Preconfirmations: использование L1 для секвенирования затрудняет предоставление быстрых Preconfirmations с использованием существующей конструкции протокола.
- Публичный Mempool: Based Sequencing заново вводит публичный mempool в L2, что позволяет проводить сэндвич-атаки и опережение, чего нет в других Rollups.
Как мы поняли, для внедрения Preconfirmations в существующие Rollups потребуется значительное изменение механизмов работы, которые были названы Based Preconfirmations. Необходим механизм координации между всеми посредниками (пользователями, ботами, Searchers , Builders, ретрансляторами и валидаторами), чтобы обеспечить надежную и не требующую доверия коммуникацию.
Подумаем, как потенциально это может выглядеть:
Так называемый провайдер должен иметь возможность включать транзакции, для которых было дано предварительное подтверждение. Подход зависит от того, кто является провайдером. Если валидаторы предлагают Preconfirmation, им нужен механизм для включения транзакций в блок. Это можно сделать, самостоятельно построив блок, а не получив извне самый прибыльный блок.
При предоставлении Preconfirmation со стороны Block Builders возможно реализовать аукцион. Builders могут обеспечить выполнение обязательств, если выиграют ставку на аукционе mev-boost. Builders могут гарантировать выполнение, но они не могут быть уверены в победе в аукционе.
Если участники торгов получают Preconfirmation от достаточного количества Builders, они могут быть достаточно уверены, что их условие будет выполнено. В настоящее время участники торгов, получающие Preconfirmation от трех лучших Builders, имеют более 90% вероятности выполнения.
Собственно Taiko стал первым Based Rollup, который запустил основную сеть, которая наладила эти механизмы, а Coinbase присоединилась к усилиям, создав простое хранилище ключей и значений в качестве Based Rollup.
- Settlement Layer – поскольку Based Rollup публикует доказательства в Ethereum, его Settlement – Ethereum. Всегда можно получить доступ к проверенному состоянию сети L2 на Ethereum.
- Data Availability Layer – поскольку Based Rollup публикует данные, необходимые для реконструкции состояния в Ethereum, Ethereum является его уровнем доступности данных. Любой может проверить опубликованный хэш блока и использовать его для получения данных о транзакциях, выполненных в этом блоке.
- Consensus Layer – Based Rollup не имеет отдельного консенсуса, поэтому у него нет Consensus Layer. Вместо этого он использует Ethereum Consensus Layer, поскольку порядок транзакций определяется валидаторами L1.
- Execution Layer – Based Rollup выполняет транзакции off-chain самостоятельно. Следовательно, Based Rollup – это его собственный Execution Layer.
Ну и как было сказано ранее, такая конструкция позволила исключить один уровень из цепочки поставок, что привело к удешевлению транзакций (например, отсутствие необходимости проверять подписи централизованных или децентрализованных секвенсоров). Составление транзакций и публикация их на верхний уровень теперь лежат на поддерживающих L1 сеть. А Preconfirmation здесь могут работать благодаря, например, re-staking, когда часть валидаторов L1 обязуется (через re-staking) включать блоки Based Rollup в блоки L1, которые они предложат в будущем.
Изобрести подобную модель на самом деле проще, чем кажется ведь основа на которой все держится это Based Sequencing. Based Sequencing – максимально простое решение, значительно проще, чем даже централизованное секвенирование, из-за повторного использования инфраструктуры Ethereum. Based Sequencing не требует проверки подписи секвенсора, аварийного выхода и внешнего консенсуса PoS.
Cross-Chain Preconfirmation
Некоторые L1 сети, такие как Solana, и многие L2 решения уже предлагают быструю обработку транзакций. Однако, несмотря на эти достижения, проблема остается нерешенной в cross-chain операциях. Улучшения, которые касаются одной сети, не всегда применимы к транзакциям между различными блокчейнами.
Проблема усугубляется тем, что при cross-chain переводах, помимо on-chain составляющей, есть и off-chain составляющая. Это означает, что время ожидания и подтверждения транзакций может увеличиваться из-за необходимости согласования и синхронизации данных между различными сетями. Такая ситуация может создавать дополнительные сложности и увеличивать задержки, что негативно сказывается на UX.
В этих случаях задержки могут достигать 20-30 минут, что существенно снижает скорость взаимодействия между блокчейнами. В условиях таких задержек технологии предварительных подтверждений становятся необходимостью. Они обеспечивают уверенность и предсказуемость при выполнении cross-chain транзакций, что в свою очередь, способствует более плавному и эффективному UX для пользователей. Внедрение таких решений поможет преодолеть текущие ограничения и значительно улучшить пользовательский опыт при работе с cross-chain транзакциями.
Такие решения уже вполне функционируют, рассмотрим одно из них:
zkBridge Fast Finality реализует Preconfirmation
zkBridge от Polyhedra уже давно поддерживает механизм предварительного подтверждения для цепочек с более длительным временем подтверждения. При использовании zkBridge для cross-chain транзакций, если отправляющей цепочкой является, например, Ethereum, и пользователи хотят использовать функцию Preconfirmation для быстрых cross-chain транзакций, они платят две дополнительные комиссии: одну предлагающему и одну zkBridge.
Когда ретранслятор zkBridge обнаруживает Preconfirmation транзакцию, он моментально выполняет последующую операцию, не дожидаясь окончательного подтверждения в цепи получателя. Это действие приводит к значительно лучшему UX, выполняя транзакции мгновенно, а не ожидая “финализации” сетей уровня 1 или уровня 2 (например, шесть подтверждений блоков для Bitcoin или 7-дневная “финализация” для OP Rollups)
Conclusion
Мы сформулировали формальное определение предварительных подтверждений (Preconfirmation), обрисовали их актуальность в контексте децентрализованных систем и извлечения MEV, а также проанализировали соответствующие соображения. Команда YTWO убеждена, что это решение многократно упрощает взаимодействие с блокчейном и пересматривает саму суть взаимодействия между участниками создания транзакций. Мы уверены, что внедрение таких механизмов не только повышает эффективность и прозрачность операций, но и способствует созданию более справедливой и надежной экосистемы, в которой каждый участник может действовать с уверенностью и без необходимости доверять другим. Создание Based Rollup так же способствует справедливому распределению MEV, который естественным образом перетекает в базовый L1. Эти потоки укрепляют экономическую безопасность L1 (и, как следствие, экономическую безопасность всей экосистемы Ethereum), а так же убирает необходимость централизованных секвенсоров.