Многоцепочечное абстрагирование счета: Исследование будущего шифрования инфраструктуры
С 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 каждый счет является контрактом, и механизм обработки транзакций напрямую встроен в протокол блокчейна.
Нативное абстрагирование счета соответствует 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: проверка транзакций, оплата транзакций, выполнение транзакций
В 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.
12 Лайков
Награда
12
7
Поделиться
комментарий
0/400
BearMarketBard
· 07-10 04:37
Кажется, я всё ещё не понимаю абстрагирование счета.
Посмотреть ОригиналОтветить0
GateUser-a606bf0c
· 07-10 04:30
Продолжай жизнь, давай!
Посмотреть ОригиналОтветить0
MetaReckt
· 07-07 05:09
Развитие так быстрое, что уже пришел оригинальный AA.
Посмотреть ОригиналОтветить0
GateUser-0717ab66
· 07-07 05:07
Эту абстракцию давно следовало сделать.
Посмотреть ОригиналОтветить0
LiquidatedNotStirred
· 07-07 05:04
AA становится все более популярным, ждем изменений.
Посмотреть ОригиналОтветить0
AirdropLicker
· 07-07 05:00
Когда AA, который стал популярным, выпустит монету?
Посмотреть ОригиналОтветить0
HallucinationGrower
· 07-07 04:41
Человек в среднем подписывает абстрактного эксперта, не сворачивай.
Сравнение абстрагирования многоцепочечных счетов: различия между ERC-4337 и нативным AA, а также различия в реализации L1/L2
Многоцепочечное абстрагирование счета: Исследование будущего шифрования инфраструктуры
С 8 по 11 июля 2024 года в Брюсселе, Бельгия, пройдет встреча сообщества Эфириума (EthCC), крупнейшее ежегодное мероприятие Эфириума в Европе, сосредоточенное на технологиях и сообществе.
На нынешней конференции сообщества Ethereum ( EthCC 7) более 350 активных лидеров мнений из блокчейн-индустрии выступили с речами, среди которых один из разработчиков блокчейна был приглашен для участия и выступил с темой "Раскрытие будущего: анализ абстрагирования счета на нескольких цепочках".
Обзор выступления:
Ниже приведен полный текст речи:
Всем привет, сегодня я представлю вам концепции ERC-4337 и Native AA, обсудим различия между ними и акцентируем внимание на основных различиях стандарта 4337 для L1 и L2.
абстрагирование счета
1. Что такое абстрагирование счета
абстрагирование счета(AA)включает в себя два ключевых момента: абстрагирование подписи и абстрагирование платежа.
Эта гибкость обеспечивает более безопасный и оптимальный пользовательский опыт. Цель абстрагирования счета заключается в реализации этих двух ключевых моментов различными способами.
2. Что такое ERC-4337
В настоящее время в протоколе Ethereum существует некоторые ограничения для внешних счетов (EOA), такие как фиксированный метод подписи и дизайн платежей. ERC-4337 решает эти проблемы, вводя более гибкое управление счетами и методы обработки транзакций.
3. Что такое нативное абстрагирование счета (AA)
В Ethereum счета делятся на EOA и контрактные счета. Однако в нативном AA каждый счет является контрактом, и механизм обработки транзакций напрямую встроен в протокол блокчейна.
Дизайн 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 открывает новый блок, определяет его параметры), включая параметры блока и другие газовые параметры(, и принимает транзакции от оператора для проверки.
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 с 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(