
Account abstraction — революционная технология управления индивидуальными аккаунтами в экосистеме Ethereum. Она устраняет множество ограничений текущей системы и снижает порог входа для пользователей без опыта в криптовалютах. Ключевые преимущества — отделение источников транзакций от цифровых подписей и расширенная гибкость в вопросах безопасности за счёт внедрения EIP-4337.
Чтобы разобраться в account abstraction (AA), важно понимать, что в Ethereum существуют два типа аккаунтов. Externally Owned Account (EOA) управляется приватными ключами и seed-фразами, а Contract Account (CA) работает через смарт-контракты. Account abstraction — это процесс отделения источника транзакции от подписи, который позволяет преобразовывать EOA в CA. Это даёт смарт-контрактам контроль над EOA, открывая возможность создавать смарт-контрактные кошельки, которые существенно улучшают пользовательский опыт и гибкость управления. Стандарт EIP-4337 определяет архитектуру такого перехода.
Главное преимущество AA — упрощение процессов управления аккаунтами. Технология расширяет возможности для on-chain-операций и обеспечивает более продвинутые варианты безопасности. Эти улучшения делают взаимодействие с Ethereum существенно удобнее, устраняя многие недостатки традиционной системы.
Развитие account abstraction проходило через ряд Ethereum Improvement Proposal (EIP). EIP-2938 предлагал создание «высокоуровневых» аккаунтов CA с возможностью оплаты комиссий и проведения транзакций. EIP-3074 вводил два новых OpCode (AUTH и AUTHCALL), позволявших EOA использовать контракты, делегировать действия и предоставлять разработчикам гибкую архитектуру для новых типов транзакций.
EIP-4337 — самое современное решение, которое внедряет mempool пользовательских операций, заменяя существующий mempool транзакций. Хотя AA впервые рассматривался в EIP-2938 и EIP-3074 ещё в 2020 году, эти предложения были отложены из-за необходимости глубоких изменений протокола Ethereum. Благодаря EIP-4337 AA стал возможен без модификации протокола.
В отличие от предыдущих решений, EIP-4337 даёт значимые преимущества. Если EIP-3074 требовал внедрения новых кодов операций и крупных изменений в слое консенсуса, то EIP-4337 реализует AA без подобных сложных изменений, обходя риски, связанные с модификацией протокола.
EIP-4337 включает ряд ключевых компонентов, обеспечивающих работу account abstraction. Основные элементы:
Процесс начинается с создания пользователем операции с необходимой информацией для транзакции. Эту операцию получает bundler, который объединяет несколько операций в одну транзакцию. Затем bundler отправляет транзакцию в контракт Entry Point, который находит и валидирует операции пользователей, связанных со смарт-контрактными кошельками. После успешной проверки кошельки исполняют функцию ExecuteUserOp, завершая транзакции. Такой рабочий процесс EIP-4337 оптимизирует весь процесс.
Поток транзакций в EIP-4337 проходит четыре основных этапа:
На этапе инициации аккаунт создаёт пользовательскую операцию, включающую такие параметры, как адрес отправителя, maxFeePerGas и maxPriorityFee. Каждая операция отправляется в отдельный mempool.
На этапе подачи валидаторы группируют операции в отдельный mempool. Bundler, выступая в роли block builder или совместно с инфраструктурой построения блоков, агрегирует операции в блок, пока транзакции Entry Point остаются валидными.
На этапе идентификации операции поступают в контракт Entry Point, который исполняет пакеты. Bundler использует функцию validateUserOp для проверки подписей и, если проверка успешна, добавляет Entry Point в белый список.
На финальном этапе выполнение обеспечивается смарт-контрактным кошельком, реализующим функцию ExecuteUserOp. Bundler собирает объекты операций в транзакцию и вызывает функцию handleOps контракта EntryPoint, включая транзакцию в блок. Это демонстрирует комплексный характер EIP-4337.
Три основных типа криптокошельков имеют существенные различия. EOA и MPC-кошельки используют externally owned accounts, а AA-кошельки — contract accounts. По стоимости создания и комиссии за газ EOA и MPC дешевле, у AA-кошельков расходы выше.
В части оплаты газа EOA и MPC-кошельки поддерживают только однократную оплату, а AA-кошельки позволяют платить в разных валютах и принимать сторонние токены. Пакетные транзакции доступны только в AA-кошельках; в EOA и MPC такая возможность отсутствует.
Методы подписи: EOA и MPC-кошельки используют только ECDSA, AA-кошельки поддерживают различные методы подписей. В EOA и MPC управление приватными ключами обязательно, AA-кошельки это не требуют и дополнительно предоставляют функцию восстановления кошелька.
В плане безопасности: EOA-кошельки не обеспечивают высоких стандартов, MPC-кошельки позволяют офлайн-восстановление на доверенных устройствах, AA-кошельки реализуют защиту на уровне блокчейна после внедрения EIP-4337. Экосистемная совместимость сильная у EOA, слабая у MPC и средняя у AA.
EIP-3074 обладает и плюсами, и минусами. Среди преимуществ — возможность делегировать контроль EOA контракту, что даёт разработчикам гибкую архитектуру для новых схем транзакций, включая пакетные сделки, агрегированные операции и гибкую оплату газа. Также используются invoker-контракты, которые принимают платёж в токенах помимо ETH, выступая посредниками между спонсором и получателем. Любой EOA может функционировать как смарт-контрактный кошелёк без развертывания отдельного контракта.
Однако у EIP-3074 есть существенные недостатки. Главная причина, по которой его не поддерживает сообщество Ethereum, — необходимость изменений в слое консенсуса, потенциально ведущих к хардфорку для устранения новых проблем. Также, несмотря на появление у EOA функций CA, механизм подписи остаётся фиксированным на ECDSA, что не позволяет использовать произвольные подписи и ограничивает гибкость. В этом плане EIP-4337 предлагает более выгодные возможности.
EIP-5003 развивает идеи EIP-3074. В этом предложении внедряется OpCode AUTHUSURP, реализующий код для авторизованных адресов по EIP-3074. В сочетании с EIP-3607, EIP-5003 аннулирует полномочия исходного ключа подписи EOA.
Механизм следующий: если EOA авторизует другой адрес действовать по EIP-3074, AUTHUSURP OpCode позволяет этому адресу настраивать код EOA. Это даёт возможность преобразовать существующий EOA в CA, а также перейти с ECDSA на более надёжные и эффективные методы подписей, что дополняет архитектуру EIP-4337.
Account abstraction по стандарту EIP-4337 — важный этап в развитии Ethereum на пути к массовому распространению. Технология устраняет многие недостатки классического управления аккаунтами, обеспечивая такие преимущества, как расширенная безопасность и гибкая оплата газа. Это серьёзно снижает порог входа для новых пользователей экосистемы Ethereum.
Внедрение EIP-4337 — знаковый шаг к более удобным и доступным криптовалютам. Теперь можно создавать смарт-контрактные кошельки без изменений протокола Ethereum, что сочетает инновации со стабильностью. Пользователи получают пакетные транзакции, восстановление кошелька, гибкие методы подписей, сохраняя при этом защиту и надёжность блокчейна Ethereum.
Постоянное совершенствование стандартов — от EIP-3074 до EIP-5003 — подтверждает стремление сообщества Ethereum к инновациям. По мере интеграции этих технологий, особенно EIP-4337, на всё большем числе платформ, пользовательский опыт в криптоэкосистеме становится всё более удобным и доступным. Перспективы account abstraction ясны: по мере распространения EIP-4337 на децентрализованных платформах и в приложениях технология блокчейна становится ближе широкому кругу пользователей по всему миру.
EIP-4337 внедряет account abstraction в Ethereum и позволяет создавать контрактные аккаунты для управления транзакциями. Верификация отделена от включения транзакции, что повышает эффективность и безопасность.
EIP-4337 — набор инструментов для реализации account abstraction, а EIP-7702 позволяет применять эти функции к существующим externally owned accounts (EOA).
ERC-4337 — стандарт Ethereum для account abstraction, позволяющий создавать смарт-контрактные кошельки без изменений протокола. Это повышает удобство и безопасность при работе с блокчейном.
Нет, EIP и ERC — это разные понятия. EIP — это Ethereum Improvement Proposal, а ERC — Ethereum Request for Comment. ERC является подмножеством EIP и ориентирован на стандарты на уровне приложений.











