fomox
РинкиMeme GoТрекериtradingGate FunPerpsСвоп
Реферал
Більше
Щоденний чек-ін в Meme Go для заробітку USDT
Пошук токенів/гаманців
/

Комплексний огляд EIP 4337: впровадження абстракції акаунтів у Web3

Дізнайтеся, як EIP 4337 трансформує управління обліковими записами в Ethereum завдяки абстракції облікових записів. Технологія підвищує комфорт користувачів через гаманці на основі смартконтрактів і гнучкі засоби безпеки. Рішення оптимально підходить для Web3-розробників та фахівців блокчейн-індустрії, які вивчають сучасні інновації гаманців в Ethereum.

Швидкий та зрозумілий гід з абстракції акаунтів і EIP-4337

Абстракція акаунтів (AA) стала ключовим нововведенням в екосистемі Ethereum, що змінює принципи управління акаунтами у блокчейні. Ця технологія усуває низку типових складнощів, які раніше ускладнювали доступ до блокчейн-рішень для новачків, і робить користування Ethereum простішим та доступнішим. Відокремлення джерел транзакцій від підписів і розширення параметрів безпеки акаунтів — це важливий крок у розвитку зручності використання блокчейну, а EIP-4337 є основою цієї еволюції.

Що таке абстракція акаунтів?

Для розуміння абстракції акаунтів слід проаналізувати базову структуру акаунтів у Ethereum. У мережі Ethereum існують акаунти з зовнішнім управлінням (EOA) та контрактні акаунти (CA). EOА контролюються приватними ключами та seed-фразами; користувачі зберігають і захищають ці дані самостійно. Контрактні акаунти контролюються смартконтрактами, тобто програмним кодом у блокчейні.

Абстракція акаунтів — це процес відокремлення джерел транзакцій від підписів і поступове оновлення EOА для роботи як CA. Це дозволяє смартконтрактам управляти EOА, створюючи смартконтрактні гаманці з гнучкішим управлінням та підвищеним рівнем безпеки акаунтів.

AA вирішує низку поточних обмежень у менеджменті акаунтів блокчейну. Гнучкість дій у мережі та різноманітні опції безпеки значно підвищують якість взаємодії з екосистемою Ethereum. Користувачі отримують доступ до механізмів соціального відновлення, мультипідпису і налаштовуваної логіки перевірки транзакцій, що раніше було недоступно для стандартних EOА.

Історія AA у Ethereum

Еволюція абстракції акаунтів супроводжувалась низкою ключових 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

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.

Схема транзакцій у EIP-4337

Схема транзакцій 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.

Порівняння криптогаманців EOA, MPC і AA

Для оцінки переваг 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-гаманці мають безпеку на рівні мережі при збереженні середньої сумісності з екосистемою.

Чим AA на EIP-3074 відрізняється від AA на EIP-4337?

Хоча 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-5003

Попри зупинку 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, забезпечуючи ширший доступ і розширені можливості для всієї екосистеми.

FAQ

Що таке абстракція акаунтів (AA) у Ethereum?

Абстракція акаунтів — це процес відокремлення джерел транзакцій від підписів і оновлення акаунтів з зовнішнім управлінням (EOA) для роботи як контрактні акаунти (CA). Це дозволяє смартконтрактам контролювати EOА, створюючи смартконтрактні гаманці з розширеною гнучкістю, підвищеними параметрами безпеки (соціальне відновлення, мультипідпис) та кращим користувацьким досвідом у блокчейні Ethereum.

Що таке EIP-4337 і як він реалізує абстракцію акаунтів?

EIP-4337 — це пропозиція щодо оновлення Ethereum, яка реалізує абстракцію акаунтів без змін у протоколі. Вона впроваджує нову систему з використанням операцій користувача (user ops), bundlers, контрактів entry point і paymasters для обробки транзакцій. На відміну від попередніх пропозицій, таких як EIP-3074, EIP-4337 реалізує AA без модифікацій у шарі консенсусу, робить впровадження безпечнішим і дозволяє гнучку оплату gas та пакетні транзакції.

Чим AA-гаманці відрізняються від класичних EOA-гаманців?

AA-гаманці за стандартом EIP-4337 пропонують значно більше можливостей, ніж класичні EOA-гаманці: оплату gas у різних валютах, пакетні транзакції, механізми відновлення гаманця та підтримку різних методів підпису, не лише ECDSA. Незважаючи на вищу вартість створення й комісії, вони забезпечують кращий захист, усувають єдину точку відмови і не потребують класичного керування приватним ключем, що робить користування простішим і безпечнішим.

* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate, і не є нею.