Ethereum EIP-7702: абстрагування рахунку нового часу дає EOA можливість смартконтрактів

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

Вступ

Ця стаття поділена на два основні модулі:

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

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

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

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

1.1 Значення абстрагування рахунку

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

Від моменту запуску EIP4337 минуло більше року, 1 березня 2023 року на WalletCon у Денвері, основний контракт ERC-4337, розроблений розробниками Ethereum Foundation, був перевірений OpenZeppelin і вважається офіційно запущеним (, завжди отримуючи широке визнання користувачів, але не був широко використаний. У таких суперечливих ринкових умовах прогрес EIP-7702 значно прискорився, підтверджено, що він буде об'єднано в наступному оновленні.

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

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

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

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

![Глибоке дослідження минулого та майбутнього абстрагування акаунтів на Ethereum]###https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(

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

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

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

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

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

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

  1. Важко захистити приватний ключ: втрата приватного ключа означає втрату всіх активів.
  2. Однотипний алгоритм підпису: для перевірки транзакцій у рідному протоколі можна використовувати лише алгоритм ECDSA.
  3. Права підпису занадто високі: немає рідного мультипідпису, однопідпису достатньо для виконання будь-якої операції.
  4. Комісія за транзакцію може бути сплачена лише ETH, масові транзакції не підтримуються.
  5. Витік приватності交易: одноосібні交易 легкі для аналізу приватної інформації акаунта власника.

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

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

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

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

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

В історії існувало багато різних варіантів, які зрештою злилися в два маршрути.

![Глибокий аналіз минулого та майбутнього абстрагування рахунку Ethereum])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(

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, яка, крім оплати gas, також стає роздільником між частиною перевірки та частиною виконання в параметрах угоди.

Хоча тоді все закінчилося безрезультатно, але стало однією з основних логік нинішнього 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 додано два нових OpCode: AUTH та AUTHCALL, які дозволяють EOA авторизувати контракти через ці два opcode замість виклику інших контрактів від імені EOA.

У загальному підсумку, EOA може надіслати підписане повідомлення ) транзакції ( до надійного контракту ), який називається Invoker (, цей контракт Invoker може використовувати операційні коди AUTH та AUTHCALL замість EOA для виконання транзакцій.

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

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

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

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, який може реалізувати:

  1. Будь-який токен для сплати gas
  2. Пакетна торгівля
  3. Програмованість підпису
  4. Логіка гаманця може бути оновлена
  5. Мультіпідпис та соціальне відновлення
  6. безгазова транзакція
  7. Програмовані платежі за газ

Але основний недолік EIP-4337 полягає в тому, що він суперечить принципу людських мотивів.

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

Тому на основній мережі Ethereum досі не було поширено.

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

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

![Глибоке занурення в минуле та майбутнє абстрагування рахунку Ethereum])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(

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

) 4.1 Що таке EIP-7702

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

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

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

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

rlp###[chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, призначення, значення, дані, access_list, authorization_list, signature_y_parity, signature_r, signature_s](

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

authorization_list = [[chain_id, адреса, ні, y_parity, р, с], ...]

) 4.3 Життєвий цикл угоди

4.3.1 Етап верифікації

Виконання початкової стадії交易, для кожного元组authorization_list[chain_id, address, nonce, y_parity, r, s]:

  1. Від адреси підписувача ### за допомогою ecrecover, використовуючи підписи r, s, відновити адресу підписувача механізму Ethereum, цей EIP не змінив алгоритм підпису (.
  2. Верифікація Chain ID ) для запобігання повторним атакам на ланцюг з форками (.
  3. Перевірте, чи код підписувача authority є порожнім або делегованим ), щоб перевірити, чи є транзакція дійсною 7702, а далі через механізм делегування виконуйте транзакцію (.
  4. Перевірка nonceauthority підписувача) для запобігання повторному використанню підпису authority(.
  5. Налаштуйте код підписувача authority на 0xef0100 || address), щоб обійти стратегію уникнення колізій EIP3607 (.
  6. Додати nonce authority підписувача ) для запобігання повторному підпису на місцевому рівні (.
  7. Додати акаунт підписувача authority до списку вже відвіданих адрес ) для гарячої адреси, зменшити плату за газ для запиту збереження (.

)# 4.3.2 Етап виконання операцій

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
BlockchainWorkervip
· 13год тому
7702 знову щось нове вигадує, чому здається ненадійним?
Переглянути оригіналвідповісти на0
LiquidityOraclevip
· 13год тому
Пропозиція 7702, можливо, знову щось замислює.
Переглянути оригіналвідповісти на0
MetaverseLandladyvip
· 13год тому
Справді, просто натискаєш 4337 і все? 7702 - це велике!
Переглянути оригіналвідповісти на0
FloorSweepervip
· 13год тому
ngmi... ще одна перевищена "інновація" L1, яка провалиться так само, як 4337.
Переглянути оригіналвідповісти на0
BlockchainDecodervip
· 13год тому
З дослідження даних ще потрібно перевірити, чи справді 7702 може змінити ринкову ситуацію 4337.
Переглянути оригіналвідповісти на0
BearMarketSurvivorvip
· 13год тому
Знову підвищення шорт позицій, навіть собаки не грають.
Переглянути оригіналвідповісти на0
MEVHunterBearishvip
· 13год тому
Відчувається, що 4337 лише почав розвиватися, а вже скоро буде замінений.
Переглянути оригіналвідповісти на0
  • Закріпити