Оптимістичні накопичення
Останні оновлення сторінки: 25 лютого 2026 р.
Оптимістичні ролапи — це протоколи другого рівня (L2), призначені для розширення пропускної здатності базового рівня Ethereum. Вони зменшують обчислення в основному ланцюзі Ethereum шляхом обробки транзакцій поза ланцюгом (offchain), пропонуючи значні покращення швидкості обробки. На відміну від інших рішень для масштабування, таких як сайдчейни, оптимістичні ролапи отримують безпеку від основної мережі (Mainnet), публікуючи результати транзакцій у ланцюзі (onchain), або плазмові ланцюги, які також перевіряють транзакції на Ethereum за допомогою доказів шахрайства, але зберігають дані транзакцій в іншому місці.
Оскільки обчислення є повільною та дорогою частиною використання Ethereum, оптимістичні ролапи можуть запропонувати покращення масштабованості в 10–100 разів. Оптимістичні ролапи також записують транзакції в Ethereum як calldata або в блоби, зменшуючи витрати на газ для користувачів.
Передумови
Вам слід було прочитати й зрозуміти наші сторінки про масштабування Ethereum та шар 2.
Що таке оптимістичний ролап?
Оптимістичний ролап — це підхід до масштабування Ethereum, який передбачає перенесення обчислень і зберігання стану поза ланцюг (offchain). Оптимістичні ролапи виконують транзакції поза Ethereum, але публікують дані транзакцій в основній мережі (Mainnet) як calldata або в блобах.
Оператори оптимістичних ролапів об’єднують кілька транзакцій поза ланцюгом (offchain) у великі пакети перед їх відправленням до Ethereum. Цей підхід дає змогу розподілити фіксовані витрати між кількома транзакціями в кожному пакеті, зменшуючи комісії для кінцевих користувачів. Оптимістичні ролапи також використовують техніки стиснення, щоб зменшити обсяг даних, що публікуються в Ethereum.
Оптимістичні ролапи вважаються «оптимістичними», оскільки вони припускають, що транзакції поза ланцюгом (offchain) є дійсними, і не публікують докази дійсності для пакетів транзакцій, розміщених у ланцюзі (onchain). Це відрізняє оптимістичні ролапи від ZK-ролапів, які публікують криптографічні для транзакцій поза ланцюгом (offchain).
Натомість оптимістичні ролапи покладаються на схему доведення шахрайства для виявлення випадків, коли транзакції обчислюються неправильно. Після того, як пакет ролапу надсилається в Ethereum, існує часове вікно (так званий період оскарження), протягом якого будь-хто може оскаржити результати транзакції ролапу, обчисливши .
Якщо доказ шахрайства успішний, протокол ролапу повторно виконує транзакцію(ї) і відповідно оновлює стан ролапу. Іншим наслідком успішного доказу шахрайства є те, що секвенсор, відповідальний за включення неправильно виконаної транзакції в блок, отримує штраф.
Якщо пакет ролапу залишається неоскарженим (тобто всі транзакції виконані правильно) після закінчення періоду оскарження, він вважається дійсним і приймається в Ethereum. Інші можуть продовжувати будувати на непідтвердженому блоці ролапу, але з одним застереженням: результати транзакцій будуть скасовані, якщо вони базуються на неправильно виконаній транзакції, опублікованій раніше.
Як оптимістичні ролапи взаємодіють з Ethereum?
Оптимістичні ролапи — це рішення для масштабування поза ланцюгом, створені для роботи поверх Ethereum. Кожен оптимістичний ролап керується набором смарт-контрактів, розгорнутих у мережі Ethereum. Оптимістичні ролапи обробляють транзакції поза основним ланцюгом Ethereum, але публікують транзакції поза ланцюгом (пакетами) до контракту ролапу в ланцюзі (onchain). Подібно до блокчейну Ethereum, цей запис транзакцій є незмінним і формує «ланцюг оптимістичного ролапу».
Архітектура оптимістичного ролапу складається з таких частин:
Контракти в ланцюзі (onchain): робота оптимістичного ролапу контролюється смарт-контрактами, що працюють на Ethereum. Це включає контракти, які зберігають блоки ролапу, відстежують оновлення стану в ролапі та депозити користувачів. У цьому сенсі Ethereum слугує базовим рівнем або «рівнем 1» для оптимістичних ролапів.
Віртуальна машина поза ланцюгом (VM): хоча контракти, що керують протоколом оптимістичного ролапу, працюють на Ethereum, протокол ролапу виконує обчислення та зберігання стану на іншій віртуальній машині, окремо від віртуальної машини Ethereum. VM поза ланцюгом (offchain) — це місце, де працюють програми та виконуються зміни стану; вона слугує верхнім рівнем або «рівнем 2» для оптимістичного ролапу.
Оскільки оптимістичні ролапи призначені для запуску програм, написаних або скомпільованих для EVM, VM поза ланцюгом (offchain) включає багато специфікацій дизайну EVM. Крім того, докази шахрайства, обчислені в ланцюзі (onchain), дозволяють мережі Ethereum забезпечувати дійсність змін стану, обчислених у VM поза ланцюгом (offchain).
Оптимістичні ролапи описуються як «гібридні рішення для масштабування», оскільки, хоч вони й існують як окремі протоколи, їхні властивості безпеки походять від Ethereum. Крім іншого, Ethereum гарантує правильність обчислень ролапу поза ланцюгом (offchain) та доступність даних, що лежать в основі цих обчислень. Це робить оптимістичні ролапи більш безпечними, ніж суто протоколи масштабування поза ланцюгом (offchain) (наприклад, сайдчейни), які не покладаються на Ethereum для забезпечення безпеки.
Оптимістичні ролапи покладаються на основний протокол Ethereum для наступного:
Доступність даних
Як уже згадувалося, оптимістичні ролапи публікують дані транзакцій в Ethereum як calldata або блоби. Оскільки виконання ланцюга ролапу базується на надісланих транзакціях, будь-хто може використати цю інформацію, закріплену на базовому рівні Ethereum, для виконання стану ролапу та перевірки правильності переходів стану.
Доступність даних є критично важливою, оскільки без доступу до даних про стан оскаржувачі не можуть створювати докази шахрайства для оскарження недійсних операцій ролапу. Оскільки Ethereum забезпечує доступність даних, ризик того, що оператори ролапів уникнуть відповідальності за зловмисні дії (наприклад, надсилання недійсних блоків), зменшується.
Стійкість до цензури
Оптимістичні ролапи також покладаються на Ethereum для забезпечення стійкості до цензури. В оптимістичному ролапі централізована сутність (оператор) відповідає за обробку транзакцій і надсилання блоків ролапу до Ethereum. Це має деякі наслідки:
-
Оператори ролапів можуть цензурувати користувачів, повністю переходячи в офлайн або відмовляючись створювати блоки, які містять певні транзакції.
-
Оператори ролапів можуть перешкоджати користувачам виводити кошти, внесені до контракту ролапу, утримуючи дані про стан, необхідні для доказів володіння Меркла. Утримання даних про стан може також приховувати стан ролапу від користувачів і перешкоджати їм взаємодіяти з ролапом.
Оптимістичні ролапи вирішують цю проблему, змушуючи операторів публікувати дані, пов'язані з оновленнями стану, на Ethereum. Публікація даних ролапу в ланцюзі (onchain) має такі переваги:
-
Якщо оператор оптимістичного ролапу виходить з мережі або припиняє виробництво пакетів транзакцій, інший вузол може використати доступні дані для відтворення останнього стану ролапу та продовження виробництва блоків.
-
Користувачі можуть використовувати дані транзакцій для створення доказів Меркла, що підтверджують право власності на кошти, і виводити свої активи з ролапу.
-
Користувачі також можуть надсилати свої транзакції на L1 замість секвенсора, і в цьому випадку секвенсор має включити транзакцію протягом певного ліміту часу, щоб продовжувати створювати дійсні блоки.
Розрахунок
Ще одна роль, яку Ethereum відіграє в контексті оптимістичних ролапів, — це роль розрахункового рівня. Розрахунковий рівень закріплює всю екосистему блокчейну, встановлює безпеку та забезпечує об'єктивну завершеність, якщо виникає суперечка в іншому ланцюзі (у цьому випадку оптимістичні ролапи), що вимагає арбітражу.
Основна мережа Ethereum (Mainnet) надає центр для оптимістичних ролапів для перевірки доказів шахрайства та вирішення суперечок. Крім того, транзакції, проведені на ролапі, стають остаточними лише після того, як блок ролапу буде прийнятий на Ethereum. Щойно транзакція ролапу фіксується на базовому рівні Ethereum, її не можна скасувати (за винятком дуже малоймовірного випадку реорганізації ланцюга).
Як працюють оптимістичні ролапи?
Виконання й агрегація транзакцій
Користувачі надсилають транзакції «операторам», які є вузлами, відповідальними за обробку транзакцій на оптимістичному ролапі. Також відомий як «валідатор» або «агрегатор», оператор агрегує транзакції, стискає базові дані та публікує блок на Ethereum.
Хоча будь-хто може стати валідатором, валідатори оптимістичних ролапів повинні внести заставу перед створенням блоків, подібно до системи доказу частки володіння. Цю заставу може бути скорочено (slashed), якщо валідатор опублікує недійсний блок або побудує на старому, але недійсному блоці (навіть якщо його блок є дійсним). Таким чином оптимістичні ролапи використовують криптоекономічні стимули для забезпечення чесної поведінки валідаторів.
Очікується, що інші валідатори в ланцюзі оптимістичного ролапу виконають надіслані транзакції, використовуючи свою копію стану ролапу. Якщо кінцевий стан валідатора відрізняється від запропонованого оператором стану, вони можуть розпочати оскарження та обчислити доказ шахрайства.
Деякі оптимістичні ролапи можуть відмовитися від системи валідаторів без дозволів і використовувати єдиний «секвенсор» для виконання ланцюга. Подібно до валідатора, секвенсор обробляє транзакції, створює блоки ролапу та надсилає транзакції ролапу до ланцюга L1 (Ethereum).
Секвенсор відрізняється від звичайного оператора ролапу, оскільки він має більший контроль над порядком транзакцій. Крім того, секвенсор має пріоритетний доступ до ланцюга ролапу і є єдиною сутністю, уповноваженою надсилати транзакції до контракту в ланцюзі (onchain). Транзакції від вузлів, що не є секвенсорами, або звичайних користувачів просто ставляться в чергу в окрему вхідну скриньку, доки секвенсор не включить їх у новий пакет.
Надсилання блоків ролапу до Ethereum
Як уже згадувалося, оператор оптимістичного ролапу об'єднує транзакції поза ланцюгом у пакет і надсилає його до Ethereum для нотаріального засвідчення. Цей процес включає стиснення даних, пов'язаних з транзакціями, і публікацію їх на Ethereum як calldata або в блобах.
calldata — це незмінна, неперсистентна область у смарт-контракті, яка здебільшого поводиться як пам'ять. Хоча calldata зберігається в ланцюзі (onchain) як частина журналів історії (opens in a new tab) блокчейну, вона не зберігається як частина стану Ethereum. Оскільки calldata не торкається жодної частини стану Ethereum, вона дешевша за стан для зберігання даних у ланцюзі (onchain).
Ключове слово calldata також використовується в Solidity для передачі аргументів у функцію смарт-контракту під час виконання. calldata ідентифікує функцію, що викликається під час транзакції, і містить вхідні дані для функції у вигляді довільної послідовності байтів.
У контексті оптимістичних ролапів calldata використовується для надсилання стиснених даних транзакцій до контракту в ланцюзі (onchain). Оператор ролапу додає новий пакет, викликаючи необхідну функцію в контракті ролапу та передаючи стиснені дані як аргументи функції. Використання calldata зменшує комісії для користувачів, оскільки більшість витрат, які несуть ролапи, походять від зберігання даних у ланцюзі (onchain).
Ось приклад (opens in a new tab) надсилання пакету ролапу, щоб показати, як працює ця концепція. Секвенсор викликав метод appendSequencerBatch() і передав стиснені дані транзакції як вхідні дані за допомогою calldata.
Деякі ролапи тепер використовують блоби для публікації пакетів транзакцій в Ethereum.
Блоби є незмінними та неперсистентними (так само, як calldata), але видаляються з історії приблизно через 18 днів. Для отримання додаткової інформації про блоби див. Danksharding.
Зобов'язання щодо стану
У будь-який момент часу стан оптимістичного ролапу (облікові записи, баланси, код контракту тощо) організований як дерево Меркла, що називається «деревом стану». Корінь цього дерева Меркла (корінь стану), який посилається на останній стан ролапу, хешується і зберігається в контракті ролапу. Кожен перехід стану в ланцюзі створює новий стан ролапу, який оператор фіксує, обчислюючи новий корінь стану.
Оператор зобов'язаний надсилати як старі, так і нові корені стану під час публікації пакетів. Якщо старий корінь стану збігається з наявним коренем стану в контракті в ланцюзі (onchain), останній відкидається і замінюється новим коренем стану.
Оператор ролапу також зобов'язаний фіксувати корінь Меркла для самого пакету транзакцій. Це дозволяє будь-кому довести включення транзакції до пакету (на L1), пред'явивши доказ Меркла.
Фіксації стану, особливо корені стану, необхідні для доведення правильності змін стану в оптимістичному ролапі. Контракт ролапу приймає нові корені стану від операторів одразу після їх публікації, але може пізніше видалити недійсні корені стану, щоб відновити ролап до його правильного стану.
Доведення шахрайства
Як пояснено, оптимістичні ролапи дозволяють будь-кому публікувати блоки без надання доказів дійсності. Однак, щоб забезпечити безпеку ланцюга, оптимістичні ролапи визначають часове вікно, протягом якого будь-хто може оскаржити перехід стану. Тому блоки ролапу називаються «твердженнями», оскільки будь-хто може оскаржити їхню дійсність.
Якщо хтось оскаржує твердження, протокол ролапу ініціює обчислення доказу шахрайства. Кожен тип доказу шахрайства є інтерактивним — хтось повинен опублікувати твердження, перш ніж інша особа зможе його оскаржити. Різниця полягає в тому, скільки раундів взаємодії потрібно для обчислення доказу шахрайства.
Схеми доведення з одним раундом інтерактивності повторюють оскаржені транзакції на L1 для виявлення недійсних тверджень. Протокол ролапу емулює повторне виконання оскарженої транзакції на L1 (Ethereum) за допомогою контракту-верифікатора, при цьому обчислений корінь стану визначає, хто виграє оскарження. Якщо твердження оскаржувача про правильний стан ролапу є вірним, оператор карається скороченням його застави.
Однак повторне виконання транзакцій на L1 для виявлення шахрайства вимагає публікації фіксацій стану для окремих транзакцій і збільшує обсяг даних, які ролапи повинні публікувати в ланцюзі (onchain). Повторне відтворення транзакцій також спричиняє значні витрати на газ. З цих причин оптимістичні ролапи переходять на багаторандове інтерактивне доведення, яке досягає тієї ж мети (тобто виявлення недійсних операцій ролапу) з більшою ефективністю.
Багаторандове інтерактивне доведення
Багаторандове інтерактивне доведення включає протокол взаємодії між тим, хто стверджує, і тим, хто оскаржує, під наглядом контракту-верифікатора L1, який в кінцевому підсумку визначає сторону, що бреше. Після того, як вузол L2 оскаржує твердження, той, хто стверджує, повинен розділити оскаржене твердження на дві рівні половини. Кожне окреме твердження в цьому випадку міститиме стільки ж кроків обчислень, скільки й інше.
Тоді оскаржувач обере, яке твердження він хоче оскаржити. Процес поділу (так званий «протокол бісекції») триває доти, доки обидві сторони не сперечатимуться щодо твердження про один крок виконання. На цьому етапі контракт L1 вирішить суперечку, оцінивши інструкцію (та її результат), щоб виявити шахрайську сторону.
Той, хто стверджує, зобов'язаний надати «однокроковий доказ», що підтверджує дійсність оскарженого однокрокового обчислення. Якщо той, хто стверджує, не надає однокроковий доказ, або верифікатор L1 визнає доказ недійсним, він програє оскарження.
Деякі примітки щодо цього типу доказу шахрайства:
-
Багаторандове інтерактивне доведення шахрайства вважається ефективним, оскільки воно мінімізує роботу, яку ланцюг L1 повинен виконати в арбітражі суперечок. Замість повторного відтворення всієї транзакції, ланцюгу L1 потрібно лише повторно виконати один крок у виконанні ролапу.
-
Протоколи бісекції зменшують кількість даних, що публікуються в ланцюзі (onchain) (немає необхідності публікувати фіксації стану для кожної транзакції). Крім того, транзакції оптимістичних ролапів не обмежені лімітом газу Ethereum. Навпаки, оптимістичні ролапи, що повторно виконують транзакції, повинні переконатися, що транзакція L2 має нижчий ліміт газу, щоб емулювати її виконання в рамках однієї транзакції Ethereum.
-
Частина застави зловмисного стверджувача присуджується оскаржувачу, а інша частина спалюється. Спалювання запобігає змові між валідаторами; якщо два валідатори вступають у змову для ініціювання фіктивних оскаржень, вони все одно втратять значну частину всієї ставки.
-
Багаторандове інтерактивне доведення вимагає, щоб обидві сторони (стверджувач і оскаржувач) робили ходи протягом зазначеного часового вікна. Нездатність діяти до закінчення терміну призводить до того, що сторона, яка не виконала зобов'язання, програє оскарження.
Чому докази шахрайства важливі для оптимістичних ролапів
Докази шахрайства важливі, оскільки вони сприяють бездовірній завершеності в оптимістичних ролапах. Бездовірна завершеність — це якість оптимістичних ролапів, яка гарантує, що транзакція — за умови, що вона дійсна — врешті-решт буде підтверджена.
Зловмисні вузли можуть намагатися затримати підтвердження дійсного блоку ролапу, розпочинаючи хибні оскарження. Однак докази шахрайства врешті-решт доведуть дійсність блоку ролапу і призведуть до його підтвердження.
Це також пов'язано з іншою властивістю безпеки оптимістичних ролапів: дійсність ланцюга залежить від існування одного чесного вузла. Чесний вузол може правильно просувати ланцюг, або публікуючи дійсні твердження, або оскаржуючи недійсні твердження. У будь-якому випадку, зловмисні вузли, які вступають у суперечки з чесним вузлом, втратять свої ставки під час процесу доведення шахрайства.
Сумісність L1/L2
Оптимістичні ролапи розроблені для взаємодії з основною мережею Ethereum і дозволяють користувачам передавати повідомлення та довільні дані між L1 і L2. Вони також сумісні з EVM, тому ви можете переносити наявні dApps на оптимістичні ролапи або створювати нові dApps за допомогою інструментів розробки Ethereum.
1. Переміщення активів
Вхід до ролапу
Щоб використовувати оптимістичний ролап, користувачі вносять ETH, токени ERC-20 та інші прийняті активи в мостовий контракт ролапу на L1. Мостовий контракт передасть транзакцію на L2, де еквівалентна кількість активів буде випущена і відправлена на обрану користувачем адресу на оптимістичному ролапі.
Транзакції, що генеруються користувачами (наприклад, депозит L1 > L2), зазвичай ставляться в чергу, доки секвенсор не надішле їх повторно до контракту ролапу. Однак, щоб зберегти стійкість до цензури, оптимістичні ролапи дозволяють користувачам надсилати транзакцію безпосередньо до контракту ролапу в ланцюзі (onchain), якщо вона була затримана довше максимально дозволеного часу.
Деякі оптимістичні ролапи використовують більш простий підхід для запобігання цензурі користувачів секвенсорами. Тут блок визначається всіма транзакціями, надісланими до контракту L1 з моменту попереднього блоку (наприклад, депозити), на додаток до транзакцій, оброблених у ланцюзі ролапу. Якщо секвенсор ігнорує транзакцію L1, він опублікує (доказово) неправильний корінь стану; отже, секвенсори не можуть затримувати повідомлення, згенеровані користувачами, після їх публікації на L1.
Вихід з ролапу
Виведення з оптимістичного ролапу до Ethereum є складнішим через схему доведення шахрайства. Якщо користувач ініціює транзакцію L2 > L1 для виведення коштів, заблокованих на L1, він повинен зачекати, доки закінчиться період оскарження, що триває приблизно сім днів. Проте, сам процес виведення є досить простим.
Після ініціювання запиту на виведення на ролапі L2 транзакція включається в наступний пакет, а активи користувача на ролапі спалюються. Щойно пакет буде опубліковано на Ethereum, користувач може обчислити доказ Меркла, що підтверджує включення його транзакції виходу до блоку. Потім залишається лише зачекати протягом періоду затримки, щоб завершити транзакцію на L1 і вивести кошти до основної мережі (Mainnet).
Щоб уникнути очікування тижня перед виведенням коштів до Ethereum, користувачі оптимістичних ролапів можуть скористатися послугами постачальника ліквідності (LP). Постачальник ліквідності бере на себе право власності на очікуване виведення L2 і виплачує кошти користувачеві на L1 (в обмін на комісію).
Постачальники ліквідності можуть перевірити дійсність запиту користувача на виведення (виконавши ланцюг самостійно) перед тим, як випустити кошти. Таким чином вони мають гарантії, що транзакція врешті-решт буде підтверджена (тобто бездовірна завершеність).
2. Сумісність з EVM
Для розробників перевагою оптимістичних ролапів є їхня сумісність — або, ще краще, еквівалентність — з віртуальною машиною Ethereum (EVM). EVM-сумісні ролапи відповідають специфікаціям жовтої книги Ethereum (opens in a new tab) і підтримують EVM на рівні байткоду.
EVM-сумісність в оптимістичних ролапах має такі переваги:
i. Розробники можуть переносити наявні смарт-контракти на Ethereum до ланцюгів оптимістичних ролапів без необхідності значно змінювати кодові бази. Це може заощадити час команд розробників під час розгортання смарт-контрактів Ethereum на L2.
ii. Розробники та проєктні команди, що використовують оптимістичні ролапи, можуть скористатися інфраструктурою Ethereum. Це включає мови програмування, бібліотеки коду, інструменти тестування, клієнтське програмне забезпечення, інфраструктуру розгортання тощо.
Використання наявних інструментів є важливим, оскільки ці інструменти були ретельно перевірені, налагоджені та вдосконалені протягом багатьох років. Це також усуває необхідність для розробників Ethereum вивчати, як створювати з абсолютно новим стеком розробки.
3. Міжланцюгові виклики контрактів
Користувачі (зовнішні облікові записи) взаємодіють з контрактами L2, надсилаючи транзакцію до контракту ролапу або доручаючи це секвенсору чи валідатору. Оптимістичні ролапи також дозволяють контрактним обліковим записам на Ethereum взаємодіяти з контрактами L2 за допомогою мостових контрактів для передачі повідомлень і даних між L1 і L2. Це означає, що ви можете запрограмувати контракт L1 на основній мережі Ethereum для виклику функцій, що належать контрактам на оптимістичному ролапі L2.
Міжланцюгові виклики контрактів відбуваються асинхронно — тобто виклик спочатку ініціюється, а потім виконується пізніше. Це відрізняється від викликів між двома контрактами на Ethereum, де виклик дає результати негайно.
Прикладом міжланцюгового виклику контракту є депозит токенів, описаний раніше. Контракт на L1 блокує токени користувача та надсилає повідомлення парному контракту на L2 для випуску еквівалентної кількості токенів на ролапі.
Оскільки міжланцюгові виклики повідомлень призводять до виконання контракту, відправник зазвичай зобов'язаний покрити витрати на газ для обчислень. Бажано встановити високий ліміт газу, щоб запобігти збою транзакції в цільовому ланцюзі. Сценарій мостування токенів є хорошим прикладом; якщо сторона транзакції L1 (депозит токенів) працює, але сторона L2 (випуск нових токенів) зазнає невдачі через низький газ, депозит стає незворотнім.
Нарешті, слід зазначити, що виклики повідомлень L2 > L1 між контрактами повинні враховувати затримки (виклики L1 > L2 зазвичай виконуються через кілька хвилин). Це пов'язано з тим, що повідомлення, надіслані до основної мережі (Mainnet) з оптимістичного ролапу, не можуть бути виконані до закінчення вікна оскарження.
Як працюють комісії в оптимістичних ролапах?
Оптимістичні ролапи використовують схему комісій за газ, подібно до Ethereum, щоб визначити, скільки користувачі платять за транзакцію. Комісії, що стягуються в оптимістичних ролапах, залежать від таких компонентів:
-
Запис стану: оптимістичні ролапи публікують дані транзакцій і заголовки блоків (що складаються з хеша заголовка попереднього блоку, кореня стану, кореня пакета) в Ethereum як
blob, або «великий бінарний об'єкт». EIP-4844 (opens in a new tab) запровадив економічно вигідне рішення для включення даних у ланцюг (onchain).blob— це нове поле транзакції, яке дозволяє ролапам публікувати стиснені дані про перехід стану до L1 Ethereum. На відміну відcalldata, яка залишається в ланцюзі (onchain) назавжди, блоби є короткоживучими і можуть бути видалені з клієнтів після 4096 епох (opens in a new tab) (приблизно 18 днів). Використовуючи блоби для публікації пакетів стиснених транзакцій, оптимістичні ролапи можуть значно зменшити вартість запису транзакцій до L1. -
Використаний газ для блобів: транзакції, що переносять блоби, використовують динамічний механізм комісій, схожий на той, що був запроваджений EIP-1559 (opens in a new tab). Комісія за газ для транзакцій типу 3 враховує базову комісію для блобів, яка визначається мережею на основі попиту на простір блобів та використання простору блобів транзакцією, що надсилається.
-
Комісії оператора L2: це сума, що виплачується вузлам ролапу як компенсація за обчислювальні витрати, понесені під час обробки транзакцій, подібно до комісій за газ на Ethereum. Вузли ролапу стягують нижчі комісії за транзакції, оскільки L2 мають вищу пропускну здатність і не стикаються з перевантаженнями мережі, які змушують валідаторів на Ethereum пріоритезувати транзакції з вищими комісіями.
Оптимістичні ролапи застосовують кілька механізмів для зменшення комісій для користувачів, включаючи пакетування транзакцій та стиснення calldata для зменшення витрат на публікацію даних. Ви можете перевірити трекер комісій L2 (opens in a new tab), щоб у реальному часі побачити, скільки коштує використання оптимістичних ролапів на базі Ethereum.
Як оптимістичні ролапи масштабують Ethereum?
Як пояснено, оптимістичні ролапи публікують стиснені дані транзакцій на Ethereum для гарантування доступності даних. Можливість стискати дані, що публікуються в ланцюзі (onchain), є ключовою для масштабування пропускної здатності на Ethereum за допомогою оптимістичних ролапів.
Основний ланцюг Ethereum встановлює обмеження на кількість даних, які можуть містити блоки, виражені в одиницях газу (середній розмір блоку становить 15 мільйонів газу). Хоча це обмежує кількість газу, яку може використовувати кожна транзакція, це також означає, що ми можемо збільшити кількість оброблених транзакцій за блок, зменшивши дані, пов'язані з транзакціями, що безпосередньо покращує масштабованість.
Оптимістичні ролапи використовують кілька технік для досягнення стиснення даних транзакцій і підвищення показників TPS. Наприклад, ця стаття (opens in a new tab) порівнює дані, які генерує базова транзакція користувача (надсилання ефіру) в основній мережі (Mainnet), з тим, скільки даних генерує та ж транзакція на ролапі:
| Параметр | Ethereum (L1) | Ролап (L2) |
|---|---|---|
| Nonce | ~3 | 0 |
| Ціна газу | ~8 | 0-0.5 |
| Gas | 3 | 0-0.5 |
| Кому | 21 | 4 |
| Значення | 9 | ~3 |
| Signature | ~68 (2 + 33 + 33) | ~0.5 |
| Від | 0 (відновлено з підпису) | 4 |
| Усього | ~112 байт | ~12 байт |
Виконання деяких приблизних розрахунків на основі цих цифр може допомогти показати покращення масштабованості, які надає оптимістичний ролап:
- Цільовий розмір кожного блоку — 15 мільйонів газу, а вартість перевірки одного байта даних — 16 газу. Поділивши середній розмір блоку на 16 газу (15 000 000 / 16), отримаємо, що середній блок може вмістити 937 500 байтів даних.
- Якщо базова транзакція ролапу використовує 12 байт, то середній блок Ethereum може обробити 78 125 транзакцій ролапу (937 500 / 12) або 39 пакетів ролапу (якщо кожен пакет містить в середньому 2 000 транзакцій).
- Якщо новий блок створюється на Ethereum кожні 15 секунд, то швидкість обробки ролапу становитиме приблизно 5 208 транзакцій на секунду. Це розраховується шляхом ділення кількості базових транзакцій ролапу, які може вмістити блок Ethereum (78 125), на середній час блокування (15 секунд).
Це досить оптимістична оцінка, враховуючи, що транзакції оптимістичних ролапів не можуть повністю заповнити блок на Ethereum. Однак, це може дати приблизне уявлення про те, наскільки великий приріст масштабованості можуть забезпечити оптимістичні ролапи для користувачів Ethereum (поточні реалізації пропонують до 2000 TPS).
Очікується, що впровадження шардингу даних на Ethereum покращить масштабованість оптимістичних ролапів. Оскільки транзакції ролапів повинні ділити простір блоку з іншими транзакціями, що не є ролапами, їхня пропускна здатність обмежена пропускною здатністю даних на основному ланцюзі Ethereum. Danksharding збільшить простір, доступний для ланцюгів L2 для публікації даних у блоці, використовуючи дешевше, неперманентне сховище «блобів» замість дорогого, перманентного CALLDATA.
Плюси та мінуси оптимістичних ролапів
| Переваги | Недоліки |
|---|---|
| Пропонує значне покращення масштабованості без шкоди для безпеки чи бездовірності. | Затримки у фіналізації транзакцій через потенційні оскарження шахрайства. |
| Дані транзакцій зберігаються на ланцюзі першого рівня, що покращує прозорість, безпеку, стійкість до цензури та децентралізацію. | Централізовані оператори ролапів (секвенсори) можуть впливати на порядок транзакцій. |
| Доведення шахрайства гарантує бездовірну завершеність і дозволяє чесним меншинам захищати ланцюг. | Якщо немає чесних вузлів, зловмисний оператор може вкрасти кошти, публікуючи недійсні блоки та фіксації стану. |
| Обчислення доказів шахрайства є відкритим для звичайних вузлів L2, на відміну від доказів дійсності (що використовуються в ZK-ролапах), які вимагають спеціального обладнання. | Модель безпеки покладається на те, що принаймні один чесний вузол виконує транзакції ролапу та подає докази шахрайства для оскарження недійсних переходів стану. |
| Ролапи отримують перевагу від «бездовірної живучості» (будь-хто може змусити ланцюг просуватися, виконуючи транзакції та публікуючи твердження). | Користувачі повинні чекати, поки закінчиться тижневий період оскарження, перш ніж виводити кошти назад до Ethereum. |
| Оптимістичні ролапи покладаються на добре продумані криптоекономічні стимули для підвищення безпеки ланцюга. | Ролапи повинні публікувати всі дані транзакцій у ланцюзі (onchain), що може збільшити витрати. |
| Сумісність з EVM та Solidity дозволяє розробникам переносити нативні смарт-контракти Ethereum на ролапи або використовувати наявні інструменти для створення нових dApps. |
Наочне пояснення оптимістичних ролапів
Цікавить наочний матеріал? Подивіться як Finematics пояснює оптимістичні підсумки:
Додаткова література про оптимістичні ролапи
- Як працюють оптимістичні ролапи (повний посібник) (opens in a new tab)
- Що таке блокчейн-ролап? Технічний вступ (opens in a new tab)
- Основний посібник з Arbitrum (opens in a new tab)
- Практичний посібник з ролапів Ethereum (opens in a new tab)
- Стан доказів шахрайства в L2-рішеннях Ethereum (opens in a new tab)
- Як насправді працює ролап Optimism? (opens in a new tab)
- Глибоке занурення в OVM (opens in a new tab)
- Що таке оптимістична віртуальна машина? (opens in a new tab)