EIP-7702: Значний прорив в абстрагуванні акаунтів Ethereum

Глибокий аналіз історії та майбутнього абстрагування рахунку в 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, пройшов аудит OpenZeppelin і вважається історичною віхою офіційного запуску (. Ринок демонструє суперечливий стан, коли користувачі широко визнають, але не широко використовують цю технологію. У таких умовах прогрес EIP-7702 був значно прискорений, і вже визначено, що він буде об'єднано в наступному оновленні.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. Витік конфіденційності транзакцій: одноосібні транзакції легко піддаються аналізу конфіденційної інформації акаунта.

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

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

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

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

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

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

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

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

) 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 були додані два нові OpCodes AUTH та AUTHCALL, що дозволяє EOA через ці два opcode уповноважити контракт замість ідентичності 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])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(

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

) 4.1 Що таке EIP-7702

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

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

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

Він визначає новий тип транзакції 0x04, Payload транзакції якого є результатом 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. З підпису r, s використовується ecrecover для відновлення адреси підписанта ###. Зверніть увагу, що це механізм самого Ethereum, тому цей EIP не змінив алгоритм підпису (. authority = ecrecover)keccak(MAGIC || rlp(chain_id, address, nonce, y_parity, r, s]), подібно до адреси from, отриманої з попереднього підпису, тут отримується локальна адреса підпису для цього списку (

  2. Перевірте Chain ID ) для захисту від повторних атак на розгалужену ланцюг (.

  3. Перевірте, чи код підписувача authority порожній або вже делеговано ).

ETH4.69%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
AirdropHunter9000vip
· 08-06 05:33
Знову є великий скандал: Віталій грає в таку гру.
Переглянути оригіналвідповісти на0
0xSherlockvip
· 08-06 05:28
Займу лавку і подивлюсь спочатку
Переглянути оригіналвідповісти на0
WalletDivorcervip
· 08-06 05:24
Знову прийшов невдалий пропозиція.
Переглянути оригіналвідповісти на0
SundayDegenvip
· 08-06 05:22
В порожнечі малюють великі млинці... чи справді це можна використовувати?
Переглянути оригіналвідповісти на0
  • Закріпити