Суть абстрагування облікового запису полягає в обліковому записі контракту. У Ethereum існують два типи облікових записів:
Простий приклад полягає в тому, що адреса контракту - це адреса, куди розгортається контракт. Будь-який контракт в Ethereum, який можна викликати, має адресу контракту, наприклад, адресу контракту USDT. Обліковий запис EOA - це відомий обліковий запис ETH, як, наприклад, обліковий запис, показаний у гаманці Metamask.
0xdac17f958d2ee523a2206206994597c13d831ec7 є адресою контракту для токенів USDT. Адреси контрактів не можуть бути створені безпосередньо ззовні; вони створюються та керуються EOAs. EOA, який створив адресу контракту USDT, є 0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
Отже, ми розуміємо, що обліковий запис AA є особливим типом облікового запису угод (CA) в Ethereum. Облікові записи AA все ще потрібно створювати EOAs та керувати зовнішніми EOAs, оскільки єдиний спосіб взаємодії з ланцюжком Ethereum - це через EOAs. Відповідно, AA служить стандартизованою та модульною реалізацією гаманців CA, яка продовжує розвиватися з часом.
Ми щойно пояснили взаємозв'язок між AA та CA. Перед пропозицією стандарту ERC-4337 вже існувала значна кількість доступних гаманців CA. Нижче ми надаємо інформацію про три популярні гаманці CA та їхню роботу:
На ранніх етапах розвитку Ethereum з'явилося кілька контрактних гаманців. Найвідомішим з них є гаманець Parity, розроблений командою Гевіна Вуда, засновниками PolkaDot. Парність реалізована в Rust і служить альтернативою вузлу Geth, який розроблений на Golang. Parity Wallet — це контрактний гаманець із мультипідписом, який дозволяє кільком зовнішнім обліковим записам (EOA) контролювати та керувати контрактним рахунком (CA). Однак у 2017 році хакер скористався помилкою в гаманці Parity і вкрав понад 150 000 ETH. Цей інцидент спричинив втрату довіри до контрактних гаманців.
В результаті, гаманці AA потребують великої практики та стандартизації, щоб запобігти подібним випадкам.
Багатопідписний гаманець Gnosis наразі є основним багатопідписним гаманцем і використовується більшістю установ та розробників. Значна кількість команд зберігає свої розробницькі кошти в багатопідписному гаманці Gnosis, щоб запобігти зловживанням з боку членів команди. До відомих команд, які використовують безпечний гаманець Gnosis, включеніYearn,Aave, таBalancer. Безпека Gnosis Safe надзвичайно висока, але її використання досить дороге, що є поширеною проблемою у гаманцях CA.
Гаманець Unipass поєднує технологію MPC та контрактні гаманці CA, дозволяючи користувачам використовувати соціальний вхід без самостійного утримання гаманця EOA. Слід зауважити, що як Гаманець Parity, так і Gnosis Safe все ще вимагають, щоб користувачі самостійно утримували свої приватні ключі. Загальний потік Unipass такий:
Важливо зауважити, що початкове рішення AA Unipass не дотримується повністю стандарту ERC-4337. Керування гаманцем все ще делегується EOA, яке контролюється MPC Unipass.
Суть AA - стандартизований, модульований обліковий запис CA. ERC-4337 головним чином виявляє наступні інновації:
Діаграма вище приблизно описує стандартний процес транзакції за стандартом ERC-4337:
Ми можемо узагальнити основні відмінності між AA та традиційним CA наступним чином:
Перед тим, як повністю зрозуміти AA, багато людей часто плутають концепції AA та MPC через те, що вони обидва підтримують функції, такі як соціальне відновлення та безпосередні розширення. Основні відмінності між AA та MPC наступні:
Наступним кроком буде представлення MPC та його унікальних особливостей.
Рішення MPC широко використовуються в сучасних соціальних входах, і багато проєктів запустили MPC гаманці, щоб забезпечити безланцюжковий досвід гаманця, усуваючи потребу у користувачів у встановленні плагінових гаманців або управлінні приватними ключами. У галузі ці типи управляються гаманців колективно називаються Wallet-as-a-Service (WaaS). Досвідчені проєкти включають:
У зв'язку з зростаючою кількістю послуг WaaS можна передбачити, що у майбутньому буде більше продуктів, що пропонують WaaS. Однак централізовані біржі мають абсолютний обсяг користувачів та великий досвід у цій галузі, тому є можливість, що всі централізовані біржі нададуть відповідні послуги в майбутньому.
Основним недоліком традиційних Зовнішніх Власницьких Облікових записів (EOA) є те, що користувачі відповідають за зберігання своїх власних приватних ключів. Це самостійна опіка викликає наступні питання:
AA (Account Abstraction) розроблено для того, щоб дозволити користувачам налаштовувати облікові записи соціального відновлення. Вони можуть використовувати один або кілька зовнішніх ЕОА для повернення контролю над своїм AA. Загальний порядок для соціального відновлення такий:
Через цей процес апеляції, навіть якщо користувач втратить контроль над EOA, що керує АА, він все ще може переключитися на новий EOA. На відміну від соціального входу через багатосторонні обчислення (MPC), цей соціальний відновлення є повністю децентралізованим і не має одного точкового відмови.
Делегування газу є основою масового прийняття блокчейну. Для нових користувачів, які вступають в Web3, найбільшою проблемою є попереднє фінансування газових комісій. Використовуючи Платника AA для делегування газу, нові користувачі можуть бути субсидовані, тим самим знижуючи бар'єр входу до програм Web3.
Ще одне ключове питання, що впливає на масове прийняття Web3, - це сумісність між ланцюжками. Paymaster, завдяки інтеграції міжланцюжкових протоколів, таких як Layer0/Warmhole, дозволяє користувачам внесення депозитів у Ланцюжок A (наприклад, Ethereum) і безперешкодно використовувати додатки в іншому Ланцюжку B (наприклад, Matic чи BSC), що призводить до зникнення меж між ланцюжками і допомагає новим Даппам здобувати користувачів з інших ланцюжків.
Хоча ми обговорювали переваги AA, стандарт ERC-4337 все ще швидко ітерується, щоб вирішити його поточні недоліки:
На відміну від EOA, як тільки створено EOA, його можна використовувати на будь-якому сумісному з EVM ланцюжку, оскільки однакова пара публічний-приватний ключ може бути використана для взаємодії на різних ланцюжках. Однак, через те, що AA має характер облікового запису угод (CA), новий контракт AA потрібно розгортати окремо на кожному ланцюжку або Layer2. Високі витрати на розгортання контрактів AA можуть відлякати користувачів від прийняття AA.
Крім того, якщо користувачі неправильно розгортають, наприклад, використовуючи різні Фабрики для розгортання облікових записів контрактів AA, вони можуть отримати різні адреси AA на різних ланцюгах, що може спричинити значні непорозуміння та складнощі в використанні та розумінні. Хоча поточні Фабрики гаманців AA досягли створення однакової адреси AA на різних ланцюгах, користувачам все ще потрібно проявляти обережність при перевірці використовуваних протоколів, щоб забезпечити послідовність їх адрес AA на різних ланцюгах та тим самим запобігти майбутнім проблемам чи непорозумінням.
Як вже зазначалося, облікові записи AA потребують від користувачів розгортання контрактів AA, створених Wallet Factory на різних ланцюгах та Layer2 окремо. Навіть з поточними бічними ланцюгами, ланцюгами, сумісними з EVM, та нижчими комісіями на рівні Layer2, це все ще значний витрати. З поточними комісіями на рівні газу та ціною ETH в $1800, розгортання облікового запису AA на головному мережі ETH обійдеться близько $20-$40, тоді як на ланцюгах, сумісних з EVM, або Layer2 ці витрати становитимуть від $0.5 до $5. Для більшості користувачів важко прийняти витрати на розгортання, перш ніж вони навіть використовують Dapp. Припускаючи, що ці витрати компенсує Бандлер або Пеймастер, вартість субсидії все ще надто висока і потребує сильних стимулів.
Залежно від реалізації AA та кількості угрупованих транзакцій у одній транзакції бандлера (чим більше транзакцій, тим нижчий витрати газу на кожен UserOP), споживання газу поточних стандартних транзакцій ERC-4337 може бути кілька разів вищим, ніж у звичайних облікових записів EOA. Це тому, що транзакція, ініційована обліковим записом AA, часто вимагає виклику 3 або більше контрактів та включає в себе складні обчислення, такі як перевірка підпису BLS на ланцюжку. Поточний стандарт ERC-4337 також оптимізується для цього, за наступною дорожньою картою:
Ми щойно згадали про відносно високі витрати при використанні стандарту ERC-4337. Які конкретні витрати? Спочатку давайте введемо поняття, яке є формулою розрахунку комісійних витрат на газ:
плата = газ × ціна
Так скільки коштів на впровадження та використання ERC-4337? Команда StackUp надала точні оцінки у своєму блозі.
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
Таблиця 1. Газ для транзакцій ERC-4337
Таблиця вище показує:
Таблиця 2. Оцінки плати за газ для транзакцій ERC-4337
Ця таблиця надає оцінки витрат на різні операції з обліковим записом ERC-4337 AA за поточними цінами на газ. Ми можемо спостерігати наступне:
На висновок, через високі витрати на створення облікових записів ERC-4337 AA на мейннеті, широке поширення ймовірно спочатку відбудеться на Layer2 та ланцюгах, сумісних з EVM.
Ще однією перешкодою для розвитку AA є сумісність інфраструктури з контрактами AA. Більшість Dapps поза рідним ланцюжком AA підтримують лише рахунки EOA. Підтримка AA потребує, щоб Dapps використовували SDK AA для транзакцій і змінювали параметри запиту для інформації користувача.
Крім того, блокчейн-браузери, такі як Etherscan, в першу чергу призначені для EOA. Щоб підвищити зручність запитів до облікових записів AA, ці браузери можуть вимагати серії оптимізацій інтерфейсу користувача та UX.
Крім Ethereum, більшість нових громадських блокчейнів вже реалізували власні облікові записи AA.
Native AAs are implemented at the chain’s consensus layer, meaning they don’t require community developers for deployment. These are usually internal or system contracts developed and maintained by the blockchain developers.
Зниження витрат на розгортання та додаткові плати за газ
Внутрішні контракти часто мають вищі дозволи та пріоритети, а їх обчислення газу відрізняються від зовнішніх контрактів. Тому внутрішні автономні агенти мають нижчі витрати на розгортання і зазвичай не додають значної накладності газу.
Оновлення власних AAs вимагає від розробників громадського ланцюжка взяти на себе відповідальність, часто потрібні м'які або жорсткі вілки. Це робить їх менш гнучкими, ніж модульні ERC-4337, обмежуючи темп ітерації та випуску нових функцій.
Ланцюги з власними AA активно вивчають розширюваність та модульність ERC-4337, що дозволяє будувати більше функцій на основі власних AA.
Near реалізує власні рахунки в рівні консенсусу з обліком, збереженим безпосередньо в блокчейні. Він підтримує кілька ключів доступу та соціальне відновлення (електронна пошта, номер телефону). Наступне зображення ілюструє відмінності між обліковим записом ETH та Near.
Через модель власності ресурсів в Aptos та Sui, обидва Aptos та Sui реалізували вбудовану AA на рівні консенсусу. На прикладі Aptos, рахунок Aptos - це набір ресурсів на блокчейні, тому при створенні рахунку Aptos необхідно передоплатити Aptos для завершення ініціалізації рахунку. Рахунки Aptos/Sui також підтримують зміну ключа автентифікації, але адреса рахунку залишається тією ж, серед інших функцій AA.
У відміну від Near/Aptos/Sui/Starknet, ZKsync підтримує як EOA, так і AA на рівні згоди. Тому ZKsync може ініціювати транзакції як з використанням EOA, так і з використанням AA, що дозволяє використовувати його з популярними гаманцями, такими як Metamask та Argent. Дизайн AA ZKSync базується на ERC-4337, що робить його сумісним з гаманцями та Dapps, які підтримують EIP-4337. Наразі додаткова вартість газу для транзакцій AA в ZKsync становить приблизно execution_gas + 20000, що становить близько 0,01USD на момент написання. Це невелика вартість порівняно з неіндігенним AA ERC-4337.
Starknet інтегрується з AA та не підтримує транзакції, ініційовані EOA. Рахунки AA в Starknet розроблені на основі ERC-4337. На даний момент AA контракти в Starknet надаються OpenZeppelin та розроблені з використанням Cairo.
На ICP рідні облікові записи AA називаються Інтернет-ідентифікація (скорочено II). Реалізація II відрізняється від ERC-4337. II використовує WebAuthn, який широко використовується в Web2-фреймворках, дозволяючи користувачам контролювати свої облікові записи за допомогою вбудованих безпекових чіпів у своїх смартфонах. Користувачі можуть вільно додавати та видаляти пристрої. У суті, II перетворює смартфони користувача на апаратні гаманці.
Bundler замінює попередній вузол Mempool в екосистемі AA. UserOps більше не надсилаються валідаторам, а надсилаються Bundlers для упаковки та обробки на ланцюжку. Основні бандлери наступні:
Bundler Stackup реалізований мовою Go та має на меті безшовну інтеграцію з Go Ethereum (geth). Це перший виробничий стандартний бандлер у цьому списку, який повністю відповідає ERC-4337. Stackup активно підтримується та має повну документацію, що робить його найпопулярнішим бандлером на даний момент. Stackup надає послуги бандлінгу, усуваючи потребу у команд у створенні власної служби бандлінгу.
Bundler Infinitism розроблений на TypeScript та був розроблений оригінальним автором ERC-4337. Крім того, Infinitism розробляє договори ERC-4337, що робить його бандлер дуже сумісним з ERC-4337. Однак для підтвердження продуктивності та стабільності необхідна додаткова перевірка, оскільки він розроблений на TypeScript.
Skandha - це пакувальник, розроблений на TypeScript компанією Etherspot. Etherspot активно працює над реалізацією пам'яті пакувальника. У квітні 2023 року Skandha пройшов всі тести.
Voltaire - це протокол бандлера, розроблений командою Candide для підтримки власного гаманця Candide. Voltaire - це реалізація на основі Python ERC-4337. Наразі Voltaire надає хорошу підтримку власного відкритого гаманця Candide.
Rundler - це протокол Bundler, розроблений Alchemy, найбільшим постачальником сервісу вузлів для Ethereum. На даний момент Rundler не є відкритим джерелом, але завдяки великій користувацькій базі Alchemy він може отримати значну підтримку трафіку.
Bundler наразі знаходиться в фазі швидкого розвитку та ітерації.
Поточна больова точка, яку бандлер повинен вирішити, — це проблеми узгодженості та комунікації мемпулу бандлера. Якщо припустити, що на ринку існує кілька протоколів бандлерів і між ними не вистачає зв'язку, це може призвести до серйозної проблеми DDoS-атак на бандлер. Якщо користувач одночасно надсилає транзакції декільком бандлерам без зв'язку між ними, ці пакувальники одночасно пакують і надсилають UserOps валідатору. Однак, буде виконано лише UserOp від першого бандлера, а транзакції від решти бандлерів будуть відхилені через ту саму неактуальність. У цьому випадку, якщо платник користувача має недостатній баланс, бандлери сплачуватимуть недійсний газ за ці UserOps. Отже, наразі зв'язок між бандлерами є проблемою, яку необхідно вирішити, щоб запобігти спам-атакам UserOp на бандлерів.
Поточні пачулки високо централізовані. Якщо пачулки створюють чорний список певних користувачів, це призведе до того, що їх транзакції не зможуть бути виконані. Це суперечить децентралізації та бездозвільній природі блокчейну.
Paymaster є важливою частиною AA, оскільки він може субсидувати плату за газ для користувачів і значно знизити бар'єр для входу в Web3. Ось деякі популярні реалізації пеймастера:
stackups paymaster
Платник Stackups є частиною екосистеми Stackups AA. Stackups реалізував інтерфейс платника, де DApps або інші постачальники послуг можуть налаштувати власні субсидіюючі рахунки на https://app.stackup.sh/sign-in для спонсорування транзакцій користувачів.
Панель Biconomy
Панель керування Biconomy дозволяє організаціям та розробникам використовувати компоненти AA у своїх проектах. Власники проектів можуть налаштувати свої проекти для оплати користувачами паливних внесків через платників та додавати умови спонсорства палива. Зареєструвавши свого платника для будь-якого підтриманого ланцюжка, додатки можуть значно спростити веб3-досвід для користувачів.
Традиційні облікові записи EOA часто мають проблеми з одночасним досягненням децентралізації, зручності використання та безпеки.
У традиційній структурі EOA користувачам часто потрібно придбати блокчейн-токени, наприклад ETH, за допомогою фіатних валют для використання веб-застосунків Web3. Це зазвичай передбачає використання централізованих бірж (CEX) для внесення фіатної валюти, обміну її на необхідний токен і, нарешті, його передачу на новостворений обліковий запис EOA. Цей процес потребує значного розуміння Web3 та є навантажувальним у багатьох регіонах. Введення платників у AA дозволяє делегувати початкові витрати на входження користувачів власникам проектів DApps. Передача плати за газ має значний вплив на масове використання Web3.
Наразі ERC-4337 знаходиться на початкових етапах, і на його основі розробляється безліч інструментів. На стороні платника можна перевірити користувацький UserOp, щоб уникнути випадків шахраїнства, таких як надмірні схвалення або несанкціоновані перекази коштів. Аудит безпеки платника може бути проведений за допомогою добре встановлених методів у фінансовому секторі web2 для перегляду проблемних транзакцій та забезпечення безпеки коштів користувачів.
Іншим інноваційним рішенням, яке розробляється, є ізоляція безпеки облікових записів, така як відокремлення фондового рахунку від грального рахунку і т.д. Коли користувачі використовують звичні функції DeFi та перекази, використовується фондовий рахунок з більш строгими перевірками безпеки. Коли користувачі спробують GameFi або незвичайний DeFi, використовується гральний рахунок. Таким чином, без збільшення приватних ключів, які користувачам потрібно керувати, дизайн ізоляції безпеки облікових записів забезпечує безпеку коштів користувачів на нижньому рівні.
Наразі багато пристроїв, таких як смартфони та ноутбуки, мають вбудовані безпечні чіпи, такі як чіп безпеки Apple T2, який використовується в Mac та iPhone. Таким чином, в основному, кожен пристрій з чіпом Tee є надійним апаратним гаманцем. Проте наразі ці безпечні чіпи не підтримують поширені алгоритми підпису блокчейну, такі як ECDSA.
Поточна безпека приватних ключів EOA в додатках / мобільних гаманцях зберігається безпосередньо у відкритому вигляді на пристрої. Якщо пристрій скомпрометовано, активи користувача можуть бути швидко втрачені. Тому розширені гаманці для браузера, такі як Metamask, мають високу зручність, але низьку безпеку.
Апаратні гаманці
Апаратні гаманці забезпечують, що приватні ключі ніколи не залишають пристрій і не можуть бути безпосередньо доступні зовнішнім сторонам. Однак більшість користувачів не можуть постійно носити свої апаратні гаманці з собою, що призводить до високої безпеки, але низької зручності використання.
З використанням гаманця AA та інноваційного методу верифікації на ланцюжку транзакції можуть бути безпосередньо підписані за допомогою безпечного чіпу пристрою, що гарантує, що приватний ключ користувача ніколи не покидатиме пристрій. Це забезпечує більшу безпеку порівняно з традиційними обліковими записами EOA. На даний момент Інтернет-Комп'ютерна Ідентичність та проект під назвою Porton Wallet на хакатоні ETHBogota реалізували рішення, яке використовує підпис безпечного чіпу пристрою та ключ сеансу, що дозволяє користувачам повністю використовувати безпеку своїх пристроїв, таких як смартфони або комп'ютери, еквівалентно апаратному гаманцю.
Благодаря високоякісному модульному дизайну ERC-4337, через його розширення та ітерацію, облікові записи AA отримають значно покращену безпеку.
Наразі ще однією перешкодою для масового прийняття Web3 є фрагментація екосистем блокчейнів на різних ланцюгах.
Як простий приклад, розглянемо користувача Ethereum (ETH), який хоче випробувати додаток на Binance Smart Chain (BSC). Що повинен зробити цей користувач? Спочатку користувачу потрібно обміняти свої ETH на відповідний USDT/USDC, а потім використовувати міжланцюжковий міст, щоб перенести ці токени з ETH на BSC. Після цього користувачу потрібно придбати деякі BNB на централізованій біржі (CEX) та перенести їх на BSC. Тільки після цього користувач може почати випробовувати різноманітні додатки DeFi на BSC. Цей увесь процес займає багато часу, має погану безпеку і супроводжується крутою кривою навчання, особливо для нових користувачів, які можуть не бути знайомі з міжланцюжковими мостами.
Завдяки поточним широко використовуваним крос-чейн протоколам, таким як Layer0 + AA, процес використання DApp у різних ланцюгах може бути значно спрощений. Paymaster може повністю інтегрувати крос-чейн протоколи, щоб досягти принципу «заряди один раз, заплати скрізь». Наприклад, якщо користувач поповнює USDC на платіжному майстрі ETH, за умови, що обліковий запис АА користувача в різних ланцюжках однаковий і прив'язаний до одного і того ж майстра, paymaster може вести облік від імені користувача. Користувачеві не потрібно вручну переносити активи в будь-який EVM-сумісний ланцюг/Layer2 з тією самою адресою облікового запису.
Найбільшою перевагою впровадження пеймастера є те, що він програмно встановлює умови для субсидування користувачів Dapp.
У минулому були випадки, коли проекти екосистеми Web3 субсидували газ для привертання клієнтів. Однак субсидування рахунків EOA без програмного встановлення умов часто призводило до зловживання субсидіями фондів ботами та шахраями, такими як безпосередній переказ субсидійних коштів, не привертаючи справжніх клієнтів.
На даний момент дошки управління головного бухгалтера, як правило, включають функціональність субсидування газових витрат для Dapps. Розробники проектів можуть легко встановлювати умови для субсидій на дошці, так що лише транзакції, які відповідають конкретним умовам, мають право на субсидію. Керуючи умовами транзакцій у субсидіях через головного бухгалтера, DApps можуть привертати більше реальних користувачів, утримуючи витрати під контролем.
Під час EOA, через домінування Metamask, поточні Dapps головним чином відкриваються через веб-інтерфейси, що призводить до більш високої ринкової частки для веб-плагінів гаманців. Однак масове прийняття web3 залежить від участі мобільних користувачів, що робить розробку та адаптацію AA більш Mobile Native.
Зі зростанням популярності Dark Forest непомітно з'являється тенденція повністю ончейн-ігор. Однак користувацький досвід використання EOA (Outternally Owned Accounts) в іграх дуже поганий. Уявіть, що вам доводиться використовувати гаманець для авторизації або підписання транзакцій щоразу, коли ви виконуєте будь-яку дію в грі. Ця постійна перерва заважає гравцям повністю зосередитися на самій грі. Щоб вирішити цю проблему, аркадні облікові записи, які є спеціалізованими версіями звичайних AA, були розроблені спеціально для повністю ончейн-ігор. Ці облікові записи авторизують певні ігрові операції, дозволяючи гравцям брати участь у повноцінних ончейн-іграх без необхідності повторюваної авторизації та підписання транзакцій. В результаті ігровий досвід значно покращується. Зростання кількості повністю ончейн-ігор у майбутньому, ймовірно, сприятиме широкому поширенню облікових записів AA.
Нещодавно концепція транзакцій на основі намірів набула популярності завдяки зростанню Unibot, і Uniswap також запустив проект Uniswap X для просування реалізації транзакцій на основі намірів. Наведений нижче приклад може пояснити, що таке транзакції на основі намірів:
Якщо хтось готовий виконати намір, контрагент ініціює ще один намір переказати 1000 USDT Алісі та отримати 1 ETH.
Угода успішно узгоджена.
Intent-Based Transactions забезпечує наступні переваги:
На даний момент CowSwap реалізував транзакції на основі наміру на основі EOA. Однак транзакції на основі наміру на основі EOA все ще вимагають від користувачів авторизації (ERC-20, Approve) перед початком транзакції. Однак, за новою архітектурою облікових записів AA, користувачі можуть відправляти Approve та Intent разом до бандлера. Бандлер AA може одночасно отримати доступ до Intents Poll, збігати наміри та забезпечити більш зручний досвід торгівлі.
Суть абстрагування облікового запису полягає в обліковому записі контракту. У Ethereum існують два типи облікових записів:
Простий приклад полягає в тому, що адреса контракту - це адреса, куди розгортається контракт. Будь-який контракт в Ethereum, який можна викликати, має адресу контракту, наприклад, адресу контракту USDT. Обліковий запис EOA - це відомий обліковий запис ETH, як, наприклад, обліковий запис, показаний у гаманці Metamask.
0xdac17f958d2ee523a2206206994597c13d831ec7 є адресою контракту для токенів USDT. Адреси контрактів не можуть бути створені безпосередньо ззовні; вони створюються та керуються EOAs. EOA, який створив адресу контракту USDT, є 0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
Отже, ми розуміємо, що обліковий запис AA є особливим типом облікового запису угод (CA) в Ethereum. Облікові записи AA все ще потрібно створювати EOAs та керувати зовнішніми EOAs, оскільки єдиний спосіб взаємодії з ланцюжком Ethereum - це через EOAs. Відповідно, AA служить стандартизованою та модульною реалізацією гаманців CA, яка продовжує розвиватися з часом.
Ми щойно пояснили взаємозв'язок між AA та CA. Перед пропозицією стандарту ERC-4337 вже існувала значна кількість доступних гаманців CA. Нижче ми надаємо інформацію про три популярні гаманці CA та їхню роботу:
На ранніх етапах розвитку Ethereum з'явилося кілька контрактних гаманців. Найвідомішим з них є гаманець Parity, розроблений командою Гевіна Вуда, засновниками PolkaDot. Парність реалізована в Rust і служить альтернативою вузлу Geth, який розроблений на Golang. Parity Wallet — це контрактний гаманець із мультипідписом, який дозволяє кільком зовнішнім обліковим записам (EOA) контролювати та керувати контрактним рахунком (CA). Однак у 2017 році хакер скористався помилкою в гаманці Parity і вкрав понад 150 000 ETH. Цей інцидент спричинив втрату довіри до контрактних гаманців.
В результаті, гаманці AA потребують великої практики та стандартизації, щоб запобігти подібним випадкам.
Багатопідписний гаманець Gnosis наразі є основним багатопідписним гаманцем і використовується більшістю установ та розробників. Значна кількість команд зберігає свої розробницькі кошти в багатопідписному гаманці Gnosis, щоб запобігти зловживанням з боку членів команди. До відомих команд, які використовують безпечний гаманець Gnosis, включеніYearn,Aave, таBalancer. Безпека Gnosis Safe надзвичайно висока, але її використання досить дороге, що є поширеною проблемою у гаманцях CA.
Гаманець Unipass поєднує технологію MPC та контрактні гаманці CA, дозволяючи користувачам використовувати соціальний вхід без самостійного утримання гаманця EOA. Слід зауважити, що як Гаманець Parity, так і Gnosis Safe все ще вимагають, щоб користувачі самостійно утримували свої приватні ключі. Загальний потік Unipass такий:
Важливо зауважити, що початкове рішення AA Unipass не дотримується повністю стандарту ERC-4337. Керування гаманцем все ще делегується EOA, яке контролюється MPC Unipass.
Суть AA - стандартизований, модульований обліковий запис CA. ERC-4337 головним чином виявляє наступні інновації:
Діаграма вище приблизно описує стандартний процес транзакції за стандартом ERC-4337:
Ми можемо узагальнити основні відмінності між AA та традиційним CA наступним чином:
Перед тим, як повністю зрозуміти AA, багато людей часто плутають концепції AA та MPC через те, що вони обидва підтримують функції, такі як соціальне відновлення та безпосередні розширення. Основні відмінності між AA та MPC наступні:
Наступним кроком буде представлення MPC та його унікальних особливостей.
Рішення MPC широко використовуються в сучасних соціальних входах, і багато проєктів запустили MPC гаманці, щоб забезпечити безланцюжковий досвід гаманця, усуваючи потребу у користувачів у встановленні плагінових гаманців або управлінні приватними ключами. У галузі ці типи управляються гаманців колективно називаються Wallet-as-a-Service (WaaS). Досвідчені проєкти включають:
У зв'язку з зростаючою кількістю послуг WaaS можна передбачити, що у майбутньому буде більше продуктів, що пропонують WaaS. Однак централізовані біржі мають абсолютний обсяг користувачів та великий досвід у цій галузі, тому є можливість, що всі централізовані біржі нададуть відповідні послуги в майбутньому.
Основним недоліком традиційних Зовнішніх Власницьких Облікових записів (EOA) є те, що користувачі відповідають за зберігання своїх власних приватних ключів. Це самостійна опіка викликає наступні питання:
AA (Account Abstraction) розроблено для того, щоб дозволити користувачам налаштовувати облікові записи соціального відновлення. Вони можуть використовувати один або кілька зовнішніх ЕОА для повернення контролю над своїм AA. Загальний порядок для соціального відновлення такий:
Через цей процес апеляції, навіть якщо користувач втратить контроль над EOA, що керує АА, він все ще може переключитися на новий EOA. На відміну від соціального входу через багатосторонні обчислення (MPC), цей соціальний відновлення є повністю децентралізованим і не має одного точкового відмови.
Делегування газу є основою масового прийняття блокчейну. Для нових користувачів, які вступають в Web3, найбільшою проблемою є попереднє фінансування газових комісій. Використовуючи Платника AA для делегування газу, нові користувачі можуть бути субсидовані, тим самим знижуючи бар'єр входу до програм Web3.
Ще одне ключове питання, що впливає на масове прийняття Web3, - це сумісність між ланцюжками. Paymaster, завдяки інтеграції міжланцюжкових протоколів, таких як Layer0/Warmhole, дозволяє користувачам внесення депозитів у Ланцюжок A (наприклад, Ethereum) і безперешкодно використовувати додатки в іншому Ланцюжку B (наприклад, Matic чи BSC), що призводить до зникнення меж між ланцюжками і допомагає новим Даппам здобувати користувачів з інших ланцюжків.
Хоча ми обговорювали переваги AA, стандарт ERC-4337 все ще швидко ітерується, щоб вирішити його поточні недоліки:
На відміну від EOA, як тільки створено EOA, його можна використовувати на будь-якому сумісному з EVM ланцюжку, оскільки однакова пара публічний-приватний ключ може бути використана для взаємодії на різних ланцюжках. Однак, через те, що AA має характер облікового запису угод (CA), новий контракт AA потрібно розгортати окремо на кожному ланцюжку або Layer2. Високі витрати на розгортання контрактів AA можуть відлякати користувачів від прийняття AA.
Крім того, якщо користувачі неправильно розгортають, наприклад, використовуючи різні Фабрики для розгортання облікових записів контрактів AA, вони можуть отримати різні адреси AA на різних ланцюгах, що може спричинити значні непорозуміння та складнощі в використанні та розумінні. Хоча поточні Фабрики гаманців AA досягли створення однакової адреси AA на різних ланцюгах, користувачам все ще потрібно проявляти обережність при перевірці використовуваних протоколів, щоб забезпечити послідовність їх адрес AA на різних ланцюгах та тим самим запобігти майбутнім проблемам чи непорозумінням.
Як вже зазначалося, облікові записи AA потребують від користувачів розгортання контрактів AA, створених Wallet Factory на різних ланцюгах та Layer2 окремо. Навіть з поточними бічними ланцюгами, ланцюгами, сумісними з EVM, та нижчими комісіями на рівні Layer2, це все ще значний витрати. З поточними комісіями на рівні газу та ціною ETH в $1800, розгортання облікового запису AA на головному мережі ETH обійдеться близько $20-$40, тоді як на ланцюгах, сумісних з EVM, або Layer2 ці витрати становитимуть від $0.5 до $5. Для більшості користувачів важко прийняти витрати на розгортання, перш ніж вони навіть використовують Dapp. Припускаючи, що ці витрати компенсує Бандлер або Пеймастер, вартість субсидії все ще надто висока і потребує сильних стимулів.
Залежно від реалізації AA та кількості угрупованих транзакцій у одній транзакції бандлера (чим більше транзакцій, тим нижчий витрати газу на кожен UserOP), споживання газу поточних стандартних транзакцій ERC-4337 може бути кілька разів вищим, ніж у звичайних облікових записів EOA. Це тому, що транзакція, ініційована обліковим записом AA, часто вимагає виклику 3 або більше контрактів та включає в себе складні обчислення, такі як перевірка підпису BLS на ланцюжку. Поточний стандарт ERC-4337 також оптимізується для цього, за наступною дорожньою картою:
Ми щойно згадали про відносно високі витрати при використанні стандарту ERC-4337. Які конкретні витрати? Спочатку давайте введемо поняття, яке є формулою розрахунку комісійних витрат на газ:
плата = газ × ціна
Так скільки коштів на впровадження та використання ERC-4337? Команда StackUp надала точні оцінки у своєму блозі.
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
Таблиця 1. Газ для транзакцій ERC-4337
Таблиця вище показує:
Таблиця 2. Оцінки плати за газ для транзакцій ERC-4337
Ця таблиця надає оцінки витрат на різні операції з обліковим записом ERC-4337 AA за поточними цінами на газ. Ми можемо спостерігати наступне:
На висновок, через високі витрати на створення облікових записів ERC-4337 AA на мейннеті, широке поширення ймовірно спочатку відбудеться на Layer2 та ланцюгах, сумісних з EVM.
Ще однією перешкодою для розвитку AA є сумісність інфраструктури з контрактами AA. Більшість Dapps поза рідним ланцюжком AA підтримують лише рахунки EOA. Підтримка AA потребує, щоб Dapps використовували SDK AA для транзакцій і змінювали параметри запиту для інформації користувача.
Крім того, блокчейн-браузери, такі як Etherscan, в першу чергу призначені для EOA. Щоб підвищити зручність запитів до облікових записів AA, ці браузери можуть вимагати серії оптимізацій інтерфейсу користувача та UX.
Крім Ethereum, більшість нових громадських блокчейнів вже реалізували власні облікові записи AA.
Native AAs are implemented at the chain’s consensus layer, meaning they don’t require community developers for deployment. These are usually internal or system contracts developed and maintained by the blockchain developers.
Зниження витрат на розгортання та додаткові плати за газ
Внутрішні контракти часто мають вищі дозволи та пріоритети, а їх обчислення газу відрізняються від зовнішніх контрактів. Тому внутрішні автономні агенти мають нижчі витрати на розгортання і зазвичай не додають значної накладності газу.
Оновлення власних AAs вимагає від розробників громадського ланцюжка взяти на себе відповідальність, часто потрібні м'які або жорсткі вілки. Це робить їх менш гнучкими, ніж модульні ERC-4337, обмежуючи темп ітерації та випуску нових функцій.
Ланцюги з власними AA активно вивчають розширюваність та модульність ERC-4337, що дозволяє будувати більше функцій на основі власних AA.
Near реалізує власні рахунки в рівні консенсусу з обліком, збереженим безпосередньо в блокчейні. Він підтримує кілька ключів доступу та соціальне відновлення (електронна пошта, номер телефону). Наступне зображення ілюструє відмінності між обліковим записом ETH та Near.
Через модель власності ресурсів в Aptos та Sui, обидва Aptos та Sui реалізували вбудовану AA на рівні консенсусу. На прикладі Aptos, рахунок Aptos - це набір ресурсів на блокчейні, тому при створенні рахунку Aptos необхідно передоплатити Aptos для завершення ініціалізації рахунку. Рахунки Aptos/Sui також підтримують зміну ключа автентифікації, але адреса рахунку залишається тією ж, серед інших функцій AA.
У відміну від Near/Aptos/Sui/Starknet, ZKsync підтримує як EOA, так і AA на рівні згоди. Тому ZKsync може ініціювати транзакції як з використанням EOA, так і з використанням AA, що дозволяє використовувати його з популярними гаманцями, такими як Metamask та Argent. Дизайн AA ZKSync базується на ERC-4337, що робить його сумісним з гаманцями та Dapps, які підтримують EIP-4337. Наразі додаткова вартість газу для транзакцій AA в ZKsync становить приблизно execution_gas + 20000, що становить близько 0,01USD на момент написання. Це невелика вартість порівняно з неіндігенним AA ERC-4337.
Starknet інтегрується з AA та не підтримує транзакції, ініційовані EOA. Рахунки AA в Starknet розроблені на основі ERC-4337. На даний момент AA контракти в Starknet надаються OpenZeppelin та розроблені з використанням Cairo.
На ICP рідні облікові записи AA називаються Інтернет-ідентифікація (скорочено II). Реалізація II відрізняється від ERC-4337. II використовує WebAuthn, який широко використовується в Web2-фреймворках, дозволяючи користувачам контролювати свої облікові записи за допомогою вбудованих безпекових чіпів у своїх смартфонах. Користувачі можуть вільно додавати та видаляти пристрої. У суті, II перетворює смартфони користувача на апаратні гаманці.
Bundler замінює попередній вузол Mempool в екосистемі AA. UserOps більше не надсилаються валідаторам, а надсилаються Bundlers для упаковки та обробки на ланцюжку. Основні бандлери наступні:
Bundler Stackup реалізований мовою Go та має на меті безшовну інтеграцію з Go Ethereum (geth). Це перший виробничий стандартний бандлер у цьому списку, який повністю відповідає ERC-4337. Stackup активно підтримується та має повну документацію, що робить його найпопулярнішим бандлером на даний момент. Stackup надає послуги бандлінгу, усуваючи потребу у команд у створенні власної служби бандлінгу.
Bundler Infinitism розроблений на TypeScript та був розроблений оригінальним автором ERC-4337. Крім того, Infinitism розробляє договори ERC-4337, що робить його бандлер дуже сумісним з ERC-4337. Однак для підтвердження продуктивності та стабільності необхідна додаткова перевірка, оскільки він розроблений на TypeScript.
Skandha - це пакувальник, розроблений на TypeScript компанією Etherspot. Etherspot активно працює над реалізацією пам'яті пакувальника. У квітні 2023 року Skandha пройшов всі тести.
Voltaire - це протокол бандлера, розроблений командою Candide для підтримки власного гаманця Candide. Voltaire - це реалізація на основі Python ERC-4337. Наразі Voltaire надає хорошу підтримку власного відкритого гаманця Candide.
Rundler - це протокол Bundler, розроблений Alchemy, найбільшим постачальником сервісу вузлів для Ethereum. На даний момент Rundler не є відкритим джерелом, але завдяки великій користувацькій базі Alchemy він може отримати значну підтримку трафіку.
Bundler наразі знаходиться в фазі швидкого розвитку та ітерації.
Поточна больова точка, яку бандлер повинен вирішити, — це проблеми узгодженості та комунікації мемпулу бандлера. Якщо припустити, що на ринку існує кілька протоколів бандлерів і між ними не вистачає зв'язку, це може призвести до серйозної проблеми DDoS-атак на бандлер. Якщо користувач одночасно надсилає транзакції декільком бандлерам без зв'язку між ними, ці пакувальники одночасно пакують і надсилають UserOps валідатору. Однак, буде виконано лише UserOp від першого бандлера, а транзакції від решти бандлерів будуть відхилені через ту саму неактуальність. У цьому випадку, якщо платник користувача має недостатній баланс, бандлери сплачуватимуть недійсний газ за ці UserOps. Отже, наразі зв'язок між бандлерами є проблемою, яку необхідно вирішити, щоб запобігти спам-атакам UserOp на бандлерів.
Поточні пачулки високо централізовані. Якщо пачулки створюють чорний список певних користувачів, це призведе до того, що їх транзакції не зможуть бути виконані. Це суперечить децентралізації та бездозвільній природі блокчейну.
Paymaster є важливою частиною AA, оскільки він може субсидувати плату за газ для користувачів і значно знизити бар'єр для входу в Web3. Ось деякі популярні реалізації пеймастера:
stackups paymaster
Платник Stackups є частиною екосистеми Stackups AA. Stackups реалізував інтерфейс платника, де DApps або інші постачальники послуг можуть налаштувати власні субсидіюючі рахунки на https://app.stackup.sh/sign-in для спонсорування транзакцій користувачів.
Панель Biconomy
Панель керування Biconomy дозволяє організаціям та розробникам використовувати компоненти AA у своїх проектах. Власники проектів можуть налаштувати свої проекти для оплати користувачами паливних внесків через платників та додавати умови спонсорства палива. Зареєструвавши свого платника для будь-якого підтриманого ланцюжка, додатки можуть значно спростити веб3-досвід для користувачів.
Традиційні облікові записи EOA часто мають проблеми з одночасним досягненням децентралізації, зручності використання та безпеки.
У традиційній структурі EOA користувачам часто потрібно придбати блокчейн-токени, наприклад ETH, за допомогою фіатних валют для використання веб-застосунків Web3. Це зазвичай передбачає використання централізованих бірж (CEX) для внесення фіатної валюти, обміну її на необхідний токен і, нарешті, його передачу на новостворений обліковий запис EOA. Цей процес потребує значного розуміння Web3 та є навантажувальним у багатьох регіонах. Введення платників у AA дозволяє делегувати початкові витрати на входження користувачів власникам проектів DApps. Передача плати за газ має значний вплив на масове використання Web3.
Наразі ERC-4337 знаходиться на початкових етапах, і на його основі розробляється безліч інструментів. На стороні платника можна перевірити користувацький UserOp, щоб уникнути випадків шахраїнства, таких як надмірні схвалення або несанкціоновані перекази коштів. Аудит безпеки платника може бути проведений за допомогою добре встановлених методів у фінансовому секторі web2 для перегляду проблемних транзакцій та забезпечення безпеки коштів користувачів.
Іншим інноваційним рішенням, яке розробляється, є ізоляція безпеки облікових записів, така як відокремлення фондового рахунку від грального рахунку і т.д. Коли користувачі використовують звичні функції DeFi та перекази, використовується фондовий рахунок з більш строгими перевірками безпеки. Коли користувачі спробують GameFi або незвичайний DeFi, використовується гральний рахунок. Таким чином, без збільшення приватних ключів, які користувачам потрібно керувати, дизайн ізоляції безпеки облікових записів забезпечує безпеку коштів користувачів на нижньому рівні.
Наразі багато пристроїв, таких як смартфони та ноутбуки, мають вбудовані безпечні чіпи, такі як чіп безпеки Apple T2, який використовується в Mac та iPhone. Таким чином, в основному, кожен пристрій з чіпом Tee є надійним апаратним гаманцем. Проте наразі ці безпечні чіпи не підтримують поширені алгоритми підпису блокчейну, такі як ECDSA.
Поточна безпека приватних ключів EOA в додатках / мобільних гаманцях зберігається безпосередньо у відкритому вигляді на пристрої. Якщо пристрій скомпрометовано, активи користувача можуть бути швидко втрачені. Тому розширені гаманці для браузера, такі як Metamask, мають високу зручність, але низьку безпеку.
Апаратні гаманці
Апаратні гаманці забезпечують, що приватні ключі ніколи не залишають пристрій і не можуть бути безпосередньо доступні зовнішнім сторонам. Однак більшість користувачів не можуть постійно носити свої апаратні гаманці з собою, що призводить до високої безпеки, але низької зручності використання.
З використанням гаманця AA та інноваційного методу верифікації на ланцюжку транзакції можуть бути безпосередньо підписані за допомогою безпечного чіпу пристрою, що гарантує, що приватний ключ користувача ніколи не покидатиме пристрій. Це забезпечує більшу безпеку порівняно з традиційними обліковими записами EOA. На даний момент Інтернет-Комп'ютерна Ідентичність та проект під назвою Porton Wallet на хакатоні ETHBogota реалізували рішення, яке використовує підпис безпечного чіпу пристрою та ключ сеансу, що дозволяє користувачам повністю використовувати безпеку своїх пристроїв, таких як смартфони або комп'ютери, еквівалентно апаратному гаманцю.
Благодаря високоякісному модульному дизайну ERC-4337, через його розширення та ітерацію, облікові записи AA отримають значно покращену безпеку.
Наразі ще однією перешкодою для масового прийняття Web3 є фрагментація екосистем блокчейнів на різних ланцюгах.
Як простий приклад, розглянемо користувача Ethereum (ETH), який хоче випробувати додаток на Binance Smart Chain (BSC). Що повинен зробити цей користувач? Спочатку користувачу потрібно обміняти свої ETH на відповідний USDT/USDC, а потім використовувати міжланцюжковий міст, щоб перенести ці токени з ETH на BSC. Після цього користувачу потрібно придбати деякі BNB на централізованій біржі (CEX) та перенести їх на BSC. Тільки після цього користувач може почати випробовувати різноманітні додатки DeFi на BSC. Цей увесь процес займає багато часу, має погану безпеку і супроводжується крутою кривою навчання, особливо для нових користувачів, які можуть не бути знайомі з міжланцюжковими мостами.
Завдяки поточним широко використовуваним крос-чейн протоколам, таким як Layer0 + AA, процес використання DApp у різних ланцюгах може бути значно спрощений. Paymaster може повністю інтегрувати крос-чейн протоколи, щоб досягти принципу «заряди один раз, заплати скрізь». Наприклад, якщо користувач поповнює USDC на платіжному майстрі ETH, за умови, що обліковий запис АА користувача в різних ланцюжках однаковий і прив'язаний до одного і того ж майстра, paymaster може вести облік від імені користувача. Користувачеві не потрібно вручну переносити активи в будь-який EVM-сумісний ланцюг/Layer2 з тією самою адресою облікового запису.
Найбільшою перевагою впровадження пеймастера є те, що він програмно встановлює умови для субсидування користувачів Dapp.
У минулому були випадки, коли проекти екосистеми Web3 субсидували газ для привертання клієнтів. Однак субсидування рахунків EOA без програмного встановлення умов часто призводило до зловживання субсидіями фондів ботами та шахраями, такими як безпосередній переказ субсидійних коштів, не привертаючи справжніх клієнтів.
На даний момент дошки управління головного бухгалтера, як правило, включають функціональність субсидування газових витрат для Dapps. Розробники проектів можуть легко встановлювати умови для субсидій на дошці, так що лише транзакції, які відповідають конкретним умовам, мають право на субсидію. Керуючи умовами транзакцій у субсидіях через головного бухгалтера, DApps можуть привертати більше реальних користувачів, утримуючи витрати під контролем.
Під час EOA, через домінування Metamask, поточні Dapps головним чином відкриваються через веб-інтерфейси, що призводить до більш високої ринкової частки для веб-плагінів гаманців. Однак масове прийняття web3 залежить від участі мобільних користувачів, що робить розробку та адаптацію AA більш Mobile Native.
Зі зростанням популярності Dark Forest непомітно з'являється тенденція повністю ончейн-ігор. Однак користувацький досвід використання EOA (Outternally Owned Accounts) в іграх дуже поганий. Уявіть, що вам доводиться використовувати гаманець для авторизації або підписання транзакцій щоразу, коли ви виконуєте будь-яку дію в грі. Ця постійна перерва заважає гравцям повністю зосередитися на самій грі. Щоб вирішити цю проблему, аркадні облікові записи, які є спеціалізованими версіями звичайних AA, були розроблені спеціально для повністю ончейн-ігор. Ці облікові записи авторизують певні ігрові операції, дозволяючи гравцям брати участь у повноцінних ончейн-іграх без необхідності повторюваної авторизації та підписання транзакцій. В результаті ігровий досвід значно покращується. Зростання кількості повністю ончейн-ігор у майбутньому, ймовірно, сприятиме широкому поширенню облікових записів AA.
Нещодавно концепція транзакцій на основі намірів набула популярності завдяки зростанню Unibot, і Uniswap також запустив проект Uniswap X для просування реалізації транзакцій на основі намірів. Наведений нижче приклад може пояснити, що таке транзакції на основі намірів:
Якщо хтось готовий виконати намір, контрагент ініціює ще один намір переказати 1000 USDT Алісі та отримати 1 ETH.
Угода успішно узгоджена.
Intent-Based Transactions забезпечує наступні переваги:
На даний момент CowSwap реалізував транзакції на основі наміру на основі EOA. Однак транзакції на основі наміру на основі EOA все ще вимагають від користувачів авторизації (ERC-20, Approve) перед початком транзакції. Однак, за новою архітектурою облікових записів AA, користувачі можуть відправляти Approve та Intent разом до бандлера. Бандлер AA може одночасно отримати доступ до Intents Poll, збігати наміри та забезпечити більш зручний досвід торгівлі.