Багатоланцюгове абстрагування рахунку: майбутній напрямок шифрувальної інфраструктури
З 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 та контрактні акаунти. Проте, в рідному абстрагуванні рахунку, кожен акаунт є контрактом, а механізм обробки транзакцій безпосередньо вбудований у протокол блокчейну.
Нативне абстрагування рахунку відповідає 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: перевірка транзакцій, оплата транзакцій, виконання транзакцій
У 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, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
7 лайків
Нагородити
7
5
Поділіться
Прокоментувати
0/400
MaticHoleFiller
· 07-22 02:32
Качечка ще не підключилась до блокчейну.
Переглянути оригіналвідповісти на0
TokenUnlocker
· 07-22 02:32
Оригінальний AA непереможний у всьому світі
Переглянути оригіналвідповісти на0
Anon4461
· 07-22 02:29
aa інфраструктура є справжнім великим трендом
Переглянути оригіналвідповісти на0
RooftopReserver
· 07-22 02:25
AA технології новий інструмент для обдурювання людей, як лохів?
Переглянути оригіналвідповісти на0
WagmiWarrior
· 07-22 02:13
Не потрібно займатися всіма цими примхами, головне - добре зробити інфраструктуру.
Порівняння абстрагування рахунків у багатоланцевій системі: Ключові відмінності між 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)主要包括两个关键点:签名抽象和支付抽象。
Ця гнучкість забезпечує більш безпечний та оптимальний досвід користувача. Метою абстрагування рахунку є досягнення цих двох ключових моментів різними способами.
2. Що таке ERC-4337
Наразі в протоколі Ethereum існують певні обмеження для зовнішніх володінь акаунту (EOA), такі як фіксовані методи підпису та дизайн платежів. ERC-4337 вирішує ці проблеми, впроваджуючи більш гнучке управління акаунтами та обробку транзакцій.
3. Що таке нативне AA
У Ethereum акаунти поділяються на EOA та контрактні акаунти. Проте, в рідному абстрагуванні рахунку, кожен акаунт є контрактом, а механізм обробки транзакцій безпосередньо вбудований у протокол блокчейну.
Дизайн AA в різних блокчейн-мережах:
Якщо вас цікавлять Aztec Native AA або EIP-3074, EIP-7702, сьогодні ми зосередимося на нативному AA після ERC-4337.
Різниця між ERC-4337 та рідним AA
1. Роль операційної системи
AA OS потрібно відповісти на такі питання:
У 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 та нативному AA функція точки входу на етапі "перевірки" є фіксованою, тоді як на етапі "виконання" лише точка входу в нативному AA є фіксованою.
3. Обмеження кроків перевірки
Оскільки перевірка транзакцій не має обмежень за вартістю ###, по суті, перевірка транзакцій є викликом функції перегляду (, зловмисник може здійснити DoS-атаку на пул пам'яті, що призведе до пошкодження бандлера )EIP-4337( або оператора/сортировщика ) рідного AA (.
EIP-4337 визначає, які операційні коди заборонені, а також як обмежити доступ до пам'яті. zkSync Era послаблює використання деяких OpCode:
) 4. Обмеження виконання кроків
У zkSync для виконання системних викликів потрібно підтвердити наявність системного прапора. Наприклад, єдиний спосіб збільшити nonce - це взаємодіяти з NonceHolder, а для розгортання контракту потрібно взаємодіяти з ContractDeployer. Системний прапор забезпечує свідоме взаємодію розробників акаунтів з системними контрактами.
У ERC-4337 та StarkNet етап виконання не має спеціальних обмежень.
5. Випадкове число
6. Використання першої транзакції для розгортання
) 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(