Posted inОсвіта та поради

Що таке абстракція облікового запису?

account_abstraction2

Абстракція облікового запису — це метод налаштування блокчейн-мережі, за якого активи користувачів зберігаються виключно у смарт-контрактах, а не в зовнішніх облікових записах (External Owned Accounts, EOA). При використанні цього підходу криптогаманець перетворюється на унікальний смарт-контракт, який можна програмувати для різних цілей.

У березні 2023 року розробники Ethereum через смарт-контракт під назвою EntryPoint активували стандарт ERC-4337, що реалізує концепцію абстракції облікового запису і сумісний з усіма EVM-мережами на кшталт Polygon, Optimism, Arbitrum, BNB Smart Chain, Avalanche і Gnosis Chain. Рішення пройшло аудит Open Zeppelin.

ERC-4337 дає змогу перетворювати гаманці користувачів на облікові записи смарт-контрактів, щоб зробити адреси Ethereum зручнішими та запобігти втраті ключів.

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

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

АУЗ — шлях до вирішення цих та багатьох інших проблем. Цей метод підвищує безпеку акаунтів користувачів, покращує користувацький досвід і відкриває багато нових опцій для розробників.

Як працює АУЗ?

Згідно з документацією до ERC-4337, ключовими елементами АУЗ є:

  • UserOperation;
  • Пакувальник (Bundler);
  • Відправник (Sender);
  • EntryPoint;
  • Скарбник (Paymaster);
  • Агрегатор (Aggregator).

Усі ці елементи взаємодіють між собою, відкриваючи можливість Web3-розробникам створювати гаманці на основі смарт-контрактів і сумісні з новою системою dapps .

UserOperation — структура, яка характеризує операцію, здійснювану користувачем. Так само, як і звичайна транзакція, вона містить параметри: sender, to, calldata, maxFeePerGas, maxPriorityFee, signature, nonce. Але є й додаткові елементи на кшталт EntryPoint, Bundler і Aggregator.

Крім того, UserOperations відправляються в окремий мемпул. Там пакувальники можуть "загортати" їх у транзакції перед подальшим включенням у блок

Ще одна "фішка" UserOperations — програмована аутентифікація транзакцій.

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

Пакувальники — критично важливий елемент інфраструктури в контексті ERC-4337. У заснованій на АУЗ екосистемі вони — єдині учасники, яким необхідні зовнішні облікові записи.

EntryPoint — спеціальний контракт для верифікації та подальшого опрацювання UserOperations, одержуваних від пакувальників.

Під час процесу верифікації EntryPoint перевіряє, чи достатньо у гаманця коштів для оплати газу. У процесі виконання операції контракт звертається до облікового запису через дані calldata, які визначені за допомогою UserOperation. Також EntryPoint стягує кошти з облікового запису на базі смарт-контрактів, щоб виділити Пакувальнику коректну кількість ETH для оплати газу.

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

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

Агрегатор — допоміжний контракт, призначений для валідації агрегованих підписів. Оптимізована обробка безлічі "пакетованих" UserOperations допомагає заощадити ресурси при взаємодії з даними calldata.

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

В EIP-3074 представлено ідею "делегування контролю над EOA смарт-контракту".

EIP-4337 об’єднує основні тези попередніх EIP, але з додаванням альтернативного мемпула. Використання нового стандарту не потребує внесення змін до рівня консенсусу.

Які можливості відкриває АУЗ?

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

За його словами, інтеграція технології дасть можливість оплачувати комісії не тільки за допомогою ETH, а й іншими монетами, які переказує користувач. Крім того, розширення дасть змогу децентралізованим додаткам "спонсорувати" транзакції для своїх клієнтів.

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

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

Однак є деякі труднощі на шляху до реалізації АУЗ. Так, після перетворення всіх акаунтів користувачів на смарт-контракти функція має справно працювати в мережах другого рівня. Бутерін також допустив виникнення проблем під час інтеграції з біометричними технологіями та гаманцями.

Як АУЗ підвищує безпеку гаманців?

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

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

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

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

Завдяки АУЗ можна зробити і так, щоб невеликі транзакції верифікувалися одним підписом, а великі — кількома.

Також смарт-гаманці надають можливості:

  • створення "білого списку" довірених адрес-одержувачів криптовалюти (це також може убезпечити кошти в разі крадіжки приватного ключа);
  • заморожування акаунта з іншого авторизованого девайса в разі втрати основного пристрою для зберігання цифрових активів;
  • додавання попередньо затверджених акаунтів, які можуть авторизувати нові пристрої в разі втрати девайса або пароля ("соціальне відновлення");
  • введення добових, тижневих або місячних лімітів на обсяг переказів з акаунта.

Як АУЗ покращує користувацький досвід?

Абстракція облікового запису передбачає підтримку гаманців на основі смарт-контрактів на рівні протоколу. Це відкриває розробникам простір для експериментів з користувацьким досвідом (UX).

Одне з найбільш очевидних поліпшень UX — групування транзакцій для підвищення швидкості та ефективності операцій. Завдяки цьому обмін токенів на DEX можна буде робити в один клік разом зі схваленням витрачання активів.

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

АУЗ також відкриває можливість довірених сесій. Це може стати в пригоді в ігрових додатках, де доцільне схвалення великої кількості дрібних транзакцій на короткий час.

Абстракція облікового запису може оптимізувати процес купівлі різних товарів, зробивши його подібним до взаємодії з традиційними маркетплейсами. Користувач зможе заповнити "кошик" потрібними предметами та придбати все одразу в один клік — проміжні транзакції та схвалення опрацює смарт-контракт.

На якому етапі зараз впровадження АУЗ?

Наразі активно розробляються гаманці на базі смарт-контрактів. У нових рішеннях зроблено акцент на безпеці та поліпшенні користувацького досвіду.

На початку березня розробники платформи для управління цифровими активами Safe (раніше — Gnosis Safe) презентували SDK, який уже доступний для використання в різних мережах.

Розробка під назвою Safe дає змогу використовувати АУЗ як альтернативу традиційним криптогаманцям із закритим і відкритим ключами.

Інструмент створено у співпраці з платіжним гігантом Stripe, а також провайдерами Web3-інфраструктури Gelato і Web3Auth.

"Абстракція облікового запису є ключем до залучення мільйонів нових користувачів. Вона покликана зробити використання Web3 таким же зручним, як і Web 2.0", — заявив співзасновник Safe Річард Мейснер.

У липні проєкт інтегрував ERC-4337 у стек абстракції облікових записів для розробників Safe версії 1.4.1.

"ERC-4337 пропонує більш простий користувальницький інтерфейс, включно з такими можливостями, як вхід у систему без заповнення, соціальне відновлення, пакетні транзакції, налаштування гібридного зберігання та багато іншого", — зазначили представники Safe.

Пов’язані з АУЗ рішення також розробляють проєкти Alchemy, Starkware, ConsenSys (платформа MetaMask Snaps).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *