Віталік Бутерін поділився деталями наступного оновлення Ethereum
Співзасновник Ethereum Віталік Бутерін розповів про наступний етап дорожньої карти блокчейну — The Purge («Чистка»). Він спрямований на спрощення структури мережі та зниження навантаження на вузли.
A quick note on next steps in Ethereum protocol simplification and node resource load decreases (aka “the Purge”):https://t.co/BAebCGrisB
— vitalik.eth (@VitalikButerin) April 1, 2024
EIP-6780
Центральне місце в розвитку протоколу на цій стадії посідає реалізація і розвиток EIP-6780, презентованого під час нещодавнього хардфорка Dencun. Воно оптимізує код операції SELFDESTRUCT, підвищуючи безпеку та спрощуючи реалізацію протоколу.
«Цей EIP є ключовим прикладом часто недооціненої частини розробки Ethereum: спроби спростити протокол шляхом усунення складності та додавання нових гарантій безпеки», — пояснив Бутерін.
EIP-6780 зменшує функціональність операційної команди SELFDESTRUCT, яка знищує контракт, що викликає її, звільняючи місце в сховищі даних.
Разом з оновленням в Ethereum з’явилася максимальна кількість слотів для зберігання (приблизно: ліміт газу/5000), які можна редагувати в одному блоці. Такий підхід значно спрощує створення клієнта протоколу та інших видів інфраструктури, вважає Бутерін.
За його словами, у рамках The Purge з’явиться більше подібних пропозицій щодо поліпшення мережі.
«Очищення» мережі
Бутерін позначив ще кілька «чисток» у рамках Ethereum, спрямованих на оптимізацію протоколу. Нещодавно клієнт Geth видалив тисячі рядків коду, відмовившись від підтримки доданих до The Merge мереж.
EIP-7523 усунув проблему «порожніх облікових записів». Завдяки оновленню припинилася підтримка більшості порожніх акаунтів із PoW-мереж Ethereum.
Розробник зазначив, що 18-денне вікно зберігання великих двійкових об’єктів у Dencun також посприяло спрощенню протоколу. Такий підхід обмежив обсяг збереженої інформації 50 Гб, який не збільшується з часом.
Прекомпіляції
Крім того, Бутерін запропонував використовувати механізм прекомпіляції. Це контракти Ethereum, які замість EVM-коду містять логіку, що реалізується безпосередньо самими клієнтами.
«Ідея полягає в тому, що прекомпіляції можна використовувати для реалізації складних форм криптографії, які неможливо ефективно застосувати в EVM. Подібні рішення сьогодні використовуються дуже успішно, зокрема, для того, щоб додатки на основі ZK-SNARK могли прекомпілювати еліптичні криві», — пояснив він.
Є й інші рідко використовувані прекомпіляції:
- RIPEMD-160 — хеш-функція, створена для забезпечення кращої сумісності з мережею біткоїна;
- Identity — прекомпіляція, яка видає результат на основі вхідних даних;
- BLAKE2 — хеш-функція для забезпечення кращої сумісності із Zcash;
- MODEXP — модульне піднесення до степеня з дуже великими числами для підтримки криптографії на основі RSA.
Однак Бутерін підкреслив, що більшість із цих рішень демонстрували досить низький попит. Він допустив видалення деяких прекомпіляцій заради оптимізації обробки транзакцій і механізму консенсусу.
EIP-4444
Зменшення обсягу сховища, необхідного для запуску вузла Ethereum, може значно збільшити кількість охочих запустити власну ноду, вважає розробник. Скорочення часу синхронізації вузла, яке забезпечує EIP-4444, також спрощує робочі процеси для багатьох операторів.
«Ethereum є постійним, але вимагати, щоб буквально кожен вузол зберігав усі дані вічно — дуже „зайвий“ спосіб домогтися такої сталості», — заявив Бутерін.
Завдяки EIP-4444 блоки в мережі через деякий час видаляються з нод автоматично.
«Ключове питання, яке необхідно вирішити: якщо стара історія не зберігається буквально в кожному вузлі, то хто її зберігає? Насправді це будуть робити великомасштабні організації, такі як оглядачі блоків. Не так уже й складно створити P2P-протоколи для зберігання і передавання інформації, які більш оптимізовані для цього завдання», — припустив Бутерін.
Співзасновник Ethereum також запропонував використовувати однорангові торрент-мережі для збереження повної історії блокчейну.
Новий формат
Наразі більша частина структури блоків Ethereum, включно з транзакціями та квитанціями, як і раніше, зберігається в застарілих форматах, заснованих на деревах RLP і Merkle Patricia. Це робить невиправдано важким створення застосунків, що використовують цю інформацію, підкреслив Бутерін.
Однак, за його словами, рівень консенсусу Ethereum уже перейшов на чистіший і ефективніший SimpleSerialize (SSZ).
Структура формату SSZ. Джерело: Блог Віталіка Бутеріна.
Основним завданням у цьому напрямку є перенесення рівня виконання в ту саму структуру, пояснив розробник.
«У більш віддаленому майбутньому, щойно ми навчимося хешам SNARKing, цілком можливо замінити бінарні дерева SHA-256 і дерева Веркла двійковими деревами Меркла, які використовують SNARK-сумісний хеш — одну криптографічну модель даних для всього блокчейну», — підсумував Бутерін.
Нагадаємо, у березні співзасновник Ethereum звернув увагу на необхідність внутрішнього масштабування мережі та розпаралелювання обробки ролапів для розвитку успіху оновлення Dencun.