Ми починаємо з типового випадку асинхронного зняття коштів з джерела роллапу до L1 і ручного мостінгу в цільовий роллап, і закінчуємо гіпотетичною архітектурою для міжроллапної компоновки в межах однієї транзакції. Ми розглянемо, як кожний рівень взаємодії вплине на досвід користувача, досвід розробника, потенціал MEV та самі роллапи (зокрема пов'язані з інфраструктурними змінами).
У цій статті ми переважно знаходимося в межах Ethereum та його L2s, та фокусуємося виключно на ненадійній сумісності. У цьому випадку "ненадійна сумісність" відноситься до протокольних каналів, які не потребують посередників для здійснення переказів поза необхідною інфраструктурою, яку вже потребують більшість роллапів.
Критичні спільні компоненти інфраструктури, які можуть продовжити нас вздовж ліману ненадійної сумісності, це спільні послідовники, супербілдери та спільні розрахунки. Гарантії та нові функціональні можливості, відкриті цими спільними шарами, пов'язані, але в сутності ортогональні за своєю природою.
Спільні послідовники / Супербілдери: переважно оновлення швидкості та користувацького досвіду.- Спільна розрахункова система: Активи обмінюються без зовнішньої обгортки, а також через внутрішньопротокольні повідомлення.Для початку ми спочатку визначимо шість рівнів ненадійної сумісності, на які натякається в огляді:
L1 Асинхронний: → Сумісність через ручний переказ активів через L1, які розв'язуються роллапами.- Атомне включення: → Гарантія того, що усі транзакції в пакеті міжролап будуть включені до наступного блоку для кожної ролап, що бере участь в пакеті, або жодна з них.- Спільний розрахунок: → Кілька ролапів, що підключаються до L1 через той самий контракт мосту.- Атомне виконання: Гарантія того, що усі транзакції у пакеті cross-rollup будуть включені та успішно виконані у наступному блоку для кожного rollup, що бере участь у пакеті, або ж жодна з них не буде виконана. Успішне виконання означає, що кожна транзакція виконується без повернення та відображається в оновленому стані для кожного rollup у пакеті.- Сумісність на рівні блоку: → Наступний блок гарантує на перехресних пакетах роллап, які можуть містити залежні транзакції (tx B на роллап B залежить від результату tx A на роллап A)- Рівень композиції на рівні Tx: → Взаємодія на рівні смарт-контрактів, що потребує лише одну транзакцію, яка може викликати зміни стану одночасно в багатьох rollups (без пакетів). Використання будь-якого протоколу на будь-якому rollup логічно еквівалентно використанню різних смарт-контрактів на одному ланцюжку. Важливо, це означає, що зміни стану до будь-якого виклику можуть бути скасовані при поверненні.Щоб краще зрозуміти кожний рівень, ми розглянемо наступні ключові сценарії використання, щоб продемонструвати потужність кожного рівня, а також наслідки для користувачів, розробників, роллапів та пошуковиків MEV.
→ Відправити собі: Обмінюйте Eth на Eth або ERC-20 на ERC-20 між двома rollups- Покупка токенів → Крос-ролап лімітний ордер: використання Eth/ERC-20 з ролапу A, купівля іншого ERC-20 з DEX на ролапу B та (за бажанням) відправка назад на ролап A## Послідовності:Наступні питання також будуть розглянуті для кращого розуміння впливу на ключових зацікавлених сторін в будь-якій екосистемі rollup.

Огляд змін для ключових зацікавлених сторін
За визначенням, це стосується поточного режиму за замовчуванням ненадійної сумісності. Усі розвитки визначені таким чином, оскільки вони побудовані на L1 як розрахунковому рівні та мають доступ до цього L1 лише через контракти моста, де вони періодично публікують оновлення стану для забезпечення безпеки мережі.
Єдиний канонічний спосіб виконання будь-якої ненадійної міжроллупової діяльності в цьому випадку полягає в тому, щоб вивести активи з вихідної роллапи через канонічний міст та вручну внести їх в цільову роллапу, як тільки вони стануть доступними на L1.
Для оптимістичних роллапів ця затримка виведення становить близько 7 днів для врахування вікна доказу помилок. У ZK роллапі затримка виведення менше визначена, але може бути від 15 хвилин до цілого дня, як у випадку з ZkSync.
Крім того, можливі взаємні атомні обміни за допомогою смарт-контрактів, але це менший випадок використання і не ефективно масштабується.
Варто відзначити сторонні рішення, які наразі існують:
Відправити собі:
Канонічно: → Вивести активи з Rollup A → Вручну внесіть на рахунок Rollup B- Третя сторона: → Міст ліквідності / Мережі розв'язуванняЛімітне замовлення Cross-Rollup
Канонічно: → Зняти активи з Rollup A → Ручний депозит в Rollup B → Виконати лімітний ордер → Щоб відправити назад, потрібно зовнішньо обгорнути цільовий ERC-20- Третя Сторона → Нове рішення для обмежених замовлень між rollup → Існують відкриті дизайни, що використовують наміри для полегшення цьогоОскільки це є типовим випадком, не потрібно обговорювати зміни в UX, DevEx, MEV та rollups.
Атомне включення гарантує лише те, що пакунок між мережами буде включений у наступний блок.
Це вимагає спільного послідовника, але теоретично може бути досягнуто без нього вручну, якщо послідовники на двох заданих роллапах не досягли максимальної продуктивності (можна просто надіслати по дві транзакції на кожен роллап окремо). Тому ми додали зірочку до необхідної інфраструктури.
Однак ми не вважаємо, що спільний послідовник запускає повний вузол кожного з підключених rollups, тому не можемо гарантувати успішне виконання пакета транзакцій. У цьому випадку спільний послідовник може гарантувати лише те, що транзакції мають правильну форму, і вони будуть включені у наступний блок, але не обов'язково, що вони успішно виконаються.
Тому що немає гарантій виконання, неможливо програмно скористатися атомарним включенням у який-небудь значущий спосіб без ризику повернення однієї з операцій. В результаті ми знаходимося приблизно в тій же ситуації, що і з L1 Async сумісністю.
Розгляньте можливість ініціювання простого крос-ролап свопу з гарантіями лише атомарного включення:
Будь-яке рішення щодо сумісності, чи то міст для ліквідності, фреймворк наміру, або обмін xERC-20, буде вразливим на цей ризик, і його неможливо зменшити. Через цей ризик поточні рішення вимагають успішного виконання початкової транзакції та її включення в блок на джерелному ланцюжку перед використанням релеїв для передачі випущеного повідомлення та виконання другої транзакції на цільовому ланцюжку.
Важливий висновок: Атомне включення не суттєво впливає на потенціал сумісності
Тут речі починають ставати цікавішими. В результаті спільного контракту моста всі ліквідні кошти, внесені в екосистему rollup з L1, можуть вільно переміщатися між усіма підключеними rollups. До цього моменту ми не могли виконувати обміни між rollups без проходження через канонічні канали, зовнішнє упакування активів або використання рішення сторонньої сторони.
Навіщо будувати договір на спільний міст? Щоб зрозуміти, чому наявність контракту на спільний міст дозволяє нам без довіри переміщувати активи між зведеннями, спочатку розглянемо, що станеться, якщо можна буде розмістити ETH у Rollup A, спалити його та карбувати на Rollup B без спільного контракту на міст на L1.

Ми бачимо, що кожний rollup вийшов би із синхронізації з їх контрактом моста на mainnet. Контракт моста rollup B все ще має 50 Eth, тому користувач не зможе зняти свої 1 Eth на L1.
Для вирішення цього питання створюються зовнішні протоколи упаковки активів, які випускають зовнішньо упаковану версію токенів у межах rollups, які символізують місце існування нативної версії десь в мережі.
Зі спільним рівнем врегулювання ситуація виглядає по-іншому. Тому що всі ліквідні кошти для кожного підключеного роллапу заблоковані в тому ж самому містковому контракті, можна вільно переміщатися між роллапами, оскільки загальна сума вартості в містковому контракті залишається та може завжди бути виведена.
Тут потрібно оновлення на рівні контракту L1 щодо*де *ліквідність полягає в тому, щоб дозволити користувачам виводити кошти з будь-якого місця, але це тривіально, оскільки всі підключені rollups можуть читати / записувати до спільного контракту.
З спільним рівнем розрахунків потік може виглядати наступним чином для простого випадку відправки самому собі.
Відправити собі:
Один може уявити спільний контракт на міст як шар внутрішньопротокольного обміну повідомленнями між усіма підключеними роллапами, тому теоретично цей потік фактично може бути розширений до будь-якого довільного стандарту обміну повідомленнями.
Це наближає нас до композабельності, але через необхідні кроки агрегування доказів та передачі повідомлень лише після того, як зміни стану відображаються на L1, є великі затримки (хоча помітно нижчі, ніж у випадку асинхронності L1). Крім того, будь-яка складна активність між ролапами, наприклад використання DEX на ролапі B, починаючи з активів на ролапі A для хресного лімітного замовлення між ролапами, все ще була б втомливим процесом для користувача, оскільки їм все ще довелося б відправити собі та вручну обміняти активи на призначеному ролапі. В цьому випадку неможливо створити атомні пакети між ролапами.
Ще однією важливою перевагою спільного вирішення є менша тертя для постачальників ліквідності або розв'язувачів, які заповнюють замовлення в кількох середовищах. Оскільки їхня ліквідність на всіх підключених rollups відображається в тому ж самому містковому контракті, їм не потрібно чекати на повне вікно виведення, щоб управляти своєю ліквідністю між rollup.
Тепер можна переносити активи у власній формі без періоду виведення L1- Розробники: Зміни обмежені випускникам токенів, які тепер можуть використовувати вбудовані повідомлення для випуску власних версій ERC-20 на всіх підключених роллапах- Пошуковики MEV: Оскільки це відбувається протягом кількох блоків для кожного rollup, немає нового потенціалу MEV- Rollups: Rollups будуть змушені вибрати використання спільного контракту моста та ймовірно додати попередні компіляції для обробки повідомлень між rollupВажливим моментом є те, що спільна розрахункова система дозволяє здійснювати перекази активів, які не є зовнішньо згорнутими, та довільне обмін повідомленнями між усіма роллапами, які використовують загальний контракт моста та шар агрегації доказів, але все ще існуватимуть непомітні затримки (хоча значно коротше, ніж на L1 Async), і неможливо створити атомні пакети між роллапами.
Атомне виконання дозволяє нам гарантувати успішне виконання пакетів міжролуп, але, як ми побачимо, кількість випадків використання пакетів міжролуп, які не мають залежних транзакцій, менша, ніж можна було б очікувати на початку.
Якщо будь-яка окрема операція в пакеті залежних операцій скасується, тоді всі інші операції стають недійсними і також повинні бути скасовані, як це відбувається з випаленням та виготовленням токенів в роллапах. Виготовлення токенів на призначеному роллапі залежить від того, чи вони були випалені або заблоковані на вихідному роллапі, тому ми можемо сказати, що пакет операцій з випалення та виготовлення - це пакет залежних операцій.
Створення цього пакета неможливе без посередника, такого як супербілдер, який може створити транзакцію-призначення.
Подумайте, що повинно бути правдою, щоб набори обміну між роллапами були побудовані без іншої сторони, окрім користувача. Набір має бути створений для блокування / спалювання активу на вихідному роллапі та витискання активу на цільовому роллапі, але ми зіткнемося з проблемами:
Тим не менш, є декілька випадків використання для атомного виконання без залежних пакетів між рулонами. Один із них - арбітраж між рулонами.

Арбітраж Cross-Rollup DEX з атомним виконанням
Оскільки між цими транзакціями відсутні жорсткі залежності, кожен може створити цей атомний пакет і надіслати його до спільного послідовника, який гарантуватиме атомне виконання.
Однак, щоб мати гарантії атомного виконання на першому місці, роллапи повинні вибрати спільного послідовника та супербілдера, які будуть запускати повноцінні вузли всіх підключених роллапів, тому крок від атомного виконання до композиції на рівні блоків є досить малим, і всі спільні рішення щодо послідовності цього зроблять. Єдине потрібне змінити - це те, що будівник блоків або інша третя сторона повинна мати можливість створювати транзакції від імені користувача для завершення залежних пакетів міжроллап.
Малоймовірно, що буде побудовано інфраструктуру, яка дозволить лише атомне виконання без переходу на наступний рівень для досягнення композиційності. Відносна вигода від переходу до повної композиційності на рівні блоків в рази перевищує складність досягнення цього, оскільки інфраструктура вже має атомне виконання.
Можливо, ніяких змін, хоча можливо, що рішення сторонньої сторони, такі як наміри, можуть бути атомними, але конкретно як це не зовсім ясно- Розробники: Ймовірно, немає змін- Пошуковики MEV: Арбітраж між роллапами набагато безпечніший завдяки атомному виконанню- Rollups: Rollups повинні погодитися використовувати спільний послідовник/супербілдери, які подають блоки з транзакціями з кожного rollup, який бажає взаємодіяти, що може змінити структуру доходів rollup. Ще неясно, як це зміниться. \ - Послідовність ринків може збільшити дохід від ролапів, дозволяючи винахідникам купувати простір ToB.Важливе висновок: Хоча перехресні пакети роллап гарантовано виконуються атомно, неясно, як будуть створюватися ці пакети, якщо немає супербілдера, який створює частину пакета, тому малоймовірно, що атомне виконання само по собі вплине на сумісність. Спільні послідовники/супербілдери за замовчуванням повинні замість цього будувати для композиції на рівні блоку.
(* = опціонально)
У багатьох дискусіях про спільні послідовники та спільні рівні розрахунків термін, який часто використовується для опису цього рівня сумісності, - «синхронне компоновання».
Ми трохи змінили цей термін, щоб бути більш описовими. Оновлення номенклатури на рівні блоку підтверджує, що можливо компонувати між двома rollups у пакеті транзакцій між rollups, які будуть включені та успішно виконані у наступному блоку. Синхронна композиція може бути сплутана з композицією на рівні транзакції, яку ми досліджуємо в наступному розділі. Важливо, для цього потрібна середня сторона (спільна інфраструктура послідовності), яка може бути диригентом та творцем залежних пакетів транзакцій.
На цьому рівні ми починаємо бачити справжню комбінабельність між роллапами, поза простим надсиланням собі для участі в додатку на іншому роллапі.
З додаванням спільного послідовника, який може створювати транзакції, ми тепер можемо створювати пакети міжроллап, з яких розробники можуть скористатися програмно.
Є два випадки, які слід врахувати:
З блоковим рівнем композабельності ми маємо як переваги атомного виконання, так і можливість створення залежних пакетів транзакцій. Давайте розглянемо наші два ілюстративні приклади.
Передача того самого токену через xERC-20 (без спільного розрахунку):
Давайте зараз розглянемо лімітний ордер на крос-роллап, щоб купити ERC-20 на Rollup B з початковим (іншим) ERC-20 з Rollup A та мати отриманий ERC-20 назад на Rollup A. У цьому випадку ми не припускаємо, що у нас є загальний рівень врегулювання, хоча подібний потік існує у випадку з одним. Єдина відмінність полягає в тому, що додатково не потрібно зовнішньо обгортати активи.
Ось необхідні транзакції в цьому випадку:

Лімітний ордер Cross-Rollup в середовищі композиції на рівні блоку
Плин:
У цьому випадку інфраструктури спільного секвенування без спільного розрахункового рівня потрібно було б використовувати зовнішню версію Eth і xERC-20, що може призвести до погіршення ринкових умов на DEX через тонші пули ліквідності для обгорнутих активів. У цьому випадку користувачеві, можливо, доведеться використовувати м'якший ліміт із більш допустимим прослизанням, і він може отримати неоптимальні ціни. Одним із винятків є USDC. Цілком можливо, що спільний секвенсер без спільних розрахунків може співпрацювати з Circle, щоб отримати ексклюзивні права на контракти USDC через роллапи, щоб полегшити нативні перекази USDC та крос-ролап свопів.
З спільним рівнем розрахунків цей зовнішній обгортковий шар не є необхідним, і, ймовірно, надасть кращі ціни через глибші ліквідні пулы для обміну національними активами, але потік в основному однаковий.
Однак, щоб мати цей повний пакет виконаний в одному блоку, всі транзакції повинні бути присутні в цьому блоку, навіть якщо транзакція представляє стан, який є недійсним перед самим блоком (наприклад, мати Eth на цільовому ланцюжку для обміну, якщо у користувача його немає до блоку). З цієї причини ми повинні довіряти послідовнику, що він фактично включив дійсні залежності в пакет cross-rollup. Хтось міг би подати докази після факту, щоб довести дійсність кожної транзакції.
Це трохи менш важливо при використанні обгорнутих активів, однак, тому що вони не впливають на природну ліквідність, збережену в L1, але механізми резервування все ще повинні бути на місці, щоб протидіяти ризику зловживання з боку злоякісного послідовника або помилки в коді, що дозволила виконати пакет транзакцій залежної транзакції, яка була скасована.
Масштабні вдосконалення UX у встановленні обмежень між роллапами в одному блоку- Розробники Потрібно мати у свідомості можливість перекочування для діяльності перекочування, ймовірно, використовуючи спеціальні передвстановлення. Замість просто транзакцій розробники повинні мислити в термінах пакунків, але ймовірно, що супербілдери та інфраструктура спеціального ролапу можуть абстрагувати більшість складностей розробника.- Пошуковики MEV Пошуковикам MEV фактично мають еквівалентну можливість використовувати стратегії L1 на пакунках між rollup, але це залежить від того, як реалізовано PBS (відокремлення пропонента-будівника). → Крос-роллап пакети в основному розглядаються як одна угода, тому МВЕ може бути знайдено за допомогою фронтраннінгу або сендвічування цих пакетів, поки вони не змінюють ціни поза терпимими значеннями просічення (тому що тоді весь пакет скасується, і спроби МВЕ будуть невдалими)- Rollups Потрібно буде вибрати спільну інфраструктуру послідовності (включаючи супербілдерів), а також дозволити доступ до спалення/виготовлення Eth спільному послідовнику у випадку спільного рівня вирішення. Можна внутрішнім чином усвідомити MEV, продавши блок-простір будівельникам## 6. Складність на рівні транзакції## Необхідна інфраструктура:Зміни на рівні ВМ // Спільний розрахунок // Супербудівники
Композиція на рівні транзакцій посилається на той самий рівень функціональності, яку розумні контракти на одному ланцюжку EVM діляться. У цьому випадку одна транзакція може оновлювати стан одночасно на кількох rollups, і забезпечити, що будь-які зміни стану до будь-якого виклику можуть бути скасовані, якщо виклик не повертається успішно. Фактично, атомний пакет транзакцій в середовищі композиції на рівні блоків може бути виконаний в межах однієї транзакції між rollup та VM. Це потребує змін на рівні VM для всіх підключених rollups, крім спільного рівня врегулювання та супербілдера.
Тут ми опишемо можливий механізм на високому рівні. (Наскільки нам відомо, ця конструкція заслуга команди «Еспресо»). По-перше, користувач надсилає транзакцію крос-ролапу всім зведенням, стан яких змінюється транзакцією, або суперконструктору, який може створювати блоки для всіх залучених зведень. Суперконструктор моделює транзакцію та формує списки пар введення-виведення, по одному для кожного залученого зведення, які визначають необхідні та очікувані перехресні зведення повідомлень у межах транзакції. (Зауважте, що суперконструктор може зробити це лише в тому випадку, якщо він має безпечні права на секвенування всіх залучених зведень протягом певного періоду часу). Потім суперконструктор надсилає змодельований блок ініціатору кожного зведення разом зі списками очікуваних пар входів-виходів для кожної транзакції крос-зведення. Під час виконання кожне зведення виконує свою власну функцію переходу стану, як зазвичай, за умови, що вхідні дані зі списку транзакцій перехресного зведення є правильними. Під час розрахунків списки входів-виходів можуть бути перехресно порівняні та доведені безпечними на етапі агрегації доказів на рівні спільного розрахунку. Зокрема, якщо будь-які очікувані вхідні дані для транзакції крос-ролапу не збігаються з тими, які інший зведений вказав як вихід, процес розрахунку відхилить усю транзакцію крос-зведення.
Незважаючи на те, що з обмеженою новою функціональністю, розблокованою на рівні транзакційної сумісності поза миттєвими кредитами, досвід розробника для створення додатків для переходу через роллапи може бути значно покращений. Можливість створення додатків, що взаємодіють з усіма підключеними ланцюжками без міркувань про пакети переходу через роллап, робитиме інновації в багаторольовому ландшафті набагато простіше. Крім того, можливо, з'являться нові варіанти використання та поведінка в результаті.
Існують багато відкритих питань дизайну для композиції на рівні транзакцій. По-перше, як розробники можуть вибирати включення або виключення викликів між rollup для своїх потреб у розумних контрактах, потрібно ретельно розглянути. Дозволяючи довільну композицію без обмежень означає, що ми регресуємо до одного монолітного rollup. Ми вважаємо, що відповідь тут полягає в тому, що розробники повинні явно вказувати, де необхідна композиція між rollup у їх контрактах, наприклад, за допомогою модифікатора Solidity, подібногоскладнийякі позначають певні точки входу контракту як викликані перехідними rollup.
Ті ж наслідки, що й при композиції на рівні блоку з додатковими розширеними можливостями, такими як flash-кредити
→ UX практично ідентичний з використанням однієї ланцюжка для додатків, які вибирають участь- Розробники:
Досвід розробника значно покращується, оскільки розробники додатків можуть нативно викликати контракти через міжроллап та використовувати виводи з цих викликів, як одиночні виклики роллап
→ Інфраструктура Superbuilder/Sequencer все ще повинна розміщувати транзакцію в блоках для роллапів, на які впливає міжроллапний виклик, але не повинна створювати ті ж самі пакети, що й у випадку композабільності на рівні блоку.- Пошуковики MEV:
Високий потенціал MEV, оскільки пакети перехідного зв'язку тепер практично еквівалентні одиночним транзакціям на одному ланцюжку- Rollups:
Потрібні зміни на рівні VM, а також вибір спільного послідовника та спільного рівня врегулювання
→ Додаткові припущення про довіру, пов'язані з необхідністю довіряти вхідним та вихідним даним для інших rollups перед тим, як мати можливість перевірити стан за допомогою доказів, але механізми стриження можуть зменшити обтяження довіри## Огляд та карта екосистемиПісля проходження технічних деталей кожного рівня взаємодії, визначеного тут, ми можемо підсумувати:

Карта екосистеми
Додатково варто відносити це до поточної популярності, що зростає в галузі appchains. Appchains - це довгополосні L2, які або узагальнені, або з дозволом, з метою утворення силосування конкретних пов'язаних протоколів на одному L2. Ймовірно, коли ми досягнемо компонуваності на рівні блоку, ми також почнемо бачити значний прогрес середовищ appchain внаслідок наявності вбудованої компоновки між усіма підключеними мережами.
На даний момент все ще складно забезпечити ліквідність для цих додаткових ланцюжків, але як тільки більший ланцюжок підключиться як вхідна брама до середовища, яке сумісне, ймовірно, ми побачимо екосистеми замкнених садів навколо спільної інфраструктури.
Ще одним важливим відкритим питанням є те, як вирішиться дизайнерський простір навколо супербудівельників. Розвиток у цьому напрямку все ще досить молодий, і ще не зовсім зрозуміло, який буде найефективніший і ефективний спосіб створення мережі висококваліфікованих будівельників, які зможуть створювати пакети для перехідних роллапів. Те, де ці пакети для перехідних роллапів оптимально будуть включені в блок, і вплив на дохід від роллапу, є відкритим питанням, і різні команди досліджують різні стратегії.
У кінцевому підсумку майбутнє, ймовірно, включатиме комбінацію рішень з переходом як у протоколі, так і поза ним, і вони будуть працювати разом, щоб забезпечити набагато кращий процес сумісності для всіх. Ми вважаємо, що розвиток, описаний у цій статті, може служити керівництвом для розробників та будівельників, які спрямовані на те, щоб зробити міжроллапну сумісність більш безшовною для кінцевих користувачів.
Ймовірно, що з'являться абсолютно нові парадигми для взаємодії між роллапами, які ще не були відкриті. Якщо ви є розробником, який працює над підходами, які розширюють теми тут або не охоплені вище, будь ласка, звертатися(dms відкриті). Технологія нарешті дозріла достатньо, щоб покласти реальний тиск на пошук рішень щодо фрагментації ліквідності/екосистеми, і ми завжди шукаємо можливість зв'язатися з засновниками, які ризикують будувати творчі рішення.
Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими автора і не становлять жодної інвестиційної поради.
Переклади статей на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.





