
Абстрагування акаунтів (AA) стало ключовим нововведенням у екосистемі Ethereum, що змінює управління акаунтами та взаємодію з блокчейном. Це рішення усуває низку недоліків поточної системи й відкриває доступ до блокчейн-технологій для ширшого кола користувачів. AA відокремлює джерело транзакції від підпису, посилює гнучкість безпеки акаунтів і знижує поріг входу для новачків у криптовалютах. Впровадження EIP-4337 є основою цієї трансформації, забезпечуючи практичні рішення для існуючих проблем.
Щоб зрозуміти абстрагування акаунтів, потрібно спочатку розібратися з базовою структурою акаунтів у Ethereum. У мережі Ethereum існує два типи акаунтів: акаунти зовнішнього власника (EOA) та контрактні акаунти (CA). EOA — це стандартні акаунти користувача, якими керують приватними ключами та seed-фразами. Це найпоширеніший тип володіння акаунтом. Контрактні акаунти, навпаки, працюють на основі смарт-контрактного коду, розгорнутого у блокчейні.
Абстрагування акаунтів — це зміна принципу роботи акаунтів. Вона передбачає відокремлення джерела транзакції від підпису, а також оновлення EOA до функціоналу, подібного до CA. Завдяки цьому смарт-контракти можуть керувати EOA, що дає змогу створювати смарт-контрактні гаманці. Це суттєво покращує користувацький досвід, розширює можливості управління акаунтами, дозволяє створювати складніші та зручніші для користувача моделі безпеки, недоступні для класичних EOA. EIP-4337 надає технічну основу для цієї трансформації без змін у базовому протоколі Ethereum.
Спільнота Ethereum активно підтримала абстрагування акаунтів через його здатність спростити та вдосконалити управління акаунтами. AA робить ончейн-операції гнучкішими, дозволяючи виконувати складні дії більш ефективно. Наприклад, можна об’єднувати кілька транзакцій, скорочуючи кількість окремих підтверджень та спрощуючи взаємодію з децентралізованими застосунками.
AA також покращує безпеку. Завдяки смарт-контрактним гаманцям на базі EIP-4337 користувачі отримують розширені механізми захисту: мультипідпис, соціальне відновлення, ліміти витрат. Такі функції забезпечують багаторівневий захист, що перевищує можливості класичних EOA. Крім того, AA усуває проблеми, які перешкоджали масовому поширенню, як-от жорсткі вимоги до оплати газу чи ризик втрати доступу до коштів у разі втрати приватного ключа. Рішення цих питань робить екосистему Ethereum зручнішою та доступнішою для користувача.
Впровадження абстрагування акаунтів у Ethereum відбувалося через низку ключових пропозицій. Кожна з них вплинула на поточний стан розвитку AA. Знання про різні Ethereum Improvement Proposal (EIP) допомагає зрозуміти еволюцію AA.
EIP-2938 — одна з перших спроб абстрагування акаунтів. Вона пропонувала зробити контрактні акаунти акаунтами верхнього рівня з можливістю оплачувати комісії та ініціювати транзакції напряму. EIP-3074 — альтернативний підхід із введенням двох нових OpCode: AUTH та AUTHCALL. Вони дозволяють EOA делегувати контроль смарт-контракту, що дає змогу створювати гнучкі транзакційні схеми всередині протоколу.
EIP-4337 — найновіша та найперспективніша пропозиція щодо AA. Вона вводить поняття користувацьких операцій (user ops) і окремий пул пам’яті для них. Головне, EIP-4337 реалізує абстрагування акаунтів без змін у шарі консенсусу Ethereum, що було головною перепоною для попередніх EIP. Стандарт EIP-4337 отримав підтримку серед розробників Ethereum.
Ідеї AA з’явилися ще у EIP-2938 та EIP-3074, але ці пропозиції зіткнулися з труднощами реалізації. Головна причина призупинки — потреба глибоких змін у протоколі Ethereum. EIP-4337 вирішив цю проблему, відкривши шлях до AA без зміни основи протоколу, що зробило реалізацію значно простішою.
Серед різних рішень абстрагування акаунтів EIP-4337 вигідно вирізняється практичністю реалізації. Хоча для новачків EIP-4337 може бути складним, він має переваги над попередниками й став основним стандартом AA.
EIP-3074 вимагав введення двох нових кодів операцій у Ethereum Virtual Machine (EVM). Такий підхід був би ефективним, але потребував масштабних змін у шарі консенсусу Ethereum. Такі зміни несуть ризики для всієї мережі й можуть створити проблеми з безпекою чи сумісністю, тому EIP-3074 був призупинений.
Архітектура EIP-4337 працює над поточними можливостями Ethereum, не змінюючи базові елементи протоколу. Це робить впровадження безпечнішим та дозволяє легко вдосконалювати рішення. EIP-4337 додає нові компоненти, такі як bundler та paymaster, які працюють у поточній системі без необхідності змінювати правила консенсусу кожного вузла.
EIP-4337 впроваджує абстрагування акаунтів через нову архітектуру з низкою компонентів і понять. Розуміння цих елементів дозволяє оцінити функціонал системи EIP-4337 і причини її популярності.
Основний елемент EIP-4337 — об’єкт UserOperation, який описує дію користувача у блокчейні. На відміну від стандартних транзакцій, UserOperation може містити складні інструкції й не обов’язково потребує підпису від EOA. Entry point — це смарт-контракт, який є центральним вузлом для обробки UserOperation. Він перевіряє й виконує операції згідно зі стандартом EIP-4337.
Bundler — вузли системи EIP-4337, які збирають кілька UserOperation і пакують їх у одну транзакцію. Такі транзакції надсилаються до Entry point для обробки. Bundler гарантують включення UserOperation у блоки, доки вони залишаються валідними, аналогічно до роботи майнерів чи валідаторів із класичними транзакціями.
Wallet-контракти — акаунти користувачів у формі смарт-контрактів, що містять логіку перевірки й виконання транзакцій. Wallet factory — смарт-контракт для запуску нових wallet-контрактів, що спрощує створення смарт-контрактних гаманців для нових користувачів у EIP-4337.
Aggregator — допоміжні контракти для перевірки кількох підписів одночасно, що підвищує ефективність, коли потрібно авторизувати операції кількома акаунтами. Bundler підтримують "білі списки" aggregator для безпеки. Paymaster — контракти, що реалізують власну логіку оплати газу, дозволяючи сплачувати комісії токенами, відмінними від ETH, або отримувати спонсорування — це одна з ключових функцій EIP-4337.
Послідовність транзакцій у системі EIP-4337 суттєво відрізняється від стандартних транзакцій Ethereum і включає кілька етапів із застосуванням спеціалізованих компонентів для розширення функціональності.
Щоб розпочати транзакцію, користувач створює об’єкт UserOperation за стандартом EIP-4337. Він містить усю інформацію для виконання дії: адресу відправника, параметри газу (maxFeePerGas, maxPriorityFee) та інші дані. Поле підпису визначається реалізацією акаунта, що забезпечує гнучкість автентифікації.
Після створення UserOperation потрапляє у спеціальний пул пам’яті для користувацьких операцій, окремий від стандартного пулу транзакцій. Це дозволяє обробляти UserOperation через інфраструктуру AA EIP-4337 без впливу на звичайні транзакції Ethereum.
Валідатори, зокрема bundler у EIP-4337, стежать за пулом користувацьких операцій і збирають UserOperation для обробки. Bundler об’єднує кілька UserOperation в один bundle, який форматується як стандартна транзакція Ethereum. Bundler працює як будівельник блоку, включаючи bundle у блок, доки Entry point-транзакції залишаються валідними.
Bundler може включати транзакції через інфраструктуру побудови блоків, як-от mev-boost, proposer-builder separation чи експериментальні RPC-API, наприклад eth_sendRawTransactionConditional. Це дозволяє ефективно обробляти UserOperation у різних конфігураціях мережі EIP-4337.
Після надходження bundle до Entry point-контракту розпочинається перевірка за стандартом EIP-4337. Entry point перевіряє кожну UserOperation у bundle через функцію validateUserOp, верифікує підписи та вимоги. Це гарантує виконання лише легітимних операцій і правильну авторизацію смарт-контрактними гаманцями.
Bundler додає Entry point-контракти у "білий список", створюючи довірену інфраструктуру для захисту від некоректних операцій. Це забезпечує обробку UserOperation лише через перевірені й захищені Entry point-контракти стандарту EIP-4337.
Після успішної перевірки розпочинається виконання. Смарт-контрактні гаманці, пов’язані з UserOperation, реалізують функцію ExecuteUserOp, виконуючи логіку транзакції EIP-4337. Bundler пакує ці UserOperation й викликає handleOps у Entry point-контракті, координуючи виконання всіх операцій у bundle. Після включення транзакції у блок кожна UserOperation фіксується у блокчейні.
Відмінності між типами гаманців допомагають оцінити переваги AA для екосистеми Ethereum, особливо з EIP-4337. EOA — класичний тип акаунта, низькі витрати на створення й газ, обмежена функціональність, управління приватними ключами виключно вручну, відсутність механізмів відновлення. Оплата газу тільки ETH, транзакції — по одній, підпис — ECDSA, безпека залежить від приватного ключа.
MPC (Multi-Party Computation) також базується на EOA, але розподіляє управління ключами між кількома учасниками. Це дозволяє зберегти низькі витрати на створення й газ, підвищити безпеку за рахунок розподілу ключів. Як і EOA, MPC-гаманці оплачують газ однією валютою й обробляють транзакції окремо. Підпис — ECDSA, але відсутній ризик єдиної точки відмови. Сумісність з екосистемою може бути слабкою, потрібен контроль політик авторизації підпису поза ланцюгом та прозорість.
AA-гаманці, побудовані на контрактних акаунтах за EIP-4337, — найпросунутіший варіант. Витрати на створення й газ вищі, але функціональність і безпека значно ширші. Можлива оплата газу різними валютами чи спонсорування транзакцій через paymaster EIP-4337. Доступна пакетна обробка транзакцій. AA-гаманці підтримують різні методи підпису, не потребують класичного управління приватними ключами. Вбудовані механізми відновлення захищають від втрати ключа, безпека реалізується на рівні ланцюга через EIP-4337. Сумісність з екосистемою зростає із впровадженням стандарту Ethereum.
EIP-4337 — актуальний шлях розвитку абстрагування акаунтів. Знання підходу EIP-3074 важливе для оцінки компромісів різних AA-рішень та причин вибору EIP-4337 як основи.
Підхід EIP-3074 мав кілька сильних сторін. Найголовніша — делегування контролю над EOA смарт-контракту, що дає розробникам гнучкість для створення нових транзакційних схем. Це дає змогу впроваджувати пакетний трейдинг, агрегований трейдинг і гнучку оплату газу для існуючих EOA.
Ще одна перевага — контракти-інвокери, здатні приймати оплату в токенах, окрім ETH. Такі посередники виконують транзакції між спонсорами й отримувачами, забезпечуючи гнучкі платіжні схеми. Також EIP-3074 дозволяє будь-якому EOA працювати як смарт-контрактний гаманець без запуску нового контракту, спрощуючи перехід до AA для поточних користувачів.
Попри ці переваги, EIP-3074 зіткнувся з проблемами, що призвели до його зупинки й розвитку EIP-4337. Основний недолік — потреба змін у шарі консенсусу Ethereum. Такі зміни несуть ризик "хардфорку". Це може спричинити дестабілізацію мережі й небезпеки для безпеки, через що спільнота Ethereum обрала інший шлях.
Також, хоча EIP-3074 наближає EOA до функціоналу контрактних акаунтів, він вимагає фіксованого підпису ECDSA. Це обмеження не дає перейти на альтернативні схеми підпису, які можуть бути безпечнішими чи ефективнішими. EIP-4337 вирішує ці питання, працюючи у межах чинного протоколу без змін у шарі консенсусу.
EIP-5003 — новий етап, що базується на ідеях EIP-3074 і демонструє актуальність попередніх підходів. Пропозиція вводить OpCode AUTHUSURP, який дозволяє розгортати код на авторизованих за EIP-3074 адресах.
У комбінації з EIP-3607 EIP-5003 дає механізм відкликання прав підпису для EOA. Наприклад, якщо EOA один авторизував адресу два для дій від свого імені за EIP-3074, адреса два може використати AUTHUSURP для призначення коду EOA один. Це дозволяє існуючому EOA перейти на контрактний акаунт і перейти з ECDSA на сучасніші схеми підпису. Такий підхід — потенційний шлях для переходу акаунтів на AA-функції із збереженням напрацювань EIP-3074, хоча основна реалізація AA — це EIP-4337.
Абстрагування акаунтів — основний крок у розвитку Ethereum до масового використання. Завдяки EIP-4337 екосистема отримала практичне рішення, що усуває хронічні проблеми зручності та безпеки акаунтів. Введення смарт-контрактних гаманців, гнучкої оплати газу, пакетних транзакцій і розширених механізмів захисту спрощують вхід для нових користувачів і розширюють можливості для досвідчених власників цифрових активів.
Розвиток AA у Ethereum — це еволюція, де пропозиції EIP-2938, EIP-3074, EIP-5003 дали цінні ідеї, навіть якщо їх не було реалізовано напряму. Успіх EIP-4337 — у прагматичному підході: переваги AA досягнуто без радикальних змін основи протоколу Ethereum. З інтеграцією технології, підтримкою централізованих бірж і провайдерів гаманців через EIP-4337, очікується поява більш складних і зручних застосунків, що зроблять блокчейн-технології доступними для ширшої аудиторії. Майбутнє акаунтів Ethereum — гнучке, безпечне та готове підтримати нове покоління децентралізованих застосунків, а EIP-4337 є фундаментом цієї трансформації.
EIP 4337 — це пропозиція для Ethereum щодо абстрагування акаунтів, що розділяє перевірку транзакцій і їх включення. Вона дозволяє створювати смарт-контрактні гаманці та підвищує зручність і безпеку роботи з блокчейном.
EIP 4337 — інструментарій для смарт-контрактних акаунтів, а EIP 7702 адаптує ці функції для існуючих акаунтів зовнішнього власника. 4337 — для нових можливостей, 7702 — для сумісності.
ERC-4337 — стандарт абстрагування акаунтів для Ethereum, що дозволяє смарт-контрактну взаємодію без приватних ключів. Використовує bundler і mempool для розширених функцій.
Ні, EIP і ERC — це різні поняття. EIP (Ethereum Improvement Proposal) — пропозиції щодо вдосконалення, а ERC (Ethereum Request for Comments) визначає стандарти для Ethereum.











