

Абстракція акаунтів (AA) — це ключова зміна для екосистеми Ethereum. Вона змінює управління акаунтами на блокчейні. Це нововведення вирішує основні проблеми, які раніше заважали користувачам без досвіду у криптовалюті, і значно спрощує доступ до технології. Головне покращення — розділення джерел транзакцій і підписів, а також надання користувачам гнучкого керування безпекою акаунта за допомогою реалізації EIP-4337.
Для розуміння абстракції акаунтів слід знати про два типи акаунтів у мережі Ethereum. Зовнішньо контрольовані акаунти (EOA) — це стандартні акаунти, якими керують через приватні ключі та seed-фрази. Контрактні акаунти (CA) працюють під керуванням смартконтрактів, надаючи програмні функції.
Абстракція акаунтів — це зміна архітектури, що роз’єднує джерело транзакції й підпис, і дає EOA можливість працювати як CA. Смартконтракти отримують контроль над EOA, що відкриває створення смартконтрактних walletів. Це покращує досвід користувача, підвищує гнучкість керування акаунтами і відкриває нові варіанти взаємодії з блокчейном.
Спільнота Ethereum підтримує абстракцію акаунтів завдяки простоті керування акаунтами. Технологія робить транзакції більш гнучкими та адаптивними, а опції безпеки стають ширшими та налаштовуваними, виходячи за межі стандартних приватних ключів.
Всі ці покращення вирішують типові проблеми користувачів Ethereum. AA спрощує процеси і вводить зручні способи управління, покращуючи роботу з екосистемою та роблячи блокчейн-технології доступнішими.
Розвиток абстракції акаунтів базується на кількох важливих Пропозиціях щодо поліпшення Ethereum (EIP). EIP-2938 пропонував зробити контрактні акаунти "верхньорівневими", щоб вони могли самостійно сплачувати комісії та здійснювати транзакції. EIP-3074 ввів два OpCode — AUTH і AUTHCALL, що дають змогу EOA делегувати свої функції контракту і спрощують створення гнучких механізмів транзакцій і перевірки.
EIP-4337 — це сучасна реалізація абстракції акаунтів, яка створює окремий пул пам’яті для користувацьких операцій (user ops). Нова логіка замінює існуючий транзакційний пул і дає змогу використовувати AA без змін основного протоколу Ethereum. Перші версії, включно з EIP-2938 та EIP-3074, призупинили через масштаб необхідних змін, тому протокол-незалежний підхід EIP-4337 став важливим для розвитку екосистеми.
EIP-4337 виглядає складним для новачків, але це крок уперед у порівнянні з попередніми рішеннями. EIP-3074 вимагав запровадження двох OpCode і змін у шарі консенсусу протоколу Ethereum, що несло ризики та ускладнювало впровадження — цю пропозицію призупинили. EIP-4337 обходить ці проблеми, впроваджуючи абстракцію акаунтів без змін у протоколі, що робить рішення практичним і доступним.
EIP-4337 впроваджує абстракцію акаунтів через кілька ключових компонентів. UserOperation — це об’єкт, який здійснює дію від імені користувача для надсилання транзакції, містить усі потрібні дані. Entry point — контракт, що виконує пакетні транзакції user operations і координує процес.
Bundlers — це вузли, які обробляють user operations у пакетах, додають entry point транзакції у блоки, контролюючи їхню чинність. Wallet contracts — це смартконтрактні акаунти, якими володіє користувач і які здійснюють операції. Wallet factory — смартконтракт, що створює нові смартконтрактні гаманці для користувачів на вимогу.
Aggregators — це контракти, яким акаунти довіряють перевірку агрегованих підписів, а bundlers ведуть біл-листи агрегаторів. Paymasters — контракти, що реалізують власну логіку на блокчейні, дозволяють гнучко платити gas у будь-якій валюті та мережі. Така архітектура спрощує процес AA, зберігаючи безпеку і децентралізацію, і робить EIP-4337 надійним рішенням для сучасних блокчейн-додатків.
Потік транзакцій у EIP-4337 складається з кількох етапів, які забезпечують функціональність абстракції акаунтів. Знання цього потоку потрібне для розуміння, як система працює на практиці.
Коли акаунт ініціює транзакцію, він створює об’єкт user operation. User operation містить повні дані про адресу відправника та важливі параметри — наприклад, 'maxFeePerGas' і 'maxPriorityFee'. Поле 'signature' використовується відповідно до реалізації акаунта, а не протоколу, що дає гнучкість автентифікації. Сформована user operation передається у спеціальний пул пам’яті користувацьких операцій, окремий від стандартного пулу транзакцій.
Валідатори формують пакети user operations із пам’яті. Bundler діє як білдер блоків, додаючи user operations у блоки, якщо entry point транзакції дійсні. Bundler може працювати через існуючу інфраструктуру блок-білдерів, наприклад, mev-boost, механізми розділення proposer-builder та експериментальні API eth_sendRawTransactionConditional, щоб ефективно додавати пакетні транзакції.
Після надсилання user operations потрапляють у entry point контракт, який виконує пакетні дії. Bundler використовує функцію validateUserOp для перевірки підпису кожної user operation перед її прийомом. Після успішної перевірки bundler додає entry point контракт у біл-лист, встановлюючи довіру для подальшої обробки транзакцій.
Транзакція завершується через функцію ExecuteUserOp у смартконтрактному гаманці. Bundlers збирають user operation об’єкти у транзакції та викликають handleOps у смартконтракті EntryPoint. Транзакції додаються у блоки, завершуючи виконання і фіксуючи дії користувача в блокчейні.
Різні гаманці мають свої особливості. EOA-гаманці — це акаунти з низькими витратами на створення і gas, підтримують тільки одно-валютну оплату gas і підписи ECDSA. Вимагають керування приватними ключами, не мають відновлення, забезпечують базову безпеку з точкою відмови, але добре сумісні з екосистемою.
MPC-гаманці теж працюють з EOA, мають схожу структуру витрат, але застосовують багатосторонні підписи. Вимагають управління ключем, можуть відновлюватися офлайн на довірених пристроях. Безпека залежить від політик авторизації підписів поза мережею та прозорості, сумісність з екосистемою нижча, ніж у EOA-гаманців.
AA-гаманці на принципах EIP-4337 — це контрактні акаунти з вищими витратами на створення і gas, але дозволяють платити gas різними валютами і підтримують сторонні токени. Можуть проводити пакетні транзакції, різні методи підпису, не потребують управління приватним ключем. Доступне відновлення гаманця, після EIP-4337 забезпечується безпека на рівні мережі. Необхідний аудит контрактів і пулів, сумісність середня, точка відмови усувається.
EIP-3074 відклали, оскільки це пропозиція, яка потребує змін у шарі консенсусу. Вона вводить два нових OpCode для використання контрактів із EOA, що створює можливості й виклики для реалізації.
Головна перевага EIP-3074 — делегування керування EOA контрактам, що дає розробникам гнучкий інструмент для створення нових схем транзакцій. Це пакетна торгівля, групова торгівля і гнучка оплата gas, які покращують користувацький досвід. Рішення використовує контракти-інвокери, які приймають токени, відмінні від ETH, і виконують транзакції між спонсором і отримувачем без довіри. EIP-3074 дозволяє будь-якому EOA працювати як smart contract wallet без розгортання контракту, що спрощує реалізацію.
Головний ризик EIP-3074 — потреба змін у шарі консенсусу, що може призвести до жорстких форків і проблем у мережі. Крім того, EIP-3074 надає EOA властивості CA, але залишає фіксований механізм підпису ECDSA, обмежуючи гнучкість автентифікації.
EIP-3074 не скасовано, а лише відкладено. EIP-5003 вводить OpCode AUTHUSURP, що розгортає код за адресою, уповноваженою через EIP-3074, і працює разом із EIP-3607 для відкликання початкового права підпису EOA. Наприклад, коли EOA один дозволяє адресі два діяти від його імені за EIP-3074, OpCode AUTHUSURP дозволяє адресі два встановити код для EOA один. Це дозволяє EOA перейти на CA і використовувати більш ефективні підписи, зберігаючи переваги EIP-3074, але усуваючи деякі його обмеження.
Абстракція акаунтів через EIP-4337 — ключовий етап для Ethereum на шляху до масового прийняття. Інноваційна архітектура вирішує критичні проблеми, дає нові можливості безпеки, гнучкі платежі gas і покращує досвід користувача. Всі ці зміни знижують бар’єр входу в екосистему Ethereum, роблячи блокчейн доступнішим для широкого кола користувачів. EIP-4337 розвивається і інтегрується у провідні платформи й гаманці, змінюючи принципи взаємодії з блокчейном, відкриваючи шлях для ширшого використання криптовалют і складних децентралізованих додатків. Впровадження EIP-4337 встановило новий стандарт для гаманців, підтверджуючи, що абстракція акаунтів може змінити зручність блокчейну без втрати безпеки чи децентралізації.
EIP-4337 впроваджує абстракцію акаунтів в Ethereum, дозволяє створювати контрактні акаунти для управління транзакціями без зовнішнього власника. Він розділяє перевірку й механізми транзакцій, забезпечує більш ефективну і безпечну взаємодію через UserOperation.
ERC-4337 — протокол Ethereum для абстракції акаунтів. Він дозволяє створювати смарт акаунти, покращує зручність і дає змогу платити комісії gas токенами ERC-20 або сторонніми учасниками, без змін у шарі консенсусу.
Ні, EIP (Ethereum Improvement Proposal) і ERC (Ethereum Request for Comment) — це різні поняття. EIP — зміни протоколу, ERC — стандарти токенів і смартконтрактів.
ERC-4337 — стандарт Ethereum для абстракції акаунтів, який дозволяє смартконтрактні гаманці, транзакції без gas і покращений користувацький досвід.









