Порівняння абстрагування рахунків у багатоланцевій системі: Ключові відмінності між ERC-4337 та рідною AA

Багатоланцюгове абстрагування рахунку: майбутній напрямок шифрувальної інфраструктури

З 8 по 11 липня 2024 року у Брюсселі, Бельгія, відбудеться конференція спільноти Ethereum (EthCC), яка є найбільшою річною подією Ethereum в Європі, зосередженою на технологіях та спільноті.

Ця конференція Ethereum Community Conference (EthCC 7) зібрала понад 350 провідних лідерів думок у сфері блокчейн, серед яких один розробник був запрошений до участі та виступив з доповіддю на тему "Відкриваючи майбутнє: аналіз абстрагування рахунку на різних блокчейнах".

Огляд викладу:

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

  • У ERC-4337 та рідній AA функція точки входу на етапі "перевірки" є фіксованою, а на етапі "виконання" лише точка входу в рідному AA є фіксованою. Обмеження для перевірки транзакцій та кроки виконання транзакцій мають свої особливості та обмеження в різних реалізаціях.

  • У впровадженні ERC-4337 на EVM-сумісному ланцюзі є дві ключові відмінності: відмінності в протоколі в дизайні Rollup і відмінності в способі обчислення адрес, що призводить до труднощів у розробці, які важко помітити при реалізації ERC-4337 між L1 і L2.

Наступний текст виступу:

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

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

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

абстрагування рахунку(AA)主要包括两个关键点:签名抽象和支付抽象。

  • Абстрагування підпису: користувач може вибрати будь-який бажаний механізм верифікації, а не обмежуватися лише певними алгоритмами цифрового підпису (, такими як ECDSA ).
  • Абстрагування платежів: користувачі можуть використовувати різні варіанти оплати для транзакцій, такі як використання активів ERC-20 замість рідних активів для оплати або дозволити третім особам спонсорувати транзакції.

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

Шифрування інфраструктури майбутнього? Аналіз абстрагування рахунку на базі багатьох ланцюгів

2. Що таке ERC-4337

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

  • структура userOp: у ERC-4337 користувач надсилає структуру userOp до Bundler. Bundler збирає кілька userOp і через виклик функції handleOps надсилає їх до контракту EntryPoint.
  • EntryPoint контракт: цей контракт обробляє транзакції як операційна система, основні функції включають:
    • Викликати функцію validate в контракті акаунту, щоб забезпечити авторизацію userOp власником акаунту.
    • Стягнення плати.
    • Викликати функцію execute в контракті акаунту, щоб виконати цільову операцію userOp.

3. Що таке нативне AA

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

Дизайн AA в різних блокчейн-мережах:

  • ERC-4337 абстрагування рахунку: Ефіріум, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
  • Нативне абстрагування рахунку відповідає ERC-4337: ера StarkNet & zkSync
  • Нативне абстрагування рахунку з дизайном конфіденційності: Aztec

Якщо вас цікавлять Aztec Native AA або EIP-3074, EIP-7702, сьогодні ми зосередимося на нативному AA після ERC-4337.

Різниця між ERC-4337 та рідним AA

1. Роль операційної системи

AA OS потрібно відповісти на такі питання:

  • Хто вирішує ціну Gas?
  • Хто вирішує порядок угод? Де знаходиться пам'ять?
  • Хто викликав функцію точки входу?
  • Що визначає процес обробки交易?

У ERC-4337 ці ролі виконуються спільно через Bundler та EntryPoint Contract.

У нативному AA користувач надсилає свої userOps оператору/сортировщику офіційного сервера, а не Bundler та EntryPoint Contract.

У StarkNet, Sequencer відповідає за виконання всіх цих завдань.

У zkSync, основна відмінність Era від інших реалізацій AA полягає в тому, що Оператор повинен працювати з системним контрактом bootloader(. Bootloader відкриває новий блок, визначає його параметри), включаючи параметри блоку та інші параметри Gas(, і отримує транзакції від Оператора для перевірки.

![Шифрування інфраструктури майбутнього? Розбір абстрагування рахунку в мульти-ланцюгах])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(

) 2. Контрактний інтерфейс

Оскільки існує три кроки, інтерфейс контракту акаунта в різних реалізаціях є схожим, ці функції точок входу можуть бути викликані лише AA OS:

  • ERC-4337: перевірка дій користувача
  • zkSync: перевірка транзакцій, оплата транзакцій, виконання транзакцій
  • StarkNet:виконати, перевірити, перевірити_оголошення, перевірити_впровадження

У ERC-4337 та нативному AA функція точки входу на етапі "перевірки" є фіксованою, тоді як на етапі "виконання" лише точка входу в нативному AA є фіксованою.

3. Обмеження кроків перевірки

Оскільки перевірка транзакцій не має обмежень за вартістю ###, по суті, перевірка транзакцій є викликом функції перегляду (, зловмисник може здійснити DoS-атаку на пул пам'яті, що призведе до пошкодження бандлера )EIP-4337( або оператора/сортировщика ) рідного AA (.

EIP-4337 визначає, які операційні коди заборонені, а також як обмежити доступ до пам'яті. zkSync Era послаблює використання деяких OpCode:

  • Логіка контракту може отримувати доступ тільки до власного слота пам'яті. Якщо адреса акаунта контракту - адреса A, він може отримати доступ до:
    • Сховище, що належить адресі A
    • сховище, що належить будь-якій іншій адресі A
    • Сховище keccak256 )A || X(, що належить будь-якій іншій адресі: це означає, що адреса використовується безпосередньо як ключ у відображенні ), наприклад, відображення (address => value( ), що еквівалентно доступу до сховища keccak256 )A || X(. Наприклад, баланс активів у контракті ERC-20.
  • Логіка контракту не може отримати доступ до глобальних змінних, таких як номер блоку. StarkNet також не дозволяє виклик зовнішніх контрактів.

) 4. Обмеження виконання кроків

У zkSync для виконання системних викликів потрібно підтвердити наявність системного прапора. Наприклад, єдиний спосіб збільшити nonce - це взаємодіяти з NonceHolder, а для розгортання контракту потрібно взаємодіяти з ContractDeployer. Системний прапор забезпечує свідоме взаємодію розробників акаунтів з системними контрактами.

У ERC-4337 та StarkNet етап виконання не має спеціальних обмежень.

5. Випадкове число

  • У ERC-4337 проектування випадкового числа точки входу відрізняє 192-бітове значення ключа та 64-бітове випадкове значення.
  • У zkSync, контракт системи NonceHolder керує nonce, забезпечуючи строгий приріст, тобто збільшуючи випадкове число на 1.
  • У StarkNet nonce також строго зростає, але немає абстрактного nonce, яким керує конкретний контракт.

6. Використання першої транзакції для розгортання

  • ERC-4337 містить поле initcode в структурі userOp, щоб у своєму першому userOp розгорнути контракт акаунту відправника ### (.
  • У StarkNet та zkSync користувачі повинні надіслати першу транзакцію оператору/сортувальнику для розгортання контракту акаунту.

) 7. спеціальний дизайн у zkSync

Якщо ви безпосередньо перенесете ETH з EOA Ethereum на zkSync, не потрібно розгортати індивідуальний контракт рахунку, ви отримаєте стандартний акаунт з тією ж адресою. Цей акаунт може працювати так само, як EOA Ethereum, і також контролюється відповідним приватним ключем EOA Ethereum.

Цей тип акаунту є версією None, а не version1. Ви не можете викликати функції DefaultAccount, оскільки в ядровому просторі не було розгорнуто жодного коду.

Різниця між 4337 L1 та 4337 L2

Існує дві ключові різниці в реалізації ERC-4337 на EVM-сумісних ланцюгах: різниця в протоколах та різниця в адресах.

1. Відмінності в угодах

У дизайні Rollup, L2 потрібно завантажити дані на L1 для забезпечення безпеки та розрахунків. У контексті ERC-4337 витрати, пов'язані з цим процесом завантаження, такі як плата за безпеку L1 та плата за blob, повинні бути включені в попередню верифікацію Gas. Визначення належних витрат на завантаження в попередній верифікації Gas є суттєвим викликом.

2. Різниця адрес

Спосіб кодування адрес у функції create zkSync ERA відрізняється від Ethereum та OP агрегування. Крім того, StarkNet використовує унікальну хеш-функцію для обчислення адрес. У контексті ERC-4337 на EVM-сумісних ланцюгах ми зазвичай припускаємо, що обчислення адрес однакове на всіх ланцюгах. Однак є важкий для помічання деталь, яка може призвести до відмінностей у адресах контрактів акаунтів між реалізаціями ERC-4337 в Ethereum та L2.

Ключове питання полягає в додаванні нових операційних кодів у жорсткому форку. Наприклад, якщо L2 ланцюг не підтримує жорсткий форк Шанхаю і версія EVM не вказана під час компіляції, введення push0 призведе до зміни байт-коду, навіть якщо код Solidity однаковий.

![Шифрування інфраструктури майбутнього? Аналіз абстрагування рахунку в мульти-ланцюгах]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(

Заключення

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

![Шифрування інфраструктури майбутнього? Аналіз абстрагування рахунку в мультиблокчейні])https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Поділіться
Прокоментувати
0/400
MaticHoleFillervip
· 07-22 02:32
Качечка ще не підключилась до блокчейну.
Переглянути оригіналвідповісти на0
TokenUnlockervip
· 07-22 02:32
Оригінальний AA непереможний у всьому світі
Переглянути оригіналвідповісти на0
Anon4461vip
· 07-22 02:29
aa інфраструктура є справжнім великим трендом
Переглянути оригіналвідповісти на0
RooftopReservervip
· 07-22 02:25
AA технології новий інструмент для обдурювання людей, як лохів?
Переглянути оригіналвідповісти на0
WagmiWarriorvip
· 07-22 02:13
Не потрібно займатися всіма цими примхами, головне - добре зробити інфраструктуру.
Переглянути оригіналвідповісти на0
  • Закріпити