Суть абстракции учетной записи - это Контрактная учетная запись. В Ethereum существуют два типа учетных записей:
Простой пример - это адрес контракта, где развернут контракт. У любого контракта в Ethereum, который можно вызвать, есть адрес контракта, например, адрес контракта USDT. Учетная запись EOA - это известная учетная запись ETH, такая как учетная запись, отображаемая в кошельке Metamask.
0xdac17f958d2ee523a2206206994597c13d831ec7 - это адрес контракта для токенов USDT. Адреса контрактов не могут быть созданы напрямую извне; они создаются и управляются EOA. EOA, который создал адрес контракта USDT, - 0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
Поэтому мы понимаем, что учетная запись AA - это особый тип Контрактного счета (CA) в Ethereum. Учетные записи AA все еще должны создаваться EOAs и управляться внешними EOAs, поскольку единственный способ взаимодействия с цепочкой Ethereum - через EOAs. Следовательно, АА служит стандартизированной и модульной реализацией кошельков CA, которая продолжает развиваться со временем.
Мы только что объяснили отношения между AA и CA. До предложения стандарта ERC-4337 уже существовало значительное количество доступных кошельков CA. Ниже мы предоставляем информацию о трех популярных кошельках CA и их работе:
В начальной стадии развития Ethereum появилось несколько контрактных кошельков. Самым известным из них является кошелек Parity, разработанный командой Гавина Вуда, основателей PolkaDot. Parity реализован на Rust и служит альтернативой узлу Geth, разработанному на Golang. Parity Wallet - это многоадресный контрактный кошелек, который позволяет нескольким внешним управляемым счетам (EOA) контролировать и управлять контрактным счетом (CA). Однако в 2017 году хакер воспользовался ошибкой в кошельке Parity и украл более 150 000 ETH. Этот инцидент вызвал потерю доверия к контрактным кошелькам.
В результате кошельки AA требуют обширной практики и стандартизации, чтобы предотвратить возникновение подобных инцидентов.
Мультиподписной кошелек Gnosis в настоящее время является основным мультиподписным кошельком и используется большинством институтов и разработчиков. Значительное количество команд хранят свои средства разработки в мультиподписном кошельке Gnosis, чтобы предотвратить злонамеренные действия участников команды. Заметные команды, использующие Gnosis Safe, включаютYearn,Aave, иBalancerБезопасность Gnosis Safe очень высока, но ее использование относительно дорогое, что является общей проблемой у CA-кошельков.
Кошелек Unipass объединяет технологию MPC и контрактные кошельки CA, позволяя пользователям использовать социальный вход без самостоятельного хранения кошелька EOA. Следует отметить, что как кошелек Parity, так и Gnosis Safe все еще требуют от пользователей самостоятельного управления своими закрытыми ключами. Общий ход Unipass:
Важно отметить, что оригинальное решение AA Unipass не полностью соблюдает стандарт ERC-4337. Управление кошельком по-прежнему делегируется EOA, который контролируется MPC Unipass.
Суть AA - это стандартизированный, модульный аккаунт CA. ERC-4337 в основном проявляет следующие инновации:
Диаграмма выше приблизительно описывает стандартный процесс транзакции по ERC-4337:
Мы можем суммировать основные различия между AA и традиционным CA следующим образом:
Прежде чем полностью понять AA, многие люди часто путают понятия AA и MPC, потому что оба поддерживают функции, такие как социальное восстановление и плагины без браузера. Основные различия между AA и MPC следующие:
Далее давайте познакомимся с MPC и его уникальными особенностями.
Решения MPC широко используются в текущих социальных входах, и многие проекты запустили кошельки MPC для предоставления опыта цепочки, устраняя необходимость установки плагиновых кошельков или управления приватными ключами. В отрасли эти типы управляемых кошельков коллективно называются Wallet-as-a-Service (WaaS). Взрослые проекты включают в себя:
В свете растущего количества услуг WaaS предсказуемо, что в будущем появится больше продуктов, предлагающих WaaS. Однако централизованные биржи имеют абсолютный объем пользователей и обширный опыт в этой области, поэтому возможно, что все централизованные биржи предоставят связанные услуги в будущем.
Основным недостатком традиционных Внешнеуправляемых учетных записей (EOA) является то, что пользователи несут ответственность за хранение своих собственных закрытых ключей. Это самостоятельное управление представляет следующие проблемы:
AA (Account Abstraction) разработана для того, чтобы позволить пользователям настраивать учётные записи социального восстановления. Они могут использовать один или несколько внешних EOAs, чтобы вернуть контроль над своим AA. Обычный порядок для социального восстановления следующий:
Через этот процесс обжалования, даже если пользователь потеряет контроль над EOA, управляющим AA, он все равно сможет переключиться на новый EOA. В отличие от социального входа MPC (Multi-Party Computation), эта социальная реабилитация полностью децентрализована и не имеет единой точки отказа.
Делегирование газа является основой для массового принятия блокчейна. Для новых пользователей, вступающих в Web3, самой большой проблемой является предварительное финансирование комиссий за газ. Путем использования Платильщика AA для делегирования газа новые пользователи могут получить субсидии, тем самым снизив барьер входа в приложения Web3.
Еще одна основная проблема, влияющая на массовое принятие Web3, - это совместимость между блокчейнами. Paymaster, благодаря интеграции протоколов межцепочечной связи, таких как Layer0/Warmhole, позволяет пользователям вносить депозиты в цепочку A (например, Ethereum) и без проблем использовать приложения в другой цепочке B (например, Matic или BSC), таким образом исчезают границы между цепочками и помогают новым Dapps привлекать пользователей из других цепочек.
В то время как мы обсуждали преимущества AA, стандарт ERC-4337 по-прежнему быстро итерируется, чтобы устранить его текущие недостатки:
В отличие от EOA, после создания EOA его можно использовать на любой совместимой с EVM цепи, поскольку одну и ту же пару открытого и закрытого ключей можно использовать для взаимодействия с различными цепочками. Однако из-за того, что AA является Счетным аккаунтом (CA), новый контракт AA должен быть развернут отдельно на каждой цепи или Layer2. Высокая стоимость развертывания контрактов AA может отпугнуть пользователей от принятия AA.
Кроме того, если пользователи неправильно развертывают контракты, например, используют разные Фабрики для развертывания счетов AA, они могут получить разные адреса AA на разных цепочках, что может вызвать значительные затруднения и трудности в использовании и понимании. В то время как текущие Фабрики кошельков AA достигли генерации одинакового адреса AA на разных цепочках, пользователям все равно нужно проявлять осторожность при проверке используемых протоколов, чтобы убедиться, что их адреса AA остаются последовательными на различных цепочках, тем самым предотвращая возможные проблемы или путаницу в будущем.
Как упоминалось, учетные записи AA требуют от пользователей развертывания контрактов AA, созданных Wallet Factory, на разных цепочках и Layer2 отдельно. Даже с текущими боковыми цепочками, совместимыми с EVM, и более низкими комиссиями за газ в Layer2, это все равно значительные расходы. При текущих комиссиях за газ и цене ETH в $1800 развертывание учетной записи AA на главной сети ETH обойдется примерно в $20-$40, в то время как на совместимых с EVM цепочках или Layer2 стоимость будет варьироваться от $0.5 до $5. Для большинства пользователей сложно принять затраты на развертывание до того, как они вообще начнут использовать Dapp. Предполагая, что эти затраты компенсируются Бандлером или Пеймастером, стоимость субсидирования все еще слишком высока и требует сильного стимула.
В зависимости от реализации AA и количества транзакций, объединенных в одной транзакции Bundler (чем больше транзакций, тем ниже стоимость газа за UserOP), расход газа текущих стандартных транзакций ERC-4337 может быть в несколько раз выше, чем у обычных учетных записей EOA. Это связано с тем, что транзакция, инициированная учетной записью AA, часто требует вызова 3 или более контрактов и включает сложные вычисления, такие как проверка подписи BLS на цепи. Текущий стандарт ERC-4337 также оптимизируется для этого, имея следующий план доработки:
Мы только что упомянули о относительно высокой стоимости использования стандарта ERC-4337. Каковы конкретные затраты? Сначала давайте представим концепцию, которая является формулой расчета комиссии за газ:
fee = gas × price
Итак, каковы затраты на развертывание и использование ERC-4337? Команда StackUp предоставила точные оценки в своем блоге.
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
Таблица 1. Газ для транзакций ERC-4337
Таблица выше показывает:
Таблица 2. Оценки комиссии за газ для транзакций ERC-4337
Эта таблица предоставляет оценки затрат на различные операции по учетной записи ERC-4337 AA с использованием текущих цен на газ. Мы можем наблюдать следующее:
Таким образом, из-за высокой стоимости создания учетных записей ERC-4337 AA в основной сети, широкое распространение, вероятно, произойдет в первую очередь в цепочках, совместимых с Layer2 и EVM.
Еще одним препятствием для развития AA является несовместимость инфраструктуры с контрактами AA. Большинство Dapps вне родной цепи AA поддерживают только EOA счета. Поддержка AA требует, чтобы Dapps использовали SDK AA для транзакций и модифицировали параметры запроса для информации о пользователе.
Кроме того, браузеры блокчейна, такие как Etherscan, в основном предназначены для EOAs. Для улучшения удобства запросов учетных записей AA эти браузеры могут потребовать ряда оптимизаций пользовательского интерфейса и пользовательского опыта.
За исключением Ethereum, большинство новых публичных блокчейнов уже реализовали собственные учетные записи AA.
Native AAs are implemented at the chain’s consensus layer, meaning they don’t require community developers for deployment. These are usually internal or system contracts developed and maintained by the blockchain developers.
Снижение затрат на развертывание и дополнительные комиссии за газ
Внутренние контракты часто имеют более высокие разрешения и приоритеты, и их расчеты газа отличаются от внешних контрактов. Поэтому у родных АА ниже затраты на развертывание и обычно не добавляют значительных накладных расходов на газ.
Для обновления собственных AAs разработчики общественной цепи должны нести ответственность, часто требуется мягкий или жесткий форк. Это делает их менее гибкими, чем модульный ERC-4337, ограничивая тем самым темп итерации и выпуска новых функций.
Цепочки с собственными AA активно изучают расширяемость и модульность ERC-4337, что позволяет добавлять больше функций поверх собственных AA.
Near реализует родные АА на уровне консенсуса с учетными записями, хранящимися непосредственно в блокчейне. Он поддерживает несколько ключей доступа и социальное восстановление (электронная почта, номер телефона). На следующем изображении показаны различия между учетной записью ETH и учетной записью Near.
Из-за модели владения ресурсами в Aptos и Sui, и Aptos, и Sui реализовали собственный AA на уровне консенсуса. Если взять в качестве примера Aptos, то аккаунт Aptos — это набор ресурсов в блокчейне, поэтому при создании аккаунта Aptos необходимо внести предоплату Aptos, чтобы завершить инициализацию аккаунта. Учетные записи Aptos/Sui также поддерживают изменение ключа аутентификации, но адрес учетной записи остается прежним, наряду с другими функциями AA.
В отличие от Near/Aptos/Sui/Starknet, ZKsync поддерживает как EOA, так и AA на уровне консенсуса. Поэтому ZKsync может инициировать транзакции с использованием как EOA, так и AA, что позволяет его использовать с популярными кошельками, такими как Metamask и Argent. Дизайн AA в ZKSync основан на ERC-4337, что делает его совместимым с кошельками и Dapps, поддерживающими EIP-4337. В настоящее время дополнительная стоимость газа для транзакций AA в ZKsync составляет примерно execution_gas + 20000, что составляет около 0.01USD на момент написания. Это небольшие затраты по сравнению с несобственным AA ERC-4337.
Старкнет поддерживает AA изначально и не поддерживает транзакции, инициированные EOA. Счета AA в Старкнете разработаны на основе ERC-4337. В настоящее время AA-контракты в Старкнете предоставляются OpenZeppelin и разработаны с использованием Каира.
Родные учетные записи AA в ICP называются Интернет-идентификация (сокращенно II). Реализация II отличается от ERC-4337. II использует WebAuthn, обычно используемый в веб-фреймворках Web2, позволяя пользователям контролировать свои учетные записи, используя встроенные защитные чипы в своих смартфонах. Пользователи могут свободно добавлять и удалять устройства. По сути, II превращает устройства пользователя в смартфонах в аппаратные кошельки.
Bundler заменяет предыдущий узел Mempool в экосистеме AA. UserOps больше не отправляются валидаторам, а отправляются в Bundlers для упаковки и обработки on-chain. Основные бандлеры следующие:
Bundler Stackup реализован на языке Go и направлен на безупречную интеграцию с Go Ethereum (geth). Это первый стандартный продакшен-бандлер в этом списке, полностью соответствующий ERC-4337. Stackup активно поддерживается и имеет подробную документацию, что делает его наиболее популярным бандлером на текущий момент. Stackup предоставляет услуги по бандлингу, устраняя необходимость в создании собственной службы бандлинга для команд.
Bundler от Infinitism разработан на TypeScript и был создан оригинальным автором ERC-4337. Infinitism также разрабатывает контракты ERC-4337, что делает его бандлер очень совместимым с ERC-4337. Однако для обеспечения производительности и стабильности требуется дополнительная проверка, поскольку он разработан на TypeScript.
Skandha - это бандлер, основанный на TypeScript, разработанный Etherspot. Etherspot активно участвует в реализации пула памяти бандлера. Skandha прошел все тесты в апреле 2023 года.
Voltaire - это протокол бандлера, разработанный командой Candide для поддержки их собственного кошелька Candide. Voltaire - это реализация ERC-4337 на основе Python. В настоящее время Voltaire обеспечивает хорошую поддержку собственного открытого кошелька Candide.
Rundler - это протокол Bundler, разработанный Alchemy, крупнейшим поставщиком узлов для Ethereum. В настоящее время Rundler не является открытым исходным кодом, но благодаря большой пользовательской базе Alchemy, он может получить значительную поддержку трафика.
Bundler в настоящее время находится в фазе быстрого развития и итерации.
Текущая проблема, с которой должен справиться бандлер, - это проблемы согласованности и коммуникации mempool бандлера. Предположим, что на рынке существует несколько протоколов бандлера и между ними отсутствует коммуникация, что может привести к серьезной проблеме DDoS-атак на бандлер. Если пользователь одновременно отправляет транзакции нескольким бандлерам без коммуникации между ними, эти бандлеры одновременно упаковывают и отправляют UserOps валидатору. Однако будет выполнен только UserOp от первого бандлера, и транзакции от остальных бандлеров будут отклонены из-за одного и того же номера. В этом случае, если у платильщика пользователя недостаточно средств, бандлеры заплатят недействительный газ за эти UserOps. Поэтому в настоящее время проблема коммуникации между бандлерами - это проблема, которую необходимо решить, чтобы предотвратить атаки спамом UserOp на бандлеры.
Текущие пакетировщики являются высокоцентрализованными. Если пакетировщики внесут определенных пользователей в черный список, это приведет к невозможности выполнения их транзакций. Это противоречит децентрализации и отсутствию разрешений в блокчейне.
Paymaster - важная часть AA, поскольку он может субсидировать комиссии за газ для пользователей и значительно снизить порог входа в Web3. Вот некоторые популярные реализации пеймастера:
стекируются платежный мастер
Платежный агент Stackups является частью экосистемы Stackups AA. Stackups создал платежный агент, где DApps или другие поставщики услуг могут настроить свои собственные субсидирующие счета на https://app.stackup.sh/sign-inспонсировать транзакции пользователей.
Панель управления Biconomy
Приборная панель Biconomy позволяет организациям и разработчикам использовать компоненты AA в своих проектах. Владельцы проектов могут настроить свои проекты для оплаты пользовательских газовых сборов через платежных управляющих и добавить условия спонсорства газа. Зарегистрировав своего платежного управляющего для любой поддерживаемой цепи, DApps могут значительно упростить опыт Web3 для пользователей.
Традиционные учетные записи EOA часто сталкиваются с проблемой одновременного достижения децентрализации, удобства использования и безопасности.
В традиционной структуре EOA пользователи часто должны приобретать токены блокчейна, такие как ETH, через фиатные валюты для использования веб-приложений Web3. Обычно это включает использование централизованных бирж (CEX) для депонирования фиатной валюты, обмена ее на необходимый токен и, наконец, передачи на только что созданный счет EOA. Этот процесс требует значительного понимания Web3 и является громоздким во многих регионах. Внедрение платильщиков в AA позволяет делегировать начальные затраты на пользователей владельцам проектов DApps. Передача комиссий за газ имеет значительные последствия для массового принятия Web3.
В настоящее время ERC-4337 находится на ранних стадиях, и на его основе разрабатывается множество инструментов. Со стороны платильщика операции пользователя UserOp могут быть проверены, чтобы предотвратить возможные проблемы, такие как чрезмерные одобрения или несанкционированные переводы средств. Аудит безопасности платильщика может быть проведен с использованием хорошо зарекомендовавших себя методов в финансовом секторе web2 для анализа проблемных транзакций и обеспечения безопасности пользовательских средств.
Ещё одним разрабатываемым новшеством является изоляция безопасности учетных записей, такая как отделение счета фонда от счета игры и т. Д. Когда пользователи используют привычные функции DeFi и передачи, используется счет фонда с более строгой проверкой безопасности. Когда пользователи пытаются GameFi или незнакомые DeFi, используется игровой счет. Таким образом, без увеличения закрытых ключей, которыми пользователи должны управлять, дизайн изоляции безопасности учетных записей обеспечивает безопасность средств пользователей на нижнем уровне.
В настоящее время многие устройства, такие как смартфоны и ноутбуки, имеют встроенные защищенные чипы, например, Apple T2 Security Chip, используемый в Mac и iPhone. Следовательно, фундаментально каждое устройство с чипом Tee является надежным аппаратным кошельком. Однако эти защищенные чипы в настоящее время не поддерживают общие алгоритмы цифровой подписи блокчейна, такие как ECDSA.
Текущая безопасность закрытых ключей EOA в плагинах/мобильных кошельках напрямую хранится в виде обычного текста на устройстве. Если устройство подвергается компрометации, активы пользователя могут быть быстро потеряны. Поэтому кошельки расширения браузера, такие как Metamask, имеют высокую простоту использования, но низкую безопасность.
Аппаратные кошельки
Железные кошельки гарантируют, что закрытые ключи никогда не покидают устройство и не могут быть прямо доступны внешним сторонам. Однако большинство пользователей не могут носить свои железные кошельки с собой постоянно, что приводит к высокой безопасности, но низкой использоваемости.
Используя кошелек AA и инновационный метод проверки on-chain, транзакции могут быть непосредственно подписаны защищенным чипом устройства, обеспечивая, что приватный ключ пользователя никогда не покидает устройство. Это обеспечивает большую безопасность по сравнению с традиционными учетными записями EOA. В настоящее время Идентификация интернета Internet Computer и проект под названием Портон-кошелек на хакатоне ETHBogota реализовали решение, использующее подпись защищенного чипа устройства и сеансовый ключ, позволяя пользователям полностью использовать безопасность своих устройств, таких как смартфоны или компьютеры, эквивалентно аппаратному кошельку.
Благодаря высокой модульности дизайна ERC-4337, через его расширение и итерацию, учетные записи AA достигнут значительно улучшенной безопасности.
В настоящее время еще одним препятствием для массового принятия Web3 является фрагментация блокчейн-экосистем по разным цепочкам.
В качестве простого примера рассмотрим пользователя Ethereum (ETH), который хочет испытать приложение на Binance Smart Chain (BSC). Что должен делать этот пользователь? Сначала пользователю необходимо обменять свои ETH на соответствующие USDT/USDC, а затем использовать кроссчейн-мост для перевода этих токенов из ETH в BSC. После этого пользователю необходимо приобрести некоторое количество BNB на централизованной бирже (CEX) и перевести его в BSC. Только после этого пользователь может начать работать с различными приложениями DeFi на BSC. Весь этот процесс отнимает много времени, имеет низкую безопасность и сопровождается крутой кривой обучения, особенно для новых пользователей, которые могут быть не знакомы с кроссчейн-мостами.
С помощью текущих широко используемых протоколов межцепных связей, таких как Layer0 + AA, процесс использования DApp на разных цепях может быть значительно упрощен. Платежный агент может полностью интегрировать протоколы межцепных связей, чтобы достичь «плати один раз, плати везде». Например, если пользователь пополняет USDC на платежном агенте ETH, при условии, что учетная запись пользователя на разных цепях AA одинакова и привязана к тому же платежному агенту, платежный агент может вести учет от имени пользователя. Пользователю не нужно вручную переводить активы на любую цепь/Layer2, совместимую с EVM, с тем же адресом учетной записи.
Самое большое преимущество введения платильщика заключается в том, что он программно устанавливает условия для субсидирования пользователей Dapp.
В прошлом случались ситуации, когда проекты экосистемы Web3 субсидировали газ, чтобы привлечь клиентов. Однако субсидирование учетных записей EOA без программной установки условий часто приводило к злоупотреблению субсидиальными средствами ботами и мошенниками, например, прямому переводу субсидиальных средств без привлечения реальных клиентов.
В настоящее время панели управления paymaster, как правило, включают в себя функционал субсидирования платы за газ для Dapps. Разработчики проектов могут легко задать условия для субсидий в личном кабинете, чтобы на субсидию могли претендовать только сделки, соответствующие определенным условиям. Контролируя условия транзакций в субсидиях через paymaster, децентрализованные приложения могут привлекать больше реальных пользователей, сохраняя при этом расходы под контролем.
Под EOA из-за доминирования Metamask текущие Dapps в основном доступны через веб-интерфейсы, что приводит к более высокой доле рынка для кошельков-плагинов для веб-браузеров. Однако массовое принятие web3 зависит от участия мобильных пользователей, что делает разработку и адаптацию AA более подходящими для мобильных устройств.
С растущей популярностью Темного леса тихо начинает просматриваться тенденция полностью ончейновых игр. Однако пользовательский опыт использования EOA (Externally Owned Accounts) в играх очень плохой. Представьте, что вам приходится использовать кошелек для авторизации или подписи транзакций каждый раз, когда вы выполняете какое-либо действие в игре. Это постоянное прерывание мешает игрокам полностью сосредотачиваться на самой игре. Для решения этой проблемы были разработаны Аркадные аккаунты, которые являются специализированными версиями обычных AA, специально разработанные для полностью ончейновых игр. Эти аккаунты авторизуют конкретные игровые операции, позволяя игрокам участвовать в полностью ончейновых играх без необходимости повторной авторизации и подписи транзакций. В результате игровой опыт значительно улучшается. Предполагается, что в будущем рост полностью ончейновых игр вероятно стимулирует широкое принятие АА-аккаунтов.
Недавно понятие транзакций на основе намерений стало популярным с появлением Unibot, и Uniswap также запустил проект Uniswap X для поощрения реализации транзакций на основе намерений. Ниже приведен пример, иллюстрирующий, что такое транзакции на основе намерений:
Если кто-то готов выполнить намерение, контрагент инициирует еще одно намерение передачи 1000 USDT Элис и получения 1 ETH.
Транзакция успешно сопоставлена.
Транзакции на основе намерений обладают следующими преимуществами:
В настоящее время CowSwap реализовал транзакции на основе намерений на основе EOA. Однако транзакции на основе намерений на основе EOA по-прежнему требуют от пользователей авторизации (ERC-20, Approve) перед инициированием транзакции. Однако в рамках новой архитектуры учетной записи AA пользователи могут одновременно отправлять Approve и Intent в бандлер. Бандлер AA может одновременно получать доступ к Intents Poll, сопоставлять намерения и обеспечивать более удобный опыт торговли.
Суть абстракции учетной записи - это Контрактная учетная запись. В Ethereum существуют два типа учетных записей:
Простой пример - это адрес контракта, где развернут контракт. У любого контракта в Ethereum, который можно вызвать, есть адрес контракта, например, адрес контракта USDT. Учетная запись EOA - это известная учетная запись ETH, такая как учетная запись, отображаемая в кошельке Metamask.
0xdac17f958d2ee523a2206206994597c13d831ec7 - это адрес контракта для токенов USDT. Адреса контрактов не могут быть созданы напрямую извне; они создаются и управляются EOA. EOA, который создал адрес контракта USDT, - 0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
Поэтому мы понимаем, что учетная запись AA - это особый тип Контрактного счета (CA) в Ethereum. Учетные записи AA все еще должны создаваться EOAs и управляться внешними EOAs, поскольку единственный способ взаимодействия с цепочкой Ethereum - через EOAs. Следовательно, АА служит стандартизированной и модульной реализацией кошельков CA, которая продолжает развиваться со временем.
Мы только что объяснили отношения между AA и CA. До предложения стандарта ERC-4337 уже существовало значительное количество доступных кошельков CA. Ниже мы предоставляем информацию о трех популярных кошельках CA и их работе:
В начальной стадии развития Ethereum появилось несколько контрактных кошельков. Самым известным из них является кошелек Parity, разработанный командой Гавина Вуда, основателей PolkaDot. Parity реализован на Rust и служит альтернативой узлу Geth, разработанному на Golang. Parity Wallet - это многоадресный контрактный кошелек, который позволяет нескольким внешним управляемым счетам (EOA) контролировать и управлять контрактным счетом (CA). Однако в 2017 году хакер воспользовался ошибкой в кошельке Parity и украл более 150 000 ETH. Этот инцидент вызвал потерю доверия к контрактным кошелькам.
В результате кошельки AA требуют обширной практики и стандартизации, чтобы предотвратить возникновение подобных инцидентов.
Мультиподписной кошелек Gnosis в настоящее время является основным мультиподписным кошельком и используется большинством институтов и разработчиков. Значительное количество команд хранят свои средства разработки в мультиподписном кошельке Gnosis, чтобы предотвратить злонамеренные действия участников команды. Заметные команды, использующие Gnosis Safe, включаютYearn,Aave, иBalancerБезопасность Gnosis Safe очень высока, но ее использование относительно дорогое, что является общей проблемой у CA-кошельков.
Кошелек Unipass объединяет технологию MPC и контрактные кошельки CA, позволяя пользователям использовать социальный вход без самостоятельного хранения кошелька EOA. Следует отметить, что как кошелек Parity, так и Gnosis Safe все еще требуют от пользователей самостоятельного управления своими закрытыми ключами. Общий ход Unipass:
Важно отметить, что оригинальное решение AA Unipass не полностью соблюдает стандарт ERC-4337. Управление кошельком по-прежнему делегируется EOA, который контролируется MPC Unipass.
Суть AA - это стандартизированный, модульный аккаунт CA. ERC-4337 в основном проявляет следующие инновации:
Диаграмма выше приблизительно описывает стандартный процесс транзакции по ERC-4337:
Мы можем суммировать основные различия между AA и традиционным CA следующим образом:
Прежде чем полностью понять AA, многие люди часто путают понятия AA и MPC, потому что оба поддерживают функции, такие как социальное восстановление и плагины без браузера. Основные различия между AA и MPC следующие:
Далее давайте познакомимся с MPC и его уникальными особенностями.
Решения MPC широко используются в текущих социальных входах, и многие проекты запустили кошельки MPC для предоставления опыта цепочки, устраняя необходимость установки плагиновых кошельков или управления приватными ключами. В отрасли эти типы управляемых кошельков коллективно называются Wallet-as-a-Service (WaaS). Взрослые проекты включают в себя:
В свете растущего количества услуг WaaS предсказуемо, что в будущем появится больше продуктов, предлагающих WaaS. Однако централизованные биржи имеют абсолютный объем пользователей и обширный опыт в этой области, поэтому возможно, что все централизованные биржи предоставят связанные услуги в будущем.
Основным недостатком традиционных Внешнеуправляемых учетных записей (EOA) является то, что пользователи несут ответственность за хранение своих собственных закрытых ключей. Это самостоятельное управление представляет следующие проблемы:
AA (Account Abstraction) разработана для того, чтобы позволить пользователям настраивать учётные записи социального восстановления. Они могут использовать один или несколько внешних EOAs, чтобы вернуть контроль над своим AA. Обычный порядок для социального восстановления следующий:
Через этот процесс обжалования, даже если пользователь потеряет контроль над EOA, управляющим AA, он все равно сможет переключиться на новый EOA. В отличие от социального входа MPC (Multi-Party Computation), эта социальная реабилитация полностью децентрализована и не имеет единой точки отказа.
Делегирование газа является основой для массового принятия блокчейна. Для новых пользователей, вступающих в Web3, самой большой проблемой является предварительное финансирование комиссий за газ. Путем использования Платильщика AA для делегирования газа новые пользователи могут получить субсидии, тем самым снизив барьер входа в приложения Web3.
Еще одна основная проблема, влияющая на массовое принятие Web3, - это совместимость между блокчейнами. Paymaster, благодаря интеграции протоколов межцепочечной связи, таких как Layer0/Warmhole, позволяет пользователям вносить депозиты в цепочку A (например, Ethereum) и без проблем использовать приложения в другой цепочке B (например, Matic или BSC), таким образом исчезают границы между цепочками и помогают новым Dapps привлекать пользователей из других цепочек.
В то время как мы обсуждали преимущества AA, стандарт ERC-4337 по-прежнему быстро итерируется, чтобы устранить его текущие недостатки:
В отличие от EOA, после создания EOA его можно использовать на любой совместимой с EVM цепи, поскольку одну и ту же пару открытого и закрытого ключей можно использовать для взаимодействия с различными цепочками. Однако из-за того, что AA является Счетным аккаунтом (CA), новый контракт AA должен быть развернут отдельно на каждой цепи или Layer2. Высокая стоимость развертывания контрактов AA может отпугнуть пользователей от принятия AA.
Кроме того, если пользователи неправильно развертывают контракты, например, используют разные Фабрики для развертывания счетов AA, они могут получить разные адреса AA на разных цепочках, что может вызвать значительные затруднения и трудности в использовании и понимании. В то время как текущие Фабрики кошельков AA достигли генерации одинакового адреса AA на разных цепочках, пользователям все равно нужно проявлять осторожность при проверке используемых протоколов, чтобы убедиться, что их адреса AA остаются последовательными на различных цепочках, тем самым предотвращая возможные проблемы или путаницу в будущем.
Как упоминалось, учетные записи AA требуют от пользователей развертывания контрактов AA, созданных Wallet Factory, на разных цепочках и Layer2 отдельно. Даже с текущими боковыми цепочками, совместимыми с EVM, и более низкими комиссиями за газ в Layer2, это все равно значительные расходы. При текущих комиссиях за газ и цене ETH в $1800 развертывание учетной записи AA на главной сети ETH обойдется примерно в $20-$40, в то время как на совместимых с EVM цепочках или Layer2 стоимость будет варьироваться от $0.5 до $5. Для большинства пользователей сложно принять затраты на развертывание до того, как они вообще начнут использовать Dapp. Предполагая, что эти затраты компенсируются Бандлером или Пеймастером, стоимость субсидирования все еще слишком высока и требует сильного стимула.
В зависимости от реализации AA и количества транзакций, объединенных в одной транзакции Bundler (чем больше транзакций, тем ниже стоимость газа за UserOP), расход газа текущих стандартных транзакций ERC-4337 может быть в несколько раз выше, чем у обычных учетных записей EOA. Это связано с тем, что транзакция, инициированная учетной записью AA, часто требует вызова 3 или более контрактов и включает сложные вычисления, такие как проверка подписи BLS на цепи. Текущий стандарт ERC-4337 также оптимизируется для этого, имея следующий план доработки:
Мы только что упомянули о относительно высокой стоимости использования стандарта ERC-4337. Каковы конкретные затраты? Сначала давайте представим концепцию, которая является формулой расчета комиссии за газ:
fee = gas × price
Итак, каковы затраты на развертывание и использование ERC-4337? Команда StackUp предоставила точные оценки в своем блоге.
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
Таблица 1. Газ для транзакций ERC-4337
Таблица выше показывает:
Таблица 2. Оценки комиссии за газ для транзакций ERC-4337
Эта таблица предоставляет оценки затрат на различные операции по учетной записи ERC-4337 AA с использованием текущих цен на газ. Мы можем наблюдать следующее:
Таким образом, из-за высокой стоимости создания учетных записей ERC-4337 AA в основной сети, широкое распространение, вероятно, произойдет в первую очередь в цепочках, совместимых с Layer2 и EVM.
Еще одним препятствием для развития AA является несовместимость инфраструктуры с контрактами AA. Большинство Dapps вне родной цепи AA поддерживают только EOA счета. Поддержка AA требует, чтобы Dapps использовали SDK AA для транзакций и модифицировали параметры запроса для информации о пользователе.
Кроме того, браузеры блокчейна, такие как Etherscan, в основном предназначены для EOAs. Для улучшения удобства запросов учетных записей AA эти браузеры могут потребовать ряда оптимизаций пользовательского интерфейса и пользовательского опыта.
За исключением Ethereum, большинство новых публичных блокчейнов уже реализовали собственные учетные записи AA.
Native AAs are implemented at the chain’s consensus layer, meaning they don’t require community developers for deployment. These are usually internal or system contracts developed and maintained by the blockchain developers.
Снижение затрат на развертывание и дополнительные комиссии за газ
Внутренние контракты часто имеют более высокие разрешения и приоритеты, и их расчеты газа отличаются от внешних контрактов. Поэтому у родных АА ниже затраты на развертывание и обычно не добавляют значительных накладных расходов на газ.
Для обновления собственных AAs разработчики общественной цепи должны нести ответственность, часто требуется мягкий или жесткий форк. Это делает их менее гибкими, чем модульный ERC-4337, ограничивая тем самым темп итерации и выпуска новых функций.
Цепочки с собственными AA активно изучают расширяемость и модульность ERC-4337, что позволяет добавлять больше функций поверх собственных AA.
Near реализует родные АА на уровне консенсуса с учетными записями, хранящимися непосредственно в блокчейне. Он поддерживает несколько ключей доступа и социальное восстановление (электронная почта, номер телефона). На следующем изображении показаны различия между учетной записью ETH и учетной записью Near.
Из-за модели владения ресурсами в Aptos и Sui, и Aptos, и Sui реализовали собственный AA на уровне консенсуса. Если взять в качестве примера Aptos, то аккаунт Aptos — это набор ресурсов в блокчейне, поэтому при создании аккаунта Aptos необходимо внести предоплату Aptos, чтобы завершить инициализацию аккаунта. Учетные записи Aptos/Sui также поддерживают изменение ключа аутентификации, но адрес учетной записи остается прежним, наряду с другими функциями AA.
В отличие от Near/Aptos/Sui/Starknet, ZKsync поддерживает как EOA, так и AA на уровне консенсуса. Поэтому ZKsync может инициировать транзакции с использованием как EOA, так и AA, что позволяет его использовать с популярными кошельками, такими как Metamask и Argent. Дизайн AA в ZKSync основан на ERC-4337, что делает его совместимым с кошельками и Dapps, поддерживающими EIP-4337. В настоящее время дополнительная стоимость газа для транзакций AA в ZKsync составляет примерно execution_gas + 20000, что составляет около 0.01USD на момент написания. Это небольшие затраты по сравнению с несобственным AA ERC-4337.
Старкнет поддерживает AA изначально и не поддерживает транзакции, инициированные EOA. Счета AA в Старкнете разработаны на основе ERC-4337. В настоящее время AA-контракты в Старкнете предоставляются OpenZeppelin и разработаны с использованием Каира.
Родные учетные записи AA в ICP называются Интернет-идентификация (сокращенно II). Реализация II отличается от ERC-4337. II использует WebAuthn, обычно используемый в веб-фреймворках Web2, позволяя пользователям контролировать свои учетные записи, используя встроенные защитные чипы в своих смартфонах. Пользователи могут свободно добавлять и удалять устройства. По сути, II превращает устройства пользователя в смартфонах в аппаратные кошельки.
Bundler заменяет предыдущий узел Mempool в экосистеме AA. UserOps больше не отправляются валидаторам, а отправляются в Bundlers для упаковки и обработки on-chain. Основные бандлеры следующие:
Bundler Stackup реализован на языке Go и направлен на безупречную интеграцию с Go Ethereum (geth). Это первый стандартный продакшен-бандлер в этом списке, полностью соответствующий ERC-4337. Stackup активно поддерживается и имеет подробную документацию, что делает его наиболее популярным бандлером на текущий момент. Stackup предоставляет услуги по бандлингу, устраняя необходимость в создании собственной службы бандлинга для команд.
Bundler от Infinitism разработан на TypeScript и был создан оригинальным автором ERC-4337. Infinitism также разрабатывает контракты ERC-4337, что делает его бандлер очень совместимым с ERC-4337. Однако для обеспечения производительности и стабильности требуется дополнительная проверка, поскольку он разработан на TypeScript.
Skandha - это бандлер, основанный на TypeScript, разработанный Etherspot. Etherspot активно участвует в реализации пула памяти бандлера. Skandha прошел все тесты в апреле 2023 года.
Voltaire - это протокол бандлера, разработанный командой Candide для поддержки их собственного кошелька Candide. Voltaire - это реализация ERC-4337 на основе Python. В настоящее время Voltaire обеспечивает хорошую поддержку собственного открытого кошелька Candide.
Rundler - это протокол Bundler, разработанный Alchemy, крупнейшим поставщиком узлов для Ethereum. В настоящее время Rundler не является открытым исходным кодом, но благодаря большой пользовательской базе Alchemy, он может получить значительную поддержку трафика.
Bundler в настоящее время находится в фазе быстрого развития и итерации.
Текущая проблема, с которой должен справиться бандлер, - это проблемы согласованности и коммуникации mempool бандлера. Предположим, что на рынке существует несколько протоколов бандлера и между ними отсутствует коммуникация, что может привести к серьезной проблеме DDoS-атак на бандлер. Если пользователь одновременно отправляет транзакции нескольким бандлерам без коммуникации между ними, эти бандлеры одновременно упаковывают и отправляют UserOps валидатору. Однако будет выполнен только UserOp от первого бандлера, и транзакции от остальных бандлеров будут отклонены из-за одного и того же номера. В этом случае, если у платильщика пользователя недостаточно средств, бандлеры заплатят недействительный газ за эти UserOps. Поэтому в настоящее время проблема коммуникации между бандлерами - это проблема, которую необходимо решить, чтобы предотвратить атаки спамом UserOp на бандлеры.
Текущие пакетировщики являются высокоцентрализованными. Если пакетировщики внесут определенных пользователей в черный список, это приведет к невозможности выполнения их транзакций. Это противоречит децентрализации и отсутствию разрешений в блокчейне.
Paymaster - важная часть AA, поскольку он может субсидировать комиссии за газ для пользователей и значительно снизить порог входа в Web3. Вот некоторые популярные реализации пеймастера:
стекируются платежный мастер
Платежный агент Stackups является частью экосистемы Stackups AA. Stackups создал платежный агент, где DApps или другие поставщики услуг могут настроить свои собственные субсидирующие счета на https://app.stackup.sh/sign-inспонсировать транзакции пользователей.
Панель управления Biconomy
Приборная панель Biconomy позволяет организациям и разработчикам использовать компоненты AA в своих проектах. Владельцы проектов могут настроить свои проекты для оплаты пользовательских газовых сборов через платежных управляющих и добавить условия спонсорства газа. Зарегистрировав своего платежного управляющего для любой поддерживаемой цепи, DApps могут значительно упростить опыт Web3 для пользователей.
Традиционные учетные записи EOA часто сталкиваются с проблемой одновременного достижения децентрализации, удобства использования и безопасности.
В традиционной структуре EOA пользователи часто должны приобретать токены блокчейна, такие как ETH, через фиатные валюты для использования веб-приложений Web3. Обычно это включает использование централизованных бирж (CEX) для депонирования фиатной валюты, обмена ее на необходимый токен и, наконец, передачи на только что созданный счет EOA. Этот процесс требует значительного понимания Web3 и является громоздким во многих регионах. Внедрение платильщиков в AA позволяет делегировать начальные затраты на пользователей владельцам проектов DApps. Передача комиссий за газ имеет значительные последствия для массового принятия Web3.
В настоящее время ERC-4337 находится на ранних стадиях, и на его основе разрабатывается множество инструментов. Со стороны платильщика операции пользователя UserOp могут быть проверены, чтобы предотвратить возможные проблемы, такие как чрезмерные одобрения или несанкционированные переводы средств. Аудит безопасности платильщика может быть проведен с использованием хорошо зарекомендовавших себя методов в финансовом секторе web2 для анализа проблемных транзакций и обеспечения безопасности пользовательских средств.
Ещё одним разрабатываемым новшеством является изоляция безопасности учетных записей, такая как отделение счета фонда от счета игры и т. Д. Когда пользователи используют привычные функции DeFi и передачи, используется счет фонда с более строгой проверкой безопасности. Когда пользователи пытаются GameFi или незнакомые DeFi, используется игровой счет. Таким образом, без увеличения закрытых ключей, которыми пользователи должны управлять, дизайн изоляции безопасности учетных записей обеспечивает безопасность средств пользователей на нижнем уровне.
В настоящее время многие устройства, такие как смартфоны и ноутбуки, имеют встроенные защищенные чипы, например, Apple T2 Security Chip, используемый в Mac и iPhone. Следовательно, фундаментально каждое устройство с чипом Tee является надежным аппаратным кошельком. Однако эти защищенные чипы в настоящее время не поддерживают общие алгоритмы цифровой подписи блокчейна, такие как ECDSA.
Текущая безопасность закрытых ключей EOA в плагинах/мобильных кошельках напрямую хранится в виде обычного текста на устройстве. Если устройство подвергается компрометации, активы пользователя могут быть быстро потеряны. Поэтому кошельки расширения браузера, такие как Metamask, имеют высокую простоту использования, но низкую безопасность.
Аппаратные кошельки
Железные кошельки гарантируют, что закрытые ключи никогда не покидают устройство и не могут быть прямо доступны внешним сторонам. Однако большинство пользователей не могут носить свои железные кошельки с собой постоянно, что приводит к высокой безопасности, но низкой использоваемости.
Используя кошелек AA и инновационный метод проверки on-chain, транзакции могут быть непосредственно подписаны защищенным чипом устройства, обеспечивая, что приватный ключ пользователя никогда не покидает устройство. Это обеспечивает большую безопасность по сравнению с традиционными учетными записями EOA. В настоящее время Идентификация интернета Internet Computer и проект под названием Портон-кошелек на хакатоне ETHBogota реализовали решение, использующее подпись защищенного чипа устройства и сеансовый ключ, позволяя пользователям полностью использовать безопасность своих устройств, таких как смартфоны или компьютеры, эквивалентно аппаратному кошельку.
Благодаря высокой модульности дизайна ERC-4337, через его расширение и итерацию, учетные записи AA достигнут значительно улучшенной безопасности.
В настоящее время еще одним препятствием для массового принятия Web3 является фрагментация блокчейн-экосистем по разным цепочкам.
В качестве простого примера рассмотрим пользователя Ethereum (ETH), который хочет испытать приложение на Binance Smart Chain (BSC). Что должен делать этот пользователь? Сначала пользователю необходимо обменять свои ETH на соответствующие USDT/USDC, а затем использовать кроссчейн-мост для перевода этих токенов из ETH в BSC. После этого пользователю необходимо приобрести некоторое количество BNB на централизованной бирже (CEX) и перевести его в BSC. Только после этого пользователь может начать работать с различными приложениями DeFi на BSC. Весь этот процесс отнимает много времени, имеет низкую безопасность и сопровождается крутой кривой обучения, особенно для новых пользователей, которые могут быть не знакомы с кроссчейн-мостами.
С помощью текущих широко используемых протоколов межцепных связей, таких как Layer0 + AA, процесс использования DApp на разных цепях может быть значительно упрощен. Платежный агент может полностью интегрировать протоколы межцепных связей, чтобы достичь «плати один раз, плати везде». Например, если пользователь пополняет USDC на платежном агенте ETH, при условии, что учетная запись пользователя на разных цепях AA одинакова и привязана к тому же платежному агенту, платежный агент может вести учет от имени пользователя. Пользователю не нужно вручную переводить активы на любую цепь/Layer2, совместимую с EVM, с тем же адресом учетной записи.
Самое большое преимущество введения платильщика заключается в том, что он программно устанавливает условия для субсидирования пользователей Dapp.
В прошлом случались ситуации, когда проекты экосистемы Web3 субсидировали газ, чтобы привлечь клиентов. Однако субсидирование учетных записей EOA без программной установки условий часто приводило к злоупотреблению субсидиальными средствами ботами и мошенниками, например, прямому переводу субсидиальных средств без привлечения реальных клиентов.
В настоящее время панели управления paymaster, как правило, включают в себя функционал субсидирования платы за газ для Dapps. Разработчики проектов могут легко задать условия для субсидий в личном кабинете, чтобы на субсидию могли претендовать только сделки, соответствующие определенным условиям. Контролируя условия транзакций в субсидиях через paymaster, децентрализованные приложения могут привлекать больше реальных пользователей, сохраняя при этом расходы под контролем.
Под EOA из-за доминирования Metamask текущие Dapps в основном доступны через веб-интерфейсы, что приводит к более высокой доле рынка для кошельков-плагинов для веб-браузеров. Однако массовое принятие web3 зависит от участия мобильных пользователей, что делает разработку и адаптацию AA более подходящими для мобильных устройств.
С растущей популярностью Темного леса тихо начинает просматриваться тенденция полностью ончейновых игр. Однако пользовательский опыт использования EOA (Externally Owned Accounts) в играх очень плохой. Представьте, что вам приходится использовать кошелек для авторизации или подписи транзакций каждый раз, когда вы выполняете какое-либо действие в игре. Это постоянное прерывание мешает игрокам полностью сосредотачиваться на самой игре. Для решения этой проблемы были разработаны Аркадные аккаунты, которые являются специализированными версиями обычных AA, специально разработанные для полностью ончейновых игр. Эти аккаунты авторизуют конкретные игровые операции, позволяя игрокам участвовать в полностью ончейновых играх без необходимости повторной авторизации и подписи транзакций. В результате игровой опыт значительно улучшается. Предполагается, что в будущем рост полностью ончейновых игр вероятно стимулирует широкое принятие АА-аккаунтов.
Недавно понятие транзакций на основе намерений стало популярным с появлением Unibot, и Uniswap также запустил проект Uniswap X для поощрения реализации транзакций на основе намерений. Ниже приведен пример, иллюстрирующий, что такое транзакции на основе намерений:
Если кто-то готов выполнить намерение, контрагент инициирует еще одно намерение передачи 1000 USDT Элис и получения 1 ETH.
Транзакция успешно сопоставлена.
Транзакции на основе намерений обладают следующими преимуществами:
В настоящее время CowSwap реализовал транзакции на основе намерений на основе EOA. Однако транзакции на основе намерений на основе EOA по-прежнему требуют от пользователей авторизации (ERC-20, Approve) перед инициированием транзакции. Однако в рамках новой архитектуры учетной записи AA пользователи могут одновременно отправлять Approve и Intent в бандлер. Бандлер AA может одновременно получать доступ к Intents Poll, сопоставлять намерения и обеспечивать более удобный опыт торговли.