По сути, абстракция аккаунта позволяет пользователям использовать смарт-контракты в качестве своих аккаунтов, делая криптокошельки программируемыми. Это революционный сдвиг в том, как пользователи взаимодействуют с блокчейн-приложениями, и многие считают, что это ключевой шаг к тому, чтобы сделать криптовалюту более удобной для пользователей и готовой к массовому внедрению.
Сооснователь Ethereum Виталик Бутерин даже предложил, что без принятия абстракции аккаунтов Ethereum может не достичь своих целей, подчеркивая, насколько важна эта технология для будущего Web3.
Но что такое абстракция аккаунта и как она работает? Чтобы оценить ее значимость, нам сначала нужно понять, как традиционно функционируют блокчейн-аккаунты и почему эта старая модель имеет ограничения. Затем мы погрузимся в то, как абстракция аккаунтов меняет игру, изучим ее преимущества (например, улучшенная безопасность и более простой пользовательский опыт), увидим реальные примеры ее действия и рассмотрим, какие проблемы остаются.
В конце вы увидите, почему абстракция аккаунтов часто называется значительным преимуществом для криптокошельков, которое, возможно, наконец, сделает управление криптовалютой таким же простым, как использование любого современного финансового приложения.
Традиционная модель аккаунта: EOAs vs. Контрактные аккаунты смарт-контрактов
Сегодня блокчейны, такие как Ethereum, используют модель аккаунта для управления активами и выполнения транзакций. В Ethereum существует два основных типа аккаунтов:
-
Аккаунты, управляемые извне (EOAs) – это "нормальные" пользовательские аккаунты, управляемые индивидуально через приватный ключ. Если вы создали Ethereum-кошелек (например, MetaMask или аппаратный кошелек), у вас есть EOA. С помощью EOA у вас есть публичный адрес (полученный из вашего публичного ключа) и приватный ключ, который позволяет вам подписывать транзакции. Используя EOA, вы можете хранить монеты или токены и отправлять транзакции для передачи средств или вызова смарт-контрактов. Важно отметить, что EOA может инициировать транзакции самостоятельно (подписавши с помощью приватного ключа), но не может выполнять произвольный код – он не программируемый. EOAs ограничены двумя основными действиями: отправкой стоимости (ETH или токенов) на другой аккаунт или вызовом функции в смарт-контракте.
-
Контрактные аккаунты (смарт-контракты) – это аккаунты, управляемые кодом (кодом смарт-контракта), а не приватным ключом. Контрактный аккаунт может содержать активы и определять правила или логику (код), которые выполняются при получении транзакции. Например, децентрализованное приложение или контракт токена существует на контрактном аккаунте. Однако контрактный аккаунт не может инициировать транзакции самостоятельно. Он выполняет свой код только когда его вызывают транзакцией из EOA или другого контракта. Другими словами, кто-то (или какой-то внешний аккаунт) должен вызвать контракт для его выполнения. Контрактные аккаунты полностью программируемы и могут применять сложные правила, но у них нет возможности действовать автономно – нет прямого контролирования ими приватного ключа для отправки новых транзакций.
Сравнение типов аккаунтов Ethereum: Externally Owned Account (EOA) против Smart Contract Account (SCA). EOAs контролируются приватными ключами и могут инициировать транзакции, но не могут выполнять произвольный код. SCA (смарт-контракты) могут выполнять код, но не могут самостоятельно инициировать новые транзакции. Абстракция аккаунта стремится устранить это разделение.
В текущей парадигме эти два типа аккаунтов отдельно и каждый имеет свои недостатки. EOAs, привязанные к одиночному приватному ключу, имеют значительные ограничения и уязвимости: если вы потеряете доступ к этому приватному ключу (или созданной ранее seed фразе), вы потеряете доступ к аккаунту и всем его активам – в блокчейне нет возможности "забыть пароль". Напротив, если кто-то злонамеренный получит ваш приватный ключ, он получит полный контроль для хищения ваших средств.
В блокчейне нет встроенного способа установить лимиты на расходы в EOA, требовать нескольких одобрений (multisig) или восстановить доступ через доверенную третью сторону; безопасность аккаунта зависит только от того, насколько надёжно вы храните этот секретный ключ. Это разительно отличается от традиционного банковского дела, где механизмы контроля над мошенничеством, поддержка клиентов или двухфакторная аутентификация могут смягчить ошибки или кражу. Помимо этого, использование EOA связано с необходимостью вручную подписывать каждую транзакцию (что может быть утомительно) и необходимостью хранить на аккаунте часть блокчейн-валюты (такие как ETH), чтобы платить газовые сборы за транзакции. Эти требования делают использование EOAs рискованным и неудобным для повседневных пользователей. Как отмечает команда разработчиков Rumble Fish, у EOA "нет механизмов социальной восстановления, нет возможности установить лимиты на расходы, нет 2FA," и всегда нужно иметь ETH для покрытия сборов, – что все вместе приводит к "неудовлетворительному пользовательскому опыту, не очень дружелюбному" для новичков.
Смарт-контрактные аккаунты, с другой стороны, предлагают гибкость через код. Например, кошелек смарт-контракта может быть запрограммирован требовать одобрения несколькими людьми на выполнение транзакции (multisig-кошелек), или накладывать дневные лимиты на снятие средств, или позволять "социальное восстановление" (где доверенные друзья могут помочь восстановить доступ, если вы потеряете свой ключ). Это звучит отлично, и действительно такие продукты, как Gnosis Safe (популярный multisig-кошелек) или Argent (кошелек с социальной восстановлением) используют контрактные аккаунты, чтобы предложить пользователям дополнительные функции безопасности, недоступные в обычной EOA. Однако, поскольку контрактные аккаунты не могут инициировать транзакции сами по себе, они исторически все еще полагались на EOA для запуска любых действий. Например, если вы используете кошелек смарт-контракта, обычно есть релейная служба (внешний EOA), которая принимает ваши предполагаемые действия, размещает их в транзакцию EOA и отправляет в сеть от вашего имени. Вы можете заплатить за эту релейную службу, или всё равно придется сталкиваться с некоторыми из тех же проблем (например, содержание ETH для газа в другом аккаунте). В результате, взаимодействие с кошельком на базе контракта может стать даже сложнее, чем с обычным кошельком, если он хорошо не спроектирован. До недавних новшеств, использование аккаунта смарт-контракта означало, что вам фактически нужен был дополнительный EOA (или вспомогательная служба), который "пополненный" ETH для управления контрактом – создавая дополнительное трение для пользователей.
В резюме, в текущей модели:
- EOA = ваш кошелек (управляется одним ключом) – простой, но не гибкий и не прощающий ошибок.
- Контрактный аккаунт = программируемый сейф (с расширенными функциями) – мощный, но не самоуправляемый.
Это разделение и стремится устранить абстракция аккаунтов. Визия заключается в том, чтобы позволить пользователям иметь аккаунты, обладающие гибкостью смарт-контрактов, без зависимости от отдельного EOA для работы. Другими словами, сделать каждый аккаунт умным. Таким образом, пользователи могли бы настраивать безопасность и поведение своего аккаунта по своему усмотрению – без жертвования возможностью инициировать действия. Давайте рассмотрим, как абстракция аккаунта это достигает и почему она имеет потенциал значительно улучшить блокчейн-пользовательский опыт.
Что такое абстракция аккаунтов?
В своей основе, абстракция аккаунтов – это идея объединения двух типов аккаунтов, чтобы аккаунт пользователя мог вести себя как смарт-контракт. Вместо жестких "управляемых извне" кошельков, которые следуют только встроенным правилам протокола, абстракция аккаунтов позволяет закодировать логику расходования аккаунта в смарт-контракте, который пользователь полностью контролирует. На практике это означает, что ваш кошелек может быть смарт-контрактом на блокчейне, со своими собственными программируемыми правилами для определения того, что составляет допустимую транзакцию из этого кошелька. Вы, как владелец, можете устанавливать эти правила – самостоятельно или с помощью кошельков, предоставляющих удобные для пользователя способы их настройки.
Другой способ определения абстракции аккаунта: она делает аккаунты пользователей более гибкими, "абстрагируя" стандартные правила проверки транзакций и позволяя настраиваемую логику проверки. Сегодня каждая транзакция Ethereum должна соответствовать нескольким жёстко закодированным критериям для принятия: она должна быть подписана правильным приватным ключом ECDSA для адреса отправителя, включать действительный номер транзакции, и у отправителя должно быть достаточно ETH для оплаты газового сбора. Эти правила применяются одинаково ко всем транзакциям и всем EOA. Абстракция аккаунтов предлагает ослабить эту модель "один размер для всех". Вместо того чтобы каждый аккаунт себе пользовался одной и той же схемой подписи (ECDSA с одним ключом) и платил за газ в ETH, условия допустимости транзакций можно программировать индивидуально для каждого аккаунта. По сути, проверка транзакции может сама быть смарт-контрактом: пока транзакция (или операция) удовлетворяет условиям, определенным в коде контракта аккаунта, она считается допустимой.
Это открывает целый мир возможностей. Например, благодаря абстракции аккаунта, можно создать:
- Многовладельческие аккаунты, требующие нескольких подписей (multi-sig) или других критериев для одобрения транзакции.
- Аккаунты с пост-квантовой защитой, использующие альтернативные криптографические подписи (вне ECDSA), которые могут быть устойчивыми к квантовым компьютерам.
- Аккаунты без подписей вообще (если это требуется в каком-то особом случае), или аккаунты, которые используют биометрическую аутентификацию через доверенный модуль, и т.д.
- Аккаунты, оплачивающие газовые сборы в других активах или позволяющие третьей стороне платить сборы, вместо того чтобы всегда необходимо было иметь ETH на руках.
- Публичные аккаунты или аккаунты с блокировкой времени, где определенные действия допустимы только после определенного времени или могут быть вызваны кем угодно, если условия будут выполнены (вспомните завещание, которое может быть исполнено на блокчейне, если выполнены критерии).
В двух словах, абстракция аккаунтов предоставляет пользователям возможность определять свои собственные правила для работы своего кошелька, вместо того чтобы быть ограниченными основными правилами блокчейна. Она эффективно объединяет "пользовательский аккаунт" и "смарт-контракт" в одно целое. Исследователь Ethereum Ангсгар Дитрихс удачно описал это как делание "программируемых кошельков" реальностью – ваш кошелек сам может содержать логику для таких вещей, как безопасность, восстановление, пакетирование транзакций и многое другое, вместо того чтобы эти возможности диктовались внешним программным обеспечением только. Важность? **Потому что многие проблемы, мешающие более широкому принятию криптовалюты, связаны с ограничениями EOAs (Externally Owned Accounts). Новые пользователи сталкиваются с трудностями при безопасном управлении приватными ключами и фразами восстановления, и нет страховки на случай ошибок. Опытные пользователи обеспокоены проблемой единственной точки отказа — один взломанный ключ может быть катастрофическим. Разработчикам приходилось создавать сложные обходные решения (например, релейные сети или централизованные сервисы), чтобы предложить такие функции, как транзакции без газа или социальное восстановление, потому что блокчейн изначально не поддерживал их. Абстракция учетных записей решает эти проблемы, делая саму модель учетной записи более мощной и ориентированной на пользователя. Как результат, это считается критически важной инфраструктурой для следующей эволюции Web3. На самом деле, абстракция учетных записей была мечтой основных разработчиков Ethereum в течение многих лет; Виталик Бутерин и другие поддерживали её на множестве мероприятий, рассматривая её как путь к значительному улучшению удобства использования и безопасности Ethereum. Это уже не просто абстрактная теория – она становится реальностью в Ethereum через последние стандарты, а новые блокчейны проектируются с абстракцией учетных записей с нуля.
Чтобы лучше понять, как мы переходим от теории к практике, давайте рассмотрим, как Ethereum реализует абстракцию учетных записей – в частности, через обновление, известное как ERC-4337 – и как это действительно работает внутри.
Как работает абстракция учетных записей в Ethereum (ERC-4337)
Путь Ethereum к абстракции учетных записей недавно завершился предложением, называемым ERC-4337 (также называемым EIP-4337). Объявленный в 2021 году и развернутый в 2023 году, ERC-4337 представил абстракцию учетных записей, не требуя фундаментальных изменений в основном протоколе Ethereum. Это было важно, потому что изменение основного (L1) протокола идет медленно и требует широкого консенсуса. Вместо этого, 4337 достигает абстракции учетных записей, используя смарт-контракты и инфраструктуру вне цепи поверх Ethereum — умное решение, которое дает нам преимущества абстракции уже сегодня, без жесткой вилки.
Итак, как это работает? ERC-4337 определяет новый альтернативный рабочий процесс для транзакций, сосредоточенный на концепции объекта “Операция Пользователя” (часто называемая UserOp). Операция Пользователя — это как упакованная транзакция, которую хочет выполнить кошелек смарт-контракта пользователя. Вместо того чтобы кошелек пользователя непосредственно создавал обычную транзакцию Ethereum (что делает EOA), кошелек создает Операцию Пользователя, содержащую все детали предполагаемого действия: кто такой пользователь (отправитель), цель операции (например, вызов контракта или перевод токена), любые данные или параметры для вызова и связанная с этим проверочная подпись или доказательство.
Вот основной процесс ERC-4337 с его новыми компонентами:
-
Операции Пользователей и Мempool: При использовании кошелька, поддерживающего ERC-4337 (кошелёк смарт-контракта), кошелёк не транслирует обычную транзакцию. Вместо этого он создаёт объект UserOperation с необходимой информацией и подписью (но эта подпись может быть чем угодно, что ожидал бы логикой контракта, а не обязательно один ключ EOA). Эти UserOps передаются в специальный мекпул Операций Пользователей, отделенный от обычного мекпула транзакций Ethereum. Представьте это как зону ожидания, где предполагаемые действия из кошельков смарт-контрактов ждут, чтобы быть подобранными.
-
Бандлеры: Появляются бандлеры, которые напоминают майнеров или производителей блоков, но на уровне операций пользователей. Бандлер — это узел, который наблюдает за этим мекпулом UserOps и собирает несколько UserOps от различных пользователей в одну “пачку”, затем оборачивает эту пачку в одну транзакцию Ethereum L1. Проще говоря, бандлер действует от имени многих пользователей, чтобы донести их операции до блокчейна. Бандлер является EOA (он должен быть им, поскольку только EOAs могут инициировать транзакцию L1 в текущем протоколе), но конечным пользователям больше не нужно запускать транзакцию EOA. Бандлер оплачивает газ за большую транзакцию и взамен берет плату с каждой включенной UserOp.
-
Контракт Точки Входа: Запакованная транзакция отправляется в специальный смарт-контракт EntryPoint, развернутый на Ethereum. Этот контракт является центром дизайна ERC-4337. Задача контракта EntryPoint — проверять и выполнять те Операции Пользователей в пачке. Он распаковывает пачку и для каждой UserOp вызывает целевой смарт-контракт кошелька (контракт учетной записи пользователя), чтобы проверить эту операцию, а затем выполнить желаемое действие. Каждый смарт-контракт кошелек должен реализовать стандартный интерфейс, который вызывает EntryPoint, который обычно включает функцию вроде
validateUserOp
(для проверки подписей, nonce и т.д. для правил этого аккаунта) и функциюexecute
(для выполнения запрашиваемого действия, если проверка проходит). Если какая-либо UserOp не проходит проверку (например, недопустимая подпись или недостаточно средств), EntryPoint отклоняет её, чтобы избежать выполнения недопустимой транзакции. -
Пеймастеры (необязательно): ERC-4337 также вводит концепцию Пеймастеров, которые являются вспомогательными смарт-контрактами, которые могут спонсировать газовые сборы или указывать, кто и как должен платить за газ. Если присутствует, Пеймастер может быть прикреплен к UserOp, и во время проверки EntryPoint попросит Пеймастера оплатить газ от имени пользователя (часто после подтверждения некоторых критериев). Этот механизм позволяет пользователям совершать транзакции без удержания ETH для газа — например, разработчик dApp может запустить Пеймастера, чтобы оплачивать газ для новых пользователей как дружественную стратегию интеграции, или позволить газу быть оплаченным в токене ERC-20, которым владеет пользователь. Если Пеймастер не используется, газ оплачивается из собственных средств интеллектуального кошелька пользователя (которые все еще могут быть в форме токенов ERC-20, если сам кошелек обменивает или имеет логику для этого).
-
Стимул для Бандлеров: После выполнения операций контракт EntryPoint заботится о выплате должной платы бандлеру (используя средства, предоставленные либо учетной записью пользователя, либо Пеймастером). Это стимулирует бандлеров продолжать работать. По сути, бандлеры зарабатывают платы аналогично тому, как майнеры или валидаторы зарабатывают газовые сборы, за исключением того, что теперь они могут зарабатывать на пакете пользовательских операций.
Эта архитектура эффективно абстрагирует прямую необходимость каждого пользователя иметь EOA. Только бандлеры должны использовать EOA для публикации транзакций; у всех остальных "транзакции" заключены в UserOps, обработанные контрактом. Как пошутила команда Rumble Fish, в модели 4337 бандлеры — "единственные участники, нуждающиеся в [EOAs] в этой экосистеме абстракции учетных записей". Для конечного пользователя его учетная запись теперь является исключительно кошельком смарт-контракта — они никогда вручную не отправляют транзакцию L1 от EOA, но их воля выполняется на цепи все равно, через посредника EntryPoint.
Давайте разберём краткий пример, чтобы закрепить это: Предположим, у Алисы есть абстрактный кошелек с правилом "разрешить моему другу Бобу тратить не более 0.1 ETH из моего кошелька в день". Это то, что невозможно с обычными EOA — вы не можете делегировать ограниченную полномочия на траты на цепи с встроенными инструментами. Но с абстракцией учетных записей, кошелек Алисы — это смарт-контракт, который обеспечивает это правило. Теперь Боб хочет помочь Алисе, выполнив за неё торговлю, пока она не в сети. Боб создает Операцию Пользователя, обращаясь к кошельку Алисы: "переведите 0.05 ETH от Алисы на некоторую DEX". Боб подписывает эту UserOp (возможно, своим собственным ключом, как разрешено в коде контракта Алисы). Эта UserOp идет в мекпул. Бандлер подбирает её, вместе с другими, и отправляет их в точку входа. Точка входа вызывает функцию проверки кошелька Алисы; код проверяет: "Является ли Боб разрешен и находится ли это количество в рамках лимита в 0.1 ETH в день?" Если да, проверка проходит. Затем точка входа вызывает функцию выполнения на кошеле Алисы, который, в свою очередь, инициирует перевод 0.05 ETH на контракт DEX. Операция завершена успешно, и точка входа оплачивает небольшую плату за газ бандлеру из средств кошелька Алисы (или, возможно, из депозита Боба или Пеймастера, в зависимости от настроек). Алисе не нужно было ничего делать в тот момент – её заранее установленные правила кошелька позволили безопасно выполнить действие Боба. Если бы Боб попытался превысить лимит или не был бы авторизован, кошелек отклонил бы это во время проверки.
Из вышесказанного ясно, что абстракция учетных записей вводит множество новых движущихся частей (UserOps, бандлеры, EntryPoint, Пеймастеры). Однако с точки зрения пользователя всё это может быть под капотом. Пользователь просто испытывает более гибкий кошелек. Как описал один разработчик, "конечный пользователь даже не знает, что он использует абстракцию учетных записей – он просто видит функции, которые были невозможны ранее". Тем не менее, реализация этого безопасно — сложная задача. Например, контракт EntryPoint становится критически важным элементом инфраструктуры, который должен быть без ошибок и надёжным. (К счастью, он был проверен в аудите и формально верифицирован, учитывая его важность.) Код каждого смарт-кошелька также должен быть осторожно написан, чтобы правильно обрабатывать подписи, номера и проверки безопасности. Таким образом, за тем, чтобы сделать абстракцию учетных записей безопасной и бесшовной, стоит немало инженерной работы.
Стоит заметить: Ethereum не был единственной сетью, присматривавшейся к абстракции учетных записей. Некоторые новые блокчейны и сети второго уровня имели более легкое время для интеграции абстракции учетных записей на родном уровне. Например, StarkNet (уровень-2 на Ethereum в виде zk-rollup) был спроектирован таким образом, что каждая учетная запись на StarkNet по умолчанию является учетной записью смарт-контракта. В StarkNet нет понятия EOA – даже учетные записи пользователей имеют код (обычно это стандартный контракт аккаунта, который может быть обновлён или настроен под нужды пользователя). Это означает, что StarkNet имел функции абстракции учетных записей (такие как социальное восстановление и т.д.) доступны с самого начала, без необходимости в системе типа 4337 с внешними бандлерами; сами секвенсоры обрабатывают интеллектуальные аккаунты по умолчанию. Подобным образом, zkSync v2 (ещё один уровень-2) также поддерживает абстракцию учетных записей на родном уровне протокола – они развертывают стандартный контракт аккаунта для каждого пользователя, который имитирует поведение EOA, если не настроен, таким образом поддерживая совместимость, но все же позволяя расширение. Эти подходы подтверждаютКонтент: Сила AA: удалив разделение EOA/контракт на уровне протокола, можно разработать гораздо более богатую функциональность кошелька. Подход Ethereum ERC-4337 немного более сложный (поскольку он многослойный), но в конечном итоге он предоставляет тот же конечный результат на Layer-1 Ethereum.
Теперь, когда мы поняли, что такое абстракция аккаунтов и как она функционирует (по крайней мере, в реализации Ethereum), давайте обратимся к преимуществам. Почему столько шума? Что это на самом деле позволяет пользователям и разработчикам, что ранее было невозможно (или очень сложно)? Преимущества абстракции аккаунтов многочисленны, касаются безопасности, удобства использования и не только.
Преимущества Абстракции Аккаунтов
Абстракция аккаунтов часто представляется как революция для пользовательского опыта и безопасности в криптовалюте. Позволяя кошелькам становиться смарт-контрактами, она открывает функции, которые делают управление криптовалютой больше похожим на управление современным банковским счетом или онлайн-профилем, а не работу с сырыми криптографическими ключами. Давайте разберем ключевые преимущества:
Улучшенная Безопасность и Варианты Восстановления
Одним из сильнейших привлечений абстракции аккаунтов является потенциал для значительного улучшения безопасности криптоаккаунтов. Сегодня, если вы потеряете свою сид-фразу или приватный ключ от EOA-кошелька, вы просто потеряете доступ – нет возможности восстановления. Аналогично, если ваш ключ украдут, вор сможет украсть всё, и никто не может заморозить аккаунт или отменить ущерб. Эта суровая реальность привела к бесчисленным историям о потерянных состояниях и остается главным страхом для новых пользователей.
Абстракция аккаунтов предлагает решение: поскольку ваш аккаунт представляет собой программируемый контракт, вы можете встроить в него собственные механизмы безопасности. Например, разработчики могут реализовать смарт-кошельки с социальной защитой или одобрением нескольких подписей. В смарт-кошельке с социальной защитой у вас все еще есть основной ключ для обычного использования, но если вы его потеряете, группа "хранителей" (друзья, семья или даже другие ваши устройства) могут коллективно авторизовать замену ключа для вашего кошелька. Это означает отсутствие единственной точки отказа – потеря одного ключа не приведет к полной утрате доступа, и ни один украденный ключ (если только все хранители не скомпрометированы) не дает злоумышленнику доступ. Виталик Бутерин стал сторонником социальной защиты как предпочтительного способа обеспечения безопасности кошельков, и с абстракцией аккаунтов эта модель становится гораздо проще в широком применении (на самом деле, такие проекты, как Argent, использовали его разновидность через смарт-контракты).
Аналогично, абстракция аккаунтов позволяет мультиподписи стать мейнстримом для индивидуальных пользователей, а не только для организаций. Вы могли бы требовать, чтобы любая транзакция с вашего кошелька должна была быть подписана, например, вашим телефоном и вашим ноутбуком (два ключа) – что значительно уменьшает риск компрометации одного устройства. В прошлом мультиподписи существовали (как Gnosis Safe), но в основном использовались командами или экспертами из-за сложной настройки. С AA-кошельками, удобный интерфейс может позволить любому активировать 2-из-3 мультиподписи для себя или установить дневной лимит расходов, требующий дополнительного подтверждения при превышении лимита. Такие виды настроек не были возможны с обычными EOA.
Пониженный Порог Входа для Новых Пользователей
Помимо безопасности, абстракция аккаунтов может значительно упростить использование криптовалюты для повседневных пользователей. Давайте признаем: управление EOA с комиссиями за газ и сид-фразами угнетает новичков. Пользовательский интерфейс/опыт часто сравнивали с ранним периодом Интернета – вы фактически просите пользователей идеально управлять секретными ключами (как длинными паролями) и понимать такие концепции, как газ и нонсы, с первого дня. Это является барьером для принятия.
Абстракция аккаунтов снижает этот барьер, предлагая более знакомый и удобный пользовательский опыт. Например, с плательщиками газа, которые покрывают сборы, или позволяют это делать в стейблоках, новый пользователь мог бы выполнить свою первую транзакцию в блокчейне, даже не имея ETH для газа. DApp или кошелек мог бы спонсировать плату за газ (возможно, как часть промо-акции для новичков или по модели freemium) – пользователь просто видит, как его действие прошло, подобно тому, как финтех-приложение может отменить комиссии за первую транзакцию. Это огромно: требовать от новых пользователей сначала приобретать ETH (часто на бирже) только для того, чтобы можно было использовать DApp, было кошмаром для адаптации. Абстракция аккаунтов удаляет это препятствие, позволяя оплату комиссий за газ в любом токене, которым они владеют, или вообще не платить, если за дело взялся третья сторона.
Еще одно улучшение пользовательского опыта – это идея "безподписьных" или одноразовых транзакций. Хотя они не буквально без подписи (под капотом все еще используется криптография), с точки зрения пользователя, вы могли бы быть "авторизованы" в DApp на сеанс и не должны вручную подтверждать каждое действие. С абстракцией аккаунтов кошельки могут реализовать сеансовые ключи – временные ключи, которые имеют ограниченные права (например, они могут выполнять только определенные действия в течение ограниченного времени). Вы могли бы авторизоваться в игровой DApp и одобрить сеансовый ключ, который позволяет этой игре выполнять ходы от вашего имени, например, в течение следующего часа с ограничением расходов. В течение этого часа вы наслаждаетесь непрерывным опытом, как если бы просто играли в обычную онлайн-игру – никаких всплывающих транзакций каждую минуту. Смарт-контракт вашего кошелька гарантирует, что сеансовый ключ не может сделать ничего, выходящего за рамки его заданных разрешений, и через час он становится недействительным. Этот вид потока аналогичен тому, как web2 приложения поддерживают сеансы, и это становится возможным благодаря гибкости абстракции аккаунтов. Ранние реализации сеансовых ключей и "входа с Ethereum" уже исследуются с использованием кошельков AA.
Кроме того, абстракция аккаунтов может позволить такие функции, как автоматические платежи или подписки. Как упоминалось ранее, исследовательская команда Visa по криптовалютам продемонстрировала прототип, где смарт-контрактный кошелек может выполнять регулярные платежи (автосписание) по своему собственному расписанию. В их сценарии пользователь мог бы запланировать ежемесячные платежи по счетам с самокастодиальным кошельком – то, что в настоящее время могут делать только кастодиальные сервисы или центральные банки – предоставляя смарт-контракту предварительное разрешение на списание средств по мере необходимости. Это было сделано на Layer-2 (StarkNet) с нативной AA, но концепция применима шире. Представьте, что вы можете заранее запланировать сделки, платежи по счетам или переводы с условиями («выполняйте эту транзакцию, если мой баланс выше X на дату Y») – это становится возможным, когда ваш аккаунт может самостоятельно выполнять код, когда его активируют соответствующим образом. Пользователю не нужно быть в сети и нажимать "подтвердить" каждый раз; его кошелек-скрипт действует в соответствии с установленными ими правилами.
Все эти улучшения приводят к более дружелюбному процессу адаптации и использования. Один из блогов удачно заметил, что благодаря абстракции аккаунтов, DApp начинают чувствоваться так же гладко, как традиционные финтех-приложения, где пользователи не беспокоятся о странностях блокчейна, таких как нонсы и газ. Пользователи могли бы восстанавливать аккаунты через знакомые процессы (связываться с хранителями или использовать резервные устройства, аналогично «сбросу пароля»), и они могли бы использовать приложения, не понимая газа (сложность обрабатывается на заднем плане, возможно, приложением). Для людей, не ориентированных на крипту, это большое дело – это разница между требованием настроить их Интернет через командную строку против просто нажатия на значок приложения и использования сервиса.
Настройка и Автоматизация Транзакций
С помощью абстракции аккаунтов пользователи получают больший контроль над тем, что могут делать их аккаунты – и могут автоматизировать сложные задачи, которые ранее требовали ручного вмешательства или доверия внешним сервисам. Мы коснулись некоторых примеров, но давайте выделим несколько ключевых возможностей:
-
Группировка и Сложные Действия: Традиционные EOA должны отправлять одну транзакцию за раз, каждую с отдельным подтверждением. Смарт-контрактные кошельки могут быть спроектированы для группировки нескольких действий в одну мета-транзакцию. Например, вы могли бы атомарно выполнить серию шагов: торговать на DEX, затем одолжить полученные средства на кредитной платформе, затем перевести полученный токен – всё в одной транзакции с вашего смарт-кошелька. Это не только экономит время и клики, но может сэкономить газ, объединяя шаги. На самом деле, одним из упомянутых преимуществ абстракции аккаунтов является возможность «группировать несколько транзакций вместе», сокращая издержки и, возможно, экономя комиссии. Для пользователей это означает стратегии с однократным нажатием вместо манипуляции множеством трансакций.
-
Предварительно Одобренные Транзакции и Автоматизация: Вы можете авторизовать определенные транзакции, чтобы они происходили при определенных условиях без дополнительных одобрений. Это может позволить такие вещи, как стоп-лосс ордера в DeFi (ваш кошелек автоматически выполняет сделку, если цена достигает определенного порога), или ходы в игровых приложениях блокчейна, которые выполняются автоматически в рамках определенных параметров. Поскольку аккаунт выполняет вашу волю в виде кода, это похоже на наличия личного агента на блокчейне. Конкретный реальный пример: кто-то может запрограммировать «если я не взаимодействую с моим аккаунтом в течение 1 года, автоматически перевести средства на мой резервный кошелек» – своего рода "переключатель мертвеца", предоставляя механизм наследования. Без AA это требует либо доверия к третьей стороне.служба или надежда на то, что кто-то позвонит по специальному контракту; с AA ваш собственный счет может это обеспечить.
-
Простое управление активами: Абстракция аккаунтов позволяет реализовать такие функции, как «переведите все мои токены одним вызовом функции». Обычно, если вы хотите перенести активы в новый кошелек, вам нужно отправить каждый токен по отдельности. Смарт-кошелек может иметь метод для перемещения всех активов (ETH и любых токенов, NFT и т. д.) за один раз на другой адрес, упрощая перенос кошельков или консолидацию активов. Это также может позволить смену владельца самого кошелька: например, продать кошелек или передать его кому-то (что не так просто с EOA, так как EOA привязан к фиксированному ключу, которым нельзя делиться).
-
Программируемые ограничения: Вы можете ввести произвольные политики на использование своего аккаунта. Например, вы можете установить суточный лимит расходов. Если сумма транзакций превышает этот лимит, кошелек приостанавливает дальнейшие переводы до следующего дня или требует дополнительного подтверждения от вас. Такой вид ограничения может предотвратить потерю всех средств в случае тихой компрометации ключа – вор сможет забрать, например, только 1% ваших средств в день, давая вам время заметить это и отреагировать. Аккаунты также могут ограничивать определенные виды транзакций (например, «не разрешено вызывать рискованный DeFi-контракт X, если не подпишется дополнительный ключ»). Это аналогично тому, как кредитные карты позволяют устанавливать лимиты или предупреждения на транзакции сверх определенной суммы.
Вкратце, абстракция аккаунтов предоставляет беспрецедентную гибкость. Один из комментариев разработчиков блокчейна хорошо это описал: с EOA пользователи «застревают с транзакциями, которые нельзя настроить или автоматизировать – каждую нужно подписывать индивидуально». Но с абстракцией аккаунтов «всё меняется», и пользователи могут «настраивать повторяющиеся платежи и углубляться в другие формы автоматизации», даже одобряя несколько действий одним махом. Это как переход от ручного автомобиля с механической коробкой к интеллектуальному автомобилю с автопилотом, который можно запрограммировать с маршрутами и правилами – от выполнения каждого небольшого действия самостоятельно вы переходите к определению своих желаний и предоставлению системы механики.
Гибкость и спонсорство комиссий за газ
Еще одним важным преимуществом является предоставленная абстракцией аккаунтов гибкость в отношении комиссий за газ. На текущий момент в Ethereum вы должны платить комиссии за газ в ETH со своего собственного аккаунта за каждую транзакцию. Это неприемлемо для многих пользовательских решений – представьте, если бы каждый раз, когда вы проводили оплату кредитной картой, вам нужно было иметь при себе вторую валюту для оплаты комиссии, и если у вас её нет, платеж не состоится. Это именно то, что происходит с EOA и ETH для газа.
Абстракция аккаунтов снимает это ограничение, позволяя абстракцию газа:
- Ваш аккаунт (смарт-кошелек) может быть настроен на оплату газа любым токеном, который у вас есть. Например, если у вас только стабильная монета USDC, логика кошелька (в сочетании с платёжным мастером или интеграцией DEX) может автоматически конвертировать часть USDC или использовать его для оплаты майнеру/валидатору, так что вам вообще не нужно будет ETH.
- Спонсор (платёжный мастер) может покрыть ваши комиссии за газ. Это открывает двери для транзакций без оплаты газа для пользователей. dApp может решить платить за комиссии своих пользователей ради увеличения роста, аналогично бизнесу, покрывающему стоимость доставки для своих клиентов в качестве стимула. Хотя это было возможно в ограниченной форме через мета-транзакции в прошлом, абстракция аккаунтов стандартизирует это и делает более безопасным. Пользователи могут взаимодействовать с приложением блокчейна, даже не осознавая существования газа; опыт может ощутиться как бесплатное приложение web2, где операции "просто работают". Например, новым пользователям при регистрации могут быть предоставлены несколько бесплатных транзакций, спонсированных самим приложением, что упрощает первый опыт.
- Гибкая логика комиссий: возможно, вы хотите автоматически использовать самый дешевый актив в данный момент для оплаты комиссий, или динамически выбирать между оплатой в ETH и другим токеном в зависимости от рыночных ставок – вся эта логика может быть встроена в ваш контракт кошелька или политику платёжного мастера.
Спецификация ERC-4337 явно считает это ключевой характеристикой: благодаря платёжным мастерам пользователи «не обязаны больше держать токен ETH для взаимодействия с сетью. Это значительное улучшение для новых пользователей», входящих в Web3. Анализ от Rumble Fish подчеркнул, что с AA dApps или даже другие люди могут помогать оплачивать чьи-то комиссии за газ в качестве подарка или продвижения, сильно упрощая процесс входа. Мы уже видели, как такие организации, как Visa, экспериментировали с использованием абстракции аккаунтов, чтобы позволить пользователям оплачивать газ с помощью кредитной карты или через третью сторону, эффективно делая крипто-транзакцию похожей на обычную онлайн-покупку. Такой пользовательский опыт станет гигантским шагом вперед для достижения мэйнстрим-дружелюбности приложений на блокчейне.
Гарантия на будущее и новые возможности
Наконец, абстракция аккаунтов важна не только из-за ее современных возможностей, но и из-за того, как она гарантирует будущее для аккаунтов на блокчейне на случай появления новых технологий и разблокирует целые новые классы приложений:
- Постквантовая криптография: Сегодняшние подписи Ethereum (ECDSA) могут быть взломаны квантовыми компьютерами в будущем. С абстракцией аккаунтов можно постепенно переходить на защищённые от квантового срыва схемы подписей для каждого аккаунта по отдельности, вместо необходимости в хардфорке, который изменит работу всех подписей. Более того, AA позволяет сосуществовать нескольким схемам подписей – некоторые аккаунты могут использовать традиционные ключи, другие могут требовать квантобезопасные подписи, такие как Lamport или BLISS и т. д. Ethereum 4337 рассматривается как «один из первых шагов к созданию транзакций, защищённых от квантовых компьютеров», так как он отделяет верификацию аккаунта от фиксированного алгоритма.
- Ролевой доступ и модульность: Аккаунты могут быть запрограммированы для ролевого контроля доступа. Например, вы можете назначить «ключ для торговли», который может только совершать торговые операции, но не выводы, или «ключ для развертывания», который может развертывать контракты, но не перемещать средства, все это в рамках одного контракта аккаунта. Это полезно для организаций или опытных пользователей, которые хотят контроля на детальном уровне.
- Полноценные мультиподписи и общие аккаунты: Абстракция аккаунтов может сделать аккаунты с многопользовательским управлением полноценным элементом всей экосистемы. Это значит, что dApps и протоколы могут легче поддерживать взаимодействие с мультисиг-аккаунтами. Это также значит, что кошельки для команд или семей будут проще – аккаунт-контракт может принадлежать N людям, каждый с определенными правами, что не просто с EOA. В действительности, в референсном тексте упомянута абстракция аккаунтов, позволяющая создавать «командные кошельки» как один из вариантов использования, относясь к кошелькам, которыми управляют несколько человек с запрограммированными правилами управления (идеально для бизнес-казначейств, фондов DAO и т. д.).
- Идентичность и репутация в сети: Поскольку контракты аккаунтов могут содержать логику, они могут интегрировать такие вещи, как баллы репутации или белые списки для DeFi (например, аккаунт, который позволяет взаимодействие только с протоколами из белого списка в целях безопасности, пока пользователь не изменит настройки). Они также могут интегрироваться с системами идентификации, такими как требование определенного удостоверения или NFT для активации некоторых функций. Это пересекается с темой смарт-аккаунтов, выступающих как хабы для кошельков и идентификаций одновременно.
В итоге, преимущества абстракции аккаунтов охватывают безопасность, удобство использования, гибкость и готовность к будущему. Речь идет о том, чтобы сделать крипто-аккаунты такими же мощными и удобными, насколько это позволяет современное программное обеспечение, не жертвуя принципами самоуправления и децентрализации. Неудивительно, что многие в сообществе Ethereum считают это ключевым элементом для увеличения следующей волны принятия. Как выразился один источник, абстракция аккаунтов широко рассматривается как «важный шаг в пути Ethereum к широкому пользовательскому принятию».
Техника, разобранная нами выше, позволяет воплощать концепции альфа-класс использования в реальных условиях у нас на глазах. Давайте рассмотрим некоторые реальные примеры и применения абстракции аккаунтов в действии, а также то, что сейчас происходит в экосистеме.
Реальные приложения и примеры
Абстракция аккаунтов может звучать теоретично, но уже реализуется и тестируется на практике. Вот несколько примеров и сценариев, иллюстрирующих ее влияние:
-
Кошельки смарт-контрактов (социальное восстановление и мультисиг): Проекты, такие как Argent, были первопроходцами в области смарт-контрактных кошельков, предлагающих социальное восстановление и проверенных контактов. Кошелек Argent (еще до ERC-4337) позволял пользователям назначать "хранителей" для помощи в восстановлении доступа в случае утраты ключа – это было достигнуто с помощью пользовательских контрактов для каждого пользователя. С теперь уже живым ERC-4337 такие кошельки могут подключиться к стандартизированной инфраструктуре и потенциально стать более распространенными по всей индустрии. Аналогично, Gnosis Safe (теперь называемая Safe) использовалась как многоподписной кошелек (в основном для команд/DAO). Safe, по существу, является примером использования абстракции аккаунтов (несколько владельцев управляют одним контрактным аккаунтом). Фактически, команда Safe активно принимает AA; они даже разработали прототип для использования ERC-4337 и рассматривают, как предстоящие изменения протокола (например, EIP-7702) поддержат миграцию существующих учетных записей Safe к полноценным смарт-аккаунтам. Эти примеры показывают, что улучшенные кошельки безопасности для как отдельных лиц, так и организаций являются явным непосредственным выигрышем от AA.
-
Спонсорство газа от приложений: Мы видим, как децентрализованные приложения экспериментируют с покрытием расходов на газ своих пользователей для улучшения UX. Например, игра на блокчейне или децентрализованная биржа могут использовать Пеймастер (по стандарту ERC-4337) для того, чтобы пользователи могли торговать, не удерживая ETH для газа – dApp спонсирует газ, возможно, возмещая стоимость за счет чуть более высокой комиссии протокола или как маркетинговый расход. Этот опыт безгазовых транзакций очень привлекателен для привлечения новых пользователей. Платформа DeFi могла бы буквально рекламировать «не требуется ETH для начала кредитования – вносите депозиты напрямую с использованием USDC». Некоторые провайдеры SDK для кошельков (такие как Biconomy или OpenGSN) исторически предоставляли фреймворки для мета-транзакций; с абстракцией аккаунтов это может быть сделано более нативно и безопасно. В одном случае, поддерживаемый фондом Ethereum проект продемонстрировал систему, где пользователи могли даже использовать кредитную карту для косвенной оплаты комиссий – VisaИсследования, о которых мы упомянули, позволили кошельку платить за газ, списывая средства с карты Visa, при этом всем управляет логика кошелька и мастер-платежей. Хотя оплата газа кредитной картой пока не является распространенной практикой, сам факт возможности этого подчеркивает, насколько далеко мы можем абстрагировать механику блокчейна от пользователя.
-
Регулярные Платежи и Подписки: Концепция автоматизированных регулярных платежей с само-хранительного кошелька практически не существовала ранее, поскольку EOA не может самостоятельно инициировать платеж в будущем. Однако с абстракцией аккаунта автоматические платежи становятся возможными. Примером является концепция на StarkNet с Visa: они использовали абстракцию аккаунта для реализации pull-платежа (биллер мог инициировать платеж из кошелька пользователя в дату платежа, поскольку кошелек это заранее разрешил). Гипотетический пример: стриминговый сервис может развернуть смарт-контракт, который каждый месяц запрашивает ваш кошелек-контракт на оплату подписки; код вашего кошелька может подтвердить, что это легитимный сервис, и автоматически оплатить его, например, в стейблкоинах – все это без вашей авторизации каждый месяц. Такой уровень удобства часто отсутствовал в Web3, что потенциально заставляло пользователей переходить на кастодиальные решения, если они хотели такие функции. Абстракция аккаунта приносит это в самокострацию.
-
«Один Клик» Опыт & Компонентность: Рассмотрите рынок NFT, где покупка NFT может включать несколько шагов (сначала одобрение токена, затем сделка и т.д.), или участие в DAO, которое требует блокировки токенов, а затем голосование. С кошельками AA проекты могут разрабатывать потоки, где пользователь может сделать «покупку» или «участие» в один клик, а за кулисами контракт кошелька объединяет необходимые шаги. Мы уже видим это с некоторыми агрегаторами DeFi, которые делают мета-транзакции, но с родным AA это может быть более распространено и легче для интеграции. Это увеличивает компонентность dApps – ваш смарт-аккаунт может взаимодействовать с несколькими протоколами за один заход, что побуждает разработчиков создавать более богатые функции, не опасаясь, что пользователи отключатся после первой из нескольких транзакций.
-
Адаптация Layer-2 и Кросс-Цепочечный UX: На сетях Ethereum Layer-2, таких как StarkNet и zkSync (в которых есть родной AA), пользователи получают все эти преимущества с первого дня. Например, пользователь на StarkNet может создать свой аккаунт, развернув контракт (есть первоначальная одноразовая стоимость для развертывания вашего аккаунта), и впоследствии наслаждаться такими функциями, как выбор любого токена для оплаты комиссий. По мере того как эти L2 набирают пользователей, ожидание такого удобства будет расти, что заставит другие цепочки принимать аналогичные идеи. Более того, абстракция аккаунта может помочь с кросс-цепочечными процессами. Некоторые в сообществе говорят о "абстракции цепочек" в сочетании с абстракцией аккаунта. Например, умный кошелек мог бы абстрагировать, на какой цепочке происходит операция – вы могли бы инициировать действие, и кошелек (через реле или мосты) заботился о его выполнении на соответствующей цепочке, возвращая вам результат, без ручного переключения сети или удержания множества цепочечных токенов. Это все еще на начальной стадии, но концептуально смарт-контракт мог бы управлять ресурсами на нескольких цепочках, если он спроектирован для этого, предоставляя единый UX.
-
Инструменты для Разработчиков и Новые Услуги: Появляется множество новых сервисов, поддерживающих абстракцию аккаунтов. Например, провайдеры, предлагающие Wallet-as-a-Service (WaaS), которые управляют развертыванием умных кошельков для пользователей и управляют ключами в удобный для пользователей способ (некоторые интегрируют безопасные анклавы в телефонах или облачные бэкапы и т.д.). Хотя мы не будем продвигать конкретные компании, заметно, что многие стартапы и проекты активно строят инструментарий для AA – от SDK, которые позволяют любому dApp создать AA кошелек для своих пользователей, до специализированных мастеров-платежей, которые решают вопросы конверсии газа. Это означает, что экосистема стремительно движется к тому, чтобы сделать AA бесшовным. По мере того как эти инструменты улучшаются, больше приложений смогут принять AA без необходимости изобретать велосипед, и пользователи могут воспользоваться AA, даже не зная об этом (например, игра может автоматически предоставлять каждому пользователю контрактный кошелек на заднем плане, связанном с их электронной почтой – пользователь просто знает, что у них есть игровой аккаунт, который под капотом является кошельком на смарт-контракте, привязанным к их ключу, аутентифицированному по электронной почте).
Все эти примеры подчеркивают, что абстракция аккаунта – это не просто теоретическое обновление; она уже происходит на различных фронтах, приносит реальные улучшения. Однако это еще не все солнечно и гладко. Как и любая новая технология, она сопряжена с вызовами и компромиссами. Важно изучить их для получения сбалансированного представления.
Проблемы и Ограничения Абстракции Аккаунта
Хотя абстракция аккаунта открывает увлекательные возможности, она также вводит новые сложности и соображения. Вот некоторые из проблем и ограничений, которые стоит учитывать:
-
Риск Умного Контракта: Превращая пользовательские кошельки в умные контракты, мы по своей природе вводим риск умного контракта для личных аккаунтов. Ошибка в коде кошелька может иметь катастрофические последствия – например, дефект может позволить злоумышленнику обойти безопасность или вывести средства. С EOA «код», участвующий в вашем аккаунте, по сути, просто проверка подписи ECDSA, что является хорошо протестированным криптографическим примитивом. Умные кошельки намного сложнее. Хотя основные фреймворки AA (такие как контракт EntryPoint в ERC-4337) аудированы, безопасность каждой реализации кошелька может варьироваться. Как отметил один справочник для разработчиков, когда вы используете AA кошелек, вы «разворачиваете неизменяемый контракт», и если будет выявлена ошибка, ее будет сложно исправить, так как код этого контракта не может быть легко изменен. Некоторые контракты кошельков могут включать функции обновления или миграции, чтобы смягчить это, но это, в свою очередь, вводит проблемы доверия (кто может обновить его?). Проверка контрактов кошельков очень важна.
-
Сложность и Новые Режимы Сбоев: Архитектура AA (с пакетировщиками, мастерами-платежей, отдельной мемпулой) сложнее, чем статус-кво. Это означает больше компонентов, которые могут выйти из строя или быть атакованы. Например, что если сеть пакетировщиков недостаточно децентрализована на ранней стадии? Могут ли пакетировщики цензурировать определенные UserOp или требовать высокие комиссии? Существует риск централизации, если только несколько участников станут доминирующими пакетировщиками. Со временем ожидается, что многие узлы Ethereum или майнеры/валидаторы сами могут запускать программное обеспечение пакетировщиков (особенно если в этом есть экономические стимулы), но на ранних стадиях пользователи доверяют, что мемпул UserOps и пакетировщики работают честно. Контракт EntryPoint – это еще одна центральная точка доверия – если в нем будет обнаружена уязвимость, это может повлиять на всех пользователей AA. Сообщество Ethereum приняло меры предосторожности (контракт EntryPoint может быть заменен с помощью механизма обновления, если обнаружится ошибка, под много-рычажным управлением до полной децентрализации), но это ключевой элемент, за которым стоит следить.
-
Ресурсные Затраты (Газ и Развертывание): Использование умного кошелька имеет накладные расходы. Есть одноразовая стоимость для развертывания вашего аккаунта (нужно опубликовать новый контракт в сети для каждого пользовательского кошелька, если только не использовать шаблон контракта с контрфактуальной загрузкой, где он создается при первом использовании). Это может стоить несколько долларов в газе на основной сети Ethereum, что может оттолкнуть некоторых пользователей или потребовать от кошельков спонсорства. Кроме того, каждая операция через смарт-кошелек может быть немного дороже в газе, чем простая транзакция EOA, поскольку она требует вызова EntryPoint, выполнения дополнительного кода и т.д. Однако часть этого может быть компенсирована за счет эффективного выполнения в батчах. Тем не менее для интенсивной деятельности в цепочке эти затраты добавляются. Это означает, что, по крайней мере на начальных этапах, абстракция аккаунта может быть более распространена на Layer-2 (где газ дешевле) и только для более ценных случаев использования на Layer-1. Хорошая новость заключается в том, что разработчики Ethereum осведомлены об этом и работают над изменениями протокола, чтобы сделать AA более газоэффективной. Например, предложения, такие как «сжатие InitCode» или другие EIPs, нацелены на снижение затрат на развертывание и использование умных аккаунтов, и в долгосрочной перспективе, если AA станет стандартом, протокол сможет оптимизировать их.
-
Управление Ключами По-прежнему Важно (Буквально): Важно отметить, что абстракция аккаунта не устраняет необходимость приватных ключей – она просто добавляет слои вокруг того, как используются ключи. В конце концов вам все равно потребуется какая-либо форма приватного ключа или секрета для аутентификации в качестве владельца аккаунта (даже если этот ключ разбит между несколькими сторонами или хранится в аппаратных средствах и т.д.). Если пользователь выберет слабую безопасность для своих ключей, они по-прежнему могут быть взломаны. AA предоставляет инструменты, такие как социальное восстановление, но пользователи должны действительно использовать их и настраивать должным образом. Некоторые критики отмечают, что многие пользователи могут остаться на стандартных настройках, которые могут быть единственным ключом, управляющим контрактом аккаунта (по сути, повторяющим EOA, но с большей сложностью). В таких случаях, если они никогда не настроят стражей или 2FA, они не улучшат свою безопасность – и даже могут быть в более опасной ситуации, если не поймут новую модель кошелька. В общем, абстракция аккаунта значительно улучшает потенциальную безопасность, но не гарантирует ее. Пользователям потребуется хороший UX, чтобы направлять их к более безопасным настройкам (например, предложения добавить стража или резервный ключ во время настройки кошелька).
-
Еще не Универсально: По состоянию на 2025 год абстракция аккаунта по ERC-4337 доступна на Ethereum, но требует поддержки со стороны провайдеров кошельков. Если ваш текущий кошелек (например, MetaMask или аппаратные кошельки) не поддерживает создание и управление 4337 умными аккаунтами, вы не сможете воспользоваться AA без перехода. Мы находимся в переходный период, когда EOAs и AA аккаунты сосуществуют. Это может вызвать путаницу и трение у пользователей. Например, AA аккаунты имеют свой собственный адрес (который выглядит как любой другой адрес Ethereum, но на самом деле это контракт). Если кто-то отправит ETH на ваш AA кошелек, это нормально – это адрес – но для отправки ETH наружу, вам придется использовать AA процесс вместо простой транзакции EOA. Продвинутые пользователи могут беспокоиться о совместимости: «Поддержит ли этот dApp мой …»Certainly! Here's the translated text with markdown links skipped:
Content: умный кошелек?” Вообще говоря, если AA-кошелек хорошо спроектирован, он должен работать с всеми dApps (так как с точки зрения dApp это просто адрес, который выполняет вызовы контрактов). Однако некоторые инструменты низкого уровня (такие как некоторые блокчейн-эксплореры или более старые кошельки) могут не полностью распознавать эти транзакции. Со временем стандарты, такие как ERC-4337, должны стать бесшовными, но экосистема должна догнать — возможно потребуется обновление цепочных эксплореров, прошивки аппаратных кошельков и т. д., для правильного отображения и подписания операций AA.
* **Интероперабельность и мультичейн:** Если вы используете ваш умный аккаунт на нескольких цепях (L1, L2s, боковые цепи), вам, возможно, придется развернуть контракт на каждой из цепей, что может вызвать трудности. Ведется работа по обеспечению "воспроизводимости" развертывания аккаунта между цепями, чтобы вы могли сохранить тот же адрес и способности везде. Однако пока это не будет полностью решено, это является условием, что использование AA на одной сети не подразумевает автоматическое его использование на другой — возможно потребуется настройка для каждой цепи.
* **Проблемы перехода для существующих пользователей:** Уже существует множество ЕОА, включая те, что содержат ценные активы (например, NFT, которые привязаны к владельцу и не подлежат передаче, что означает, что их нельзя просто переместить в новый умный кошелек без труда). Как эти пользователи перейдут на абстракцию аккаунтов, если захотят? Один из подходов — обновления протокола, такие как EIP-7702, предложенные Виталиком и другими, которые позволят ЕОА "принимать" функциональность умного контракта без изменения его адреса (подробнее об этом в следующем разделе). Но до тех пор, пока такие обновления не произойдут, пользователи, возможно, придется создавать новые аккаунты для получения функций AA, что является обременительным, особенно если у них есть активы, привязанные к их старому адресу. Также существует образовательная проблема: пользователи должны понять, почему переход на умный кошелек является полезным, и преодолеть инерцию "если это не сломано, не чини" с их ЕОА. Сообществу необходимо будет подчеркнуть преимущества (а может быть, кошельки облегчат это, предлагая инструменты миграции в один клик).
Несмотря на эти вызовы, общее мнение в сообществе Ethereum заключается в том, что преимущества абстракции аккаунтов перевешивают недостатки, и многие из этих ограничений активно решаются. Не редкость, когда новая основополагающая технология начинается с более высокой сложности, а затем становится более гладкой со временем. Первые смартфоны были громоздкими и имели короткое время работы, но теперь они незаменимы и удобны; аналогично, сегодняшние AA-кошельки могут казаться новыми и отличаться, но через несколько лет пользователи, возможно, не смогут себе представить жизнь без таких функций, как социальное восстановление или безгазовые транзакции.
С таким сбалансированным взглядом давайте посмотрим, что нас ждет впереди для абстракции аккаунтов. Как она будет развиваться, и какие разработки можно ожидать в стремлении сделать умные аккаунты новой нормой?
## К полному абстрагированию аккаунтов
Абстракция аккаунтов в Ethereum — особенно через ERC-4337 — является значительным достижением, но это часто рассматривается как шаг на пути, а не конечная цель. Конечным видением, выраженным многими разработчиками ядра Ethereum, является достижение "полной абстракции аккаунтов" на уровне протокола, где каждый аккаунт является умным аккаунтом, а наследственная концепция EOAs полностью исчезает. Это, вероятно, потребует дальнейших обновлений и тщательных стратегий перехода в ближайшие годы. Вот взгляд на то, что нас ждет на горизонте:
**1. Интеграция на уровне протокола:** В настоящее время ERC-4337 работает на уровне приложения, используя существующий механизм транзакций Ethereum через контракт EntryPoint. Долгосрочно, Ethereum может напрямую интегрировать абстракцию аккаунтов в протокол (Layer 1), чтобы упростить процесс. Это может означать введение нового типа транзакции или изменение правил консенсуса, чтобы кошельки с умными контрактами могли инициировать транзакции без использования посредника бандлера. Фактически, более ранние предложения, такие как EIP-2938 (которое не было принято), пытались сделать это, добавляя новый тип транзакции "AA" на уровне протокола. Сообщество сначала выбрало подход 4337, но не исключает более глубоких изменений в будущем. Интегрируя AA нативно, Ethereum мог бы устранить необходимость в отдельной мемпуле для UserOps и потенциально снизить расходы на газ (так как логика EntryPoint может быть более эффективно обработана протокольным кодом). Недавняя идея — нечто, называемое "унифицированной мемпул" (обсуждается в черновом предложении RIP-7560), которое объединило бы UserOps с обычными транзакциями в одном пуле и сделало бы исполнение более экономичным по газу. Хотя технически, результатом является более простая архитектура и более низкие затраты для AA.
**4. Расширенные функции по умолчанию:** В мире полной абстракции аккаунтов мы могли бы увидеть кошельки, которые оснащены функциями, которые сегодня являются опциональными. Например, новые аккаунты могли бы автоматически иметь настройки социального восстановления (возможно, во время создания кошелька вас попросили бы выбрать нескольких хранителей). Опции восстановления стали бы стандартом, а не мысленно подсвеченной задумкой. То же самое относится к многофакторной или многоустройственной безопасности — это могло бы быть встроено в аккаунт с самого начала. Как упоминалось ранее, могли бы быть разрешены несколько схем подписи: представьте себе, что ваш аккаунт позволяет вам аутентифицироваться с помощью биометрических данных вашего телефона (которые могут использовать ключ типа Secure Enclave, связанный с вашим отпечатком пальца) и с помощью аппаратного ключа в качестве резервного. Абстракция аккаунтов позволяет комбинировать их в одном аккаунте. Это сделало бы кошельки как более простыми в использовании (без необходимости беречь сиду как зеницу ока), так и более стойкими к развивающимся угрозам, таким как квантовые компьютеры.
**5. Широкое распространение в приложениях:** По мере того, как все больше dApps и пользователей переходят на AA, мы, вероятно, увидим взрыв креативных применений. DeFi-платформы могут предлагать специальные функции для AA-кошельков (например, "если вы используете AA-кошелек, вы можете устанавливать условные заказы прямо из нашего интерфейса" и т. д.). Блокчейн-игры могут требовать меньшего трения для подписания пользователями. Ожидаем также новые парадигмы в таких областях, как управление DAO, где аккаунт может иметь встроенные политики голосования или делегирования, которые автоматически взаимодействуют с контрактами управления. Возможности обширны — по существу, любая логика на уровне пользователя, которую люди хотели бы иметь, но не могли из-за ограничений EOA, могла бы стать стандартом.
**6. Другие блокчейны следуют примеру:** Ethereum возглавляет движение, но другие цепи следят за ним. Некоторые интегрируют абстракцию аккаунтов по-своему. Мы говорили о StarkNet и zkSync. Также появляется концепция сетей, таких как Polkadot и Cosmos с "умными ключами" или гибкими аккаунтами. Например, Polkadot позволяет аккаунтам устанавливать механизм социального восстановления с несколькими дружественными аккаунтами (на уровне протокола). Когда индустрия увидит успех Ethereum с AA, вероятным станет то, что абстракция аккаунтов станет нормой на многих платформах — каждая реализует основную идею, что пользователи должны иметь возможность настраивать безопасность и логику выполнения своего аккаунта. Эти взаимодействия означают, что через несколько лет фраза "абстракция аккаунтов" может вообще не использоваться; это будет просто то, как работают аккаунты везде, и мы будем называть их просто смарт аккаунтами или просто аккаунтами.
В итоге, будущее абстракции аккаунтов ведет к тому, что каждый криптоаккаунт по умолчанию становится таким же мощным, как смарт-контракт, с постепенным исчезновением старой концепции EOA. Дорога к этому включает в себя осторожные обновления (такие как EIP-7702 и последующие) и удобные для пользователей пути миграции. Это...
Note: The content has been truncated due to the length limitation in this response. If you have any specific section you need more detail on, please let me know!Пропустить перевод для markdown ссылок.
Содержание: принудить всех перейти за одну ночь – но импульс уже есть. Разработчики Ethereum наметили дорожную карту, где в конечном итоге большинство пользователей переходят на умные аккаунты, получая выгоды в области безопасности и удобства, и затем протокол может оптимизироваться, исходя из этих предположений (возможно, однажды Ethereum может отказаться от концепции обязательного газа, оплачиваемого в ETH, если все будут использовать кошельки и подобные механизмы – но это спекулятивно и далеко в будущем).
Заключительные мысли
Абстракция аккаунтов представляет собой смену парадигмы в управлении блокчейн-аккаунтами. Позволяя пользователям использовать смарт-контракты в качестве своих аккаунтов, она ломает жёсткие ограничения прошлого и открывает будущее, где использование криптовалюты может быть таким же лёгким – или легче – чем использование традиционных банковских приложений, при этом предоставляя пользователям больше контроля над безопасностью. Потеря одного ключа больше не является необратимой трагедией; больше не нужно вручную подписывать каждое действие или держать запас ETH только для использования dApps. С абстракцией аккаунтов такие функции, как социальное восстановление, мультиподписная безопасность, автоматические платежи, пакетные транзакции и использование без газа, не являются хакерскими приёмами или мечтами – они становятся стандартными инструментами в арсенале.
В практическом смысле, абстракция аккаунтов важна, потому что она непосредственно решает две самые большие преграды для более широкого применения криптовалюты: пользовательский опыт и безопасность. Она приносит гибкость (кастомные правила кошелька, любые методы аутентификации) и включённость (позволить кому-то другому оплачивать сборы, использовать простые методы входа, оправляться от ошибок) без ущерба для некостодиального этоса. Эта технология является фундаментальной частью создания удобного для пользователей Web3. Показательно, что руководство Ethereum и многие в сообществе считают её критической для успеха экосистемы – ощущение таково, что криптовалюта не достигнет миллиардов пользователей, если мы не устраним кошмары UX и риски безопасности сегодняшних кошельков. Абстракция аккаунтов – это большая часть решения.
На сегодняшний день мы видим ранние стадии этого явления в действии с ERC-4337 на Ethereum и нативными реализациями на различных сетях Layer-2. В ближайшие годы, вероятно, появятся ещё более бесшовные интеграции – вы можете использовать децентрализованное приложение и даже не осознавать, что под капотом ваш “аккаунт” – это смарт-контракт, который всё устраивает для вашего удобства. Провайдеры кошельков, разработчики dApps и пользователи все получают выгоды: меньше трений, больше возможностей.
Конечно, осторожность необходима при переходе на эту новую модель – кошельки на базе смарт-контрактов должны быть построены и проверены тщательно, и пользователи должны обучаться новым функциям, таким как социальное восстановление. Но это управляемые задачи, которые блекнут в сравнении с преимуществами криптоэкосистемы, которая одновременно безопасна и удобна.
В заключение можно сказать, что абстракция аккаунтов – это шаг к зрелости технологий блокчейна. Как интернет развился от командных интерфейсов до удобной сети, которую мы знаем сегодня, так и блокчейн развивается от эпохи управления сырыми ключами до эпохи умных аккаунтов. Это тихая революция, происходящая в инфраструктуре, но её эффекты будут ощущаться напрямую пользователями: в более безопасных средствах, более лёгком входе и более мощных способах взаимодействия с цифровыми активами. По мере того, как технология продолжит развиваться, не удивляйтесь, когда такие функции, как “забыл мой пароль” или “авторизовать это приложение на 24 часа” станут частью вашего криптословаря – это будет работа абстракции аккаунтов, делающая криптовалюту такой же естественной, как и любой другой цифровой сервис, сохраняя при этом свободу и суверенитет, которые и привели нас к блокчейну изначально.