Історія еволюції абстрагування акаунту Ethereum: революційні зміни від EIP4337 до EIP7702

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

Вступ

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

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

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

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

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

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

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

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

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

Після року і півтора розвитку, кількість акаунтів EIP4337 на основних ланцюгах становить лише 12 мільйонів, з яких на основній мережі Ethereum активних адрес лише 6,764. Порівняно, кількість незалежних адрес на основній мережі 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. Що таке абстрагування рахунку?

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

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

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

Цей дизайн призвів до поточної дилеми з об'єднанням прав власності на EOA-адреси. А основний ефект EIP4337 полягає в додаванні поля Sender Address у транзакційне поле, що дозволяє відокремити приватний ключ від адреси, що підлягає операції.

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

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

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

  • Користувач повинен мати ETH і нести ризик коливання цін.
  • Користувачам потрібно обробляти складну логіку витрат на Gas.
  • Ефект оптимізації продуктів гаманця або застосунку обмежений.

Рішення полягає в реалізації абстрагування рахунку, що дозволяє декомпонувати право власності )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

Ця пропозиція може принести багато переваг:

  1. Торгівля може використовувати більше криптографічних алгоритмів, методи підпису верифікуються за допомогою внутрішнього коду адреси.
  2. Містить характеристики захисту від квантових атак, оскільки код може бути оновлено
  3. Дати можливість Етеру мати функції, які є ідентичними до контрактів ERC20, такі як авторизація на утримання
  4. Покращення налаштувань облікового запису, сумісність із соціальним відновленням, підтримка SBT, відновлення ключів тощо

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

Далі є ціла низка EIP, які намагаються вдосконалити цю ідею:

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

  • вирішення проблеми з розгортанням коду
  • Запровадження коду операції PAYGAS як роздільника між частинами верифікації та виконання в параметрах транзакції

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

  • Запропонований Віталіком як альтернативний варіант EIP-3074
  • Встановлено, що буде включено в майбутнє жорстке розгалуження ETH Prague/Electra

) 3.2 Другий маршрут: дозволити адресі EOA керувати адресою CA

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

  • Додано два нові операційні коди до EVM, які дозволяють EOA уповноважувати контракти замість своєї особи викликати інші контракти

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

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

EIP-5189: через ендорсера здійснення абстрагування рахунку )2022-06-29(

  • оптимізація логіки EIP4337
  • Запобігання атакам DoS шляхом створення механізму підтримки фінансових штрафів )endorser(

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

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

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

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

  • Запобігання конфлікту між адресою розгортання контракту та адресою EOA
  • Заборонено розгортати код на адреси, які вже є адресами EOA.

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

Основна цінність після переходу на CA проявляється у фактичному ефекті EIP-4337:

Однак,核心缺点EIP-4337-це порушення принципу людської мотивації:

  • Багато Dapp ще не є сумісними, користувачі не бажають використовувати адреси CA
  • Використання CA може збільшити витрати на транзакції
  • Надмірна залежність від сумісності Dapp

Це призвело до того, що EIP-4337 так і не зміг стати популярним в основній мережі 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

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

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

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

EIP-7702 визначає новий тип транзакції 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:

  1. Використовуйте ecrecover для відновлення адреси підписувача з підпису
  2. Перевірте ID ланцюга ### для запобігання повторному використанню в розгалужених ланцюгах (
  3. Перевірте, чи код підписувача є порожнім або делегованим
  4. Перевірка nonce підписанта ) для запобігання повторному підпису (
  5. Встановіть код підписувача на 0xef0100 || адреса
  6. Збільшити nonce підписувача
  7. Додати акаунт підписанта до списку відвіданих адрес

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

Виконуючи код контракту та команди операцій:

  • Завантажити код з поля address у списку authorization_list, вказавши адресу
  • Виконати в контексті акаунта підписувача
  • Код контракту зберігається за певною адресою в ланцюгу, а не безпосередньо включається в транзакцію.
  • Команди операцій та відповідні параметри зберігаються в полі data вантажу транзакції

4.4 Цінність EIP-7702

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

Воно порушило кілька існуючих стереотипів:

  1. Баланс акаунту більше не зменшується лише через транзакції, що походять з цього акаунту.
  2. Після початку виконання транзакції EOA nonce більше не збільшується лише на 1
  3. Логіка захисту порівняння tx.origin та msg.sender не працює
  4. EOA може викликати події, що впливають на ідентифікацію та моніторинг подій на ланцюзі
  5. EOA адреса отримання активів ERC20, 721, 1155 тощо більше не є обов'язковою для успіху

4.5 Порівняння EIP-7702 та EIP-4337

Переваги EIP-7702:

  • Вартість газу нижча, не потрібно проходити через модуль entrypoint
  • Витрати на міграцію користувачів нижчі, не потрібно заздалегідь розгортати смарт-контракти на ланцюзі
  • Подібно до EIP-4337, підтримка виконання кодових делегувань:
    • Повна делегація: повністю делегувати всі права на певну адресу
    • Захищене делегування: додавання обмежень та заходів захисту під час делегування

Недоліки EIP-7702:

  • Потрібне м'яке форк-оновлення, зміни великі, вплив на екосистему в ланцюгу широкий
  • Висока свобода, важко здійснити аудит, користувачам потрібен надійний гаманець для забезпечення безпеки
  • Зміни в початковій архітектурі є суттєвими, багато інфраструктури та незмінних контрактів важко безпосередньо адаптувати.
  • Надати можливості контракту для адреси EOA, але відповідний простір для зберігання не може бути збережено.
  • Вартість окремих транзакцій трохи вища, збільшує частину Calldata
  • Підписання отримувачем коду без функції отримання може призвести до DoS-атаки на активи.
  • Логіка поповнення та зняття коштів на блокчейні може бути неузгодженою
  • EOA може генерувати події, що можуть призвести до нових проблем

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

5. Підсумок

абстрагування рахунку наразі включено до шостого модуля дорожньої карти розвитку Ethereum "Виправити все". Прискорення прогресу EIP-7702 головним чином приносить

ETH4%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
GasFeeThundervip
· 07-11 01:32
Ще один раунд модернізації, який жертвує ефективністю, Майнери сміються і плачуть.
Переглянути оригіналвідповісти на0
NFTRegretfulvip
· 07-10 18:13
Ти думаєш, що EIP7702 зможе врятувати AA?
Переглянути оригіналвідповісти на0
SandwichHuntervip
· 07-10 11:28
Знову не розумію, але хочу вчитися. Займаю місце.
Переглянути оригіналвідповісти на0
SatoshiNotNakamotovip
· 07-08 02:04
Знову обман для дурнів.
Переглянути оригіналвідповісти на0
GasFeePhobiavip
· 07-08 02:03
Ах, tmd газові витрати знову почали зростати
Переглянути оригіналвідповісти на0
LayerHoppervip
· 07-08 02:01
Ух-ух, цей дорожня карта зовсім не змінилася, 7702 моноклональні антитіла, вперед!
Переглянути оригіналвідповісти на0
CommunitySlackervip
· 07-08 01:39
Мій мінімум знову піднявся.
Переглянути оригіналвідповісти на0
  • Закріпити