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

Мультицепочная абстрагирование счета: будущее шифрования инфраструктуры

С 8 по 11 июля 2024 года в Брюсселе, Бельгия, пройдет встреча сообщества Ethereum (EthCC), крупнейшее ежегодное событие Ethereum в Европе, сосредоточенное на технологиях и сообществе.

На этой конференции сообщества Ethereum ( 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 и отправляет их в контракт EntryPoint, вызывая функцию handleOps.
  • Контракт EntryPoint: этот контракт обрабатывает транзакции как операционная система, основные функции включают:
    • Вызовите функцию validate в контракте счета, чтобы убедиться, что userOp получил разрешение владельца счета.
    • Взимание платы.
    • Вызовите функцию execute в контракте счета для выполнения целевой операции userOp.

3. Что такое нативное абстрагирование счета

В Ethereum счета делятся на EOA и контрактные счета. Однако в родном абстрагировании счета каждый счет является контрактом, и механизм обработки транзакций непосредственно встроен в протокол блокчейна.

Дизайн AA в различных блокчейн-сетях:

  • ERC-4337 абстрагирование счета: Эфириум, Арбитрум, Оптимизм, База, Линеа, Скролл, Полигон PoS
  • Нативное абстрагирование счета соответствует ERC-4337: эпоха StarkNet и zkSync
  • Нативное абстрагирование счета с дизайном конфиденциальности: Aztec

Если вас интересует 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 заключается в том, что Operator должен работать в сотрудничестве с системным контрактом bootloader(. Bootloader открывает новый блок, определяя его параметры), включая параметры блока и другие параметры Gas(, и принимает транзакции от Operator для проверки.

![Будущее шифрования инфраструктуры? Анализ абстрагирования многоцепочечного счета])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 с Ethereum EOA на zkSync, не развертывая настраиваемый контракт счета, вы получите стандартный счет с таким же адресом. Этот счет может работать так же, как Ethereum EOA, и также контролируется соответствующим закрытым ключом Ethereum EOA.

Этот тип счета имеет версию None, а не version1. Вы не можете вызывать функции DefaultAccount, потому что в пространстве ядра не развернуто никакого кода.

Разница между L1 4337 и L2 4337

Внедрение 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###

Заключение

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

Будущее шифрования инфраструктуры? Анализ абстрагирования многосетевых счетов

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 8
  • Репост
  • Поделиться
комментарий
0/400
HashBanditvip
· 07-25 01:52
мэ... еще один хайп-поезд AA на подходе. в мои дни майнинга нам не нужны были эти навороты, если честно, только чистая хешмощь и прибыль
Посмотреть ОригиналОтветить0
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
  • Закрепить