Сравнение абстрагирования многоцепочечных счетов: различия между ERC-4337 и нативным AA, а также различия в реализации L1/L2

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

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

На нынешней конференции сообщества 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. Что такое нативное абстрагирование счета (AA)

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

Дизайн 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 необходимо ответить на следующие вопросы:

  • Кто решает цену газа?
  • Кто решает порядок сделок? Где находится пул памяти?
  • Кто вызвал функцию точки входа?
  • Что определяет процесс обработки транзакций?

В ERC-4337 эти роли выполняются совместно через Bundler и EntryPoint Contract.

В оригинальном AA пользователи отправляют свои userOps оператору/сортировщику официального сервера, а не Bundler и EntryPoint Contract.

В StarkNet Sequencer отвечает за выполнение всех этих задач.

В zkSync основное отличие Era от других реализаций AA заключается в том, что оператор должен работать в связке с системным контрактом bootloader(. Bootloader открывает новый блок, определяет его параметры), включая параметры блока и другие газовые параметры(, и принимает транзакции от оператора для проверки.

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 в структуре userOp содержит поле initcode для развертывания контракта счета отправителя ) в его первом userOp (.
  • В StarkNet и zkSync пользователю необходимо отправить первую транзакцию оператору/сортировщику для развертывания контракта счета.

7. Специальный дизайн в zkSync

Если вы напрямую переведете ETH с Ethereum EOA на zkSync, не развертывая индивидуальный контракт счета, вы получите стандартный счет с тем же адресом. Этот счет может работать так же, как Ethereum EOA, и также контролируется соответствующим приватным ключом Ethereum EOA.

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

![Будущее шифрования инфраструктуры? Анализ абстрагирования многосетевых счетов])https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(

) Разница между 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 остается прежним.

Заключение

Выше приведена некоторая информация об абстрагировании счета. Если у вас есть какие-либо вопросы, вы можете найти меня в Twitter.

![Будущее шифрования инфраструктуры? Анализ абстрагирования счетов в мультицепочке]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(

Посмотреть Оригинал
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.
  • Награда
  • 7
  • Поделиться
комментарий
0/400
BearMarketBardvip
· 07-10 04:37
Кажется, я всё ещё не понимаю абстрагирование счета.
Посмотреть ОригиналОтветить0
GateUser-a606bf0cvip
· 07-10 04:30
Продолжай жизнь, давай!
Посмотреть ОригиналОтветить0
MetaRecktvip
· 07-07 05:09
Развитие так быстрое, что уже пришел оригинальный AA.
Посмотреть ОригиналОтветить0
GateUser-0717ab66vip
· 07-07 05:07
Эту абстракцию давно следовало сделать.
Посмотреть ОригиналОтветить0
LiquidatedNotStirredvip
· 07-07 05:04
AA становится все более популярным, ждем изменений.
Посмотреть ОригиналОтветить0
AirdropLickervip
· 07-07 05:00
Когда AA, который стал популярным, выпустит монету?
Посмотреть ОригиналОтветить0
HallucinationGrowervip
· 07-07 04:41
Человек в среднем подписывает абстрактного эксперта, не сворачивай.
Посмотреть ОригиналОтветить0
  • Закрепить