Апгрейд Pectra: на шляху до масштабування і масового прийняття Ethereum
Проблема масштабування Ethereum не втрачає актуальності, але розробники не сидять склавши руки.
Ще зовсім недавно відбувся апгрейд Dencun, який драматично скоротив L2-комісії. Тепер готується не менш масштабне оновлення — Pectra, покликане зробити систему гнучкішою, ефективнішою та дружнішою до користувача.
- Pectra об’єднує оновлення Prague і Electra, покликані розширити можливості гаманців і зробити Ethereum ефективнішим.
- Масштабний апгрейд заплановано на перший квартал 2025 року.
- Pectra, зокрема, внесе звичним гаманцям функціональність смарт-контрактів і дасть змогу валідаторам стейкати більше від поточного ліміту в 32 ETH — до 2048 ETH.
Що таке Pectra?
Pectra утворено з назв двох запланованих раніше оновлень Prague (для рівня виконання) і Electra (для рівня консенсусу).
«Оновлення Pectra відіграє ключову роль в еволюції Ethereum, а залученість спільноти розробників піднімає можливості мережі на вищий рівень», — зазначили аналітики CoinGecko.
На масштабність апгрейда натякає довгий список EIPs, що готуються до реалізації в рамках хардфорка:
Ці EIPs включають поліпшення в контексті абстракції облікових записів (АУЗ), вносять істотні зміни в роботу валідаторів, а також націлені на підвищення загальної продуктивності мережі.
Серед найбільш примітних пропозицій:
- EIP-2537 — впроваджує прекомпіляцію для операцій з еліптичними кривими BLS12-381. Це прискорює і здешевлює операції з BLS-підписами, підвищуючи доступність і продуктивність Ethereum-валідаторів, а також знижує витрати на газ;
- EIP-2935 — реалізує збереження хешів попередніх блоків у спеціальних слотах сховища для підвищення ефективності та надійності перевірки даних Ethereum у контексті переходу до технології statelessness;
- EIP-7002 — сприяє швидшому і зручнішому управлінню виведеннями коштів для валідаторів, створюючи більше можливостей у сферах стейкінгу та рестейкінгу;
- EIP-7251 — дає змогу валідаторам стейкати більше за поточний ліміт у 32 ETH — до 2048 ETH. Це дає можливість операторам нод скоротити їхню кількість під управлінням;
- EIP-7594 — представляє протокол PeerDAS (Peer Data Availability Sampling), покликаний оптимізувати L2, обробку транзакцій і поліпшити масштабованість мережі;
- EIP-7702 — вводить новий тип транзакцій, який дасть змогу адресам облікових записів Ethereum функціонувати як гаманці смарт-контрактів на час операції з подальшим відновленням початкового стану;
- EIP-7692 — набір пропозицій з 11 різних EIPs, спрямований на підвищення ефективності розгортання і виконання смарт-контрактів, зокрема, за допомогою оптимізації витрат на газ для певних операцій.
«Після апгрейду Ethereum застосовуватиметься в ширшому спектрі юзкейсів, задовольняючи різні потреби користувачів. Звичайні облікові записи користувачів стануть більш програмованими, L2 — більш доступними, смарт-контракти — більш ефективними, а валідатори — більш гнучкими в управлінні», — зазначив Вільям М. Пістер з Bankless.
EIP-3074 vs EIP-7702
Переваги та підводні камені EIP-3074
Одним із найважливіших компонентів майбутнього оновлення мало стати EIP-3074, що дозволяє привносити у звичайні криптогаманці функціональність смарт-контрактів. Зокрема, передбачалося, що користувачі зможуть об’єднувати транзакції і підписувати їх в один крок.
В EIP-3074 представлено ідею «делегування контролю над EOA смарт-контракту». Серед основних завдань пропозиції:
- розвиток концепції спонсорованих транзакцій (sponsored transactions);
- поліпшення користувацького досвіду (UX) при використанні звичайного облікового запису Ethereum (адреса з пари відкритий/закритий ключ).
Спонсоровані транзакції дають змогу розділити рахунок, з якого оплачують газ, і акаунт, що фактично виконує операції з токенами стандарту ERC-20. Наприклад, DEX може включити вартість газу в торговельну комісію, сплативши його від імені користувача. Завдяки цьому останній має можливість відмовитися від володіння ETH, якщо він його не використовує.
Простими словами, пропозиція дала б змогу групувати перекази (батчинг) для економії часу та коштів, а також оплачувати комісії за інших користувачів.
EIP-3074 визначає два нові коди операцій для Ethereum:
- AUTH — вказує адресу, яка може надіслати транзакцію від імені користувача;
- AUTHCALL — здійснює виклик смарт-контрактів за вказаною адресою від імені користувача.
AUTH перевіряє на достовірність підпис користувача і передбачувану дію, а AUTHCALL викликає цільовий контракт для виконання з «адресою відправника як того, хто викликає».
Наприклад, зазвичай користувачам необхідно вручну підписувати повідомлення під час кожної взаємодії з dapp (обмін або стейкінг токенів). З EIP-3074 потрібен лише один підпис — AUTH і AUTHCALL автоматично виконують всі наступні функції.
Серед інших інновацій — відновлення втрачених ключів. Щоб скористатися інструментом, користувачі повинні передати право власності на свої активи контракту ініціатора за допомогою цифрового підпису, який виконує транзакції та виклики функцій від їхнього імені.
Незважаючи на низку переваг на кшталт «соціального» відновлення, просунутих транзакцій і поліпшеного UX, деякі учасники спільноти розкритикували EIP-3074. Наприклад, розробник DeFi Llama під ніком 0xngmi назвав головним недоліком те, що «тепер можна буде повністю виснажити адресу, всі токени, всі NFT, всі DeFi-позиції за допомогою тільки одного поганого підпису».
downside of EIP 3074 is that now it'll be possible to fully drain an address (all tokens, all nfts, all defi positions…) with only one bad signature
— 0xngmi (@0xngmi) April 11, 2024
Схожу думку висловив співзасновник Argent Ітамар Лесуісс.
so EIP-3074 will:
– allow for “bundling” of multiple transactions so you only have to sign from your wallet once
– allow for apps to pay for gas on their users’ behalf
– will be deployed on L1 and probably every EVM L2what else to know @josephdelong (for non-devs)?
— DCinvestor (@iamDCinvestor) April 11, 2024
Представники Safe занепокоїлися, що пропозиція не має «чіткого шляху до повної абстракції облікових записів» і негативно впливає на її впровадження.
EIP-7702: альтернатива від Віталіка Бутеріна
Для забезпечення більшої безпеки співзасновник Ethereum Віталік Бутерін запропонував дещо інший підхід. EIP-7702 передбачає створення нового типу транзакцій, схожих на EIP-2930, який сумісний із процесами EIP-3074 завдяки перетворенню їх в оптимізований код.
Поліпшення дасть змогу адресам облікових записів Ethereum функціонувати як гаманці смарт-контрактів на час транзакції з подальшим відновленням початкового стану.
Згідно з ідеєю Бутеріна, AUTH і AUTHCALL замінюються простішими функціями перевірки та виконання, пов’язаними з EOA. Така зміна зберігає експлуатаційну цілісність, а також підвищує ефективність процесу авторизації.
За словами розробника, такий підхід потребуватиме мінімальних змін у мережі, оскільки EIP-3074 підтримує пряму сумісність з абстракцією кінцевого облікового запису.
Крім того, EIP-7702 дозволяє EOA тимчасово виконувати функції контракту, забезпечуючи сумісність із поточною архітектурою.
Альтернативний варіант отримав позитивні відгуки від спільноти, і незабаром було вирішено замінити EIP-3074 новою пропозицією. Останнє розробник Polygon Джаррод Воттс назвав «однією з найбільш вражаючих змін, які коли-небудь відбудуться в Ethereum».
Vitalik just proposed EIP-7702.
It's one of the most impactful changes Ethereum is going to have… EVER.
So, here's everything you need to know about how it works and how we got here:
— Jarrod Watts (@jarrodWattsDev) May 8, 2024
Він додав, що після реалізації нової функціональності «ваш наявний EOA зможе виконувати будь-який код смарт-контракту».
Фахівець також окреслив головні недоліки EIP-3074, включно з можливістю отримання зловмисником контролю над усіма коштами користувача.
«EIP-7702 являє собою більш досконалу версію EIP-3074, більш сумісну з абстракцією облікових записів (ERC-4337). Таким чином, це компромісне рішення між ERC-4337 і EIP-3074», — пояснили аналітики CoinGecko.
У таблиці нижче наведено ключові відмінності між EIP-3074 і EIP-7702:
EIP-7251
Успішний The Merge, зростання ціни і розвиток екосистеми Ethereum призвели до збільшення кількості валідаторів, які беруть участь у забезпеченні консенсусу. Їхнє загальне число наближається до рубежу в 1,5 млн, а сукупна вартість заблокованих ETH перевищує $140 млрд.
Хоча велика кількість валідаторів і зміцнила безпеку блокчейна, деякі дослідники висловили стурбованість можливим впливом такого зростання на стабільність роботи мережі.
Динаміка зростання числа валідаторів з моменту активації The Merge. Джерело: BeaconScan.
EIP-7251 (або MaxEB, MAX_EFFECTIVE_BALANCE) спрямована на вирішення проблеми «надлишкових валідаторів». Воно пропонує збільшити максимальний розмір стейка з 32 ETH до 2048 ETH (при збереженні мінімального порога в 32 ETH).
«Це дає змогу великим операторам вузлів об’єднувати свої набори валідаторів для зменшення кількості останніх. Це також дає можливість соло-стейкерам заробляти більше і надає гнучкості процесу внесення коштів», — пояснюється на сайті Ethereum.org.
Наприклад, великий оператор з 2048 ETH може об’єднати 64 набори валідаторів в один. При цьому індивідуальний стейкер із 45 ETH зможе керувати одним набором, ідеться в матеріалі проєкту Unchained.
Таким чином, EIP-7251 передбачає зменшення кількості валідаторів при збереженні високої економічної безпеки мережі Ethereum. Серед інших особливостей пропозиції:
- великі оператори можуть об’єднувати набори валідаторів без виходу і повторного входу в протокол;
- додавання часткових знять на рівні виконання — наприклад, валідатор із 200 ETH може зняти 50 ETH без повного виходу;
- настроювана стеля ефективного балансу: можна налаштовувати максимальну суму, що активує часткові зняття.
«За» і «проти»
Серед переваг нової пропозиції:
- розв’язання проблем рівня консенсусу: зменшення кількості валідаторів знижує навантаження на мережу і затримки;
- підготовка до майбутніх оновлень, таких як однослотова фіналізація і рішення PBS (proposer-builder separation). Останнє обмежує права валідаторів у процесі формування блоку і створює новий клас учасників, які формують порядок транзакцій;
- гнучкість процесу індивідуального стейкінгу;
- зменшення кількості валідаторів, що сприяє ефективності та скороченню експлуатаційних витрат.
Аргументи проти:
- підвищення «стелі» максимального стейка збільшує ризик слешингу (він лінійно зростає зі зростанням обсягу заблокованих ETH);
- деякі учасники спільноти занепокоєні ризиками централізації та потенційної «атаки 51%».
Таким чином, EIP-7251 пропонує значно зменшити кількість валідаторів без кардинальних змін у мережі другої за капіталізацією криптовалюти. Однак спільнота має ретельно опрацювати всі аспекти, щоб уникнути негативних наслідків.
Що після Pectra?
Хоча поки нічого не вирішено остаточно, спільнота Ethereum розглядає можливість впровадження дерев Веркла в оновленні Osaka, яке послідує за Pectra.
«Я дуже чекаю дерев Веркла. Вони дозволять клієнтам-валідаторам функціонувати в режимі без збереження стану. Це дасть можливість стейкінг-нодам працювати, практично не займаючи простору на жорсткому диску, і майже миттєво синхронізуватися [з блокчейном]», — зазначив Віталік Бутерін.
Майбутні хардфорки Ethereum. Джерело: Ethroadmap.
Дерева Веркла — алгоритм структурування даних у протоколі, аналогічний деревам Меркла. Його головною відмінністю є те, що кожен вузол використовує спеціальний тип хешу, званий векторним зобов’язанням, для фіксації дочірніх нод.
Інтеграція нової дата-структури входить у дорожню карту Ethereum. Появу дерев Веркла заплановано на третьому етапі під назвою The Verge.
Особливості етапу Verge. Джерело: Ethroadmap.
Зокрема, рішення оптимізує зберігання ончейн-інформації та обсяг вузлів. Ключовою його властивістю Бутерін назвав «набагато ефективніші за розміром докази», оскільки механізм дає змогу перевіряти будь-який блок, використовуючи тільки ті дані, що містяться в ньому.
Такий підхід до верифікації значно знижує технічні вимоги до валідаторів, що в перспективі призведе до збільшення різноманітності нод і більшої децентралізації мережі.
Співзасновник Ethereum наголосив, що оновлення також поліпшить досвід для соло-стейкерів завдяки оптимізації користувальницького інтерфейсу і додаванню нової функціональності для ПЗ клієнта.
Наступним після The Verge етапом стане The Purge («Чистка»). Він спрямований на спрощення структури мережі та зниження навантаження на вузли.
Основні етапи дорожньої карти Ethereum. Джерело: Ethroadmap.
Центральне місце на цьому етапі посідає EIP-6780, який був представлений під час хардфорка Dencun. Це оновлення оптимізує код операції SELFDESTRUCT, підвищуючи безпеку і покращуючи реалізацію протоколу, що дасть змогу спростити створення клієнтських додатків.
Схема реалізації The Purge. Джерело: Ethroadmap.
Бутерін також вказав на інші ініціативи з «очищення» мережі в рамках The Purge, включно з видаленням коду з клієнта Geth і усуненням проблеми «порожніх облікових записів» через EIP-7523.
Крім того, він запропонував використовувати механізм прекомпіляції для реалізації складних криптографічних функцій, які неможливо ефективно застосувати в EVM.
EIP-4444 спрямовано на зменшення обсягу сховища і скорочення часу синхронізації вузлів. Бутерін підкреслив, що це оновлення значно збільшить кількість охочих запустити власну ноду.
Також заплановано перенесення рівня виконання на ефективніший формат SimpleSerialize (SSZ), що спростить створення застосунків і поліпшить загальну структуру блокчейна.
Висновки
Екосистема Ethereum безперервно розвивається. Вона незмінно лідирує за TVL, а криптовалюта, що лежить в її основі, — як і раніше, друга за капіталізацією.
Наступні два оновлення Ethereum обіцяють істотно підвищити зручність використання мережі як для користувачів, так і для розробників. Платформа стане більш універсальною, здатною задовольнити різноманітні потреби користувачів.
Віталік Бутерін переконаний, що наступні п’ять років стануть «вирішальними» для ефіру в контексті його масового впровадження та прийняття «реальним світом». Майбутні апгрейди допоможуть Ethereum справлятися зі зростаючим попитом, інтегруватися з іншими мережами і впроваджувати нові функції, утримуючи платформу на передовій блокчейн-інновацій.