Аналіз технології абстрагування рахунку багатоланцюга: майбутній напрямок розвитку шифрувальної інфраструктури
З 8 по 11 липня 2024 року в Брюсселі, Бельгія, відбудеться щорічна зустріч спільноти Ethereum EthCC. Як найбільша в Європі подія для обміну технологіями та спільнотою Ethereum, цьогорічний EthCC запросив понад 350 провідних експертів у сфері блокчейну виступити з доповідями. Серед них один із розробників блокчейну детально розкрив тему "абстрагування рахунку з кількох ланцюгів".
Основні пункти виступу підсумовуються так:
абстрагування рахунку(AA) полягає у підписному абстрагуванні та платіжному абстрагуванні. Перше дозволяє користувачам гнучко вибирати механізм верифікації, тоді як друге забезпечує різноманітні варіанти транзакційних платежів, що надає більш безпечний і зручний користувацький досвід.
ERC-4337 та нативний AA мають різні проєкти вхідних функцій на етапах перевірки та виконання. Їх реалізації мають різні обмеження щодо перевірки транзакцій та виконання кроків.
При реалізації ERC-4337 на EVM-сумісному ланцюзі необхідно особливо звернути увагу на різницю в протоколах Rollup та різницю в способах обчислення адрес, оскільки вони можуть призвести до різних деталей реалізації між L1 та L2.
Наступна інформація є детальним змістом виступу:
Абстрагування рахунку технології
1. Визначення абстрагування рахунку
абстрагування рахунку(AA)主要包含两个核心概念:签名抽象和支付抽象。
Абстрагування підпису дозволяє користувачам вільно вибирати механізм верифікації, більше не обмежуючись певними алгоритмами цифрового підпису. Це означає, що користувачі можуть використовувати більш різноманітні способи для підтвердження своєї особи та угод, такі як біометрія, мультипідпис тощо. Абстрагування платежів забезпечує різноманітні способи оплати угод, такі як використання токенів ERC-20 для оплати або спонсорування витрат на транзакції третіми сторонами. Токени ERC-20 є найпоширенішим стандартом токенів на Ethereum, що дозволяє створювати взаємозамінні цифрові активи. Ця гнучкість може суттєво підвищити безпеку та користувацький досвід.
2. Аналіз стандарту ERC-4337
Наразі зовнішній акаунт Ethereum (EOA) має деякі обмеження в методах підпису та дизайні платежів. EOA - це звичайний акаунт користувача, який контролюється приватним ключем, і може використовувати лише фіксовані алгоритми підпису та способи оплати. ERC-4337 вирішує ці проблеми, вводячи більш гнучке управління акаунтами та механізми обробки транзакцій.
Основні характеристики ERC-4337:
структура userOp: користувач надсилає userOp до Bundler, який агрегує кілька userOp і викликає функцію handleOps контракту EntryPoint для обробки. userOp є скороченням від операцій користувача, що містить інформацію про транзакції, які користувач бажає виконати. Bundler є проміжним сервісом, відповідальним за збір та упаковку операцій користувача.
Контракт EntryPoint: як "операційна система" для обробки транзакцій, основні функції включають:
викликає функцію validate контракту акаунту, перевіряє авторизацію userOp
стягнення плати
викликає функцію execute контракту акаунта, виконує цільову операцію userOp
Контракт EntryPoint є основою ERC-4337, він об'єднує всі точки входу для операцій абстрагування рахунку.
3. Вступ до рідного абстрагування рахунку
У нативному AA кожен акаунт є контрактом, а механізм обробки транзакцій безпосередньо вбудований у блокчейн-протокол. Це означає, що функція абстрагування рахунку вбудована в основний дизайн блокчейну, а не реалізується як додатковий шар.
Наразі способи реалізації AA в різних мережах блокчейн:
мережі ERC-4337: Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
Дотримання рідної AA ERC-4337: StarkNet та zkSync Era
Нативне AA з дизайном конфіденційності: Aztec
Ці мережі, Arbitrum, Optimism, Base, Linea, Scroll є рішеннями для розширення Layer 2 для Ethereum, які покликані підвищити швидкість обробки транзакцій та знизити витрати. Polygon PoS є мережевою стороною, яка забезпечує підтримку масштабованості для Ethereum. StarkNet та zkSync Era є рішеннями Layer 2, що використовують технології нульових знань, тоді як Aztec зосереджується на забезпеченні функцій захисту конфіденційності.
Порівняльний аналіз ERC-4337 та рідного абстрагування рахунку
1. Проектування ролей системи
AA система повинна вирішити такі ключові питання:
Механізм визначення ціни газу
Управління порядком угод та пам'яттю
Спосіб виклику функції точки входу
визначення процесу обробки транзакцій
Gas є одиницею обчислення в мережі Ethereum, що використовується для вимірювання обчислювальних ресурсів, необхідних для виконання операцій. Меморі пул - це тимчасова зона для зберігання транзакцій, які чекають на обробку.
ERC-4337 виконує ці функції завдяки співпраці між Bundler та EntryPoint контрактами. А в рідному AA користувачі безпосередньо надсилають userOps операторам/сортировщикам офіційного сервера.
Наприклад, у StarkNet Sequencer відповідає за виконання всіх цих завдань. zkSync Era ж виконується оператором у співпраці з системним контрактом bootloader( ). Sequencer і оператор - це вузли, які відповідають за впорядкування та виконання транзакцій.
2. Дизайн інтерфейсу контракту
У різних реалізаціях інтерфейс контракту акаунта має спільні риси, усі містять функцію входу для наступних етапів:
ERC-4337: перевірка дій користувача
zkSync: перевірка транзакцій, платіж транзакцій, виконання транзакцій
В ERC-4337 та рідному AA в етапі "перевірки" вхідні функції фіксовані, тоді як в етапі "виконання" лише вхідна точка рідного AA є фіксованою.
3. Обмеження на етапі перевірки
Оскільки верифікація транзакцій не має обмежень на витрати, це може призвести до атаки типу DoS на мемпул. Атака типу DoS полягає в виснаженні системних ресурсів за допомогою великої кількості недійсних запитів, що ускладнює обробку нормальних запитів. Тому різні реалізації встановлюють певні обмеження на етапі верифікації.
ERC-4337 визначає заборонені операційні коди та обмеження доступу до пам'яті. Операційні коди є інструкціями в віртуальній машині блокчейну, які використовуються для виконання певних операцій. zkSync Era, з іншого боку, послаблює використання деяких OpCode, але все ще обмежує логіку контракту лише доступом до власних слотів пам'яті і не дозволяє доступ до глобальних змінних. StarkNet також не дозволяє виклики з зовнішніх контрактів.
4. Обмеження на етапі виконання
zkSync вимагає підтвердження системного прапора при виконанні системних викликів, щоб забезпечити усвідомлену взаємодію розробників акаунтів із системними контрактами. Системний виклик – це процес запиту на основні послуги операційної системи. ERC-4337 та StarkNet на етапі виконання не мають спеціальних обмежень.
5. Обробка випадкових чисел
Кожна реалізація також має відмінності в дизайні випадкових чисел:
ERC-4337 відрізняє 192-бітне значення ключа та 64-бітне випадкове значення
zkSync управляється контрактом системи NonceHolder, що забезпечує суворе зростання nonce.
Нонс StarkNet також суворо зростає, але немає спеціального контракту для управління.
Випадкове число ( nonce ) використовується в блокчейні для запобігання атакам повторної передачі транзакцій, і для кожної транзакції використовується нове значення nonce.
6. Перший розгортання транзакції
ERC-4337 містить поле initcode у структурі userOp, яке дозволяє розгорнути контракт акаунту в першому userOp.
StarkNet та zkSync вимагають від користувачів надіслати першу транзакцію оператору/сортувальнику для розгортання контракту акаунта
Розгортання контракту акаунту означає створення нового екземпляра смарт-контракту в блокчейні як акаунту користувача.
7. особливий дизайн zkSync
zkSync дозволяє користувачам безпосередньо переносити ETH з EOA Ethereum до zkSync, не потребуючи розгортання користувацького контракту рахунку, щоб отримати стандартний акаунт. Цей акаунт має таку ж адресу, як EOA Ethereum і може працювати як EOA, контролюється відповідним приватним ключем EOA Ethereum.
Різниця між реалізацією ERC-4337 на L1 та L2
При впровадженні ERC-4337 на EVM-сумісних ланцюгах існують два основних ключових відмінності:
1. Різниця в протоколах
У дизайні Rollup L2 потрібно завантажити дані на L1 для забезпечення безпеки та розрахунків. L1 вказує на основний ланцюг (, такий як основна мережа Ethereum ), L2 є розширеним шаром, побудованим поверх L1. У ERC-4337 відповідні витрати (, такі як плата за безпеку L1 та плата за blob ), повинні бути включені в попередню валідацію Gas. Blob є скороченням для двійкових великих об'єктів, які використовуються для зберігання великої кількості даних. Як точно врахувати ці витрати на завантаження в попередній валідації Gas є серйозним викликом.
2. Різниця адрес
У функції create zkSync ERA спосіб кодування адреси відрізняється від Ethereum та OP зведення. StarkNet використовує унікальну хеш-функцію для обчислення адреси.
На EVM-сумісних ланцюгах ERC-4337 зазвичай передбачається, що обчислення адрес однакове на всіх ланцюгах. Однак нові опкоди, додані в рамках жорсткого форку, можуть призвести до змін байт-коду, що, в свою чергу, може викликати невідповідність адрес контрактів акаунтів, реалізованих ERC-4337 в Ethereum та L2. Жорсткий форк є значним оновленням протоколу блокчейну, яке може призвести до несумісних змін. Наприклад, якщо L2-ланцюг не підтримує жорсткий форк Шанхая і версія EVM не була вказана під час компіляції, впровадження push0 змінить байт-код. Байт-код є кодом на машинному рівні для смарт-контрактів, який безпосередньо виконується віртуальною машиною блокчейну.
Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
9 лайків
Нагородити
9
6
Поділіться
Прокоментувати
0/400
gas_fee_trauma
· 19год тому
Що таке абстрактний підпис? Сказав, як не сказав.
Переглянути оригіналвідповісти на0
AirdropLicker
· 07-12 13:37
Цифрові гроші це доля~ обраний працівник!
Переглянути оригіналвідповісти на0
UnluckyMiner
· 07-12 13:36
Майнінг ETH, установка для майнінгу зламалася, тепер професійна спільнота балакає.
Переглянути оригіналвідповісти на0
WenMoon42
· 07-12 13:27
Блокчейн Торгівля криптовалютою старі невдахи EthCC як ще продовжують хвалитися?
Переглянути оригіналвідповісти на0
SeasonedInvestor
· 07-12 13:19
етх партія ніколи не впаде
Переглянути оригіналвідповісти на0
PensionDestroyer
· 07-12 13:19
Коли можна буде використовувати гаманець так просто, як Alipay?
Докладний опис технології абстрагування рахунку багатьох ланцюгів: шифрувальні гаманці безпека та зручність зазнають революції
Аналіз технології абстрагування рахунку багатоланцюга: майбутній напрямок розвитку шифрувальної інфраструктури
З 8 по 11 липня 2024 року в Брюсселі, Бельгія, відбудеться щорічна зустріч спільноти Ethereum EthCC. Як найбільша в Європі подія для обміну технологіями та спільнотою Ethereum, цьогорічний EthCC запросив понад 350 провідних експертів у сфері блокчейну виступити з доповідями. Серед них один із розробників блокчейну детально розкрив тему "абстрагування рахунку з кількох ланцюгів".
Основні пункти виступу підсумовуються так:
абстрагування рахунку(AA) полягає у підписному абстрагуванні та платіжному абстрагуванні. Перше дозволяє користувачам гнучко вибирати механізм верифікації, тоді як друге забезпечує різноманітні варіанти транзакційних платежів, що надає більш безпечний і зручний користувацький досвід.
ERC-4337 та нативний AA мають різні проєкти вхідних функцій на етапах перевірки та виконання. Їх реалізації мають різні обмеження щодо перевірки транзакцій та виконання кроків.
При реалізації ERC-4337 на EVM-сумісному ланцюзі необхідно особливо звернути увагу на різницю в протоколах Rollup та різницю в способах обчислення адрес, оскільки вони можуть призвести до різних деталей реалізації між L1 та L2.
Наступна інформація є детальним змістом виступу:
Абстрагування рахунку технології
1. Визначення абстрагування рахунку
абстрагування рахунку(AA)主要包含两个核心概念:签名抽象和支付抽象。
Абстрагування підпису дозволяє користувачам вільно вибирати механізм верифікації, більше не обмежуючись певними алгоритмами цифрового підпису. Це означає, що користувачі можуть використовувати більш різноманітні способи для підтвердження своєї особи та угод, такі як біометрія, мультипідпис тощо. Абстрагування платежів забезпечує різноманітні способи оплати угод, такі як використання токенів ERC-20 для оплати або спонсорування витрат на транзакції третіми сторонами. Токени ERC-20 є найпоширенішим стандартом токенів на Ethereum, що дозволяє створювати взаємозамінні цифрові активи. Ця гнучкість може суттєво підвищити безпеку та користувацький досвід.
2. Аналіз стандарту ERC-4337
Наразі зовнішній акаунт Ethereum (EOA) має деякі обмеження в методах підпису та дизайні платежів. EOA - це звичайний акаунт користувача, який контролюється приватним ключем, і може використовувати лише фіксовані алгоритми підпису та способи оплати. ERC-4337 вирішує ці проблеми, вводячи більш гнучке управління акаунтами та механізми обробки транзакцій.
Основні характеристики ERC-4337:
структура userOp: користувач надсилає userOp до Bundler, який агрегує кілька userOp і викликає функцію handleOps контракту EntryPoint для обробки. userOp є скороченням від операцій користувача, що містить інформацію про транзакції, які користувач бажає виконати. Bundler є проміжним сервісом, відповідальним за збір та упаковку операцій користувача.
Контракт EntryPoint: як "операційна система" для обробки транзакцій, основні функції включають:
Контракт EntryPoint є основою ERC-4337, він об'єднує всі точки входу для операцій абстрагування рахунку.
3. Вступ до рідного абстрагування рахунку
У нативному AA кожен акаунт є контрактом, а механізм обробки транзакцій безпосередньо вбудований у блокчейн-протокол. Це означає, що функція абстрагування рахунку вбудована в основний дизайн блокчейну, а не реалізується як додатковий шар.
Наразі способи реалізації AA в різних мережах блокчейн:
Ці мережі, Arbitrum, Optimism, Base, Linea, Scroll є рішеннями для розширення Layer 2 для Ethereum, які покликані підвищити швидкість обробки транзакцій та знизити витрати. Polygon PoS є мережевою стороною, яка забезпечує підтримку масштабованості для Ethereum. StarkNet та zkSync Era є рішеннями Layer 2, що використовують технології нульових знань, тоді як Aztec зосереджується на забезпеченні функцій захисту конфіденційності.
Порівняльний аналіз ERC-4337 та рідного абстрагування рахунку
1. Проектування ролей системи
AA система повинна вирішити такі ключові питання:
Gas є одиницею обчислення в мережі Ethereum, що використовується для вимірювання обчислювальних ресурсів, необхідних для виконання операцій. Меморі пул - це тимчасова зона для зберігання транзакцій, які чекають на обробку.
ERC-4337 виконує ці функції завдяки співпраці між Bundler та EntryPoint контрактами. А в рідному AA користувачі безпосередньо надсилають userOps операторам/сортировщикам офіційного сервера.
Наприклад, у StarkNet Sequencer відповідає за виконання всіх цих завдань. zkSync Era ж виконується оператором у співпраці з системним контрактом bootloader( ). Sequencer і оператор - це вузли, які відповідають за впорядкування та виконання транзакцій.
2. Дизайн інтерфейсу контракту
У різних реалізаціях інтерфейс контракту акаунта має спільні риси, усі містять функцію входу для наступних етапів:
В ERC-4337 та рідному AA в етапі "перевірки" вхідні функції фіксовані, тоді як в етапі "виконання" лише вхідна точка рідного AA є фіксованою.
3. Обмеження на етапі перевірки
Оскільки верифікація транзакцій не має обмежень на витрати, це може призвести до атаки типу DoS на мемпул. Атака типу DoS полягає в виснаженні системних ресурсів за допомогою великої кількості недійсних запитів, що ускладнює обробку нормальних запитів. Тому різні реалізації встановлюють певні обмеження на етапі верифікації.
ERC-4337 визначає заборонені операційні коди та обмеження доступу до пам'яті. Операційні коди є інструкціями в віртуальній машині блокчейну, які використовуються для виконання певних операцій. zkSync Era, з іншого боку, послаблює використання деяких OpCode, але все ще обмежує логіку контракту лише доступом до власних слотів пам'яті і не дозволяє доступ до глобальних змінних. StarkNet також не дозволяє виклики з зовнішніх контрактів.
4. Обмеження на етапі виконання
zkSync вимагає підтвердження системного прапора при виконанні системних викликів, щоб забезпечити усвідомлену взаємодію розробників акаунтів із системними контрактами. Системний виклик – це процес запиту на основні послуги операційної системи. ERC-4337 та StarkNet на етапі виконання не мають спеціальних обмежень.
5. Обробка випадкових чисел
Кожна реалізація також має відмінності в дизайні випадкових чисел:
Випадкове число ( nonce ) використовується в блокчейні для запобігання атакам повторної передачі транзакцій, і для кожної транзакції використовується нове значення nonce.
6. Перший розгортання транзакції
Розгортання контракту акаунту означає створення нового екземпляра смарт-контракту в блокчейні як акаунту користувача.
7. особливий дизайн zkSync
zkSync дозволяє користувачам безпосередньо переносити ETH з EOA Ethereum до zkSync, не потребуючи розгортання користувацького контракту рахунку, щоб отримати стандартний акаунт. Цей акаунт має таку ж адресу, як EOA Ethereum і може працювати як EOA, контролюється відповідним приватним ключем EOA Ethereum.
Різниця між реалізацією ERC-4337 на L1 та L2
При впровадженні ERC-4337 на EVM-сумісних ланцюгах існують два основних ключових відмінності:
1. Різниця в протоколах
У дизайні Rollup L2 потрібно завантажити дані на L1 для забезпечення безпеки та розрахунків. L1 вказує на основний ланцюг (, такий як основна мережа Ethereum ), L2 є розширеним шаром, побудованим поверх L1. У ERC-4337 відповідні витрати (, такі як плата за безпеку L1 та плата за blob ), повинні бути включені в попередню валідацію Gas. Blob є скороченням для двійкових великих об'єктів, які використовуються для зберігання великої кількості даних. Як точно врахувати ці витрати на завантаження в попередній валідації Gas є серйозним викликом.
2. Різниця адрес
У функції create zkSync ERA спосіб кодування адреси відрізняється від Ethereum та OP зведення. StarkNet використовує унікальну хеш-функцію для обчислення адреси.
На EVM-сумісних ланцюгах ERC-4337 зазвичай передбачається, що обчислення адрес однакове на всіх ланцюгах. Однак нові опкоди, додані в рамках жорсткого форку, можуть призвести до змін байт-коду, що, в свою чергу, може викликати невідповідність адрес контрактів акаунтів, реалізованих ERC-4337 в Ethereum та L2. Жорсткий форк є значним оновленням протоколу блокчейну, яке може призвести до несумісних змін. Наприклад, якщо L2-ланцюг не підтримує жорсткий форк Шанхая і версія EVM не була вказана під час компіляції, впровадження push0 змінить байт-код. Байт-код є кодом на машинному рівні для смарт-контрактів, який безпосередньо виконується віртуальною машиною блокчейну.