Разрушая изолированность ликвидности L2: базовая логика экономической зоны Ethereum (EEZ) и новый подход к взаимодействию между сетями

В архитектуре экономической зоны Ethereum (EEZ) главная цель механизма взаимодействия между сетями — обеспечить «синхронную компонуемость» (Synchronous Composability). Чтобы полностью разобраться в этом механизме, рассмотрим два ключевых вопроса: «зачем нужен механизм взаимодействия между сетями» и «почему всё должно происходить в одном блоке Ethereum».

I. Как работает механизм взаимодействия между сетями? (Три столпа EEZ)

В традиционных межсетевых мостах сети A и B работают асинхронно: сначала нужно заблокировать средства в сети A, дождаться подтверждения от мультиподписи или валидаторов, а затем выпустить токены в сети B. Это медленный процесс, который легко может дать сбой. EEZ использует механизм «синхронного взаимодействия на основе доказательств и прокси-контрактов», который опирается на три компонента:

Доказательства в реальном времени (Real-time proving):
Раньше на создание доказательства корректности для одного Rollup могли уходить минуты и даже часы.
EEZ использует новейшее оборудование и технологии генерации доказательств в реальном времени, чтобы создавать доказательство в пределах одного слота Ethereum (12 секунд). Основной сети Ethereum не нужно заново выполнять код Rollup: достаточно проверить это доказательство, созданное в реальном времени, чтобы подтвердить корректность состояния Rollup.

Компонор (Composer) и таблица исполнения (Execution Table):
Компонор — ключевой оператор. До создания блока Ethereum он предварительно выполняет транзакцию в нескольких сетях, участвующих в межсетевом вызове, и записывает результат каждого такого вызова в «таблицу предварительно вычисленных ответов» (таблицу исполнения).

Прокси-контракты (Proxy):
У каждого контракта в Rollup есть заранее известный прокси-адрес в Ethereum L1 (и наоборот).
При межсетевом вызове код выглядит как обычный локальный вызов контракта — сложный протокол асинхронной передачи сообщений не требуется. Прокси обращается к контракту EEZ, находит и сверяет результат исполнения, предварительно вычисленный компонором, и при совпадении пропускает вызов.

II. Почему всё должно происходить в одном блоке Ethereum? (Главная причина)

«Выполнение в одном блоке Ethereum» (то есть синхронный вызов) — ключевой принцип всего механизма. Вот три главные причины:

Устранение проблемы отсутствия «атомарности» (Atomicity) и обеспечение принципа «всё или ничего»

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

Недостатки асинхронного взаимодействия между сетями: если выполнять операции поэтапно (взять заём в L1, перейти в другую сеть, совершить сделку в L2), то при сбое на втором шаге или резком изменении рынка ваши активы окажутся под угрозой. Например, средства уже переведены из L1, но сделка в целевом пуле L2 не удалась по какой-либо причине, и деньги зависли в пути.
Преимущество синхронной работы в одном блоке: если все операции включены в один блок Ethereum, вся цепочка транзакций становится абсолютно атомарной. При предварительном исполнении компонор отменит весь пакет транзакций до создания блока, если обнаружит, что какой-либо этап (например, из-за слишком большого проскальзывания или недостаточного баланса) завершится неудачей. Если транзакция уже попала в блок, то при сбое на любом этапе все связанные операции в Ethereum и Rollup будут мгновенно и безопасно отменены. Это полностью устраняет промежуточные риски при взаимодействии между сетями.

Устранение фрагментации ликвидности: L2 в реальном времени получают доступ к глубоким пулам L1

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

В одном блоке Ethereum Rollup может в момент вызова напрямую «заимствовать» ликвидность из глубоких пулов основной сети Ethereum L1 (например, Uniswap и Aave).
Например, вы инициируете транзакцию в L2, и в том же блоке Ethereum она напрямую вызывает Uniswap в L1, выполняет обмен и получает результат обратным вызовом. Для пользователя это выглядит так, будто он работает в одной сети, — не нужно заранее «пополнять баланс» или перемещать средства между разными сетями.

Предотвращение рассинхронизации состояний и атак с «реорганизацией» (Reorg)

В блокчейне в любой момент может произойти реорганизация блока (Reorg). Если взаимодействие между сетями асинхронное и растянуто на несколько блоков, сеть A может считать транзакцию успешной, а затем в основной сети Ethereum произойдёт реорганизация, из-за которой исчезнет состояние, на которое опиралась сеть A. Это приведёт к катастрофической путанице в учёте.

Требование выполнять всё в одном блоке Ethereum означает, что все изменения состояния, проверка доказательств и обратные вызовы прокси привязаны к одной временной точке отсчёта (Sync block).
Для сетей, подключённых к EEZ, действует незыблемое правило: при реорганизации Ethereum сеть должна откатиться синхронно. Это гарантирует на базовом уровне, что межсетевые состояния никогда не будут расходиться из-за «разницы во времени».

💡 В двух словах:
Всё выполняется в одном блоке Ethereum, чтобы заменить хрупкие и медленные межсетевые мосты фундаментальным свойством блокчейна — «атомарностью» (Atomicity). Благодаря этому приложения, распределённые по разным L2, могут мгновенно и безопасно совместно использовать всю ликвидность и вычислительные ресурсы основной сети Ethereum, словно они работают на одном ядре CPU.