Розбираємо EIP-4844: прото-данкшардинг Ethereum та навіщо він потрібен?
Останньою великою подією в розвитку Ethereum стала реалізація оновлення Shapella в середині квітня. Однак це тільки початок шляху Ethereum 2.0 і розробникам все ще належить вирішити основні проблеми мережі: високі комісії та низьку пропускну здатність. Наступним кроком до цієї мети стане впровадження шардингу, яке буде реалізовано в кілька етапів, перший з них — EIP-4844.
Сьогодні розберемо, що пропонує це оновлення і як після нього зміниться Ethereum. Буде трохи технарською, але ми додамо картинок.
Ця стаття була підготовлена Incrypted і призначена для освітніх цілей. Ми сподіваємося, що матеріал допоможе вам краще зрозуміти та вивчити криптовалютний ринок.
Що таке шардинг Ethereum?
У мережі Ethereum планується реалізувати так званий данкшардінг — модель, у якій використовуються:
- Комітети випадково обраних валідаторів для захисту шардів від атак Сівілли:
- Вибірка доступності даних (DAS), щоб підтвердити доступність інформації без повного завантаження пакета даних:
Сам Ethereum буде розділений на 64 шарди, які підключаються до координаційного ланцюжка — Beacon Chain. У цьому ланцюжку будуть запущені так звані вузли-офферанти, які відбирають транзакції та передають їх конкретному шарду для обробки й формування блоку.
Якщо простіше, то замість одного послідовного ланцюжка, в якому кожен вузол повинен завантажити кожну транзакцію, буде координаційна Beacon Сhain і пов’язані з нею шарди, які паралельно обробляють транзакції. Вузли в кожному шарді зберігають тільки свою частину даних, пов’язаних з їхніми транзакціями замість повної історії транзакцій мережі:
Примітка: концепція шардингу Ethereum отримала назву «данкшардинг» на честь дослідника Ethereum Dankrad Feist, який і запропонував описану вище архітектуру. Детальний технічний опис данкшардингу від Віталіка Бутеріна доступний тут.
Данкшардинг і EIP-4844
EIP-4844 пропонує реалізувати в мережі Ethereum прото-данкшардинг — попередній етап, який має внести основні зміни, необхідні для повноцінного запуску данкшардингу в майбутньому. EIP-4844 переслідує 2 цілі:
- Підготовка до реалізації шардингу: для цього планується реалізувати нову логіку транзакцій, необхідну для впровадження шардингу, внести зміни до Beacon chain і beacon nodes, розділити перевірку транзакцій у beacon blocks та запровадити великі двійкові об’єкти (докладніше нижче).
- Зниження вартості газу для L2: цій меті сприятимуть як нова структура даних транзакції, так і запуск механізму динамічного регулювання вартості газу для великих двійкових об’єктів.
Повний список змін, що впроваджуються в EIP-4844, і роботи, яку ще потрібно виконати для повної реалізації шардингу, доступний у технічному описі пропозиції:
Розробники мотивують необхідність впровадження прото-данкшардингу високими комісіями в екосистемі Ethereum, які навіть у L2-мережах залишаються за межами доступності для багатьох користувачів. І хоча в основній мережі цю проблему зможе розв’язати тільки повна реалізація шардингу, для L2 ситуацію можна змінити вже зараз, надавши рішенням другого рівня дешевший простір для зберігання даних.
Крім того, після впровадження шардингу L2-мережам так чи інакше доведеться проводити оновлення, щоб використовувати нову структуру транзакцій, а EIP-4844 дасть змогу зробити це вже зараз, не чекаючи розгортання шардів. При цьому execution-рівень Ethereum (EVM) не буде зачеплений і мережа буде сумісна з усіма рішеннями:
Примітка: як і у випадку з данкшардінгом, назва «прото-данкшардінг» утворилася від імені дослідника Ethereum — Proto-Lambda, який запропонував реалізувати попередній етап, що має спростити перехід на шардінг.
Основні нововведення EIP-4844
Головною зміною EIP-4844 є впровадження нового типу транзакцій з використанням великих двійкових об’єктів або блобів (BLOB). Блоби є важливою частиною архітектури данкшардингу, але до його реалізації можуть допомогти L2-мережам.
Наразі роллап-рішення під час опрацювання транзакцій надсилають у L1 тільки коротку інформацію з новим станом мережі, тоді як дані пакета транзакцій записуються в calldata. Запис даних calldata хоч і обходиться дешевше, але вузли зберігають цю інформацію безстроково, що призводить до накопичення даних і підвищення вимог до нод. EIP-4844 пропонує записувати дані пакета транзакцій не в calldata. Тепер трохи докладніше про основні елементи цього механізму:
- Блоби — це пакети даних, у які записується повна інформація про блок транзакцій L2. При цьому блоб зберігається поза execution-шаром, тобто в EVM немає прямого доступу до даних у блобі. Розробники використовують для опису концепції поняття «мотоциклетної коляски» (sidecar), оскільки блоб «кріпиться» до блоку, як коляска до мотоцикла. Обробка транзакцій з блобами виглядає наступним чином:
Сам блоб, на відміну від calldata, зберігатиметься обмежений проміжок часу, достатній, щоб роллап-валідатори могли відновити повну історію транзакцій за необхідності (~1-3 місяці). Після цього дані обрізаються. Життєвий цикл блобу має такий вигляд:
Оскільки блоб може містити великий обсяг даних, то на початковому етапі буде встановлено обмеження: 2-4 блоба (0,25-0,5 МБ) на блок. Ці початкові обмеження мають мінімізувати навантаження на мережу і, як очікується, будуть збільшені в майбутніх оновленнях.
- KZG — це доказ зобов’язання, який буде використовуватися в данкшардингу Ethereum. Якщо максимально спростити, то KZG показує, що конкретне значення в цій точці дорівнює заявленому значенню. Навіщо це потрібно?
Як уже згадувалося, в EVM немає прямого доступу до даних блоба, тому, щоб перевірити достовірність даних, шар виконання використовує докази KZG. Після впровадження EIP-4844:
- Оптимістичні роллапи: під час формування доказу шахрайства можуть перевірити достовірність, «завантажуючи одночасно кілька значень блобу через calldata». Для кожного значення вони надають доказ KZG.
- ZK-ролапи: мають надати й KZG у блобі, і власний доказ ZK, а потім довести, що KZG (до якого протокол звертається за доступними даними) і власне зобов’язання ZK-ролапа належать до одних і тих самих даних.
Докладніше про те, як влаштовані KZG і навіщо вони потрібні, можна дізнатися тут.
Додамо, що для формування KZG потрібні вихідні дані, які генеруються під час публічної церемонії. Публічна церемонія за участю великої кількості користувачів гарантує, що зловмисник не зможе отримати доступ до вихідних даних і підробити KZG. Взяти участь у церемонії можна тут. На додачу до цього EIP-4844 інтегрує формулу динамічної зміни вартості газу за використання простору для блобів. Вона працює так само, як механізм, реалізований в EIP-1559, і покликана забезпечити максимально швидку адаптацію вартості газу в міру використання блобами простору в блоках.
Як EIP-4844 вплине на користувачів
Технічні зміни, які внесе EIP-4844 більш-менш зрозумілі, але як це позначиться на користувацькому досвіді? Тут важливо розуміти 2 ключові моменти:
- Комісії в основній мережі Ethereum не зміняться або зміняться незначно: сам шардинг даних не буде реалізовано в EIP-4844, а отже, усі вузли, як і раніше, повинні будуть завантажувати всі транзакції, тому пропускна спроможність мережі та комісії залишаться такими, як і раніше. Але зниження вартості газу може бути викликане переходом користувачів на L2-мережі, які зможуть запропонувати ще більш вигідні умови.
- Комісії в L2-мережах істотно впадуть: впровадження тимчасових блобів замість функції calldata, яка зараз використовується для зберігання даних L2-пакетів транзакцій знизить вартість запису транзакцій. У поєднанні з динамічним механізмом регулювання вартості газу для запису блобів це призведе до зниження комісій у L2-мережах на базі оптимістичних або zk-ролапів.
В іншому, до повної реалізації шардингу на призначеному для користувача рівні взаємодія з Ethereum і побудованих на його основі додатках не зміниться.
Що далі?
Реалізація прото-данкшардингу запланована на другу половину 2023-го, тобто вже найближчими місяцями, і очевидно, що ця подія дасть імпульс для розвитку L2-екосистеми. Навіть зараз аналітики називають поточний тренд L2-summer і ми самі бачимо:
- Стрімке розгортання zk-рішень: zkSync, zkEVM від Polygon, Starknet, Linea та інші.
- Швидкий розвиток L2-екосистем на базі оптимістичних ролапів: Optimism реалізує Superchain, Arbitrum впроваджує Nitro і децентралізоване управління.
- Відродження DeFi в ролап-мережах: у нових чейнах щодня з’являються нові DEX, платформи кредитування, агрегатори прибутковості та інші типи DeFi-платформ. Сервіси, які непопулярні на Ethereum через високі комісії, отримують друге життя в L2 мережах.
Так, за даними DeFi Llama сукупний TVL 11 роллап-мереж демонструє зростання з осені 2022-го:
І хоча після дропу Arbitrum висхідний тренд TVL фактично зупинився, EIP-4844 може стати тим самим драйвером, який відправить основні L2-мережі якщо не на Місяць, то вище середньої продуктивності ринку.
Заключення
EIP-4844 — це пропозиція щодо розгортання в основній мережі Ethereum прото-данкшардингу: проміжного етапу перед повноцінною реалізацією шардингу. Прото-данкшардинг ставить перед собою 2 основні цілі:
- Впровадити частину базових змін у роботі мережі, необхідних для розгортання шардів.
- Надати для L2-рішень дешевий спосіб зберігання пакетів транзакцій і знизити комісії в роллап-мережах уже зараз.
Досягти цих цілей планується через реалізацію нової логіки транзакцій з використанням великих двійкових об’єктів (блобів) з тимчасовим зберіганням даних. Повний потенціал блобів буде розкрито тільки після повного шардингу, але одразу після розгортання EIP-4844, L2-мережі зможуть використовувати блоки для запису даних транзакцій, замість calldata.
Основним наслідком EIP-4844 для користувачів стане істотне зниження вартості транзакцій в L2-мережах і, можливо, незначне здешевлення газу в основній мережі Ethereum. Це, своєю чергою, може дати поштовх до стрімкого розвитку роллап-рішень та їхніх екосистем.