Перейти к основному содержимому

1 запись с тегом "абстракция аккаунтов"

Посмотреть все теги

ERC-4337: Революция в Ethereum с абстракцией аккаунтов

· 3 мин. чтения
Dora Noda
Software Engineer

Приветствуем вас снова в нашем блокчейн-блоге! Сегодня мы погрузимся в захватывающее новое предложение под названием ERC-4337, которое внедряет абстракцию аккаунтов в Ethereum, не требуя никаких изменений протокола на уровне консенсуса. Вместо этого, это предложение опирается на инфраструктуру более высокого уровня для достижения своих целей. Давайте рассмотрим, что предлагает ERC-4337 и как оно устраняет ограничения текущей экосистемы Ethereum.

Что такое ERC-4337?

ERC-4337 — это предложение, которое внедряет абстракцию аккаунтов в Ethereum посредством использования отдельного мемпула и нового типа псевдотранзакционного объекта, называемого UserOperation. Пользователи отправляют объекты UserOperation в альтернативный мемпул, где специальный класс участников, называемых бандлерами (bundlers), упаковывает их в транзакцию, вызывающую handleOps для выделенного контракта. Затем эти транзакции включаются в блок.

Предложение направлено на достижение нескольких целей:

  1. Предоставить пользователям возможность использовать кошельки смарт-контрактов с произвольной логикой верификации в качестве своих основных аккаунтов.
  2. Полностью устранить необходимость для пользователей иметь внешне принадлежащие аккаунты (EOA).
  3. Обеспечить децентрализацию, позволяя любому бандлеру участвовать в процессе включения абстрагированных аккаунтов пользовательских операций.
  4. Позволить всей активности происходить через публичный мемпул, устраняя необходимость для пользователей знать прямые адреса связи конкретных участников.
  5. Избежать предположений о доверии к бандлерам.
  6. Избежать необходимости каких-либо изменений консенсуса Ethereum для более быстрого внедрения.
  7. Поддерживать другие варианты использования, такие как приложения, сохраняющие конфиденциальность, атомарные мульти-операции, оплата комиссий за транзакции токенами ERC-20 и транзакции, спонсируемые разработчиками.

Обратная совместимость

Поскольку ERC-4337 не изменяет уровень консенсуса, прямых проблем с обратной совместимостью для Ethereum нет. Однако аккаунты, созданные до ERC-4337, нелегко совместимы с новой системой, поскольку им не хватает необходимой функции validateUserOp. Это можно решить, создав совместимый с ERC-4337 аккаунт, который повторно реализует логику верификации в качестве обертки и устанавливает его как доверенного отправителя операций исходного аккаунта.

Эталонная реализация

Для тех, кто заинтересован в более глубоком изучении технических деталей ERC-4337, эталонная реализация доступна по адресу https://github.com/eth-infinitism/account-abstraction/tree/main/contracts.

Соображения безопасности

Контракт точки входа для ERC-4337 должен быть тщательно проверен аудитом и формально верифицирован, поскольку он служит центральной точкой доверия для всей системы. Хотя такой подход снижает нагрузку на аудит и формальную верификацию для отдельных аккаунтов, он концентрирует риски безопасности в контракте точки входа, который должен быть надежно верифицирован.

Верификация должна охватывать два основных утверждения:

  1. Безопасность от произвольного захвата: Точка входа вызывает аккаунт обобщенно только в том случае, если validateUserOp для этого конкретного аккаунта был успешно выполнен.
  2. Безопасность от истощения комиссий: Если точка входа вызывает validateUserOp и он проходит, она также должна выполнить обобщенный вызов с calldata, равным op.calldata.

Заключение

ERC-4337 — это захватывающее предложение, которое направлено на внедрение абстракции аккаунтов в Ethereum, не требуя изменений протокола на уровне консенсуса. Используя инфраструктуру более высокого уровня, оно открывает новые возможности для децентрализации, гибкости и различных вариантов использования. Хотя существуют соображения безопасности, которые необходимо учесть, это предложение имеет потенциал значительно улучшить экосистему Ethereum и пользовательский опыт.