Глубокий анализ технологии абстрагирования многоцепочных счетов
С 8 по 11 июля 2024 года в Брюсселе, Бельгия, пройдет крупнейшее в Европе ежегодное мероприятие по Ethereum — Конференция сообщества Ethereum (EthCC), сосредоточенная на технологиях и развитии сообщества. На конференции выступят более 350 ведущих мнений из блокчейн-индустрии, в том числе с докладом на тему "Открывая будущее: анализ абстрагирования многоцепочечных счетов".
Обзор ключевых моментов выступления
Два основных понятия абстрагирования счета (AA): абстракция подписи и абстракция платежа. Первая позволяет пользователям выбирать любую механическую проверку, вторая поддерживает различные варианты платежей, что вместе улучшает пользовательский опыт и безопасность.
В дизайне функций входной точки на этапах проверки и выполнения ERC-4337 и нативного AA существуют различия. Ограничения на проверку транзакций и шаги выполнения транзакций имеют свои особенности в различных реализациях.
При реализации ERC-4337 на совместимой с EVM цепочке два ключевых отличия: различия в протоколе дизайна Rollup и способах вычисления адресов, что требует внимания к некоторым тонким деталям разработки при реализации между L1 и L2.
Абстрагирование счета: подробное объяснение технологии
абстрагирование счета核心概念
абстрагирование счета主要包含两个关键点:
Абстрагирование подписи: позволяет пользователям выбирать любые желаемые механизмы проверки, не ограничиваясь конкретными алгоритмами цифровой подписи.
Абстрагирование платежа: поддержка использования различных вариантов оплаты, таких как оплата с помощью токенов ERC-20 или спонсирование комиссии за транзакции третьими лицами.
Эта гибкость значительно повышает пользовательский опыт и безопасность, что является основной целью абстрагирования счета.
Анализ стандарта ERC-4337
ERC-4337 решает некоторые ограниченные недостатки внешних владением счетов (EOA) Ethereum, вводя более гибкие методы управления счетами и обработки транзакций. Его основные компоненты включают:
структура userOp: пользователь отправляет эту структуру Bundler, который собирает несколько userOp и вызывает функцию handleOps контракта EntryPoint.
Контракт EntryPoint: является ядром обработки транзакций, основные функции включают в себя проверку авторизации userOp, взимание платы, выполнение целевых операций.
абстрагирование счета
В нативном AA каждый счет является контрактом, а механизм обработки транзакций непосредственно встроен в протокол блокчейна. В настоящее время различные блокчейн-сети по-разному реализуют AA:
Следование абстрагированию счета ERC-4337: Ethereum, Arbitrum, Optimism и др.
Следование абстрагированию счета ERC-4337: StarkNet и zkSync Era
Нативное абстрагирование счета с дизайном конфиденциальности: Aztec
Сравнительный анализ ERC-4337 и нативного AA
Роль операционной системы
ERC-4337 выполняет обработку транзакций с помощью Bundler и EntryPoint Contract, тогда как в нативном AA пользователи напрямую отправляют userOps оператору/сортировщику на официальном сервере.
StarkNet: Секвенсер отвечает за все задачи обработки транзакций
zkSync Era: Оператор должен работать в сотрудничестве с bootloader (системный контракт)
Дизайн интерфейса контракта
Интерфейс контракта счета похож в разных реализациях и в основном включает два этапа: верификацию и выполнение. Входные функции на этапе верификации для ERC-4337 и нативного AA фиксированы, но на этапе выполнения фиксирована только входная функция нативного AA.
Ограничение шагов проверки
Чтобы предотвратить атаки DoS, различные реализации установили разные ограничения на проверку транзакций:
ERC-4337 определяет запрещенные коды операций и ограничения доступа к хранилищу
zkSync Era разрешает доступ к определённым слотам хранения, но запрещает доступ к глобальным переменным
StarkNet не позволяет внешним контрактам вызывать
Ограничение на шаги выполнения
zkSync: необходимо подтвердить наличие системного флага для выполнения системного вызова
ERC-4337 и StarkNet: нет специальных ограничений на этапе выполнения
Управление случайными числами
ERC-4337: различение 192-битного ключевого значения и 64-битного случайного значения
zkSync: управляется смарт-контрактом системы NonceHolder, обеспечивая строгую последовательность увеличения
StarkNet: строгое увеличение, но без специализированного управления контрактами
Первое развертывание сделки
ERC-4337: Развертывание контракта счета через поле initcode в структуре userOp
StarkNet и zkSync: необходимо отправить первую транзакцию оператору/сортировщику для развертывания контракта счета
Различия в реализации ERC-4337 между L1 и L2
При реализации ERC-4337 на EVM-совместимых цепочках существует два основных ключевых различия:
Различия в протоколах: L2 должен загружать данные в L1 для обеспечения безопасности и расчетов, сопутствующие расходы (такие как сборы за безопасность L1 и сборы за blob) должны быть включены в предпроверку Gas, что увеличивает сложность оценки расходов.
Различия в адресах: существует разница в способах вычисления адресов разных цепочек, что может привести к несоответствию адресов контрактов счетов в Ethereum и L2. Особенно когда жесткий форк вводит новые опкоды, если L2 не поддерживает этот жесткий форк, даже если код Solidity одинаковый, скомпилированный байт-код может быть различным.
Вышеуказанный анализ выявляет сложность и разнообразие технологий абстрагирования счета в многоцепочечной среде. С развитием технологий эти различия могут еще больше расшириться или сойтись, что заслуживает постоянного внимания и исследования.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Глубина анализа: текущее состояние и вызовы технологии абстрагирования счета в многопоточном режиме
Глубокий анализ технологии абстрагирования многоцепочных счетов
С 8 по 11 июля 2024 года в Брюсселе, Бельгия, пройдет крупнейшее в Европе ежегодное мероприятие по Ethereum — Конференция сообщества Ethereum (EthCC), сосредоточенная на технологиях и развитии сообщества. На конференции выступят более 350 ведущих мнений из блокчейн-индустрии, в том числе с докладом на тему "Открывая будущее: анализ абстрагирования многоцепочечных счетов".
Обзор ключевых моментов выступления
Два основных понятия абстрагирования счета (AA): абстракция подписи и абстракция платежа. Первая позволяет пользователям выбирать любую механическую проверку, вторая поддерживает различные варианты платежей, что вместе улучшает пользовательский опыт и безопасность.
В дизайне функций входной точки на этапах проверки и выполнения ERC-4337 и нативного AA существуют различия. Ограничения на проверку транзакций и шаги выполнения транзакций имеют свои особенности в различных реализациях.
При реализации ERC-4337 на совместимой с EVM цепочке два ключевых отличия: различия в протоколе дизайна Rollup и способах вычисления адресов, что требует внимания к некоторым тонким деталям разработки при реализации между L1 и L2.
Абстрагирование счета: подробное объяснение технологии
абстрагирование счета核心概念
абстрагирование счета主要包含两个关键点:
Абстрагирование подписи: позволяет пользователям выбирать любые желаемые механизмы проверки, не ограничиваясь конкретными алгоритмами цифровой подписи.
Абстрагирование платежа: поддержка использования различных вариантов оплаты, таких как оплата с помощью токенов ERC-20 или спонсирование комиссии за транзакции третьими лицами.
Эта гибкость значительно повышает пользовательский опыт и безопасность, что является основной целью абстрагирования счета.
Анализ стандарта ERC-4337
ERC-4337 решает некоторые ограниченные недостатки внешних владением счетов (EOA) Ethereum, вводя более гибкие методы управления счетами и обработки транзакций. Его основные компоненты включают:
структура userOp: пользователь отправляет эту структуру Bundler, который собирает несколько userOp и вызывает функцию handleOps контракта EntryPoint.
Контракт EntryPoint: является ядром обработки транзакций, основные функции включают в себя проверку авторизации userOp, взимание платы, выполнение целевых операций.
абстрагирование счета
В нативном AA каждый счет является контрактом, а механизм обработки транзакций непосредственно встроен в протокол блокчейна. В настоящее время различные блокчейн-сети по-разному реализуют AA:
Сравнительный анализ ERC-4337 и нативного AA
Роль операционной системы
ERC-4337 выполняет обработку транзакций с помощью Bundler и EntryPoint Contract, тогда как в нативном AA пользователи напрямую отправляют userOps оператору/сортировщику на официальном сервере.
Дизайн интерфейса контракта
Интерфейс контракта счета похож в разных реализациях и в основном включает два этапа: верификацию и выполнение. Входные функции на этапе верификации для ERC-4337 и нативного AA фиксированы, но на этапе выполнения фиксирована только входная функция нативного AA.
Ограничение шагов проверки
Чтобы предотвратить атаки DoS, различные реализации установили разные ограничения на проверку транзакций:
Ограничение на шаги выполнения
Управление случайными числами
Первое развертывание сделки
Различия в реализации ERC-4337 между L1 и L2
При реализации ERC-4337 на EVM-совместимых цепочках существует два основных ключевых различия:
Различия в протоколах: L2 должен загружать данные в L1 для обеспечения безопасности и расчетов, сопутствующие расходы (такие как сборы за безопасность L1 и сборы за blob) должны быть включены в предпроверку Gas, что увеличивает сложность оценки расходов.
Различия в адресах: существует разница в способах вычисления адресов разных цепочек, что может привести к несоответствию адресов контрактов счетов в Ethereum и L2. Особенно когда жесткий форк вводит новые опкоды, если L2 не поддерживает этот жесткий форк, даже если код Solidity одинаковый, скомпилированный байт-код может быть различным.
Вышеуказанный анализ выявляет сложность и разнообразие технологий абстрагирования счета в многоцепочечной среде. С развитием технологий эти различия могут еще больше расшириться или сойтись, что заслуживает постоянного внимания и исследования.