Перейти до основного вмісту
Change page

Оптимістичні ролапи

Оптимістичні ролапи — це протоколи рівня 2 (l2), розроблені для збільшення пропускної здатності базового рівня Етеріуму. Вони зменшують обсяг обчислень у головному ланцюзі Етеріуму, обробляючи транзакції позамережево, що забезпечує значне підвищення швидкості обробки. На відміну від інших рішень для масштабування, таких як сайдчейни, оптимістичні ролапи отримують безпеку від Головної мережі, публікуючи результати транзакцій ончейн, або ланцюгів Плазми, які також перевіряють транзакції в Етеріумі за допомогою доказів шахрайства, але зберігають дані транзакцій в іншому місці.

Оскільки обчислення є повільною та дорогою частиною використання Етеріуму, оптимістичні ролапи можуть запропонувати покращення масштабованості в 10-100 разів. Оптимістичні ролапи також записують транзакції в Етеріум як calldata або в блобах, зменшуючи витрати на газ для користувачів.

Передумови

Вам слід прочитати та зрозуміти наші сторінки про масштабування Етеріуму та рівень 2 (l2).

Що таке оптимістичний ролап?

Оптимістичний ролап — це підхід до масштабування Етеріуму, який передбачає перенесення обчислень та зберігання стану позамережево. Оптимістичні ролапи виконують транзакції за межами Етеріуму, але публікують дані транзакцій у Головній мережі як calldata або в блобах.

Оператори оптимістичних ролапів об'єднують кілька позамережевих транзакцій у великі пакети перед їх відправкою в Етеріум. Цей підхід дозволяє розподілити фіксовані витрати між кількома транзакціями в кожному пакеті, зменшуючи комісії для кінцевих користувачів. Оптимістичні ролапи також використовують методи стиснення для зменшення обсягу даних, що публікуються в Етеріумі.

Оптимістичні ролапи вважаються «оптимістичними», оскільки вони припускають, що позамережеві транзакції є дійсними, і не публікують докази дійсності для пакетів транзакцій, розміщених ончейн. Це відрізняє оптимістичні ролапи від ролапів з нульовим розголошенням, які публікують криптографічні для позамережевих транзакцій.

Натомість оптимістичні ролапи покладаються на схему доведення шахрайства для виявлення випадків, коли транзакції обчислюються неправильно. Після того, як пакет ролапу надсилається в Етеріум, існує часове вікно (яке називається періодом оскарження), протягом якого будь-хто може оскаржити результати транзакції ролапу, обчисливши .

Якщо доказ шахрайства є успішним, протокол ролапу повторно виконує транзакцію(ї) та відповідно оновлює стан ролапу. Іншим наслідком успішного доказу шахрайства є те, що секвенсор, відповідальний за включення неправильно виконаної транзакції в блок, отримує штраф.

Якщо пакет ролапу залишається неоскарженим (тобто всі транзакції виконані правильно) після закінчення періоду оскарження, він вважається дійсним і приймається в Етеріумі. Інші можуть продовжувати будувати на непідтвердженому блоці ролапу, але з одним застереженням: результати транзакцій будуть скасовані, якщо вони базуються на неправильно виконаній транзакції, опублікованій раніше.

Як оптимістичні ролапи взаємодіють з Етеріумом?

Оптимістичні ролапи — це позамережеві рішення для масштабування, створені для роботи поверх Етеріуму. Кожен оптимістичний ролап управляється набором смарт-контрактів, розгорнутих у мережі Етеріум. Оптимістичні ролапи обробляють транзакції поза головним ланцюгом Етеріуму, але публікують позамережеві транзакції (пакетами) в ончейн-контракті ролапу. Як і блокчейн Етеріуму, цей запис транзакцій є незмінним і формує «ланцюг оптимістичного ролапу».

Архітектура оптимістичного ролапу складається з таких частин:

Ончейн-контракти: Робота оптимістичного ролапу контролюється смарт-контрактами, що працюють в Етеріумі. Це включає контракти, які зберігають блоки ролапу, відстежують оновлення стану в ролапі та відстежують депозити користувачів. У цьому сенсі Етеріум слугує базовим рівнем або «рівнем 1 (l1)» для оптимістичних ролапів.

Позамережева віртуальна машина (VM): Хоча контракти, що керують протоколом оптимістичного ролапу, працюють в Етеріумі, протокол ролапу виконує обчислення та зберігання стану на іншій віртуальній машині, окремій від Віртуальної машини Етеріуму. Позамережева віртуальна машина — це місце, де існують застосунки та виконуються зміни стану; вона слугує верхнім рівнем або «рівнем 2 (l2)» для оптимістичного ролапу.

Оскільки оптимістичні ролапи розроблені для запуску програм, написаних або скомпільованих для EVM, позамережева віртуальна машина включає багато специфікацій дизайну EVM. Крім того, докази шахрайства, обчислені ончейн, дозволяють мережі Етеріум забезпечувати дійсність змін стану, обчислених у позамережевій віртуальній машині.

Оптимістичні ролапи описуються як «гібридні рішення для масштабування», оскільки, хоча вони існують як окремі протоколи, їхні властивості безпеки походять від Етеріуму. Серед іншого, Етеріум гарантує правильність позамережевих обчислень ролапу та доступність даних, що стоять за обчисленнями. Це робить оптимістичні ролапи більш безпечними, ніж суто позамережеві протоколи масштабування (наприклад, сайдчейни), які не покладаються на Етеріум для забезпечення безпеки.

Оптимістичні ролапи покладаються на головний протокол Етеріуму для наступного:

Доступність даних (DA)

Як зазначалося, оптимістичні ролапи публікують дані транзакцій в Етеріумі як calldata або блоби. Оскільки виконання ланцюга ролапу базується на надісланих транзакціях, будь-хто може використовувати цю інформацію, закріплену на базовому рівні Етеріуму, для виконання стану ролапу та перевірки правильності переходів стану.

Доступність даних є критично важливою, оскільки без доступу до даних стану претенденти не можуть створити докази шахрайства для оскарження недійсних операцій ролапу. Завдяки тому, що Етеріум забезпечує доступність даних, ризик того, що оператори ролапів уникнуть покарання за зловмисні дії (наприклад, надсилання недійсних блоків), зменшується.

Стійкість до цензури

Оптимістичні ролапи також покладаються на Етеріум для забезпечення стійкості до цензури. В оптимістичному ролапі централізована сутність (оператор) відповідає за обробку транзакцій та надсилання блоків ролапу в Етеріум. Це має певні наслідки:

  • Оператори ролапів можуть цензурувати користувачів, повністю переходячи в офлайн, або відмовляючись створювати блоки, які містять певні транзакції.

  • Оператори ролапів можуть перешкодити користувачам виводити кошти, депоновані в контракті ролапу, приховуючи дані стану, необхідні для доказів Меркла щодо права власності. Приховування даних стану також може приховати стан ролапу від користувачів і перешкодити їм взаємодіяти з ролапом.

Оптимістичні ролапи вирішують цю проблему, змушуючи операторів публікувати дані, пов'язані з оновленнями стану, в Етеріумі. Публікація даних ролапу ончейн має такі переваги:

  • Якщо оператор оптимістичного ролапу переходить в офлайн або припиняє створювати пакети транзакцій, інший вузол може використати доступні дані для відтворення останнього стану ролапу та продовження створення блоків.

  • Користувачі можуть використовувати дані транзакцій для створення доказів Меркла, що підтверджують право власності на кошти, та виводити свої активи з ролапу.

  • Користувачі також можуть надсилати свої транзакції на рівень 1 (l1) замість секвенсора, і в цьому випадку секвенсор повинен включити транзакцію протягом певного ліміту часу, щоб продовжувати створювати дійсні блоки.

Остаточна фіксація

Ще одна роль, яку відіграє Етеріум у контексті оптимістичних ролапів, — це роль рівня остаточної фіксації. Рівень остаточної фіксації закріплює всю екосистему блокчейну, встановлює безпеку та забезпечує об'єктивну фінальність, якщо в іншому ланцюзі (у цьому випадку — в оптимістичних ролапах) виникає суперечка, яка потребує арбітражу.

Головна мережа Етеріуму забезпечує центр для оптимістичних ролапів для перевірки доказів шахрайства та вирішення суперечок. Крім того, транзакції, проведені в ролапі, є остаточними лише після того, як блок ролапу буде прийнято в Етеріумі. Після того, як транзакція ролапу зафіксована на базовому рівні Етеріуму, її неможливо відкотити (за винятком вкрай малоймовірного випадку реорганізації ланцюга).

Як працюють оптимістичні ролапи?

Виконання та агрегація транзакцій

Користувачі надсилають транзакції «операторам», які є вузлами, відповідальними за обробку транзакцій в оптимістичному ролапі. Також відомий як «валідатор» або «агрегатор», оператор агрегує транзакції, стискає базові дані та публікує блок в Етеріумі.

Хоча будь-хто може стати валідатором, валідатори оптимістичних ролапів повинні надати заставу перед створенням блоків, подібно до системи доказу частки (PoS). Ця застава може бути піддана слешингу, якщо валідатор публікує недійсний блок або будує на старому, але недійсному блоці (навіть якщо його блок є дійсним). Таким чином оптимістичні ролапи використовують криптоекономічні стимули, щоб гарантувати чесну поведінку валідаторів.

Очікується, що інші валідатори в ланцюзі оптимістичного ролапу виконуватимуть надіслані транзакції, використовуючи свою копію стану ролапу. Якщо кінцевий стан валідатора відрізняється від запропонованого оператором стану, він може розпочати оскарження та обчислити доказ шахрайства.

Деякі оптимістичні ролапи можуть відмовитися від бездозвільної системи валідаторів і використовувати єдиний «секвенсор» для виконання ланцюга. Як і валідатор, секвенсор обробляє транзакції, створює блоки ролапу та надсилає транзакції ролапу в ланцюг рівня 1 (l1) (Етеріум).

Секвенсор відрізняється від звичайного оператора ролапу тим, що він має більший контроль над упорядкуванням транзакцій. Крім того, секвенсор має пріоритетний доступ до ланцюга ролапу і є єдиною сутністю, уповноваженою надсилати транзакції в ончейн-контракт. Транзакції від вузлів, що не є секвенсорами, або звичайних користувачів просто стають у чергу в окремій скриньці вхідних повідомлень, доки секвенсор не включить їх у новий пакет.

Надсилання блоків ролапу в Етеріум

Як зазначалося, оператор оптимістичного ролапу об'єднує позамережеві транзакції в пакет і надсилає його в Етеріум для нотаризації. Цей процес передбачає стиснення даних, пов'язаних із транзакціями, та їх публікацію в Етеріумі як calldata або в блобах.

calldata — це незмінна, непостійна область у смарт-контракті, яка поводиться здебільшого як пам'ять. Хоча calldata зберігається ончейн як частина журналів історії (opens in a new tab) блокчейну, вона не зберігається як частина стану Етеріуму. Оскільки calldata не торкається жодної частини стану Етеріуму, вона дешевша за стан для зберігання даних ончейн.

Ключове слово calldata також використовується в Solidity для передачі аргументів у функцію смарт-контракту під час виконання. calldata ідентифікує функцію, що викликається під час транзакції, і містить вхідні дані для функції у вигляді довільної послідовності байтів.

У контексті оптимістичних ролапів calldata використовується для надсилання стиснутих даних транзакцій в ончейн-контракт. Оператор ролапу додає новий пакет, викликаючи необхідну функцію в контракті ролапу та передаючи стиснуті дані як аргументи функції. Використання calldata зменшує комісії для користувачів, оскільки більшість витрат, які несуть ролапи, пов'язані зі зберіганням даних ончейн.

Ось приклад (opens in a new tab) надсилання пакета ролапу, щоб показати, як працює ця концепція. Секвенсор викликав метод appendSequencerBatch() і передав стиснуті дані транзакції як вхідні дані за допомогою calldata.

Деякі ролапи тепер використовують блоби для публікації пакетів транзакцій в Етеріумі.

Блоби є незмінними та непостійними (так само, як calldata), але вони видаляються з історії приблизно через 18 днів. Для отримання додаткової інформації про блоби див. данкшардинг.

Зобов'язання щодо стану

У будь-який момент часу стан оптимістичного ролапу (акаунти, баланси, код контракту тощо) організований як дерево Меркла, що називається «деревом стану». Корінь цього дерева Меркла (корінь стану), який посилається на останній стан ролапу, хешується та зберігається в контракті ролапу. Кожен перехід стану в ланцюзі створює новий стан ролапу, щодо якого оператор бере зобов'язання, обчислюючи новий корінь стану.

Оператор зобов'язаний надсилати як старі корені стану, так і нові корені стану під час публікації пакетів. Якщо старий корінь стану збігається з існуючим коренем стану в ончейн-контракті, останній відкидається і замінюється новим коренем стану.

Оператор ролапу також зобов'язаний зафіксувати корінь Меркла для самого пакета транзакцій. Це дозволяє будь-кому довести включення транзакції в пакет (на рівні 1 (l1)), надавши доказ Меркла.

Зобов'язання щодо стану, особливо корені стану, необхідні для доведення правильності змін стану в оптимістичному ролапі. Контракт ролапу приймає нові корені стану від операторів відразу після їх публікації, але пізніше може видалити недійсні корені стану, щоб відновити ролап до його правильного стану.

Доведення шахрайства

Як пояснювалося, оптимістичні ролапи дозволяють будь-кому публікувати блоки без надання доказів дійсності. Однак, щоб гарантувати безпеку ланцюга, оптимістичні ролапи визначають часове вікно, протягом якого будь-хто може оскаржити перехід стану. Тому блоки ролапу називаються «твердженнями», оскільки будь-хто може оскаржити їхню дійсність.

Якщо хтось оскаржує твердження, протокол ролапу ініціює обчислення доказу шахрайства. Кожен тип доказу шахрайства є інтерактивним — хтось повинен опублікувати твердження, перш ніж інша особа зможе його оскаржити. Різниця полягає в тому, скільки раундів взаємодії потрібно для обчислення доказу шахрайства.

Однораундові інтерактивні схеми доведення відтворюють спірні транзакції на рівні 1 (l1) для виявлення недійсних тверджень. Протокол ролапу емулює повторне виконання спірної транзакції на рівні 1 (l1) (Етеріум) за допомогою контракту верифікатора, при цьому обчислений корінь стану визначає, хто виграє оскарження. Якщо твердження претендента про правильний стан ролапу є правильним, оператор карається шляхом слешингу його застави.

Однак повторне виконання транзакцій на рівні 1 (l1) для виявлення шахрайства вимагає публікації зобов'язань щодо стану для окремих транзакцій і збільшує обсяг даних, які ролапи повинні публікувати ончейн. Відтворення транзакцій також тягне за собою значні витрати на газ. З цих причин оптимістичні ролапи переходять на багаторандове інтерактивне доведення, яке досягає тієї ж мети (тобто виявлення недійсних операцій ролапу) з більшою ефективністю.

Багатораундове інтерактивне доведення

Багатораундове інтерактивне доведення передбачає протокол взаємодії між тим, хто стверджує, і претендентом під наглядом контракту верифікатора рівня 1 (l1), який зрештою визначає сторону, що бреше. Після того, як вузол рівня 2 (l2) оскаржує твердження, той, хто стверджує, зобов'язаний розділити спірне твердження на дві рівні половини. Кожне окреме твердження в цьому випадку міститиме стільки ж кроків обчислення, скільки й інше.

Потім претендент вибере, яке твердження він хоче оскаржити. Процес поділу (який називається «протоколом бісекції») триває доти, доки обидві сторони не почнуть сперечатися щодо твердження про один крок виконання. На цьому етапі контракт рівня 1 (l1) вирішить суперечку, оцінивши інструкцію (та її результат), щоб спіймати шахрайську сторону.

Той, хто стверджує, зобов'язаний надати «однокроковий доказ», що підтверджує дійсність спірного однокрокового обчислення. Якщо той, хто стверджує, не надає однокроковий доказ, або верифікатор рівня 1 (l1) вважає доказ недійсним, він програє оскарження.

Деякі примітки щодо цього типу доказу шахрайства:

  1. Багатораундове інтерактивне доведення шахрайства вважається ефективним, оскільки воно мінімізує роботу, яку ланцюг рівня 1 (l1) повинен виконати під час арбітражу суперечок. Замість того, щоб відтворювати всю транзакцію, ланцюгу рівня 1 (l1) потрібно лише повторно виконати один крок у виконанні ролапу.

  2. Протоколи бісекції зменшують обсяг даних, що публікуються ончейн (немає потреби публікувати зобов'язання щодо стану для кожної транзакції). Крім того, транзакції оптимістичного ролапу не обмежені лімітом газу Етеріуму. Навпаки, оптимістичні ролапи, що повторно виконують транзакції, повинні переконатися, що транзакція рівня 2 (l2) має нижчий ліміт газу, щоб емулювати її виконання в межах однієї транзакції Етеріуму.

  3. Частина застави зловмисного стверджувача присуджується претенденту, тоді як інша частина спалюється. Спалювання запобігає змові між валідаторами; якщо два валідатори вступлять у змову для ініціювання фіктивних оскаржень, вони все одно втратять значну частину всього стейку.

  4. Багатораундове інтерактивне доведення вимагає від обох сторін (того, хто стверджує, і претендента) робити кроки у визначене часове вікно. Невиконання дій до закінчення терміну призводить до того, що сторона, яка не виконала зобов'язання, програє оскарження.

Чому докази шахрайства важливі для оптимістичних ролапів

Докази шахрайства важливі, оскільки вони сприяють бездовірчій фінальності в оптимістичних ролапах. Бездовірча фінальність — це властивість оптимістичних ролапів, яка гарантує, що транзакція — за умови, що вона дійсна — зрештою буде підтверджена.

Зловмисні вузли можуть спробувати затримати підтвердження дійсного блоку ролапу, розпочавши хибні оскарження. Однак докази шахрайства зрештою доведуть дійсність блоку ролапу і призведуть до його підтвердження.

Це також стосується іншої властивості безпеки оптимістичних ролапів: дійсність ланцюга покладається на існування одного чесного вузла. Чесний вузол може правильно просувати ланцюг, публікуючи дійсні твердження або оскаржуючи недійсні твердження. У будь-якому випадку зловмисні вузли, які вступають у суперечки з чесним вузлом, втратять свої стейки під час процесу доведення шахрайства.

Інтероперабельність L1/L2

Оптимістичні ролапи розроблені для інтероперабельності з Головною мережею Етеріуму і дозволяють користувачам передавати повідомлення та довільні дані між рівнем 1 (l1) та рівнем 2 (l2). Вони також сумісні з EVM, тому ви можете перенести існуючі децентралізовані застосунки (dapp) в оптимістичні ролапи або створити нові dapp за допомогою інструментів розробки Етеріуму.

1. Переміщення активів

Вхід у ролап

Щоб використовувати оптимістичний ролап, користувачі депонують ETH, токени ERC-20 та інші прийняті активи в контракті мосту ролапу на рівні 1 (l1). Контракт мосту передасть транзакцію на рівень 2 (l2), де еквівалентна кількість активів карбується та надсилається на обрану користувачем адресу в оптимістичному ролапі.

Транзакції, згенеровані користувачами (наприклад, депозит L1 > L2), зазвичай стають у чергу, доки секвенсор не надішле їх повторно в контракт ролапу. Однак, щоб зберегти стійкість до цензури, оптимістичні ролапи дозволяють користувачам надсилати транзакцію безпосередньо в ончейн-контракт ролапу, якщо вона була затримана понад максимально дозволений час.

Деякі оптимістичні ролапи застосовують більш прямолінійний підхід, щоб запобігти цензуруванню користувачів секвенсорами. Тут блок визначається всіма транзакціями, надісланими в контракт рівня 1 (l1) з моменту попереднього блоку (наприклад, депозитами), на додаток до транзакцій, оброблених у ланцюзі ролапу. Якщо секвенсор ігнорує транзакцію рівня 1 (l1), він опублікує (доказово) неправильний корінь стану; отже, секвенсори не можуть затримувати згенеровані користувачами повідомлення після їх публікації на рівні 1 (l1).

Вихід із ролапу

Виведення коштів з оптимістичного ролапу в Етеріум є складнішим через схему доведення шахрайства. Якщо користувач ініціює транзакцію L2 > L1 для виведення коштів, депонованих на рівні 1 (l1), він повинен зачекати, доки не мине період оскарження, який триває приблизно сім днів. Тим не менш, сам процес виведення є досить простим.

Після ініціювання запиту на виведення в ролапі рівня 2 (l2) транзакція включається в наступний пакет, тоді як активи користувача в ролапі спалюються. Після публікації пакета в Етеріумі користувач може обчислити доказ Меркла, що підтверджує включення його транзакції виходу в блок. Потім залишається лише перечекати період затримки, щоб остаточно зафіксувати транзакцію на рівні 1 (l1) і вивести кошти в Головну мережу.

Щоб уникнути очікування протягом тижня перед виведенням коштів в Етеріум, користувачі оптимістичного ролапу можуть скористатися послугами постачальника ліквідності (LP). Постачальник ліквідності бере на себе право власності на очікуване виведення з рівня 2 (l2) і платить користувачеві на рівні 1 (l1) (в обмін на комісію).

Постачальники ліквідності можуть перевірити дійсність запиту користувача на виведення (самостійно виконавши ланцюг) перед вивільненням коштів. Таким чином вони мають гарантії, що транзакція зрештою буде підтверджена (тобто бездовірча фінальність).

2. Сумісність з EVM

Для розробників перевагою оптимістичних ролапів є їхня сумісність — або, ще краще, еквівалентність — з Віртуальною машиною Етеріуму (EVM). EVM-сумісні ролапи відповідають специфікаціям у Жовтій книзі Етеріуму (opens in a new tab) та підтримують EVM на рівні байт-коду.

Сумісність з EVM в оптимістичних ролапах має такі переваги:

i. Розробники можуть мігрувати існуючі смарт-контракти в Етеріумі в ланцюги оптимістичних ролапів без необхідності значної модифікації кодових баз. Це може заощадити час командам розробників під час розгортання смарт-контрактів Етеріуму на рівні 2 (l2).

ii. Розробники та команди проєктів, що використовують оптимістичні ролапи, можуть скористатися інфраструктурою Етеріуму. Це включає мови програмування, бібліотеки коду, інструменти тестування, клієнтське програмне забезпечення, інфраструктуру розгортання тощо.

Використання існуючих інструментів є важливим, оскільки ці інструменти були ретельно перевірені, налагоджені та вдосконалені протягом багатьох років. Це також усуває необхідність для розробників Етеріуму вчитися створювати за допомогою абсолютно нового стеку розробки.

3. Кросчейн-виклики контрактів

Користувачі (зовнішні акаунти) взаємодіють з контрактами рівня 2 (l2), надсилаючи транзакцію в контракт ролапу або доручаючи це секвенсору чи валідатору. Оптимістичні ролапи також дозволяють акаунтам контрактів в Етеріумі взаємодіяти з контрактами рівня 2 (l2) за допомогою контрактів мосту для ретрансляції повідомлень і передачі даних між рівнем 1 (l1) і рівнем 2 (l2). Це означає, що ви можете запрограмувати контракт рівня 1 (l1) у головній мережі Етеріуму для виклику функцій, що належать контрактам в оптимістичному ролапі рівня 2 (l2).

Кросчейн-виклики контрактів відбуваються асинхронно — це означає, що виклик спочатку ініціюється, а потім виконується пізніше. Це відрізняється від викликів між двома контрактами в Етеріумі, де виклик дає результати негайно.

Прикладом кросчейн-виклику контракту є депозит токенів, описаний раніше. Контракт на рівні 1 (l1) депонує токени користувача та надсилає повідомлення парному контракту рівня 2 (l2) для карбування рівної кількості токенів у ролапі.

Оскільки кросчейн-виклики повідомлень призводять до виконання контракту, відправник зазвичай зобов'язаний покрити витрати на газ для обчислень. Рекомендується встановити високий ліміт газу, щоб запобігти збою транзакції в цільовому ланцюзі. Сценарій мосту токенів є хорошим прикладом; якщо сторона транзакції рівня 1 (l1) (депонування токенів) працює, але сторона рівня 2 (l2) (карбування нових токенів) зазнає невдачі через низький рівень газу, депозит стає безповоротним.

Нарешті, слід зазначити, що виклики повідомлень L2 > L1 між контрактами повинні враховувати затримки (виклики L1 > L2 зазвичай виконуються через кілька хвилин). Це пов'язано з тим, що повідомлення, надіслані в Головну мережу з оптимістичного ролапу, не можуть бути виконані до закінчення вікна оскарження.

Як працюють комісії в оптимістичних ролапах?

Оптимістичні ролапи використовують схему комісії за газ, подібно до Етеріуму, щоб позначити, скільки користувачі платять за транзакцію. Комісії, що стягуються в оптимістичних ролапах, залежать від таких компонентів:

  1. Запис стану: Оптимістичні ролапи публікують дані транзакцій та заголовки блоків (що складаються з хешу попереднього заголовка блоку, кореня стану, кореня пакета) в Етеріумі як blob або «великий двійковий об'єкт». EIP-4844 (opens in a new tab) запровадив економічно ефективне рішення для включення даних ончейн. blob — це нове поле транзакції, яке дозволяє ролапам публікувати стиснуті дані переходу стану на рівні 1 (l1) Етеріуму. На відміну від calldata, яка залишається ончейн назавжди, блоби є короткочасними і можуть бути видалені з клієнтів через 4096 епох (opens in a new tab) (приблизно 18 днів). Використовуючи блоби для публікації пакетів стиснутих транзакцій, оптимістичні ролапи можуть значно зменшити вартість запису транзакцій на рівень 1 (l1).

  2. Використаний газ блобу: Транзакції, що містять блоби, використовують механізм динамічної комісії, подібний до того, що був запроваджений EIP-1559 (opens in a new tab). Комісія за газ для транзакцій типу 3 враховує базову комісію для блобів, яка визначається мережею на основі попиту на простір блобів та використання простору блобів транзакцією, що надсилається.

  3. Комісії оператора L2: Це сума, що сплачується вузлам ролапу як компенсація за обчислювальні витрати, понесені під час обробки транзакцій, подібно до комісій за газ в Етеріумі. Вузли ролапу стягують нижчі комісії за транзакції, оскільки рівні 2 (l2) мають вищу пропускну здатність і не стикаються з перевантаженнями мережі, які змушують валідаторів в Етеріумі надавати пріоритет транзакціям з вищими комісіями.

Оптимістичні ролапи застосовують кілька механізмів для зменшення комісій для користувачів, включаючи пакетування транзакцій та стиснення calldata для зменшення витрат на публікацію даних. Ви можете перевірити трекер комісій L2 (opens in a new tab) для огляду в реальному часі того, скільки коштує використання оптимістичних ролапів на базі Етеріуму.

Як оптимістичні ролапи масштабують Етеріум?

Як пояснювалося, оптимістичні ролапи публікують стиснуті дані транзакцій в Етеріумі, щоб гарантувати доступність даних. Здатність стискати дані, опубліковані ончейн, має вирішальне значення для масштабування пропускної здатності в Етеріумі за допомогою оптимістичних ролапів.

Головний ланцюг Етеріуму встановлює обмеження на те, скільки даних можуть містити блоки, виражені в одиницях газу (середній розмір блоку становить 15 мільйонів газу). Хоча це обмежує кількість газу, яку може використовувати кожна транзакція, це також означає, що ми можемо збільшити кількість транзакцій, що обробляються в кожному блоці, зменшивши дані, пов'язані з транзакціями, що безпосередньо покращує масштабованість.

Оптимістичні ролапи використовують кілька методів для досягнення стиснення даних транзакцій та покращення показників TPS. Наприклад, ця стаття (opens in a new tab) порівнює дані, які базова транзакція користувача (надсилання етеру) генерує в Головній мережі, з тим, скільки даних генерує та сама транзакція в ролапі:

ПараметрЕтеріум (L1)Ролап (L2)
Нонс~30
Ціна газу~80-0.5
Газ30-0.5
Кому214
Значення9~3
Підпис~68 (2 + 33 + 33)~0.5
Від кого0 (відновлено з підпису)4
Всього~112 байтів~12 байтів

Приблизні розрахунки на основі цих цифр можуть допомогти показати покращення масштабованості, які забезпечує оптимістичний ролап:

  1. Цільовий розмір для кожного блоку становить 15 мільйонів газу, а перевірка одного байта даних коштує 16 газу. Поділивши середній розмір блоку на 16 газу (15 000 000/16), ми побачимо, що середній блок може містити 937 500 байтів даних.
  2. Якщо базова транзакція ролапу використовує 12 байтів, то середній блок Етеріуму може обробити 78 125 транзакцій ролапу (937 500/12) або 39 пакетів ролапу (якщо кожен пакет містить у середньому 2000 транзакцій).
  3. Якщо новий блок створюється в Етеріумі кожні 15 секунд, то швидкість обробки ролапу становитиме приблизно 5208 транзакцій на секунду. Це обчислюється шляхом ділення кількості базових транзакцій ролапу, які може містити блок Етеріуму (78 125), на середній час блоку (15 секунд).

Це досить оптимістична оцінка, враховуючи, що транзакції оптимістичного ролапу не можуть складати весь блок в Етеріумі. Однак це може дати приблизне уявлення про те, який приріст масштабованості оптимістичні ролапи можуть надати користувачам Етеріуму (поточні реалізації пропонують до 2000 TPS).

Очікується, що впровадження шардингу даних в Етеріумі покращить масштабованість в оптимістичних ролапах. Оскільки транзакції ролапу повинні ділити простір блоку з іншими транзакціями, що не належать до ролапу, їхня пропускна здатність обмежена пропускною здатністю даних у головному ланцюзі Етеріуму. Данкшардинг збільшить простір, доступний для ланцюгів рівня 2 (l2) для публікації даних у кожному блоці, використовуючи дешевше, непостійне сховище «блобів» замість дорогої, постійної CALLDATA.

Переваги та недоліки оптимістичних ролапів

ПеревагиНедоліки
Пропонують значне покращення масштабованості без шкоди для безпеки або бездовірності.Затримки у фінальності транзакцій через потенційні оскарження шахрайства.
Дані транзакцій зберігаються в ланцюзі рівня 1 (l1), що покращує прозорість, безпеку, стійкість до цензури та децентралізацію.Централізовані оператори ролапів (секвенсори) можуть впливати на впорядкування транзакцій.
Доведення шахрайства гарантує бездовірчу фінальність і дозволяє чесній меншості захищати ланцюг.Якщо немає чесних вузлів, зловмисний оператор може вкрасти кошти, публікуючи недійсні блоки та зобов'язання щодо стану.
Обчислення доказів шахрайства відкрите для звичайних вузлів рівня 2 (l2), на відміну від доказів дійсності (що використовуються в ZK-ролапах), які вимагають спеціального обладнання.Модель безпеки покладається на принаймні один чесний вузол, який виконує транзакції ролапу та надсилає докази шахрайства для оскарження недійсних переходів стану.
Ролапи отримують вигоду від «бездовірчої життєздатності» (будь-хто може змусити ланцюг просуватися вперед, виконуючи транзакції та публікуючи твердження).Користувачі повинні чекати закінчення тижневого періоду оскарження, перш ніж вивести кошти назад в Етеріум.
Оптимістичні ролапи покладаються на добре продумані криптоекономічні стимули для підвищення безпеки в ланцюзі.Ролапи повинні публікувати всі дані транзакцій ончейн, що може збільшити витрати.
Сумісність з EVM та Solidity дозволяє розробникам переносити нативні смарт-контракти Етеріуму в ролапи або використовувати існуючі інструменти для створення нових dapp.

Візуальне пояснення оптимістичних ролапів

Краще сприймаєте інформацію візуально? Подивіться, як Finematics пояснює оптимістичні ролапи:

Rollups: the ultimate Ethereum scaling strategy?

A deep dive into rollups as Ethereum's primary scaling strategy.

Дивитися з транскриптом 

Додаткова література про оптимістичні ролапи

Посібники: Оптимістичні ролапи та мости в Етеріумі