Сьогодні, 13 березня 2024 року, має відбутися подія, здатна вивести блокчейн Ethereum на якісно новий рівень масштабування. Оновлення Cancun-Deneb («Dencun») запустить цілу низку поліпшень (EIP) одразу на двох рівнях мережі (консенсусу та виконання). Спробуємо розібратися з найбільш значущими з них.
Раніше ми вже розповідали про цей пункт призначення на дорожній карті Ethereum, але детально розглянули лише одне поліпшення — появу типу транзакцій EIP-4844, що отримало назву Proto-Danksharding.
Тепер з'ясуємо, що являють собою інші EIP*, які будуть реалізовані в березневому оновленні.
*EIP — це абревіатура від Ethereum Improvement Proposals, яка зазвичай означає ініціативи щодо поліпшення протоколу. Ці ідеї надходять від сторонніх авторів, а найбільш потрібні й доречні з них реалізують розробники Ethereum у подальших оновленнях.
Уявіть, що на вашому комп'ютері зберігається безліч непотрібних файлів. EIP-6780 — програма, яка допомагає знищити ці файли, але розумно. Вона не видалить нічого важливого з архіву, але очистить простір від непотрібного, звільнивши місце для роботи.
Отже, EIP-4788 — це власний оракул. Він позбавляє необхідності використовувати сторонні дані, підвищуючи безпеку системи та зменшуючи кількість можливих точок відмови.
EIP-7044 розв'язує цю проблему. Під час укладання контракту на блокування він створює заздалегідь підписані повідомлення про виведення цих коштів. Така умова тепер діятиме незалежно від можливих маніпуляцій валідаторів та усіх подальших оновлень мережі.
Тобто тепер власники нод зможуть голосувати за «оптові» обсяги слотів, і (теоретично) це має скоротити час підтвердження блоків та зменшити затримку користувачів Ethereum.
Тепер з'ясуємо, що являють собою інші EIP*, які будуть реалізовані в березневому оновленні.
*EIP — це абревіатура від Ethereum Improvement Proposals, яка зазвичай означає ініціативи щодо поліпшення протоколу. Ці ідеї надходять від сторонніх авторів, а найбільш потрібні й доречні з них реалізують розробники Ethereum у подальших оновленнях.
EIP-6780: пилосос для непотрібних смартконтрактів
Розробники презентують це поліпшення як «Обмеження SELFDESTRUCT на транзакцію».
Що таке SELFDESTRUCT
SELFDESTRUCT — це робочий інструмент розробників Ethereum, що дозволяє видаляти непотрібні смартконтракти. Але він має певні проблеми:
- складність у використанні;
- ризик втратити дані.
Що робить EIP-6780
EIP-6780 робить SELFDESTRUCT більш безпечним та простим у використанні. Він обмежує його повноваження, які від початку поширюються на всі смартконтракти, що створені в мережі. Це працює так:
- SELFDESTRUCT тепер можна буде використовувати тільки щодо смартконтракту, на який посилається транзакція. Отже, розробники не зможуть випадково видалити інший контракт.
- SELFDESTRUCT більше не видалятиме код і посилання на сховище, а також не обнулятиме лічильник (nonce) після проведення транзакції. Тому дані не будуть втрачені, навіть якщо SELFDESTRUCT буде використаний некоректно — їх можна відновити.
EIP-5656: легке копіювання даних
Якщо EIP-6780 вибірково видаляє непотріб, то EIP-5656 копіює потрібні документи в нове сховище за допомогою нової інструкції MCOPY.
Що таке MCOPY
MCOPY — це новий інструмент Ethereum, який дозволяє розробникам копіювати дані більш ефективно.
Як працює MCOPY
MCOPY призначений для ефективної побудови структур даних. Це реалізовано завдяки копіюванню пам'яті шляхом переміщення блоків даних з одного місця у пам'яті в інше.
Процес дещо нагадує кубик Рубіка та є стандартною операцією для побудови баз даних і копіювання об'єктів.
Поліпшення EIP-5656 скорочує витрати gas на це копіювання майже в 4 рази, а отже створення та виконання нових контрактів також потребуватиме менше gas.
Енергоефективні контракти вигідні насамперед для звичайних користувачів застосунків на Ethereum.
Уявіть, що ваш комп'ютер — це велика коробка, де зберігаються всі ваші файли. Вам треба перемістити потрібні файли з однієї папки в іншу та водночас «упакувати» їх так, щоб звільнити якомога більше місця. MCOPY працює як копіпаст для переміщення даних в EVM (віртуальній машині Ethereum).
EIP-4788: відкритий доступ до інформації про консенсус
Усередині блокчейну Ethereum нон-стоп відбуваються зміни, про які застосункам, що використовують цю мережу, слід знати.
Наприклад, застосункам для стейкінгу потрібна для коректної роботи інформація про стан консенсусу Ethereum. Досі DApps доводилося довіряти стороннім джерелам (оракулам) для отримання такої інформації.
EIP-4788 змінює це, адже безпосередньо повідомляє інформацію про консенсус Ethereum усередині самого блокчейну, роблячи її доступною для всіх застосунків.
Як працює EIP-4788:
- У кожному блоці Ethereum тепер зберігатиметься спеціальний код (хеш), який посилається на попередній блок консенсусу.
- Цей код можна використовувати, щоб перевірити стан консенсусу Ethereum у будь-який час.
- Інформація зберігається обмежену кількість часу (близько доби), щоб не перевантажувати мережу.
Це поліпшення більше стосуватиметься розробників застосунків, зокрема сервісів для блокування активів у пулах ліквідності (Lido, Rocket Pool). У разі відсутності потреби в довірених оракулах перед ними постають нові можливості для створення безпечних продуктів.
EIP-7044: легкий вихід зі стейкінгу
Це поліпшення пов'язане з виведенням активів з пулів делегованого стейкінгу. До оновлення Dencun для цього потрібно було звернутися до валідатора, який зберігає два ключі (ключ підпису та ключ виведення). Власник ноди має підписати спеціальне повідомлення про виведення. Але зберігався ризик, що валідатор відмовиться підписувати цю транзакцію або проігнорує її, адже його дохід залежить від кількості коштів у пулі.
EIP-7044 розв'язує цю проблему. Під час укладання контракту на блокування він створює заздалегідь підписані повідомлення про виведення цих коштів. Така умова тепер діятиме незалежно від можливих маніпуляцій валідаторів та усіх подальших оновлень мережі.
Переваги EIP-7044:
- Зручність. Вам не потрібно чекати на дозвіл сторонніх осіб, щоб забрати свої гроші.
- Безпека. Ви не ризикуєте втратити криптовалюту, якщо людина, яка керує пулом, відмовиться вам її віддати або, наприклад, якщо вона тривалий час не активна в мережі.
EIP-7045: більше часу на голосування
Блокчейн Ethereum складається з блоків і атестацій («голосів» за блок, що підтверджують коректність його створення).
До оновлення Dencun атестації мали бути включені у блок упродовж однієї епохи. Інакше блок не вважатиметься дійсним.
*Епоха — це один повний цикл обробки даних, який закріплений в алгоритмі Ethereum. Він включає заповнення 32 слотів, кожен з яких забирає 12 секунд, упродовж чого можуть бути валідовані блоки.
EIP-7045 збільшує максимальне вікно включення атестацій з однієї епохи до двох епох (тобто до 64 слотів включно).
Для кого це має практичну вигоду
Найбільше від цього поліпшення виграють валідатори, оскільки вони зможуть голосувати одночасно за 32 слоти першої епохи та наступні слоти другої епохи, не втрачаючи своєї винагороди. Збільшення часового вікна для атестацій забезпечує валідаторам більшу гнучкість під час голосування.
Тобто тепер власники нод зможуть голосувати за «оптові» обсяги слотів, і (теоретично) це має скоротити час підтвердження блоків та зменшити затримку користувачів Ethereum.
А тим часом вже розпочалася активна робота над новими пропозиціями щодо поліпшення (EIP-6110, -7002 та -7549), які будуть включені до наступного оновлення — Prague-Electra. Ми триматимемо руку на пульсі, аби вчасно пояснити вам простими словами складні речі.