UX Web3 и абстракция аккаунтов
Web3-UX печально известен сложностью. Разбираем, почему так, и какие приёмы (включая абстракцию аккаунтов) его упрощают.
Абстракция аккаунтов (Account Abstraction, ERC-4337) — подход, при котором аккаунт пользователя — это смарт-контракт, а не просто ключ; он позволяет оплату газа за пользователя, вход по email/passkey и пакетные операции.
Главная причина, по которой обычные люди не пользуются dApp, — ужасный UX. Установи расширение, запиши seed-фразу, купи токен на газ, переключи сеть, подтверди две транзакции… Фронтендер не может переписать блокчейн, но может сильно сгладить эти острые углы.
Почему Web3-UX сложный
- Газ. Чтобы что-то сделать, нужен нативный токен сети. Новичок без ETH не может даже начать.
- Seed-фраза. Потерял — потерял всё; нет «восстановить пароль».
- Подтверждения. Каждое действие — окно кошелька с непонятным текстом.
- Сети. Пользователь должен знать, в какой он сети, и уметь переключаться.
- Необратимость. Ошибся адресом — деньги ушли навсегда.
Приёмы фронта, упрощающие UX
- Показывать данные до подключения. Не заставляйте подключать кошелёк, чтобы просто посмотреть.
- Понятные статусы транзакции. «Подтвердите в кошельке» → «Ждём блок» → «Готово», со ссылкой на эксплорер.
- Объяснять каждое действие. Рядом с подписью — человеческое описание.
- Автопереключение сети. Заметили не ту сеть — предложите переключиться одной кнопкой.
- Проверка адреса получателя. Валидация, ENS-резолвинг (
vitalik.ethвместо 0x…), предупреждение о незнакомом адресе.
Абстракция аккаунтов — следующий уровень
ERC-4337 меняет правила. Если аккаунт — это смарт-контракт, становятся возможны вещи, которые в Web2 считались данностью:
- Спонсирование газа (paymaster). dApp платит газ за пользователя — тот может действовать без токена на счету.
- Вход без seed-фразы. По passkey/биометрии или социальному восстановлению ключа.
- Пакетные операции. approve + transfer в одной подписи вместо двух — конец «почему два раза подтверждать».
- Лимиты и правила. «Не больше 100$ в день без доп. подтверждения».
Для фронтендера это значит: часть боли постепенно уходит на уровень кошелька/инфраструктуры, и UX dApp приближается к привычному вебу. Многие новые кошельки (smart wallets) уже это используют.
Как работает под капотом
В ERC-4337 пользователь подписывает не транзакцию, а «UserOperation» — намерение. Специальные узлы (bundlers) собирают такие намерения и отправляют их в сеть, а контракт-аккаунт проверяет подпись и исполняет действие. Paymaster — отдельный контракт, который соглашается оплатить газ. Поэтому «вход по email» и «бесплатный газ» — не магия, а смарт-контракты поверх обычной сети; фронт работает с ними через SDK кошелька, часто скрывая детали от пользователя полностью.
Частые ошибки
- Заставлять подключать кошелёк ради просмотра. Лишний барьер на входе.
- Молчаливые статусы транзакций. Пользователь не понимает, что происходит, и нервничает.
- Показывать сырые 0x-адреса без ENS/проверок. Растёт шанс ошибки и фишинга.
Итоги
- Web3-UX сложен из-за газа, seed-фраз, подтверждений и необратимости.
- Фронт сглаживает это статусами, объяснениями, ENS и автопереключением сети.
- Абстракция аккаунтов (ERC-4337) убирает газ и seed-фразы, приближая UX к привычному.