Абстракция аккаунтов (ERC-4337): умные кошельки и спонсирование газа
Что такое абстракция аккаунтов и ERC-4337: UserOperation, bundler, paymaster, преимущества смарт-кошелька перед EOA, соцвосстановление и риски.
В этой статье
Обычный кошелёк (EOA) жёстко устроен: один закрытый ключ, газ только в ETH, потерял ключ - потерял всё (аккаунты Ethereum). Абстракция аккаунтов превращает кошелёк в программируемый контракт, которому можно задать свои правила. Стандарт ERC-4337 реализует это без изменения самого протокола Ethereum.
Проблемы обычного кошелька
- Один ключ = единая точка отказа (HD-кошельки).
- Для любой операции нужен ETH для газа, даже если у вас только USDC.
- Каждое действие - отдельная подпись и транзакция (одобрение, затем обмен).
- Нельзя ограничить лимиты, поставить задержку, разрешить временный доступ.
- Восстановление доступа возможно только через seed-фразу.
Смарт-кошелёк
Вместо EOA используется контракт-кошелёк. Его правила - это код: кто и как может подписывать, какие лимиты, кто может восстанавливать доступ. Мультиподпись - частный случай смарт-кошелька.
Проблема в том, что контракт сам не может инициировать транзакцию (только EOA может). ERC-4337 решает это отдельной инфраструктурой.
Как работает ERC-4337
Вместо обычной транзакции пользователь создаёт UserOperation - структуру, описывающую желаемое действие. Дальше:
- UserOperation отправляется в отдельный «альтернативный mempool».
- Bundler (упаковщик) собирает операции в одну обычную транзакцию и оплачивает её газ.
- Транзакция вызывает EntryPoint - единый контракт-диспетчер.
- EntryPoint вызывает у смарт-кошелька функцию проверки
validateUserOp: подпись и правила верны? - Если да - выполняет действие. Bundler получает компенсацию из средств кошелька или paymaster.
Пользователь → UserOperation → Bundler → EntryPoint → Смарт-кошелёк → Действие
↑
Paymaster (опционально)Paymaster: газ без ETH
Paymaster - контракт, который оплачивает газ за пользователя. Варианты:
- приложение спонсирует газ новичкам: «бесплатный» первый опыт;
- пользователь платит комиссию в токене (например, USDC), а paymaster конвертирует;
- платит организация за своих сотрудников.
Для сервисов вроде нашего это означает потенциально снижение барьера входа: не нужно сперва искать ETH ради первой операции (выбор сети).
Что умеют смарт-кошельки
| Возможность | Что даёт |
|---|---|
| Социальное восстановление | доверенные лица или устройства помогают вернуть доступ при потере ключа |
| Пакетные операции | approve и вызов в одной операции вместо двух (approve) |
| Сессионные ключи | временный ограниченный ключ для игры или приложения |
| Лимиты и задержки | максимум в сутки, пауза на крупные переводы |
| Passkeys | подпись биометрией устройства (кривая secp256r1) вместо seed-фразы |
| Мультиключи | несколько устройств, 2-из-3 и т. д. |
| Замена алгоритма подписи | на постквантовый в будущем |
Проверка подписи смарт-кошелька основана на EIP-1271 (подписи).
Связь с EIP-7702
Обновление Pectra (2025) добавило EIP-7702: обычный адрес (EOA) может временно «подключить» код контракта и получить возможности смарт-кошелька (пакетные операции, спонсирование) без переезда на новый адрес. Это дополняет ERC-4337, а не отменяет.
Риски и ограничения
- Баги кошелька. Смарт-кошелёк - это контракт, и ошибка в нём может стоить денег (каталог уязвимостей). Используйте проверенные и проаудированные реализации.
- Зависимость от инфраструктуры. Bundler и paymaster могут отказать, задержать или цензурировать операции.
- Усложнение. Больше частей - больше ошибок и больший расход газа на проверку.
- Разные адреса в сетях. Адрес смарт-кошелька в разных сетях может не совпасть, если развёрнут по-разному (CREATE2).
- Социальное восстановление добавляет новых «хранителей», которым надо доверять.
- Фишинг по-прежнему возможен: подписанная операция - это подписанная операция (атаки).
Как это связано с эскроу
Контракт Coin-Trust принимает вызовы от любого адреса - EOA или смарт-кошелька. Поэтому участник сделки может использовать умный кошелёк: например, организация-гарант с мультиподписью, которая выносит решение. Важное условие: адрес должен уметь принимать выплаты; иначе платёж превратится в кредит, который придётся забирать отдельно (кредиты).
Пример
Мария впервые пользуется криптосервисом. У неё смарт-кошелёк с passkey на телефоне и USDC. Приложение спонсирует газ первой сделки. Одной операцией кошелёк выполняет approve и создание оферты. Телефон потерян? Двое из трёх доверенных лиц одобряют замену устройства, и доступ восстановлен без seed-фразы.
Что почитать дальше
Закрепим безопасность: чек-лист защиты кошелька. Или перейдём к разработке и тестированию: руководство по Foundry.
Читайте также
- 3 · Под капотом
Подписи в Ethereum: ECDSA, ecrecover, personal_sign и EIP-712
Как устроена подпись (r, s, v), как контракт проверяет её через ecrecover, чем различаются personal_sign и EIP-712, что такое permit и EIP-1271.
3 мин чтения - 2 · Практика
Мультиподпись и таймлок: как управлять контрактом без единой точки отказа
Что такое мультиподпись (m из n) и таймлок, как работают кошельки вроде Safe, какие риски они закрывают, а какие нет, и как применять их для владельца и гаранта.
3 мин чтения
Упоминается в статьях
- Аккаунты и состояние Ethereum: EOA, контракты и мировое состояние
- Подписи в Ethereum: ECDSA, ecrecover, personal_sign и EIP-712
- Оптимизация газа в Solidity: 12 приёмов и когда они уместны
- Роллапы изнутри: батчи, доказательства мошенничества, ZK, блобы и вывод средств
- MEV и фронтраннинг: кто и как зарабатывает на порядке транзакций
- HD-кошельки: как из 12 слов получаются все ваши ключи (BIP-39, BIP-32, BIP-44)
Готовы попробовать?
Создайте первую сделку за пару минут. Деньги блокируются в смарт-контракте и выплачиваются по правилам, которые видны заранее.

