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

3 записи с тегом "ERC-4337"

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

Два пути к более дружелюбному Ethereum: смарт-аккаунты ERC‑4337 + Web3-URL ERC‑4804

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

TL;DR

Ethereum получил два мощных примитива, которые выводят пользовательский опыт за рамки сид-фраз и сохраняемых в закладках dApp, приближая его к «кликабельным ончейн-взаимодействиям».

  • ERC-4337 привносит абстракцию аккаунта в современный Ethereum без изменений основного протокола. Это делает такие функции, как смарт-контрактные аккаунты, спонсирование газа, пакетные вызовы и аутентификация в стиле passkey, нативными для кошельков.
  • ERC-4804 представляет web3:// URL-адреса — удобочитаемые ссылки, которые напрямую разрешаются в вызовы контрактов на чтение и могут даже отображать ончейн HTML или SVG, и всё это без традиционного веб-сервера в качестве посредника. Думайте об этом как об «HTTP для EVM».

При совместном использовании ERC-4337 обрабатывает действия, а ERC-4804 — адреса. Эта комбинация позволяет вам делиться ссылкой, которая проверяемо получает свой пользовательский интерфейс из смарт-контракта. Когда пользователь готов действовать, управление передается смарт-аккаунту, который может спонсировать газ и объединять несколько шагов в один бесшовный клик.


Почему это важно сейчас

Это не просто теоретическое будущее; эти технологии уже действуют и набирают значительную популярность. ERC-4337 уже масштабирован и проверен на практике. Канонический контракт EntryPoint был развернут в основной сети Ethereum 1 марта 2023 года и с тех пор обеспечил работу десятков миллионов смарт-контрактных аккаунтов и обработал более 100 миллионов пользовательских операций.

Одновременно с этим основной протокол сближается с этими идеями. Обновление Pectra, выпущенное в мае 2025 года, включало EIP-7702, которое позволяет стандартным внешним аккаунтам (EOA) временно вести себя как смарт-аккаунты. Это дополняет ERC-4337, облегчая переход для существующих пользователей, а не заменяя стандарт.

В отношении адресации, web3:// теперь формализован. ERC-4804 точно определяет, как URL преобразуется в вызов EVM, а web3 был внесен IANA в список временных схем URI. Инструменты и шлюзы, необходимые для практического использования этих URL, теперь доступны, превращая ончейн-данные в общие, ссылочные ресурсы.


Введение: ERC-4337 на одной странице

По своей сути, ERC-4337 вводит параллельный транзакционный путь в Ethereum, созданный для гибкости. Вместо традиционных транзакций пользователи отправляют объекты UserOperation в альтернативный мемпул. Эти объекты описывают, что аккаунт хочет сделать. Специализированные узлы, называемые «Bundlers» (сборщиками), подхватывают эти операции и выполняют их через глобальный контракт EntryPoint.

Это обеспечивает три ключевых компонента:

  1. Смарт-контрактные аккаунты (SCA): Эти аккаунты содержат собственную логику. Они определяют, что делает транзакцию действительной, позволяя использовать пользовательские схемы подписи (например, passkeys или мультиподпись), сессионные ключи для игр, лимиты расходов и механизмы социального восстановления. Аккаунт, а не сеть, обеспечивает соблюдение правил.
  2. Пеймастеры (Paymasters): Эти специальные контракты могут спонсировать комиссии за газ для пользователей или позволять им платить токенами ERC-20. Это ключ к обеспечению истинного онбординга «без ETH в кошельке» и созданию опыта в один клик путем объединения нескольких вызовов в одну операцию.
  3. Безопасность от DoS и правила: Публичный мемпул ERC-4337 защищен стандартизированными правилами внецепочечной валидации (определенными в ERC-7562), которые предотвращают трату ресурсов Bundlers на операции, обреченные на провал. Хотя альтернативные мемпулы могут существовать для специализированных случаев использования, эти общие правила поддерживают согласованность и безопасность экосистемы.

Мысленная модель: ERC-4337 превращает кошельки в программируемые приложения. Вместо простого подписания необработанных транзакций пользователи отправляют «намерения», которые код их аккаунта проверяет, а контракт EntryPoint выполняет — безопасно и атомарно.


Введение: ERC-4804 на одной странице

ERC-4804 обеспечивает простое, прямое сопоставление URL-адреса web3:// с вызовом EVM только для чтения. Грамматика URL интуитивно понятна: web3://<имя-или-адрес>[:chainId]/<метод>/<arg0>?returns=(типы). Имена могут быть разрешены через такие системы, как ENS, а аргументы автоматически типизируются на основе ABI контракта.

Вот пара примеров:

  • web3://uniswap.eth/ вызовет контракт по адресу uniswap.eth с пустыми данными вызова (calldata).
  • web3://.../balanceOf/vitalik.eth?returns=(uint256) ABI-кодирует вызов функции balanceOf с адресом Виталика и возвращает правильно типизированный JSON-результат.

Важно отметить, что этот стандарт в настоящее время предназначен для вызовов только для чтения (эквивалентно функциям view в Solidity). Любое действие, изменяющее состояние, по-прежнему требует транзакции — именно здесь вступают в игру ERC-4337 или EIP-7702. С регистрацией web3 в качестве временной схемы URI в IANA, путь для нативной поддержки браузерами и клиентами открыт, хотя пока это часто зависит от расширений или шлюзов.

Мысленная модель: ERC-4804 превращает ончейн-ресурсы в ссылочные веб-объекты. «Поделиться этим представлением контракта как URL» становится таким же естественным, как поделиться ссылкой на дашборд.


Вместе: «Кликабельные ончейн-взаимодействия»

Объединение этих двух стандартов открывает мощный новый шаблон для создания децентрализованных приложений сегодня.

Во-первых, вы предоставляете проверяемый пользовательский интерфейс через web3://. Вместо размещения вашего фронтенда на централизованном сервере, таком как S3, вы можете хранить минимальный HTML или SVG-интерфейс непосредственно в блокчейне. Ссылка типа web3://app.eth/render позволяет клиенту разрешить URL и отобразить пользовательский интерфейс непосредственно из контракта, гарантируя, что пользователь видит именно то, что диктует код.

Из этого проверяемого интерфейса вы можете запустить действие в один клик через ERC-4337. Кнопка «Mint» (Выпустить) или «Subscribe» (Подписаться) может скомпилировать UserOperation, которую спонсирует пеймастер. Пользователь подтверждает действие с помощью passkey или простого биометрического запроса, и контракт EntryPoint выполняет пакетный вызов, который развертывает его смарт-аккаунт (если это его первый раз) и завершает желаемое действие за один атомарный шаг.

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

Это открывает:

  • Безгазовые пробные версии и онбординг «просто работает»: Новым пользователям не нужно приобретать ETH, чтобы начать. Ваше приложение может спонсировать их первые несколько взаимодействий, значительно снижая трение.
  • Общее состояние: Ссылка web3:// — это запрос к состоянию блокчейна. Это идеально подходит для дашбордов, доказательств владения или любого контента, который должен быть проверяемо защищен от подделки.
  • Потоки, удобные для агентов: Агенты ИИ могут получать проверяемое состояние через URL-адреса web3:// и отправлять транзакционные намерения через ERC-4337, используя ограниченные сессионные ключи, и всё это без хрупкого парсинга экрана или небезопасной обработки приватных ключей.

Заметки по дизайну для разработчиков

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

Для ERC-4804 отдавайте приоритет удобочитаемым ссылкам, используя имена ENS. Явно указывайте chainId, чтобы избежать двусмысленности, и включайте параметр returns=(…) для обеспечения того, чтобы клиенты получали типизированные, предсказуемые ответы. Хотя вы можете отображать полные пользовательские интерфейсы, часто лучше сохранять ончейн HTML/SVG минимальными, используя их в качестве проверяемых оболочек, которые могут получать более тяжелые активы из децентрализованного хранилища, такого как IPFS.

Наконец, помните, что EIP-7702 и ERC-4337 работают вместе, а не друг против друга. С EIP-7702, который теперь активен в обновлении Pectra, существующие пользователи EOA могут делегировать действия логике контракта без развертывания полноценного смарт-аккаунта. Инструментарий в экосистеме абстракции аккаунтов уже настраивается для поддержки этого, сглаживая путь миграции для всех.


Безопасность, реальность и ограничения

Хотя эти системы мощны, у них есть компромиссы. Контракт EntryPoint по своей сути является центральной точкой отказа; он упрощает модель безопасности, но также концентрирует риски. Всегда придерживайтесь проверенных, канонических версий. Правила валидации мемпула из ERC-7562 — это социальное соглашение, а не правило, принудительно исполняемое в блокчейне, поэтому не стоит предполагать, что каждый альтернативный мемпул предлагает одинаковую устойчивость к цензуре или защиту от DoS-атак.

Кроме того, web3:// всё ещё находится на стадии развития. Он остается стандартом только для чтения, и любая операция записи требует транзакции. Хотя сам протокол децентрализован, шлюзы и клиенты, которые разрешают эти URL, всё ещё могут быть потенциальными точками отказа или цензуры. Истинная «неблокируемость» будет зависеть от широкой нативной поддержки клиентов.


Конкретный план

Представьте, что вы хотите создать членский клуб на базе NFT с общим, проверяемым пользовательским интерфейсом и процессом присоединения в один клик. Вот как вы могли бы запустить его в этом квартале:

  1. Поделитесь пользовательским интерфейсом: Распространите ссылку типа web3://club.eth/home. Когда пользователь открывает её, его клиент разрешает URL, вызывает контракт и отображает ончейн-интерфейс, который показывает текущий список разрешенных участников и цену минта.
  2. Присоединение в один клик: Пользователь нажимает кнопку «Присоединиться». Его кошелек компилирует UserOperation ERC-4337, которую спонсирует ваш пеймастер. Эта единственная операция объединяет три вызова: развертывание смарт-аккаунта пользователя (если у него его нет), оплату комиссии за минт и регистрацию данных его профиля.
  3. Проверяемый чек: После подтверждения транзакции пользователю отображается вид подтверждения, который является просто еще одной ссылкой web3://, например web3://club.eth/receipt/<tokenId>, создавая постоянную ончейн-ссылку на доказательство его членства.

Большая картина

Эти два стандарта сигнализируют о фундаментальном сдвиге в том, как мы строим на Ethereum. Аккаунты становятся программным обеспечением. ERC-4337 и EIP-7702 превращают «UX кошелька» в пространство для реальных продуктовых инноваций, выводя нас за рамки лекций об управлении ключами. В то же время, ссылки становятся запросами. ERC-4804 восстанавливает URL как примитив для адресации проверяемых фактов в блокчейне, а не просто фронтендов, которые их проксируют.

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

Если вы создаете потребительские криптоприложения, это ваш шанс сделать первую минуту пользователя восхитительной. Поделитесь ссылкой, отобразите правду, спонсируйте первое действие и держите своих пользователей в проверяемом цикле. Пути проложены — теперь пришло время создавать впечатления.

Революция кошельков: три пути к абстракции учетных записей

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

На протяжении многих лет криптомир сталкивался с критической проблемой удобства использования: кошельком. Традиционные кошельки, известные как внешние учетные записи (EOA), не прощают ошибок. Одна потерянная сид-фраза означает, что ваши средства исчезнут навсегда. Каждое действие требует подписи, а комиссии за газ должны быть оплачены в нативном токене сети. Этот неуклюжий и рискованный опыт является серьезным препятствием для массового внедрения.

На сцену выходит абстракция учетных записей (AA) — парадигма, призванная переопределить наше взаимодействие с блокчейном. По своей сути, AA превращает учетную запись пользователя в программируемый смарт-контракт, открывая такие функции, как социальное восстановление, транзакции в один клик и гибкие платежи за газ.

Путь к этому более умному будущему разворачивается по трем различным направлениям: проверенный в боях ERC-4337, эффективная нативная AA и долгожданный EIP-7702. Давайте разберем, что каждый подход означает для разработчиков и пользователей.


💡 Путь 1: Пионер — ERC-4337

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

Он вводит новый поток транзакций, включающий:

  • UserOperations: новый объект, который представляет намерение пользователя (например, «обменять 100 USDC на ETH»).
  • Бандлеры: внесетевые участники, которые собирают UserOperations, объединяют их и отправляют в сеть.
  • EntryPoint: глобальный смарт-контракт, который проверяет и выполняет объединенные операции.

Преимущества:

  • Универсальная совместимость: может быть развернут в любой EVM-сети.
  • Гибкость: позволяет использовать богатые функции, такие как сеансовые ключи для игр, мультиподписная безопасность и спонсирование газа через Paymasters.

Компромисс:

  • Сложность и стоимость: он вводит значительные накладные расходы на инфраструктуру (запуск бандлеров) и имеет самые высокие затраты на газ из трех подходов, поскольку каждая операция проходит через дополнительную логику EntryPoint. Из-за этого его внедрение процветало в основном в L2-сетях с низкими комиссиями за газ, таких как Base и Polygon.

ERC-4337 проложил путь для других решений AA. Он доказал спрос и заложил основу для более интуитивного опыта Web3.


🚀 Путь 2: Интегрированный идеал — нативная абстракция учетных записей

Если ERC-4337 является дополнением, то нативная AA встраивает интеллектуальные функции непосредственно в основу блокчейна. Такие сети, как zkSync Era и Starknet, были разработаны с нуля с AA в качестве основного принципа. В этих сетях каждая учетная запись является смарт-контрактом.

Преимущества:

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

Компромисс:

  • Фрагментация экосистемы: нативная AA специфична для каждой сети. Учетная запись в zkSync отличается от учетной записи в Starknet, и ни одна из них не является нативной для основной сети Ethereum. Это создает фрагментированный опыт для пользователей и разработчиков, работающих в нескольких сетях.

Нативная AA показывает нам «конечную цель» для эффективности, но ее внедрение связано с ростом ее хост-экосистем.


🌉 Путь 3: Прагматичный мост — EIP-7702

EIP-7702, который должен быть включен в обновление Ethereum «Pectra» в 2025 году, является революционным изменением, призванным предоставить функции AA массам существующих пользователей EOA. Он использует гибридный подход: он позволяет EOA временно делегировать свои полномочия смарт-контракту для одной транзакции.

Думайте об этом как о предоставлении вашему EOA временных сверхспособностей. Вам не нужно переносить свои средства или менять адрес. Ваш кошелек может просто добавить авторизацию к транзакции, позволяя ей выполнять пакетные операции (например, одобрить + обменять в один клик) или спонсировать свой газ.

Преимущества:

  • Обратная совместимость: работает с миллиардами долларов, защищенных существующими EOA. Миграция не требуется.
  • Низкая сложность: использует стандартный пул транзакций, устраняя необходимость в бандлерах и значительно упрощая инфраструктуру.
  • Катализатор массового внедрения: сделав интеллектуальные функции доступными для каждого пользователя Ethereum в одночасье, он может быстро ускорить внедрение лучших шаблонов UX.

Компромисс:

  • Не «полная» AA: EIP-7702 не решает проблему управления ключами для самого EOA. Если вы потеряете свой приватный ключ, вам все равно не повезет. Речь идет скорее об улучшении возможностей транзакций, чем о капитальном ремонте безопасности учетных записей.

Сравнение: четкое сопоставление

ФункцияERC-4337 (Пионер)Нативная AA (Идеал)EIP-7702 (Мост)
Основная идеяВнешняя система смарт-контрактов через бандлерыСмарт-аккаунты на уровне протоколаEOA временно делегирует полномочия смарт-контракту
Стоимость газаСамая высокая (из-за накладных расходов EntryPoint)Низкая (оптимизировано протоколом)Умеренная (небольшие накладные расходы на одну транзакцию для пакетной обработки)
ИнфраструктураВысокая (требуются бандлеры, Paymasters)Низкая (обрабатывается валидаторами сети)Минимальная (использует существующую инфраструктуру транзакций)
Ключевой вариант использованияГибкая AA в любой EVM-сети, особенно в L2-сетях.Высокоэффективная AA в специально созданных L2-сетях.Обновление всех существующих EOA с помощью интеллектуальных функций.
Лучше всего для...Игровых кошельков, dApp, которым требуется безгазовый онбординг сейчас.Проектов, создаваемых исключительно в сетях, таких как zkSync/Starknet.Предоставления пакетной обработки и спонсирования газа массовым пользователям.

Будущее конвергентно и ориентировано на пользователя

Эти три пути не исключают друг друга; они сходятся к будущему, где кошелек больше не является источником трений.

  1. Социальное восстановление становится стандартом 🛡️: Эпоха «потерянных ключей, потерянных средств» заканчивается. AA позволяет восстанавливать данные на основе хранителей, делая самостоятельное хранение таким же безопасным и прощающим, как традиционный банковский счет.
  2. Переосмысление UX в играх 🎮: Сеансовые ключи позволят беспрепятственно играть без постоянных всплывающих окон «подтвердить транзакцию», наконец-то сделав игры Web3 похожими на игры Web2.
  3. Кошельки как программируемые платформы: Кошельки станут модульными. Пользователи могут добавить «модуль DeFi» для автоматического фарминга доходности или «модуль безопасности», который требует двухфакторной аутентификации (2FA) для крупных переводов.

Для разработчиков и поставщиков инфраструктуры, таких как Blockeden.xyz, эта эволюция невероятно увлекательна. Сложность бандлеров, Paymasters и различных стандартов AA создает огромную возможность для предоставления надежной, стабильной и абстрагированной инфраструктуры. Цель состоит в унифицированном опыте, когда разработчик может легко интегрировать функции AA, а кошелек интеллектуально использует ERC-4337, нативную AA или EIP-7702 под капотом, в зависимости от того, что поддерживает сеть.

Кошелек наконец-то получает заслуженное обновление. Переход от статических EOA к динамическим, программируемым смарт-аккаунтам — это не просто улучшение, это революция, которая сделает Web3 доступным и безопасным для следующего миллиарда пользователей.

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 и пользовательский опыт.