EIP-4337: усе що потрібно знати про новий стандарт гаманців Ethereum

09.03.2023
28 хв
4620
0
EIP-4337: усе що потрібно знати про новий стандарт гаманців Ethereum. Головний колаж статті.

Оновлення EIP-4337 було презентовано на конференції WalletCon, пов’язаній з ETHDenver, і розгорнуто в мережі Ethereum 1 березня. Головним нововведенням цього EIP стала реалізація так званої абстракції акаунтів і поява нового стандарту гаманця, який, як запевняють розробники, підніме рівень користувальницького досвіду і зробить взаємодію з блокчейном зручнішою. У цій статті ми розберемо що це за гаманці, чим відрізняються від звичайних і навіщо взагалі потрібен EIP-4337.

Ця стаття була підготовлена Incrypted і призначена для освітніх цілей. Ми сподіваємося, що матеріал допоможе вам краще зрозуміти й вивчити криптовалютний ринок.

Важливо: у статті ми використовуємо поняття «смарт-гаманець» як один із найзручніших варіантів перекладу поняття Contract Account, яке використовується в технічній документації EIP-4337.

Що таке смарт-гаманці та чим вони відрізняються від звичайних

Щоб краще зрозуміти, на що спрямований EIP-4337 і які нововведення він пропонує, повернемося на крок назад. До впровадження оновлення в мережі Ethereum існувало два типи гаманців:

  • External Owned Accounts (EOA): гаманці, для створення яких використовується постачальник інфраструктури. Це домінуючий тип гаманців, що надаються MetaMask і 99% інших розробників.
  • Contract Accounts (CA): це гаманці, які управляються кодом в EVM, простіше кажучи — смарт-контракти. Вони не потребують постачальника інфраструктури для запуску та управління.

Домінування EOA пояснюється архітектурою самої мережі, яка вимагає, щоб для підпису транзакції використовувався стандарт ECDSA. У смарт-контрактів немає можливості підписувати транзакції з використанням ECDSA, тому CA не можуть від свого імені ініціювати транзакцію. Тобто для звичайного користувача вони не приносять користі як гаманці.

Водночас EOA використовують монолітну логіку опрацювання транзакцій з використанням приватного і публічного ключа. Через монолітну логіку розробники не мають можливості кастомізувати його складові, як-от вимоги до ідентифікації. Саме тому будь-який блокчейн-додаток вимагає для взаємодії EOA-гаманець із приватним ключем і публічною адресою.

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

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

Поняття «абстракція акаунта» ні про що не говорить новачкові й ускладнює розуміння. В інформатиці абстракцією називають поділ одного процесу на кілька частин, які можуть виконуватися незалежно. Простіше кажучи, процес стає модульним і відкриває можливості для конфігурації кожного модуля. Візуально це виглядає так:

Схематичне відображення абстракції процесу від сайту web3edge.io

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

Крім того, під абстракцією облікового запису розуміють розділення облікового запису та його власника. Наразі гаманець і користувач, по суті, одне ціле, адже тільки власник сід-фрази або приватного ключа може надсилати активи і тільки власник публічної адреси може отримувати активи. Абстракція дасть змогу запустити як гаманець смарт-контракт, яким керує код в EVM, а не зв’язка з публічного і приватного ключа. Це розширює підтримувані методи аутентифікації та функції безпеки гаманця.

Порівняння архітектури EOA і AC гаманців від сайту web3edge.io

Як працюють смарт-гаманці EIP-4337

EIP-4337 — це не перша спроба впровадити абстракцію акаунтів і запустити смарт-гаманці в мережі Ethereum. Віталік Бутерін уперше презентував першу версію абстракції акаунтів ще у 2016-му, і відтоді було запропоновано 5 різних EIP (86, 1014, 2938, 3074 і 4337) присвячених цьому питанню. Однак саме EIP-4337 представив концепцію, яка не вимагає модифікації базового протоколу Ethereum, що стало вирішальним фактором, оскільки для її прийняття не потрібен хардфорк мережі.

Архітектура абстракції акаунтів в EIP-4337 складається з таких основних елементів:

Схема роботи EIP-4337 за даними сайту stackup.sh
  • UserOperation: так само називається псевдо-транзакцією. Аналог транзакції з використанням стандартного гаманця, але включає більше даних, ніж звичайна транзакція:
Список даних, включених до UserOperation за даними сайту stackup.s
  • Bundler: вузол, який відбирає UserOperation з мемпула, збирає їх у пакети і надсилає на перевірку в EntryPoint. Передбачається, що функцію Bundler-ів виконуватимуть чинні валідатори Ethereum, за що зможуть отримувати додаткову нагороду у вигляді частини комісії за транзакцію.

Важливо: оскільки EIP-4337 створює новий інфраструктурний шар поверх блокчейна Ethereum, у UserOperations свій мемпул, відмінний від основного мемпула мережі. Звичайні валідатори не мають до нього доступу.

  • EntryPoint: смарт-контракт у мережі Ethereum, що відповідає за перевірку транзакцій. Це ключовий елемент усієї інфраструктури EIP-4337, тому розробники акцентують на безпеці та ретельному аудиті смарт-контракту. EntryPoint виконує відразу кілька функцій, які сукупно можна назвати «перевіркою транзакції»:
Схема опису роботи EntryPoint, опублікована Віталіком Бутеріним
  • Contract Account: це і є смарт-гаманець, що належить користувачеві. Транзакція, перевірена через EntryPoint, одночасно надсилається і для виконання в блокчейн, і на смарт-гаманець користувача в інфраструктурі EIP-4337.

Опціонально також можуть бути розгорнуті:

  • Paymasters: це контракти-спонсори, що дають змогу оплачувати комісію за транзакцію замість відправника або платити за газ у будь-яких ERC-20 токенах. Так, P2E, наприклад, може у своїй інфраструктурі розгорнути Paymasters, щоб гравцям не потрібно було купувати ETH для оплати газу.
  • Aggregators: агрегатори підписів користувача. Роблять можливими так звані атомарні транзакції, що об’єднують кілька дій в одну транзакцію. На практиці це дає змогу взаємодіяти з dApps із мінімальною кількістю підписів.

Життєвий цикл транзакції з використанням смарт-гаманця EIP-4337 виглядає наступним чином:

  1. Користувач ініціює через застосунок гаманця (сервіс, що надає інтерфейс) UserOperation, яка надсилається до спеціального мемпулу.

Примітка: якщо це перша транзакція і в користувача немає адреси смарт-гаманця, то EntryPoint розгорне його автоматично.

  1. Bundler, функції якого виконує валідатор мережі, відбирає з цього мемпула транзакції і формує їх у пакети.
  2. Пакети UserOperations відправляються в смарт-контракт EntryPoint. Смарт-контракт перевіряє можливість виконання транзакцій і наявність у користувача або Paymaster достатньої кількості ETH для оплати газу.
  3. Якщо всі умови дотримано, то транзакцію відправляють на Contract Account одержувача і валідаторам Ethereum для включення в блокчейн.

Візуально це виглядає так:

Життєвий цикл транзакції EIP-4337 від сайту web3edge.io

На такій схемі видно основні відмінності між життєвим циклом транзакції з використанням стандартного гаманця і смарт-гаманця EIP-4337:

Порівняння циклу стандартних транзакцій і транзакцій проведених через смарт-гаманець від сайту web3edge.io

Разом з тим, дизайн смарт-гаманців, який пропонує EIP-4337, має і деякі проблеми:

  1. Підвищені витрати на газ: надсилання та перевірка транзакцій через CA потребує трохи більше газу, ніж ті самі дії з OEA. На даний момент це може стати серйозною проблемою для Ethereum, оскільки в основній мережі все ще зберігається порівняно висока плата за газ.
  2. Можливості для DoS-атак: хоча смарт-гаманці захищені від DoS-атак спеціальним механізмом утримання максимальної вартості газу до завершення транзакцій, але, за словами Віталіка, модульна структура процедури перевірки залишає деякі можливості для перевантаження інфраструктури.

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

Навіщо це потрібно: переваги гаманців EIP-4337

Основна мета абстракції акаунтів загалом і оновлення EIP-4337 полягає в тому, щоб замінити EOA-гаманці смарт-гаманцями (CA). На думку Віталіка та інших фахівців, це надасть розробникам більше можливостей для створення якісного користувацького досвіду. Зокрема, смарт-гаманці підтримують:

  • Різні варіанти автентифікації: абстракція логіки перевірки транзакцій дає змогу гнучко налаштовувати варіанти автентифікації користувача. Для цього може використовуватися довірена електронна пошта, біометричний аутентифікатор, або, наприклад, пристрій із білого списку. Тобто будь-який гаджет можна перетворити на свого роду аналог приватного ключа.

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

  • Гнучкі механізми оплати комісії: спонсорські контракти Paymaster дають змогу перекласти обов’язок з оплати газу з відправника на третю сторону і створювати більш складні моделі оплати газу (наприклад, у токенах ERC-20 або зі знижкою). Тобто користувачеві тепер не потрібно купувати ETH, щоб взаємодіяти з dApps, що знижує вхідний поріг для новачків.
  • Розширені налаштування безпеки облікового запису: додаткові налаштування безпеки можуть включати, крім способу автентифікації, також мультипідписи, денний ліміт витрат або, наприклад, тайм-лаги для транзакцій. Це допоможе захистити кошти користувача навіть якщо зловмисник отримав доступ до акаунта.
  • Атомарні мультиоперації: за цю функцію відповідають контракти Agreggators, описані в попередньому розділі. Завдяки їм можна забути про численні підписи, які були потрібні, щоб провести перший своп на DEX, купівлю NFT на маркетплейсі або іншу взаємодію з dApps.

І це означає, що часи, коли для того, щоб залетіти у звичайну P2E, потрібно було створити гаманець, купити ETH, підписати кілька транзакцій і постаратися не дати доступ до активів скамному смарт-контракту залишилися позаду. Гаманці нового типу за функціоналом будуть більш схожі на облікові записи Google або Apple ID, ніж на MetaMask і Ledger.

EIP-4337 — це важливий крок на шляху до масадопшну, оскільки нові акаунти дають звичніший і зрозуміліший користувацький досвід. Малоймовірно, що люди, які забувають пароль від Twitter, використовуватимуть технологію, яка вимагає запам’ятати 12 слів і зрозуміти, що таке приватний і публічний ключ.

Як створити смарт-гаманець

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

  • Stackupтулкіт для користувачів і розробників, що дозволяє розгорнути і гнучко налаштувати свій CA.
  • ArgentX: популярний гаманець із функцією соціального відновлення доступу, щоправда не для Ethreum, а для zkSync. Не зовсім EIP-4337, але може бути корисно.
  • Soulwalletмає надати зручний інтерфейс для створення та управління гаманцем, але поки що на стадії розробки. Можна записатися в лист очікування.
  • Unipass: мультичейновий і некастодіальний гаманець із функцією соціального відновлення. Найзручніше рішення з тих, що існують на даний момент.

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

Тепер покроково розглянемо, як створити смарт-гаманець з використанням рішення від Unipass:

  1. Переходимо на Unipass і логінимося через Google або електронну пошту:
Створення гаманця від Unipass. Крок 1
  1. Встановлюємо пароль:
Створення гаманця від Unipass. Крок 2
  1. Усе. Ваш гаманець створено, запам’ятовувати і вводити сід-фразу не потрібно:
Створення гаманця від Unipass. Крок 3
  1. У налаштуваннях можна встановити двофакторну аутентифікацію, а також вибрати Guardians:
Створення гаманця від Unipass. Крок 4

Примітка: guardians це довірені електронні пошти, власники яких допоможуть вам відновити гаманець у разі втрати пароля або відсутності доступу до 2FA. За замовчуванням Guardian-ом є той e-mail з яким ви логінилися на сайті.

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

Висновки

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

  • ідентифікація без приватних ключів/сід-фрази;
  • оплата газу третьою стороною;
  • гнучкі налаштування безпеки та доступу до акаунту;
  • атомарні транзакції для зручної взаємодії з dApps.

На ринку вже з’явилося кілька сервісів, що надають для розгортання і налаштування смарт-гаманця зручний інтерфейс і набір інструментів, але поки що технологія на ранньому етапі розвитку, тому клієнтів небагато. Крім того, не всі dApps підтримують новий стандарт гаманців.

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

Для кращого засвоєння матеріалу рекомендуємо подивитися відео на цю тему:

Як вам стаття?

0
0

статті на цю ж тему

Огляд Pendle Finance: як працює протокол...
avatar Nikita Tipikin-Holovko
08.03.2024
Огляд MyEtherWallet для новачків: як...
avatar Denis Solomyanyuk
04.03.2024
Що таке DeFi і як працюють...
avatar Andrew Makarov
22.01.2024