Глибина аналізу технології абстрагування рахунку на кількох ланцюгах
З 8 по 11 липня 2024 року в Брюсселі, Бельгія, відбудеться найбільша в Європі щорічна подія Ethereum — Ethereum Community Conference (EthCC), яка зосередиться на технологічному та спільнотному розвитку. На конференції виступлять понад 350 лідерів думок з індустрії блокчейн, серед яких буде виступ на тему "Розкриття майбутнього: аналіз абстрагування рахунку в мультинеймовій мережі".
Огляд основних пунктів виступу
абстрагування рахунку (AA) має два основних поняття: абстракція підпису та абстракція платежу. Перше дозволяє користувачам вибирати будь-який механізм верифікації, друге підтримує різноманітні варіанти оплати транзакцій, що разом підвищує зручність використання та безпеку.
ERC-4337 та рідна AA мають різні функції точки входу на етапах валідації та виконання. Обмеження для валідації транзакцій та етапи виконання транзакцій мають свої особливості в різних реалізаціях.
При впровадженні ERC-4337 на EVM-сумісному ланцюгу, відмінності в протоколі дизайну Rollup і способі обчислення адреси є двома ключовими відмінностями, що приводить до необхідності звернути увагу на деякі тонкі деталі розробки при реалізації між L1 і L2.
Абстрагування рахунку: детальний опис технології
Основна концепція абстрагування рахунку
абстрагування рахунку主要包含两个关键点:
Абстрагування підпису: дозволяє користувачам обирати будь-який зручний механізм верифікації, більше не обмежуючись конкретними алгоритмами цифрового підпису.
Абстрагування платежів: підтримує використання різних варіантів оплати, таких як оплата токенами ERC-20 або спонсорування комісій за транзакції третьою стороною.
Ця гнучкість значно покращує досвід користувачів та безпеку, є основною метою технології абстрагування рахунку.
Аналіз стандарту ERC-4337
ERC-4337 вирішує деякі вбудовані обмеження зовнішніх володіючих акаунтів (EOA) Ethereum, вводячи більш гнучкі методи управління акаунтами та обробки транзакцій. Його основні компоненти включають:
структура userOp: користувач надсилає цю структуру Bundler, який збирає кілька userOp та викликає функцію handleOps контракту EntryPoint.
Контракт EntryPoint: як основа обробки транзакцій, основні функції включають в себе перевірку авторизації userOp, стягнення зборів, виконання цільових операцій.
абстрагування рахунку
У рідному AA кожен акаунт є контрактом, механізм обробки транзакцій безпосередньо вбудований у протокол блокчейну. Наразі великі блокчейн-мережі реалізують AA різними способами:
Дотримуючись абстрагування рахунку ERC-4337: StarkNet та zkSync Era
Нативне абстрагування рахунку з дизайном конфіденційності: Aztec
Порівняльний аналіз ERC-4337 та нативного AA
Ролі операційної системи
ERC-4337 здійснює обробку транзакцій за допомогою Bundler та EntryPoint Contract, тоді як у рідному AA користувачі безпосередньо надсилають userOps оператору/сортувальнику офіційного сервера.
StarkNet: Секвенсер відповідає за всі завдання обробки транзакцій
zkSync Era: Оператор повинен працювати в співпраці з bootloader (системний контракт)
Дизайн інтерфейсу контракту
Інтерфейс контракту акаунту подібний в різних реалізаціях, в основному складається з двох етапів: верифікації та виконання. Для ERC-4337 та рідного AA функції точок входу на етапі верифікації є фіксованими, але на етапі виконання тільки точка входу рідного AA є фіксованою.
Обмеження етапів перевірки
Щоб запобігти атакам DoS, різні реалізації встановили різні обмеження на перевірку транзакцій:
ERC-4337 визначає заборонені операційні коди та обмеження доступу до пам'яті
zkSync Era дозволяє доступ до певних слотів зберігання, але забороняє доступ до глобальних змінних
StarkNet не дозволяє викликати зовнішні контракти
обмеження кроків виконання
zkSync: потрібно підтвердити наявність системного знака для виконання системного виклику
ERC-4337 та StarkNet: немає спеціальних обмежень на етапі виконання
управління випадковими числами
ERC-4337: розрізнення 192-бітного ключа та 64-бітного випадкового значення
zkSync: керується контрактом системи NonceHolder, що забезпечує суворе зростання
StarkNet: строго зростаючий, але без спеціального управління контрактами
Перше розгортання угоди
ERC-4337: розгортання контракту акаунту через поле initcode в структурі userOp
StarkNet та zkSync: необхідно надіслати першу транзакцію оператору/сортувальнику для розгортання контракту акаунту
Різниця реалізації ERC-4337 між L1 та L2
При впровадженні ERC-4337 на EVM-сумісних ланцюгах існує два ключових відмінності:
Відмінності в протоколах: L2 повинен завантажити дані на L1 для забезпечення безпеки та розрахунків, пов'язані витрати (такі як плата за безпеку L1 та плата за blob) повинні бути включені в попередню валідацію Gas, що збільшує складність оцінки витрат.
Різниця в адресах: Існують відмінності в способах обчислення адрес на різних ланцюгах, що може призвести до того, що акаунт контракту має різні адреси в Ethereum та L2. Особливо під час жорсткого форкання, коли вводяться нові операційні коди; якщо L2 не підтримує цей жорсткий форк, навіть якщо код Solidity однаковий, зкомпільовані байт-коди можуть бути різними.
Вищезазначений аналіз виявляє складність і різноманітність технології абстрагування рахунку в багатоланковому середовищі. З розвитком технологій ці відмінності можуть ще більше розширитися або зійтися, що заслуговує на постійну увагу та дослідження.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Глибина аналізу: стан та виклики технології абстрагування рахунків на основі багатьох ланцюгів
Глибина аналізу технології абстрагування рахунку на кількох ланцюгах
З 8 по 11 липня 2024 року в Брюсселі, Бельгія, відбудеться найбільша в Європі щорічна подія Ethereum — Ethereum Community Conference (EthCC), яка зосередиться на технологічному та спільнотному розвитку. На конференції виступлять понад 350 лідерів думок з індустрії блокчейн, серед яких буде виступ на тему "Розкриття майбутнього: аналіз абстрагування рахунку в мультинеймовій мережі".
Огляд основних пунктів виступу
абстрагування рахунку (AA) має два основних поняття: абстракція підпису та абстракція платежу. Перше дозволяє користувачам вибирати будь-який механізм верифікації, друге підтримує різноманітні варіанти оплати транзакцій, що разом підвищує зручність використання та безпеку.
ERC-4337 та рідна AA мають різні функції точки входу на етапах валідації та виконання. Обмеження для валідації транзакцій та етапи виконання транзакцій мають свої особливості в різних реалізаціях.
При впровадженні ERC-4337 на EVM-сумісному ланцюгу, відмінності в протоколі дизайну Rollup і способі обчислення адреси є двома ключовими відмінностями, що приводить до необхідності звернути увагу на деякі тонкі деталі розробки при реалізації між L1 і L2.
Абстрагування рахунку: детальний опис технології
Основна концепція абстрагування рахунку
абстрагування рахунку主要包含两个关键点:
Абстрагування підпису: дозволяє користувачам обирати будь-який зручний механізм верифікації, більше не обмежуючись конкретними алгоритмами цифрового підпису.
Абстрагування платежів: підтримує використання різних варіантів оплати, таких як оплата токенами ERC-20 або спонсорування комісій за транзакції третьою стороною.
Ця гнучкість значно покращує досвід користувачів та безпеку, є основною метою технології абстрагування рахунку.
Аналіз стандарту ERC-4337
ERC-4337 вирішує деякі вбудовані обмеження зовнішніх володіючих акаунтів (EOA) Ethereum, вводячи більш гнучкі методи управління акаунтами та обробки транзакцій. Його основні компоненти включають:
структура userOp: користувач надсилає цю структуру Bundler, який збирає кілька userOp та викликає функцію handleOps контракту EntryPoint.
Контракт EntryPoint: як основа обробки транзакцій, основні функції включають в себе перевірку авторизації userOp, стягнення зборів, виконання цільових операцій.
абстрагування рахунку
У рідному AA кожен акаунт є контрактом, механізм обробки транзакцій безпосередньо вбудований у протокол блокчейну. Наразі великі блокчейн-мережі реалізують AA різними способами:
Порівняльний аналіз ERC-4337 та нативного AA
Ролі операційної системи
ERC-4337 здійснює обробку транзакцій за допомогою Bundler та EntryPoint Contract, тоді як у рідному AA користувачі безпосередньо надсилають userOps оператору/сортувальнику офіційного сервера.
Дизайн інтерфейсу контракту
Інтерфейс контракту акаунту подібний в різних реалізаціях, в основному складається з двох етапів: верифікації та виконання. Для ERC-4337 та рідного AA функції точок входу на етапі верифікації є фіксованими, але на етапі виконання тільки точка входу рідного AA є фіксованою.
Обмеження етапів перевірки
Щоб запобігти атакам DoS, різні реалізації встановили різні обмеження на перевірку транзакцій:
обмеження кроків виконання
управління випадковими числами
Перше розгортання угоди
Різниця реалізації ERC-4337 між L1 та L2
При впровадженні ERC-4337 на EVM-сумісних ланцюгах існує два ключових відмінності:
Відмінності в протоколах: L2 повинен завантажити дані на L1 для забезпечення безпеки та розрахунків, пов'язані витрати (такі як плата за безпеку L1 та плата за blob) повинні бути включені в попередню валідацію Gas, що збільшує складність оцінки витрат.
Різниця в адресах: Існують відмінності в способах обчислення адрес на різних ланцюгах, що може призвести до того, що акаунт контракту має різні адреси в Ethereum та L2. Особливо під час жорсткого форкання, коли вводяться нові операційні коди; якщо L2 не підтримує цей жорсткий форк, навіть якщо код Solidity однаковий, зкомпільовані байт-коди можуть бути різними.
Вищезазначений аналіз виявляє складність і різноманітність технології абстрагування рахунку в багатоланковому середовищі. З розвитком технологій ці відмінності можуть ще більше розширитися або зійтися, що заслуговує на постійну увагу та дослідження.