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

Автор: Ківі Яо (Kiwi Yao), дослідник @OKX Ventures

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

Хочете дізнатися більше? Ось усе, що вам потрібно знати, щоб зрозуміти AA з пропозицією стандарту EIP-4337.

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

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

У чому корисність АА?

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

Історія Ethereum з AA

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

Стандарт EIP-2938 передбачає створення акаунтів CA «верхнього рівня», здатних сплачувати комісії та виконувати транзакції. Стандарт EIP-3074 представляє два нові коди операцій OpCodes, щоб EOA могли використовувати контракти. Ці коди операцій — AUTH і AUTHCALL, які дозволяють EOA делегувати свої дії для контракту. Зрештою, це дозволяє розробникам проектувати об’єкти транзакцій і механізми перевірки в більш гнучких умовах.

Стандарт EIP-4337 розкриває пул пам’яті операцій користувача (операцій користувача), що є новою операційною логікою, яка замінює поточний пул пам’яті транзакцій і вмикає AA.

Хоча AA вперше згадувалася як частина стандартів EIP-2938 і EIP-3074 ще в 2020 році, запропоновані зміни зрештою були призупинені. Це було пов’язано з необхідністю масштабних змін до протоколу Ethereum. З появою стандарту EIP-4337 абстракція акаунтів стане можливою без необхідності змінювати протокол.

Порівняння з іншими рішеннями для абстракції акаунтів

Хоча стандарт EIP-4337 може здатися складним для початківців Ethereum, попереднє рішення AA, EIP-3074, передбачало введення двох нових кодів операцій. Оскільки це передбачало значні зміни на рівні консенсусу в Ethereum, пропозицію було врешті-решт призупинено і відкладено.

Детальний огляд стандарту EIP-4337

Core components of ERC-4337
An illustration showing the core components of ERC-4337

Джерело: OKX Ventures

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

  • UserOperation — це об’єкт, який виконується для особи для надсилання транзакції

  • Entry point (точка входу) — це контракт, який виконує пакетні транзакції операцій користувача

  • Bundler (пакетувальник) — це вузол, який обробляє операції користувача як групову транзакцію та додає транзакції точки входу до блоку, поки вони ще дійсні

  • Wallet contracts (контракти гаманця) — це акаунти смарт-контрактів, що належать користувачам

  • Wallet factory (фабрика гаманців) — це смарт-контракт, який може створювати нові смарт-контрактні гаманці на вимогу для фізичних осіб

  • Aggregators (агрегатори) — це допоміжні контракти, яким акаунти довіряють для перевірки зведених підписів. Потім пакетувальники додають підтримувані агрегатори в білий список.

  • Paymasters (платіжні мійстри) — це контракти, відповідальні за розміщення спеціальної логіки в блокчейні. Зокрема, вони забезпечують гнучкість оплати за газ у будь-якій валюті в будь-якій мережі.

Стандарт EIP-4337 спрощує процес АА завдяки введенню пакетувальника, контракту точки входу, платіжного майстра, фабрики гаманців, агрегатора підписів і операцій користувача.

Коли особа хоче надіслати транзакцію, вона створює операцію користувача (user op). Операція користувача містить усю інформацію, необхідну для надсилання транзакції, але ще не підписана особою.

Далі операція користувача надсилається до пакетувальника, який є смарт-контрактом, який об’єднує операції користувача в одну транзакцію. Потім пакетувальник надсилає пакетну транзакцію до контракту точки входу, яка ідентифікує та перевіряє дії користувача, пов’язані з гаманцями смарт-контрактів.

Нарешті, після перевірки гаманці смарт-контрактів, пов’язані з операціями користувача, реалізують функцію ExecuteUserOp, яка виконує транзакції.

Розуміння перебігу транзакцій

Ось приклад того, як відбуватиметься транзакція за новою пропозицією з підтримкою АА.

Початок процесу транзакції

Акаунт виражає свій намір, створюючи операцію користувача. Операція користувача може отримати доступ до даних, пов’язаних з адресою відправника, зокрема «maxFeePerGas» і «maxPriorityFee». Що стосується доступу до використання поля «підпис», кожен екземпляр доступу визначається реалізацією акаунту, а не існуючим протоколом. Потім кожна операція користувача надсилається до спеціального пулу пам’яті операцій користувача.

Відправлення транзакцій

Потім операції користувача обробляються валідаторами, які об’єднують ці операції користувача в окремий пул пам’яті. З пакетувальником, який діє як конструктор блоків, операції користувача додаються до блоку, поки транзакції точки входу все ще вважаються дійсними. Навіть якщо пакетувальник не є конструктором блоків, він може досягти цього, працюючи з інфраструктурою для створення блоків. Деякі приклади такої інфраструктури включають mev-boost, відокремлення пропозера від білдера та експериментальні RPC API-інтерфейси eth_sendRawTransactionConditional.

Ідентифікація транзакцій

Після попереднього процесу надсилання операції користувача надсилаються до контракту точки входу, який виконує пакети операцій користувача. Щоб прийняти операції користувача, пакетувальник має використати функцію validateUserOp для перевірки підпису операцій користувача. Після того, як це буде успішно зроблено, пакетувальники вносять підтримуваний контракт точки входу в білий список.

Виконання транзакцій

Нарешті, транзакцію завершує гаманець смарт-контракту, який реалізує функцію ExecuteUserOp. Пакетувальники упаковують набір цих об’єктів операцій користувача в транзакцію та ініціюють виклик функції в смарт-контракті handleOps EntryPoint. Потім ця транзакція включається в блок.

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

Вам цікаво дізнатися про відмінності між різними типами криптогаманців? Ось корисна таблиця, у якій узагальнено подібності та відмінності.

Гаманець EOA

Гаманець MPC

Гаманець АА

Тип рахунку

EOA

EOA

CA

Вартість створення

Низька

Низька

Висока

Плата за газ

Низька

Низький

Висока

Спосіб оплати за газ

Одновалютний

Одновалютний

Мультивалютний, дозволяє сторонні токени та

пакетні операції

Немає

Немає

Доступно

Спосіб підпису

ECDSA

ECDSA

Різні способи підпису

Управління приватним ключем

Обов’язково

Обов’язково

Не вимагається

Відновлення гаманця

Немає

Немає

Доступно

Вимога аудиту

Базовий аудит безпеки

Правило авторизації підпису офчейн, необхідна прозорість

Потрібен аудит ончейн-контрактів і пулу попиту

Безпека

Немає стандарту, низький рівень безпеки

Можливе офлайн-відновлення на надійних пристроях

Безпека на рівні ланцюга досягнута після стандарту EIP-4337

Сумісність екосистем

Сильна

Слабка

Помірна

Усунення єдиної точки відмови

Неможливо

Можливо

Можливо

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

EIP-3074 було призупинено, оскільки це був основний EIP, і він вимагав змін консенсусного рівня. Щоб акаунти EOA могли використовувати контракт, необхідно було ввести два нові коди операцій. Це має свої переваги та недоліки, коли розглядати версію AA стандарту EIP-3074.

Переваги

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

Ще одна перевага полягає в тому, що рішення AA EIP-3074 передбачає використання контрактів інвокера, які приймають оплату в інших токенах, ніж ETH. Ці ненадійні посередники діють як посередники, які здійснюють операції між спонсорами та реципієнтами.

Крім того, рішення AA EIP-3074 дозволяє будь-якому EOA діяти як гаманцю смарт-контракта без розгортання контракту.

Недоліки

Однією з головних причин, чому стандарт EIP-3074 не користується популярністю серед спільноти Ethereum, є те, що він передбачає зміни в рівні консенсусу. Це може мати катастрофічні наслідки, оскільки для вирішення будь-яких проблем, що виникають через зміни рівня консенсусу, може знадобитися хардфорк.

Оскільки стандарт EIP-3074 дозволяє EOA мати характеристики CA, він усе ще використовує фіксований підпис ECDSA в механізмі підпису. Завдяки цьому унеможливлюється використання довільних підписів.

Впровадження стандарту EIP-5003

Хоча стандарт EIP-3074 було призупинено, це не означає, що від пропозиції повністю відмовилися. Стандарт EIP-5003 представляє AUTHUSURP OpCode, який розгортає код на авторизованих адресах EIP-3074.

Стандарт EIP-5003 працює разом з EIP-3607, щоб відкликати повноваження оригінального ключа підпису для EOA. Наприклад, EOA один уповноважив адресу два діяти від його імені відповідно до EIP-3074. Завдяки AUTHUSURP OpCode друга адреса може встановлювати свої коди EOA. Це фактично дозволяє існуючому EOA оновитися до CA та надає йому можливість переходити від підписів ECDSA до більш ефективного та безпечного методу підпису.

Підсумок

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

Перегляньте цю сторінку, щоб дізнатися більше про те, як OKX інтегрує EIP-4337 у наш мультичейн гаманець.

Примітка
Ця стаття може містити контент про продукти, які недоступні у вашому регіоні. Вона надається виключно в інформаційних цілях. Ми не несемо відповідальності за фактологічні помилки й упущення. Вона відображає особисту точку зору автора (авторів) і не представляє думку OKX. Вона не є порадою будь-якого типу, зокрема, але не виключно: (i) порадою або рекомендацією щодо інвестування; (ii) пропозицією або закликом до купівлі, продажу чи утримання цифрових активів; (iii) фінансовою, бухгалтерською, юридичною або податковою консультацією. На цифрові активи, зокрема стейблкоїни й NFT, впливає волатильність ринку, вони пов’язані з високим ризиком, можуть втратити вартість і навіть повністю втратити свою цінність. Ви маєте вирішити, чи можете торгувати цифровими активами або утримувати їх, враховуючи свою фінансову ситуацію і схильність до ризиків. Якщо у вас виникнуть запитання щодо доречності будь-яких дій за ваших конкретних обставин, зверніться до свого юридичного, податкового або інвестиційного консультанта. На функції Web3 OKX, зокрема Web3-гаманець OKX і Ринок NFT OKX, поширюються окремі умови обслуговування, викладені на сайті www.okx.com.
© OKX, 2023. Цю статтю можна відтворювати або поширювати як повністю, так і в цитатах обсягом до 100 слів за умови некомерційного використання. Під час відтворення або поширення повного її змісту потрібно чітко вказати: «Дозвіл на використання цієї статті отримано від власника авторських прав (© OKX, 2023)». Цитати мають наводитися з посиланням на назву статті й авторство, наприклад: «Назва статті, [ім’я автора, якщо доречно], © OKX, 2023)». Використання статті в похідних і інших роботах не допускається.
Розгорнути
Схожі статті
Показати більше
Показати більше