Використовуючи модульний стек облікових записів смарт-контрактів, постачальники гаманців і dApps можуть уникнути складності технічного обслуговування.
Автор: Руі
Складено: Shenchao TechFlow
Оригінальний звіт англійською мовою, опублікований у вересні 2023 року

Перехід від зовнішніх облікових записів (EOA) до облікових записів смарт-контрактів (SCA) процвітає, і його підтримують багато ентузіастів, у тому числі й сам Віталік. Незважаючи на хвилювання, впровадження SCA не було таким поширеним, як EOA. Ключові проблеми включають виклики ведмежого ринку, занепокоєння міграцією, проблеми підпису, накладні витрати на газ і, що найважливіше, інженерні проблеми.
Однією з найважливіших переваг Account Abstraction (AA) є можливість налаштовувати функціональність за допомогою коду. Однак основною інженерною проблемою є несумісність функціональних можливостей АА, і ця фрагментація перешкоджає інтеграції та відкриває двері для блокування постачальника. Крім того, забезпечення безпеки під час оновлення та одночасного поєднання функцій може бути складним.
Модульна абстракція облікових записів виникла як частина ширшого руху АА, інноваційного підходу до відокремлення розумних облікових записів від їхніх спеціальних функцій. Мета полягає в тому, щоб створити модульну структуру для розробки безпечних, бездоганно інтегрованих гаманців із різноманітною функціональністю. У майбутньому він може запровадити безкоштовний смарт-контрактний обліковий запис «магазин додатків», щоб гаманці та dApp більше не зосереджувалися на створенні функцій, а на взаємодії з користувачем.

Традиційний EOA представляє багато проблем, таких як вихідні фрази, газ, крос-ланцюги та численні транзакції. Ми ніколи не збиралися вводити складність, але реальність така, що блокчейн не є легкою грою для мас.
Абстракція облікового запису використовує облікові записи смарт-контрактів, дозволяючи програмовану перевірку та виконання, дозволяючи користувачам затверджувати низку транзакцій одночасно, замість того, щоб підписувати та транслювати кожну транзакцію, і надає більше функцій. Це приносить переваги взаємодії з користувачем (наприклад, відбір газу та ключі сеансу), вартості (наприклад, пакетні транзакції) та безпеці (наприклад, соціальне відновлення, мультипідпис). Наразі існує два способи впровадження абстракції облікового запису:
Тема абстракції облікового запису (AA) обговорюється з 2015 року, і цього року її привернув ERC4337. Однак кількість розгорнутих облікових записів смарт-контрактів все ще набагато менша, ніж у EOA.

Давайте заглибимося в цю дилему:
Вплив на ведмежий ринок: Хоча АА запровадив такі переваги, як безпроблемний вхід і відбір газу, люди, які зараз відчувають ведмежий ринок, в основному складаються з освічених користувачів EOA, а не з нових користувачів, тому це не підходить для dApps і гаманців. Ні. заохочення. Незважаючи на це, деякі провідні додатки все ще поступово впроваджують AA, як-от Cyberconnect, який забезпечив близько 360 000 транзакцій UserOps (транзакцій AA) лише за один місяць, представивши свою систему AA та рішення без газу.
Перешкоди міграції: Для гаманців і програм, які накопичили користувачів і активи, безпечне та зручне переміщення активів залишається проблемою. Однак такі ініціативи, як EIP-7377, дозволяють EOA ініціювати транзакції одноразової міграції.
Проблема з підписом: Сам розумний контракт не може підписати повідомлення, оскільки він не має закритого ключа, як EOA. Зусилля, такі як ERC1271, роблять таке підписання можливим, але підписання повідомлень не працює до першої транзакції, що створює проблему для гаманців, які використовують контрфактичні розгортання. ERC-6492, запропонований Ambire, є зворотно сумісним наступником ERC-1271 і може вирішити попередні проблеми.
Накладні витрати на газ: Розгортання, моделювання та виконання SCA потребує вищих витрат, ніж стандартний EOA. Це стає перешкодою для усиновлення. Однак для зменшення цих витрат було проведено деякі тести, наприклад, відокремлення створення облікового запису від дій користувача та розгляд питання про скасування солі облікового запису та перевірки існування.
Інженерні труднощі: Команда ERC-4337 створила репозиторій eth-infinitiism, щоб надати розробникам базові реалізації. Однак, оскільки ми розгалужуємося на більш детальну або специфічну функціональність у різних випадках використання, інтеграція та декодування стають складними.
У цій статті ми глибше розглянемо п’яту проблему: інженерні проблеми.

Подальше пояснення інженерних проблем таке:
Щоб вирішити ці проблеми, нам потрібні контракти, які можна оновлювати, щоб забезпечити безпечні та ефективні оновлення, багаторазові ядра для підвищення загальної ефективності розробки та стандартизовані інтерфейси, щоб забезпечити плавний перехід облікових записів контрактів між різними інтерфейсами.
Ці терміни об’єднують загальну концепцію: побудова модульної архітектури абстракції облікового запису (Modular AA).
Модульний AA — це ніша в рамках ширшого руху AA, який передбачає модульне створення смарт-облікових записів, щоб адаптувати послуги для користувачів і дозволити розробникам плавно покращувати функціональність з мінімальними обмеженнями.
Проте встановлення та просування нових стандартів є величезним викликом у будь-якій галузі. Багато різних рішень може з’явитися на початкових етапах, перш ніж усі приймуть основне рішення. Однак надихає те, що і 4337 SDK, і розробники гаманців, інфраструктурні групи та розробники протоколів працюють разом, щоб прискорити цей процес.
Зовнішні дзвінки та виклики делегатів:

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

Щоб реалізувати структуру, яку можна складати та оновлювати, необхідні базові знання, які називаються «агентським контрактом».

Safe — це провідна модульна інфраструктура розумних облікових записів, розроблена для забезпечення перевіреної в боях безпеки та гнучкості, дозволяючи розробникам створювати різноманітні програми та гаманці. Варто зазначити, що багато команд створюють або надихають Safe. Biconomy запускає свій обліковий запис, розширюючи нативний мультипідпис 4337 і 1/1 на Safe. З понад 164 000 розгорнутими контрактами та заблокованою вартістю понад 30,7 мільярдів доларів, Safe, безсумнівно, є найкращим вибором у цій сфері.
Структура сейфа
Обліковий запис Safe є проксі-контрактом, оскільки він делегатом викликає єдиний контракт. Безпечний обліковий запис містить власника, поріг і адресу реалізації, які встановлюються як змінні для агента, таким чином визначаючи його стан.
Синглтон обслуговує обліковий запис Safe та інтегрує та визначає різні інтеграції, включаючи плагіни, хуки, обробники функцій і засоби перевірки підписів.
Модулі дуже потужні. Будучи модульним типом, плагіни можуть визначати різні функції, такі як потоки платежів, механізми відновлення та ключі сеансу, і слугувати міжланцюжковим мостом між Web2 і Web3 шляхом отримання даних поза мережею. Інші модулі, такі як Hooks, діють як охоронці, а обробники функцій реагують на будь-які інструкції.
Що відбувається, коли ми приймаємо Safe
Щоразу, коли вводиться новий плагін, потрібно розгортати новий синглтон. Користувачі зберігають автономію для оновлення Safe до потрібної однокомпонентної версії відповідно до своїх уподобань і вимог.
Модульний характер плагінів дозволяє розробникам створювати функціональні можливості незалежно. Потім вони можуть вільно вибирати та комбінувати ці плагіни відповідно до власних випадків використання, сприяючи підходу з можливістю налаштування.

Про ERC2535 і Diamond Agent
ERC2535 стандартизує Diamond Agent, модульну систему смарт-контрактів, яку можна оновити/розширити після розгортання та майже не має обмежень щодо розміру. Наразі цим надихалися багато команд, наприклад Zerodev’s Kernel і Soul Wallet експерименти.
**Що таке алмазна структура? **
**Що станеться, коли ми приймемо Diamond? **
Між архітектурами Safe і Diamond є багато подібностей, обидві покладаються на проксі-контракти як ядро та посилаються на логічні контракти для можливості оновлення та модульності.
Однак основна відмінність полягає в обробці логічних контрактів. Ось докладніші інструкції:
«Метод безпечного розумного облікового запису» та «Метод алмазу» є прикладами різних структур із залученням агентів і модулів. Те, як збалансувати гнучкість і безпеку, має вирішальне значення, і ці два підходи, ймовірно, доповнюватимуть один одного в майбутньому.
Давайте розширимо наше обговорення, представивши стандарт, запропонований командою Alchemy, ERC6900, який був натхненний Diamond і спеціально адаптований для ERC-4337. Він вирішує проблему модульності в розумних облікових записах, надаючи загальний інтерфейс і координуючи роботу між розробниками плагінів і гаманців.
Коли йдеться про процес транзакцій АА, існує три основні процеси: перевірка, виконання та перехоплення. Як ми обговорювали раніше, цими кроками можна керувати, викликавши модуль за допомогою облікового запису проксі. Хоча різні проекти можуть використовувати різні назви, важливо вловити схожу базову логіку.


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

Safe{Core} Protocol — це протокол облікового запису смарт-контракту з відкритим вихідним кодом, сумісний із можливістю взаємодії, розроблений для підвищення доступності для різноманітних постачальників і розробників за допомогою чітко визначених стандартів і правил, зберігаючи при цьому високий рівень безпеки.

Процес розгортається наступним чином:
Незважаючи на те, що ця модель все ще перебуває на ранніх стадіях, вона має потенціал для встановлення стандарту децентралізованим і спільним способом. Їхній реєстр дозволяє розробникам реєструвати свої модулі, аудиторам — перевіряти їхню безпеку, гаманцям — інтегрувати, а користувачам — легко знаходити модулі та перевіряти інформацію про їхню атестацію. У майбутньому можуть бути наступні способи використання:
Концепція «реєстру модулів» надає можливості отримання прибутку для розробників плагінів і модулів. Це також може прокласти шлях до «ринку модулів». Деякі з цих аспектів можуть контролюватися командою Safe, тоді як інші можуть проявлятися як децентралізовані ринкові майданчики, які запрошують усіх долучитися та забезпечити прозорий контрольний слід. Застосовуючи такий підхід, ми можемо уникнути прив’язки до постачальника та підтримати розширення EVM, забезпечуючи кращий досвід користувача, який привертає увагу ширшої аудиторії.
Хоча ці методи забезпечують безпеку окремих модулів, загальна безпека облікових записів смарт-контрактів не є абсолютно надійною. Поєднання законних модулів і доведення того, що вони не мають конфліктів зберігання, може бути складним завданням, підкреслюючи важливість гаманців або інфраструктури АА у вирішенні таких проблем.
Використовуючи модульний стек облікових записів смарт-контрактів, постачальники гаманців і dApps можуть уникнути складності технічного обслуговування. У той же час зовнішні розробники модулів мають можливість надавати професійні послуги з урахуванням індивідуальних потреб. Однак проблеми, які необхідно вирішити, включають досягнення балансу між гнучкістю та безпекою, стимулювання розвитку модульних стандартів і впровадження стандартизованих інтерфейсів, які дозволяють користувачам легко оновлювати та змінювати свої розумні облікові записи.
Однак модульні облікові записи смарт-контрактів (SCA) — це лише одна частина головоломки впровадження. Для повної реалізації потенціалу SCA також потрібна підтримка протокольного рівня з боку рішень другого рівня, а також потужна інфраструктура пакетування та однорангові пули пам’яті, більш економічно ефективні та здійсненні механізми підписання SCA, міжланцюгова синхронізація SCA і управління, а також розробка зручних інтерфейсів.
Ми передбачаємо майбутнє з широкою участю, що викликає кілька цікавих запитань: як тільки процес замовлення SCA стане достатньо прибутковим, як традиційні механізми майнерської видобутку (MEV) увійдуть у простір, створять пакети та отримають вартість? Коли інфраструктура розвивається, як абстракція облікового запису (AA) може стати базовим рівнем для транзакцій на основі намірів? Слідкуйте за оновленнями, оскільки ця сфера постійно розвивається.