Dencun: розбираємо оновлення Ethereum і його вплив на мережу

30.01.2024
20 хв
5590
4
Dencun: розбираємо оновлення Ethereum і його вплив на мережу. Головний колаж новини.

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

Для більшості користувачів Dencun асоціюється насамперед з EIP-4844 або так званим прото-данкшардингом. Однак крім нього апгрейд включає реалізацію ще семи пропозицій щодо поліпшення Ethereum (EIP), що впливають на ті чи інші аспекти роботи блокчейна. Команда Incrypted детально розібрала кожну з них.

Що таке оновлення Dencun

Dencun — комплексне оновлення мережі Ethereum, необхідне для подальшої реалізації данкшардингу і Дерев Веркла. Це найбільший апгрейд після Shapella, розгорнутого у квітні 2023 року.

Як і інші знакові оновлення, Dencun зачіпає одночасно рівні консенсусу і виконання, тому, по суті, складається з двох великих модулів, що утворюють його назву:

  • Deneb — блок EIP, що стосуються консенсусу мережі. За сформованою традицією ці оновлення отримують назву на честь певної зірки в алфавітному порядку.
  • Cancun — включає нововведення в шарі виконання, які називають на честь міст, де проходила конференція Devcon.

Якщо накласти Dencun на останню версію дорожньої карти Ethereum, опубліковану Віталіком Бутеріним 30 грудня 2023 року, то він зачіпає такі етапи розвитку мережі, як The Surge і The Purge.

Дорожная карта Ethereum.
Фрагмент дорожньої карти Ethereum. Дані: Віталік Бутерін.

Далі ми детально розберемо всі EIP, включені в модулі Deneb і Cancun, щоб зрозуміти, як зміниться мережа Ethereum після оновлення і яким чином це позначиться на звичайних користувачах.

Зміни в шарі консенсусу

Шар консенсусу Ethereum (Beacon Chain) — це набір механізмів взаємодії валідаторів, що забезпечує консенсус щодо поточного стану мережі. Сюди входить усе, що стосується алгоритму Proof-of-Stake — від черги на запуск і закриття вузла до фіналізації блоків і розміру депозиту. Пакет пропозицій, що стосуються консенсусу, включає три EIP.

EIP-7044: безстроковий підпис для добровільного виходу валідатора

Ethereum дозволяє валідаторам (операторам нод) і стейкерам (власникам ETH) використовувати делегований стейкінг, під час якого інвестор передає свої активи для внесення застави вузла. У цьому процесі задіюється два типи ключів:

  • ключ підпису (signing keys), за допомогою якого валідатор підтверджує свої дії;
  • ключ відкликання (withdrawal keys), який дає доступ до активів стейкера.
Пример взаимодействия между сторонами делегированного стейкинга.
Взаємодія між сторонами делегованого стейкінгу. Дані: Consensys.

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

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

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

EIP-7045: збільшення періоду подання атестацій

Для забезпечення консенсусу щодо дійсного ланцюжка блоків в Ethereum використовується гібридний алгоритм Gasper. Одна з його складових — LMD-GHOST (Latest Message Driven Greedy Greedy Heaviest Observed SubTree). Це механізм, що відповідає за оцінку голосувань (атестацій) за кожним блоком і визначення його канонічності. Простіше кажучи, LMD-GHOST обирає, який ланцюжок у разі форку вважається основним.

Схематический принцип работы LMD-GHOST.
Принцип роботи LMD-GHOST. Дані: Consensys.

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

Эпоха — это временной период в сети Ethereum, который состоит из 32 слотов. Слот, в свою очередь, представляет собой промежуток времени, на протяжении которого может быть предложен или утвержден блок (12 секунд).

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

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

Це дасть валідаторам більше часу для голосування і водночас дасть змогу алгоритму LMD-GHOST отримати більшу кількість думок для кожного блоку в епосі, що підвищує надійність консенсусу мережі.

EIP-7514: обмеження на вхід валідаторів

Після оновлення Shapella, яке розблокувало виведення активів із депозитного контракту, кількість валідаторів у мережі почала стрімко зростати. Частково це пов’язано з популяризацією сервісів ліквідного стейкінгу, частково — з появою в інвесторів можливості управляти своїм капіталом.

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

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

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

Розробники вважають, що це допоможе сповільнити зростання кількості вузлів у шарі консенсусу і дасть спільноті Ethereum більше часу на пошук комплексного розв’язання проблеми.

Ще одним наслідком стане зниження темпів емісії ETH, оскільки показник залежить від обсягу винагороди валідаторів і, отже, від кількості останніх. Потенційно це може посилити дефляційні процеси в токеноміці.

Нововведення для шару виконання

Другий пакет оновлень — Deneb — включає пропозиції щодо поліпшення роботи шару виконання, тобто віртуальної машини Ethereum (EVM). У цей блок включено чотири EIP.

EIP-5656: додавання команди MCOPY

При створенні смарт-контрактів в Ethereum часто задіюється базова операція копіювання пам’яті за допомогою команд MSTORE або MLOAD. Однак в EVM їх виконання вимагає порівняно великої кількості газу, тому EIP-5656 пропонує нову команду MCOPY з оптимізованою структурою даних.

MCOPY є комбінацією MSTORE і MLOAD і дає змогу виконувати копіювання пам’яті в кілька разів дешевше, як порівняти з уже наявним механізмом. Це позитивно позначиться на користувачах, оскільки може знизити витрати на газ при виклику певних смарт-контрактів.

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

EIP-1153: тимчасові сховища

З оптимізацією зберігання даних пов’язано і EIP-1153, яке пропонує ввести в Ethereum концепцію тимчасових сховищ і дві релевантні команди — TLOAD і TSTORE.

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

Це дасть змогу відмовитися від порівняно небезпечного обміну даними між контрактами через входи/виходи або дорогого використання основного сховища для запису проміжних даних. Так само, як і попередня пропозиція, EIP-1153 може знизити споживання газу для деяких контрактів, що якоюсь мірою позначиться на комісії користувачів.

EIP-6780: переробка команди SELFDESTRUCT

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

У багатьох випадках використання SELFDESTRUCT призводить до непередбачуваних наслідків і може порушити взаємозв’язки одразу в кількох смарт-контрактах. Шкода від низької детермінованості опкоду тільки збільшиться після впровадження Древа Веркла, тому усунення команди відзначено окремим пунктом на дорожній карті Ethereum.

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

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

EIP-4788: відображення стану консенсусу в EVM

Як ми вже згадували, Ethereum складається з двох шарів — виконання (EVM) і консенсусу (Beacon Chain). При створенні нового блоку, суто технічно, він створюється на кожному рівні, тобто кожен блок в EVM відповідає блоку з інформацією в Beacon Chain.

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

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

Ініціатори EIP-4788 пропонують виправити це за допомогою розміщення кореневого хеша попереднього блоку рівня консенсусу в кожному блоці рівня виконання. Певний набір цих кореневих хешів зберігається в самоочисному смарт-контракті Ethereum. Розмір смарт-контракту розрахований таким чином, щоб зберігати дані з Beacon Chain протягом ~24 годин, після чого вони перезаписуються.

Фактично це створення на рівні блокчейна свого роду оракула, який передає інформацію про шар виконання в EVM, чого не було раніше.

EIP-4788 ориентирован в первую очередь на платформы ликвидного стейкинга и рестейкинга, которым требуются данные о слое консенсуса для начисления вознаграждений пользователям. Сейчас для получения этой информации они полагаются на сеть внешних оракулов (к примеру, у Lido их пять), что требует дополнительных расходов и доверительных отношений между провайдером оракулов и LST-протоколом.

После реализации обновления смарт-контракты этих платформ (и любых других приложений) смогут запрашивать данные о Beacon Chain напрямую у публичного контракта Ethereum. Это позволит отказаться от внешних поставщиков и исключит потенциальные риски, связанные с их компрометацией.

В целом EIP-4788 оценивается как одно из наиболее технически сложных и ощутимых обновлений пакета Dencun, уступая по значимости только EIP-4844.

На шляху до данкшардингу: EIP-4844

Найбільш очікуваним компонентом Dencun є EIP-4844 або прото-данкшардинг. Він вносить в архітектуру блокчейна зміни, необхідні для подальшої імплементації данкшардингу, зокрема, інтегрує так звані великі двійкові об’єкти (blobs або блоки).

Блоби дозволяють прикріплювати до кожного блоку в мережі Ethereum до трьох великих (128 kB) пакетів інформації про транзакції. Ця інформація зберігатиметься вузлами Beacon Chain лише обмежений час (~18 днів) і не потрапляє в EVM, тому простір для зберігання блобів коштує набагато дешевше, ніж запис основних ончейн-даних. Сам шар виконання при цьому отримуватиме лише посилання на дані у вигляді зобов’язань KZG.

Архитектура большого двоичного объекта.
Архітектура великого двійкового об’єкта. Дані: Consensys.

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

Зміни торкнуться й інших аспектів роботи рівнів консенсусу та виконання. Зокрема:

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

Щоб дізнатися більше про EIP-4844, рекомендуємо ознайомитися з нашою оглядовою статтею, присвяченою цій пропозиції.

Таким чином, Dencun є одним з найбільш комплексних і важливих оновлень для мережі Ethereum, який можна порівняти з The Merge. Незважаючи на те, що більша частина нововведень орієнтована насамперед на розробників і валідаторів, EIP-4844 вплине і на рядових користувачів екосистеми. Особливо тих, які взаємодіють з L2.

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

Найчастіші запитання

На 2024 рік заплановано оновлення Dencun. Основною його метою є підготовка мережі до данкшардингу, однак форк включає кілька інших важливих змін, що впливають на розробників і звичайних користувачів.
Dencun - це комплексне оновлення Ethereum, що впливає на роботу блокчейна на різних рівнях. Нововведення будуть розгорнуті в основній мережі імовірно навесні 2024 року через хардфорк.
Термін ETH 2.0 позначав комплекс кроків, необхідних для переходу Ethereum з алгоритму Proof-of-Work на Proof-of-Stake і злиття рівнів виконання і консенсусу. Це злиття відбулося восени 2022 року, після чого поняття Ethereum 2.0 перестало використовуватися.
Починаючи з 2016 року під час кількох великих форків у мережі Ethereum було реалізовано 17 комплексних оновлень, включно з переходом на PoS-алгоритм (Paris) і розблокуванням депозитного контратка (Shapella). Повний список апдейтів доступний тут.

Як вам стаття?

4
0

статті на цю ж тему

Bullish on Ukraine: маркетинговий директор...
avatar Artem Galunov
03.05.2024
Runes: чим нові токени в мережі біткоїна...
avatar Ivan Babiuk
30.04.2024
RWA-токени та їхня класифікація для...
avatar Danyil Voloshchuk
27.04.2024