

Account abstraction (AA) стала важной инновацией в экосистеме Ethereum, полностью изменив подход к управлению и использованию blockchain-аккаунтов. Это руководство подробно раскрывает ключевые аспекты account abstraction и революционного предложения EIP-4337, которое значительно повышает безопасность и удобство работы с криптовалютой.
Чтобы понять account abstraction, нужно знать базовое устройство аккаунтов Ethereum. В сети работают два типа аккаунтов: externally owned accounts (EOA) и contract accounts (CA). EOA — это обычные аккаунты, управляемые приватными ключами и seed-фразами. Пользователь самостоятельно хранит свои криптографические данные. В отличие от них, contract accounts контролируются смарт-контрактами, размещёнными в блокчейне.
Account abstraction меняет традиционную архитектуру: она отделяет источник транзакции от подписи и позволяет EOA выполнять функции контрактных аккаунтов. Это даёт смарт-контрактам возможность управлять аккаунтом, создавая smart contract wallets. Пользователь получает гибкое управление, новые варианты безопасности и улучшенный опыт работы с Ethereum. Благодаря внедрению EIP-4337 эти возможности становятся доступными на различных платформах.
Account abstraction получила активную поддержку сообщества Ethereum, поскольку решает множество проблем пользовательского опыта. Главный плюс AA — гибкость, которая ранее была невозможна в on-chain-транзакциях. Теперь можно реализовать сложную логику и индивидуальные настройки безопасности.
AA позволяет использовать несколько методов подтверждения операции, помимо стандартной подписи. Пользователь может внедрять мультиподпись, социальное восстановление доступа и собственные способы аутентификации, соответствующие его требованиям. Это облегчает вход для новых пользователей, делает блокчейн доступнее широкой аудитории и повышает защиту для профессионалов. EIP-4337 стал ключевым инструментом для реализации этих преимуществ.
Развитие account abstraction в Ethereum проходило через серию значимых инициатив, каждая из которых внесла вклад в сегодняшнее состояние технологии. Изучение этих Ethereum Improvement Proposals (EIP) важно для понимания значения EIP-4337.
EIP-2938 был первой попыткой сделать контрактные аккаунты самостоятельными, чтобы они могли платить комиссии и выполнять транзакции. Это предложение устраняло границы между EOA и CA, но требовало коренных изменений протокола. EIP-3074 ввёл два OpCode — AUTH и AUTHCALL, позволяя EOA делегировать действия контракту. Такой механизм предоставлял разработчикам гибкую среду для создания транзакций и схем верификации.
Оба предложения — EIP-2938 и EIP-3074 — столкнулись с проблемами: для их реализации требовались масштабные изменения протокола Ethereum, что создавало сложности и риски для консенсуса. В результате эти инициативы были приостановлены. EIP-4337 стал прорывом — он реализует account abstraction без изменений протокола, что делает внедрение проще и безопаснее.
Главное отличие EIP-4337 от предыдущих инициатив — способ реализации. EIP-3074, несмотря на инновационное применение OpCode AUTH и AUTHCALL, требовал изменений consensus layer, что могло привести к рискам для сети. Возможная необходимость хардфорка вызывала опасения у сообщества Ethereum.
EIP-4337 реализует account abstraction на уровне выше протокола, то есть без изменений консенсуса. Такой подход снижает риски и сохраняет преимущества account abstraction. EIP-4337 стал предпочтительным для внедрения AA в Ethereum, о чём свидетельствует его распространение на различных платформах и в wallet-решениях.
EIP-4337 реализует продвинутую архитектуру из ключевых компонентов, которые совместно обеспечивают работу account abstraction. Чтобы понять систему, важно знать их назначение.
UserOperation — базовый объект, который выражает намерение пользователя и содержит все необходимые данные для транзакции. Контракт Entry Point — центральный координатор, управляющий пакетами user operation и потоком транзакций. Bundler — специальные узлы, которые собирают user operation в пакеты для повышения эффективности и снижения расходов на gas.
Контракты wallet — это смарт-контрактные аккаунты пользователя, выполняющие сами транзакции. Wallet factory позволяет быстро создавать новые кошельки, облегчая запуск. Aggregator проверяет подписи для групповых операций, а Paymaster даёт гибкость в оплате gas, позволяя использовать разные валюты или спонсируемые транзакции.
Модульная архитектура формирует надёжную систему, где каждый компонент выполняет свою часть, обеспечивая seamless account abstraction. Стандарт EIP-4337 поддерживает совместимость между разными реализациями.
Поток транзакций по EIP-4337 отличается от классической модели Ethereum, добавляя новые этапы и механизмы для реализации account abstraction.
Процесс начинается, когда владелец аккаунта формирует объект UserOperation. В нём содержатся все данные: адрес отправителя, параметры gas (maxFeePerGas, maxPriorityFee) и информация о подписи. В отличие от стандартных транзакций, поле подписи реализуется согласно логике аккаунта, а не протокола. После создания user operation попадают в отдельный memory pool, независимый от обычного mempool. Это важная особенность EIP-4337.
Валидаторы (bundler) забирают user operation из memory pool и собирают их в пакеты. Bundler, работая как блок-билдер или совместно с инфраструктурами типа MEV-boost и proposer-builder separation, обеспечивает включение этих операций в блоки с сохранением их валидности. Для оптимизации могут использоваться экспериментальные RPC API, например, eth_sendRawTransactionConditional. EIP-4337 поддерживает гибкость работы bundler при соблюдении требований безопасности.
Собранные user operation поступают в контракт Entry Point, который координирует проверку и выполнение. Контракт вызывает функцию validateUserOp для проверки подписи и достоверности операции. Bundler поддерживают whitelist одобренных entry point контрактов, что гарантирует безопасность. Верификация — основной этап защиты от несанкционированных транзакций в системе EIP-4337.
Транзакции выполняются на уровне smart contract wallet через функцию ExecuteUserOp. Bundler передают проверенные user operation и инициируют handleOps в контракте EntryPoint. Этот этап завершает цикл, а результат навсегда записывается в блокчейн. Архитектура EIP-4337 обеспечивает безопасность и эффективность процесса.
Разные типы кошельков имеют свои плюсы и минусы. EOA-кошельки (externally owned accounts) отличаются низкой стоимостью создания и небольшими комиссиями, но ограничены по функционалу и не имеют встроенного восстановления доступа. Они используют ECDSA-подписи, а безопасность зависит от реализации и управления приватным ключом. Такие кошельки популярны на биржах и платформах.
MPC (multi-party computation) кошельки сохраняют тип аккаунта EOA, но распределяют управление ключами между несколькими участниками. Это исключает единичные точки отказа и позволяет восстанавливать доступ на доверенных устройствах. MPC-кошельки также используют ECDSA-подписи, что требует тщательного контроля off-chain авторизации и прозрачности.
AA-кошельки — это contract accounts, реализующие EIP-4337. Они более сложны и требуют больше ресурсов для создания и gas, но дают уникальную гибкость: оплату комиссий разными валютами, групповые транзакции, разные методы подписи и встроенное восстановление доступа. После внедрения EIP-4337 AA-кошельки обеспечивают безопасность на уровне блокчейна и отсутствие единых точек отказа. Недостатком остаётся сложность, требующая аудита on-chain контрактов и demand pool.
Понимание различий между EIP-3074 и EIP-4337 важно для оценки выбранной стратегии внедрения account abstraction.
Главное преимущество EIP-3074 — возможность дать EOA функции контрактов без развёртывания новых контрактов. Делегирование управления EOA контракту через AUTH и AUTHCALL даёт разработчикам гибкую среду для новых схем транзакций, в том числе пакетных сделок и гибкой оплаты gas.
Механизм invoker contract даёт возможность создавать доверенные посредники для сделок между спонсорами и получателями, с оплатой в токенах, отличных от ETH. Это упрощает доступ к Ethereum, убирая необходимость оплаты комиссий только в ETH. Любой существующий EOA может сразу получить функции smart contract wallet без дополнительных затрат. Тем не менее, EIP-4337 получил более широкую поддержку благодаря комплексному подходу.
Несмотря на плюсы, EIP-3074 столкнулся с трудностями, из-за чего его внедрение отложили. Изменения consensus layer несут значительные риски и могут потребовать хардфорка для их устранения, что угрожает стабильности сети.
Кроме того, EIP-3074 сохраняет фиксированный механизм ECDSA-подписи, что ограничивает внедрение новых, более безопасных или эффективных схем. Это снижает гибкость account abstraction по сравнению с возможностями EIP-4337.
EIP-5003 развивает идеи EIP-3074, предлагая путь для перехода EOA к contract accounts. OpCode AUTHUSURP позволяет размещать код на адресах, авторизованных через EIP-3074.
В сочетании с EIP-3607, который отменяет полномочия исходного ключа, EIP-5003 реализует механизм миграции EOA. Например, если EOA делегирует управление другому адресу по EIP-3074, AUTHUSURP даёт этому адресу право размещать код на исходном EOA-адресе. Это переводит EOA в contract account и открывает путь к современным методам подписи помимо ECDSA.
Это решение отражает стремление Ethereum к созданию удобных путей миграции для пользователей и поддержке обратной совместимости. Интеграция с принципами EIP-4337 демонстрирует развитие account abstraction.
Account abstraction — ключевой этап развития Ethereum на пути к массовому внедрению. С EIP-4337 экосистема получает практичное решение, которое устраняет старые проблемы пользовательского опыта без изменений consensus layer. Преимущества — новые опции безопасности, гибкая оплата комиссий, пакетные транзакции и восстановление доступа — снижают барьер входа и дают расширенные возможности для опытных пользователей.
Путь от первых инициатив — EIP-2938 и EIP-3074 — к современному стандарту EIP-4337 показывает приверженность Ethereum прагматичным инновациям. Выбор реализации без изменений консенсуса гарантирует безопасное внедрение и сохранение преимуществ account abstraction.
С развитием account abstraction растёт распространение smart contract wallet, улучшается пользовательский опыт и появляются новые приложения, ранее невозможные. Будущее управления аккаунтами Ethereum — более безопасное, гибкое и доступное каждому. Демократизация блокчейн-технологий, усиленная новой безопасностью и удобством EIP-4337, делает Ethereum лидером массового внедрения и инноваций в децентрализованных финансах. EIP-4337 стал фундаментом wallet инфраструктуры нового поколения на всех платформах и сервисах.
EIP-4337 внедряет account abstraction в Ethereum, позволяя разделять процесс подписания и выполнения транзакции. Стандарт использует UserOperation и глобальный контракт entry point для пакетных транзакций, повышая уровень безопасности и эффективности.
EIP-4337 — это инструментарий для создания функций account abstraction, а EIP-7702 адаптирует их для работы с существующими externally owned accounts.
ERC-4337 — протокол Ethereum для account abstraction. Позволяет smart account выполнять транзакции без ETH, используя ERC-20 токены или paymaster. Вводит объект UserOperation для передачи транзакций через посредников.
Нет, EIP и ERC — разные понятия. EIP (Ethereum Improvement Proposal) — это предложения по изменению протокола, а ERC (Ethereum Request for Comment) — стандарты для токенов и смарт-контрактов.











