Еволюція абстрагування акаунтів Ethereum: від EIP-4337 до EIP-7702 проривна зміна

Глибокий аналіз еволюції та майбутнього абстрагування рахунку Ethereum

Вступ

Ця стаття поділена на дві основні частини:

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

Друга частина зосереджується на порівнянні холодної реакції ринку після впровадження EIP4337 та глибокому аналізі EIP7702, який буде включений у наступне оновлення Ethereum. Якщо ця пропозиція буде об'єднана, вона кардинально змінить форму застосунків на ланцюзі.

EIP-7702 як епохальна зміна, давайте детально розглянемо його зміст.

1. Абстрагування рахунку

1.1 позиціонування абстрагування рахунку

Засновник Ethereum Віталік у кінці 2023 року знову оновив дорожню карту розвитку ETH, але налаштування абстрагування рахунку не змінилося. Наразі основний шлях розвитку - це перехід до наступного етапу добровільної конверсії EOA з EIP-4337 (Voluntary EOA Conversion).

1.2 Стан ринку абстрагування рахунку

Після півтора року розвитку кількість адрес EIP4337 на основних ланцюгах становить лише 12 мільйонів, з яких активних адрес у мережі Ethereum лише 6,764, що значно менше, ніж кількість EOA та CA адрес. Кількість незалежних адрес у мережі Ethereum досягла 270 мільйонів, можна сказати, що EIP4337 на основній мережі майже не має суттєвого розвитку.

Проте це не впливає на сутнісну цінність абстрагування рахунку. Дизайн EIP4337 спочатку був спрямований на вирішення проблеми зворотної сумісності основної мережі, тому на різних рідних L2 ланцюгах, які підтримують абстрагування рахунку, спостерігався вибуховий ріст. Наприклад, у липні кількість активних користувачів ланцюгів Base та Polygon досягла 1 мільйона і 3 мільйонів відповідно, що є непоганим результатом.

Отже, дизайн EIP4337 не є помилковим, він має багато переваг. Поточна ситуація головним чином викликана різницею між основною мережею та L2, які повинні використовувати відповідні їм рішення.

2. Що таке абстрагування рахунку?

Абстрагування рахунку в основному вирішує проблему розділення власності.

Ethereum віртуальна машина ( EVM ) архітектура має два типи акаунтів: зовнішній акаунт ( EOA ) та контрактний акаунт ( Contract Account ). У зовнішньому акаунті право власності та право підпису фактично належать одній і тій же особі. Особа, що володіє приватним ключем, не тільки має "право власності" на акаунт, але також має право "підписувати передачу всіх активів".

Це визначається структурою транзакцій акаунта Ethereum. З структури транзакції видно, що стандартна транзакція Ethereum насправді не має поля From. Як же визначається адреса витрат під час переказу коштів? Насправді це здійснюється через параметри VRS (, тобто підпис користувача ), які дозволяють зворотно вивести адресу From.

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

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

Причина, чому розділення прав власності є таким важливим, полягає в тому, що дизайн зовнішнього акаунта (EOA) породжує більше проблем:

  1. Важко захистити приватний ключ: втрата приватного ключа (, атака хакера або криптографічне зламу ) означає втрату всіх активів.

  2. Однотипний алгоритм підпису: рідний протокол може використовувати тільки алгоритми підпису та перевірки підпису ECDSA під час верифікації транзакцій.

  3. Підписні повноваження занадто високі: не підтримується нативний мультипідпис ( мультипідпис може бути реалізований лише через смарт-контракти ), один підпис може виконати будь-яку операцію.

  4. Комісія за交易 можна сплатити тільки ETH, не підтримується批量交易.

  5. Порушення конфіденційності угод: одноосібні угоди можуть легко викрити особисту інформацію власника акаунту.

Ці обмеження ускладнюють використання Ethereum для звичайних користувачів:

По-перше, для використання будь-якого застосунку на Ethereum, користувачі повинні володіти Етером ( та брати на себе ризики коливання його ціни ).

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

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

Отже, рішення полягає в реалізації абстрагування рахунку, що дозволяє розділити власність (Owner) і право підпису (Signer), поступово вирішуючи вищезазначені проблеми.

В історії було запропоновано багато схем, врешті-решт їх узагальнено в дві основні лінії.

Глибоке розуміння минулого та майбутнього абстрагування акаунтів Ethereum

3. Огляд історії пропозицій абстрагування рахунку

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

( 3.1 Перший варіант: перетворення EOA адреси на CA адресу

Ще 15 листопада 2015 року, навколо EIP-101, Віталік запропонував нову структуру рахунку, що базується на контрактах. Основні зміни включають:

  • Змінити адресу на лише код і простір для зберігання
  • Зміна підтримки комісій, дозволяє платити ERC20 токенами
  • Через попередньо скомпільований контракт перетворити нативний токен на токен типу ERC20, що має функції авторизації утримання та ін.
  • Зменшити поля транзакції до to, startgas, data та code

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

Воно також може породжувати інші функції, наприклад:

  1. Дозволити торгам використовувати більше криптоалгоритмів, які можуть бути вказані внутрішнім кодом кожної адреси для методу перевірки підпису та автентифікації.

  2. Містить характеристики захисту від квантових атак, оскільки код може бути оновлений.

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

  4. Покращення кастомізації акаунту, сумісність з соціальним відновленням, підтримка SBT, функції відновлення ключів та ін.

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

Після цього було ще кілька EIP, які намагалися вдосконалити цю логіку:

EIP-859: головна ланцюгова абстракція акаунта ###2018-01-30(

Спробуйте вирішити проблему з розгортанням коду. Основна функція полягає в тому, що якщо контракт сторони угоди не розгорнуто, то використовується параметр code, що супроводжує угоду, для виконання розгортання контрактного гаманця. Крім того, було запропоновано новий код операції PAYGAS, який, крім оплати газу, також став роздільником між частиною верифікації та частиною виконання в параметрах угоди.

Хоча це тоді не вдалося реалізувати, але це також стало однією з основних логік теперішнього EIP7702. Кожна транзакція EIP7702 поєднує спеціальну структуру транзакції, яка може супроводжуватися певним кодом, що дозволяє адресі EOA отримувати контракти під час цієї транзакції.

EIP-7702: налаштування коду EOA акаунта )2024-05-07(

Це також є основним EIP, який обговорюється далі в статті, опублікованим Віталіком, як альтернатива EIP-3074. Отже, EIP-3074 був відхилений, а EIP-7702 буде включено в майбутній ETH Prague/Electra)Pectra( хард-форк, конкретні деталі будуть розкриті нижче.

) 3.2 Другий маршрут: нехай адреса EOA керує адресою CA

EIP-3074:додавання операційних кодів AUTH та AUTHCALL(2020-10-15)

У EVM додано два нові опкодів AUTH та AUTHCALL, які дозволяють EOA авторизувати контракти використовувати ідентичність EOA для виклику інших контрактів.

Скажемо простіше, EOA може надіслати підписане повідомлення ### транзакцію ( на свій надійний контракт ), який називається Invoker (. Цей Invoker контракт може використовувати операційні коди AUTH і AUTHCALL, щоб замінити цю EOA для відправки транзакцій.

EIP-4337: Реалізація абстрагування рахунку за допомогою пулу пам'яті транзакцій ) 2021-09-29 (

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

EIP4337 пропонує новий об'єкт транзакції UserOperation, який користувачі надсилають до мемпулу, а бандлери з точки зору майнерів пакетно упаковують і передають для виконання контрактних транзакцій. По суті, це переносить базові транзакції та операції з акаунтом на рівень виконання контракту.

EIP-5189: через ендорсер для управління абстракцією акаунта )2022-06-29(

Це можна розглядати як оптимізацію логіки EIP4337, шляхом створення механізму фінансового штрафу для запобігання атакам DoS блокування зловмисних Bundler.

) 3.3 Інші пропозиції для підтримки абстрагування рахунку

EIP-2718:упаковка нового типу транзакцій (2020-06-13)

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

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

EIP-3607: заборонити розгортання контрактів з адрес EOA (2021-06-10)

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

3.4 Як зрозуміти розвиток абстрагування рахунку?

По-перше, потрібно зрозуміти цінність після переходу до CA.

В основному це фактичний ефект EIP-4337, який може реалізувати:

  • Соціальне відновлення
  • безгазова транзакція
  • Пакетна торгівля
  • Правила на основі часу
  • Мультипідпис
  • Платежі на основі правил

Але основний недолік EIP-4337 суперечить принципу людської мотивації.

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

Отже, на основній мережі Ethereum досі не отримала популярності.

Витрати є найважливішим критерієм для користувачів, їх потрібно знижувати.

Але щоб справді знизити GAS, необхідно провести м'який форк самого Ethereum, змінити обчислення GAS або модулі споживання GAS операційних кодів. Оскільки потрібно проводити м'який форк, чому б не розглянути EIP-7702 безпосередньо?

Глибоке дослідження минулого та майбутнього абстрагування акаунтів Ethereum

4. Повний аналіз EIP-7702

4.1 Що таке EIP-7702

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

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

( 4.2 структура даних

Він визначає новий тип транзакції 0x04, Payload транзакції цього типу є результатом RLP-кодування наступного вмісту:

rlp)[ chain_id, // Ідентифікатор ланцюга, використовується для запобігання атакам відтворення nonce, // лічильник транзакцій, забезпечує унікальність транзакцій max_priority_fee_per_gas, // 1559 комісія за транзакцію max_fee_per_gas, // 1559 комісія за транзакцію gas_limit, призначення, // адреса цільової угоди значення, дані, access_list, // список доступу, використовується для оптимізації Gas у EIP-2929 authorization_list, signature_y_parity, // 3 параметри підпису, які використовуються для перевірки підпису транзакції signature_r, signature_s ]###

Важливо, що було додано об'єкт authorization_list, який зберігає код, який підписувачі хочуть виконати в своєму EOA. Користувач підписує контрактний код, який потрібно виконати, одночасно з підписанням транзакції; він існує у вигляді двовимірного списку, що вказує на можливість.

ETH3.14%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
FancyResearchLabvip
· 18год тому
Ще один новий трюк, вигаданий теоретиками. Де ж ваша вода?
Переглянути оригіналвідповісти на0
BrokenDAOvip
· 18год тому
Ще один повторний експеримент під гаслом інновацій, не варто бути занадто оптимістичними... EIP-7702, скоріш за все, знову повторить долю 4337.
Переглянути оригіналвідповісти на0
LiquidityHuntervip
· 18год тому
4337? Дані показують, що рівень використання становить лише 0,02%... 7702 - це справжній товар.
Переглянути оригіналвідповісти на0
rugged_againvip
· 18год тому
Віталік Бутерін ця хвиля все ще стабільна, справді непогано
Переглянути оригіналвідповісти на0
  • Закріпити