
Абстракція акаунтів (AA) стала ключовим нововведенням в екосистемі Ethereum, що змінює принципи управління акаунтами у блокчейні. Ця технологія усуває низку типових складнощів, які раніше ускладнювали доступ до блокчейн-рішень для новачків, і робить користування Ethereum простішим та доступнішим. Відокремлення джерел транзакцій від підписів і розширення параметрів безпеки акаунтів — це важливий крок у розвитку зручності використання блокчейну, а EIP-4337 є основою цієї еволюції.
Для розуміння абстракції акаунтів слід проаналізувати базову структуру акаунтів у Ethereum. У мережі Ethereum існують акаунти з зовнішнім управлінням (EOA) та контрактні акаунти (CA). EOА контролюються приватними ключами та seed-фразами; користувачі зберігають і захищають ці дані самостійно. Контрактні акаунти контролюються смартконтрактами, тобто програмним кодом у блокчейні.
Абстракція акаунтів — це процес відокремлення джерел транзакцій від підписів і поступове оновлення EOА для роботи як CA. Це дозволяє смартконтрактам управляти EOА, створюючи смартконтрактні гаманці з гнучкішим управлінням та підвищеним рівнем безпеки акаунтів.
AA вирішує низку поточних обмежень у менеджменті акаунтів блокчейну. Гнучкість дій у мережі та різноманітні опції безпеки значно підвищують якість взаємодії з екосистемою Ethereum. Користувачі отримують доступ до механізмів соціального відновлення, мультипідпису і налаштовуваної логіки перевірки транзакцій, що раніше було недоступно для стандартних EOА.
Еволюція абстракції акаунтів супроводжувалась низкою ключових Ethereum Improvement Proposal (EIP), що вплинули на сучасне впровадження AA. Ознайомлення з цими пропозиціями дозволяє глибше зрозуміти розвиток AA, особливо появу EIP-4337.
EIP-2938 одним з перших підняв питання AA: пропозиція дозволяла контрактним акаунтам стати "верхньорівневими", з можливістю самостійної сплати комісій та виконання транзакцій. Це змінювало модель транзакцій у мережі. EIP-3074 запропонував два нових OpCode: AUTH і AUTHCALL, що дозволяли EOА делегувати дії контракту та створювати гнучкі схеми перевірки й обробки транзакцій.
Найважливіша сучасна пропозиція — EIP-4337, яка впровадила концепцію пулу операцій користувача (user ops). Нова логіка роботи замінює стандартний пул транзакцій і дозволяє AA без змін у протоколі Ethereum. Попередні пропозиції AA, зокрема EIP-2938 та EIP-3074, були відкладені через надмірні вимоги до змін у протоколі. EIP-4337 став проривом, оскільки реалізує AA без модифікацій на рівні консенсусу.
У порівнянні з попередніми AA-рішеннями, особливо EIP-3074, переваги EIP-4337 очевидні. EIP-3074 вимагав введення нових op-кодів і кардинальних змін у шарі консенсусу, що ускладнювало та ризикувало процес впровадження. Врешті-решт, цю пропозицію було призупинено. Натомість, EIP-4337 працює в межах чинної архітектури Ethereum, тому впровадження простіше та безпечніше.
EIP-4337 — найновіша і найпрактичніша пропозиція для реалізації абстракції акаунтів у Ethereum. Для ефективного розуміння технології важливо ознайомитися з її компонентами та архітектурою. Пропозиція містить ряд ключових понять і елементів, що забезпечують її роботу.
UserOperation — базовий об'єкт EIP-4337, що містить усю інформацію для виконання транзакції від імені користувача. Entry point — смартконтракт, який виконує пакетні транзакції user ops і є центральним вузлом виконання. Bundlers — вузли, що обробляють user ops як пакетні транзакції, додаючи entry point-транзакції у блоки до втрати їх чинності.
Гаманці-контракти — це акаунти користувачів, реалізовані як смартконтракти, що виконують логіку перевірки та виконання транзакцій. Фабрики гаманців — смартконтракти для створення нових смартконтрактних акаунтів для користувачів, що спрощує підключення до мережі. Агрегатори — допоміжні контракти для перевірки агрегованих підписів, bundlers вносять до whitelist підтримувані агрегатори. Paymasters — контракти, що реалізують кастомну логіку і дозволяють оплату gas у будь-якій валюті на будь-якій мережі.
Взаємодія цих компонентів створює гнучку та стійку систему абстракції акаунтів на основі EIP-4337. Коли користувач надсилає транзакцію, він формує user op з усією необхідною інформацією, ще не підписаною. User op надсилається до bundler, який групує кілька user ops в одну транзакцію. Bundler надсилає пакетну транзакцію до контракту entry point, що ідентифікує і перевіряє user ops, пов'язані зі смартконтрактними гаманцями. Після перевірки смартконтрактні гаманці виконують транзакції через ExecuteUserOp.
Схема транзакцій AA показує, як компоненти EIP-4337 працюють разом для обробки операцій користувача. Процес складається з кількох етапів, кожен із яких є важливим для системи.
Транзакція стартує з формування user op акаунтом. User op може містити дані про адресу відправника, параметри 'maxFeePerGas' і 'maxPriorityFee'. Використання поля 'signature' залежить від реалізації акаунта, а не від протоколу, тому забезпечує гнучкий захист. Кожна user op потрапляє у спеціальний пул, де очікує на обробку.
На етапі надсилання валідатори групують user ops у окремий пул. Bundler діє як блокбілдер і додає user ops у блоки, поки транзакції entry point залишаються чинними. Навіть якщо bundler не є прямим блокбілдером, він може працювати з інфраструктурою створення блоків, включно з mev-boost, розділенням proposer-builder або експериментальними eth_sendRawTransactionConditional RPC API.
Етап ідентифікації розпочинається, коли user ops надсилаються до entry point-контракту, що виконує пакетну перевірку user ops. Для прийняття user ops bundler виконує validateUserOp для перевірки підпису. Після успішної перевірки bundlers додають у whitelist підтримувані entry point-контракти, допускаючи лише підтверджені операції.
На завершальному етапі смартконтракт-гаманець завершує транзакцію через ExecuteUserOp. Bundlers пакують набори user op у транзакції та викликають handleOps на EntryPoint-смартконтракті. Готові транзакції включаються у блоки, що завершують схему AA-транзакцій за EIP-4337.
Для оцінки переваг AA-гаманців за стандартом EIP-4337 слід знати різницю між EOA-, MPC- і AA-гаманцями. Кожен тип має власні властивості, переваги та обмеження, що впливають на вибір для різних задач.
EOA-гаманці — це традиційні акаунти з зовнішнім управлінням, із низькою вартістю створення та невеликими комісіями. Вони використовують підписи ECDSA та потребують самостійного керування приватним ключем, пропонують базову безпеку й обмежений функціонал. Відсутність пакетних транзакцій, механізмів відновлення гаманця і підтримки багатовалютної оплати gas.
MPC-гаманці (Multi-Party Computation) також працюють на базі EOA, але реалізують розподілене керування приватними ключами через криптографічні протоколи. Як і EOA-гаманці, вони мають низькі комісії, використовують ECDSA-підписи, підтримують тільки одновалютну оплату gas. MPC-гаманці усувають єдину точку відмови розподіленим керуванням ключами. Потрібно враховувати політики авторизації поза мережею та прозорість, а сумісність із екосистемою зазвичай нижча, ніж у стандартних EOA.
AA-гаманці, створені на основі контрактних акаунтів та стандарту EIP-4337, мають найширший набір функцій, але потребують більше ресурсів на створення та більших комісій. Вони підтримують оплату gas різними валютами, зокрема сторонніми токенами, і пакетні транзакції. AA-гаманці реалізують різні методи підпису, не обмежуючись ECDSA, і не потребують класичного керування приватним ключем. Вони забезпечують відновлення гаманця і усувають єдину точку відмови. Водночас потребують аудиту смартконтрактів у мережі та функціонування пулу. З EIP-4337 AA-гаманці мають безпеку на рівні мережі при збереженні середньої сумісності з екосистемою.
Хоча EIP-3074 було призупинено, його підхід до абстракції акаунтів пояснює вибір EIP-4337. EIP-3074 вимагав змін у шарі консенсусу та впроваджував два нових OpCode (AUTH і AUTHCALL) для використання контрактів з EOA. У цього підходу були певні переваги та недоліки.
Головна перевага AA на EIP-3074 — можливість делегувати контроль EOA контракту, що дозволяє розробникам створювати нові схеми транзакцій: пакетний трейдинг, гнучку оплату gas. Використання контрактів-посередників дозволяло приймати оплату у токенах, відмінних від ETH. Довіра до контракту-посередника забезпечувала виконання транзакцій між спонсорами та бенефіціарами. Крім того, EIP-3074 давав можливість будь-якому EOA діяти як смартконтрактний гаманець без розгортання контракту, забезпечуючи миттєве оновлення акаунта.
Однак EIP-3074 мав недоліки, які вплинули на його реалізацію. Основна проблема — вимога змін у шарі консенсусу, що могло призвести до хардфорку при виникненні труднощів. Оскільки EIP-3074 дозволяв EOA діяти як CA, але залишав підписи ECDSA, це не давало змоги використовувати довільні методи підпису, обмежуючи можливості автентифікації. Обмеження та ризики змін у шарі консенсусу зробили підхід EIP-4337 більш доцільним для спільноти Ethereum.
Попри зупинку EIP-3074, його концепції не були забуті. EIP-5003 — це подальший розвиток ідей, що впроваджує OpCode AUTHUSURP, який дозволяє розгортати код за адресами, уповноваженими через EIP-3074. Ця пропозиція працює разом з EIP-3607 і створює шлях міграції для існуючих EOA, підтримуючи екосистему EIP-4337.
EIP-5003 працює у зв'язці з EIP-3607, відкликаючи початковий ключ підпису EOA. Наприклад, якщо EOA один авторизував адресу два діяти від його імені за EIP-3074, OpCode AUTHUSURP дозволяє адресі два встановлювати код EOA один. Механізм дає змогу існуючому EOA оновитися до контрактного акаунта й перейти від ECDSA-підписів до більш ефективних і безпечних методів підпису. Це забезпечує шлях оновлення для старих EOA при збереженні сумісності з чинними акаунтами та підтримці AA на основі EIP-4337.
Абстракція акаунтів через EIP-4337 — це важливий етап розвитку Ethereum для широкого використання. Вирішення ключових проблем, які раніше ускладнювали доступ до блокчейну, робить Ethereum більш зручним і корисним для звичайних користувачів. Переваги AA — розширені опції безпеки, гнучка оплата gas, механізми соціального відновлення та пакетні транзакції — значно спрощують взаємодію з екосистемою Ethereum.
Шлях від перших AA-пропозицій, як EIP-2938 і EIP-3074, до сучасної реалізації EIP-4337 засвідчує прагнення спільноти Ethereum до інновацій з пріоритетом безпеки та практичності. Завдяки реалізації абстракції акаунтів без змін у шарі консенсусу, EIP-4337 відкриває більш безпечний і практичний шлях розвитку. У міру розвитку і впровадження цієї технології очікується поява більш складних застосунків на основі AA-інфраструктури EIP-4337, що підвищить якість користування та розширить аудиторію Ethereum. Поява додаткових пропозицій, як EIP-5003, свідчить про подальший розвиток сфери абстракції акаунтів. EIP-4337 став базою наступного покоління управління акаунтами Ethereum, забезпечуючи ширший доступ і розширені можливості для всієї екосистеми.
Абстракція акаунтів — це процес відокремлення джерел транзакцій від підписів і оновлення акаунтів з зовнішнім управлінням (EOA) для роботи як контрактні акаунти (CA). Це дозволяє смартконтрактам контролювати EOА, створюючи смартконтрактні гаманці з розширеною гнучкістю, підвищеними параметрами безпеки (соціальне відновлення, мультипідпис) та кращим користувацьким досвідом у блокчейні Ethereum.
EIP-4337 — це пропозиція щодо оновлення Ethereum, яка реалізує абстракцію акаунтів без змін у протоколі. Вона впроваджує нову систему з використанням операцій користувача (user ops), bundlers, контрактів entry point і paymasters для обробки транзакцій. На відміну від попередніх пропозицій, таких як EIP-3074, EIP-4337 реалізує AA без модифікацій у шарі консенсусу, робить впровадження безпечнішим і дозволяє гнучку оплату gas та пакетні транзакції.
AA-гаманці за стандартом EIP-4337 пропонують значно більше можливостей, ніж класичні EOA-гаманці: оплату gas у різних валютах, пакетні транзакції, механізми відновлення гаманця та підтримку різних методів підпису, не лише ECDSA. Незважаючи на вищу вартість створення й комісії, вони забезпечують кращий захист, усувають єдину точку відмови і не потребують класичного керування приватним ключем, що робить користування простішим і безпечнішим.











