SwapSpace – кроссчейн обмены криптовалют

Новый стандарт токена Ethereum и что он означает

Ruth Kise

,

Обновлено: ,8 мин

Существует огромное разнообразие различных криптовалют, но большинство из них построены на одних и тех же схемах. Эти схемы называются стандартами токенов и определяют ключевой функционал и свойства блокчейн-токенов.

Стандарты токенов — это наборы правил и соглашений, регулирующих работу криптовалютного токена. Среди популярных стандартов — ERC-20, BEP-20, ERC-721 и ERC-1155.

Зачем нужны стандарты

Согласованность: Если бы для каждого нового токена в smart contract была предусмотрена уникальная механика, то существующие платформы, приложения и кошельки просто не смогли бы с ним работать. Стандарты токенов гарантируют, что продукты, созданные по этому стандарту, совместимы друг с другом. Например, активы ERC-20 совместимы с другими продуктами и сервисами, разработанными с использованием этого стандарта токенов. Благодаря этому токен ERC-20 можно также обменять на другой токен этого стандарта.

Кроме того, без стандартов токенов было бы гораздо сложнее хранить и торговать несколькими криптовалютами. Вместо использования одного кошелька для множества разных криптовалют пришлось бы создавать отдельные кошельки для каждого токена.

Связность: Связанная система позволяет разработчикам повторно использовать существующие компоненты для создания новых продуктов. То же самое относится и к созданию токенов: использование стандартов ускоряет разработку базовых функций и оставляет больше времени для дальнейших инноваций.

Эффективность: Стандарты токенов также упрощают взаимодействие между смарт-контрактами. Смарт-контракты, реализующие стандарты токенов, и сами токены могут использоваться для отслеживания созданных токенов.

Стандарты токенов, такие как ERC-20 и BEP-20, содержат важные функции, включая поиск адреса и сопоставление баланса токенов, что позволяет смарт-контрактам эффективнее отслеживать токены. Например, для проверки истории переводов и других данных токена ERC-20 разработчик может использовать двоичный интерфейс приложения контракта (ABI).

Вариативность: Наличие различных стандартов для клиентского ПО позволяет каждому написать свою версию клиента Ethereum на любом языке программирования при соблюдении стандартов и спецификаций для нод и клиентов Ethereum. Таким образом, в сети Ethereum может быть любое количество нод и клиентов, некоторые из которых работают на ПО Ethereum, написанном на Golang, Rust, Java, C #, C++ или Python. Это повышает «разнообразие клиентов», делая сеть сильнее за счёт снижения зависимости от одной реализации кода. Но все эти реализации, независимо от языка ПО, дизайна или деталей внедрения, имеют одну общую черту — они все следуют единой спецификации для клиентов.

Таким образом, стандарты помогают увеличивать разнообразие реализаций. Это означает, что могут быть разные подходы к безопасности, скорости, масштабируемости и т. д., и это разнообразие обогащает общий опыт.

Новый стандарт токенов Ethereum

Обновление EIP-4337 было представлено на конференции WalletCon, связанной с ETHDenver, и развёрнуто в Ethereum 1 марта 2023 года. Главной инновацией этого EIP стала реализация так называемой абстракции аккаунтов и появление нового стандарта кошельков, который, по словам разработчиков, повысит уровень пользовательского опыта и сделает взаимодействие с блокчейном более удобным. Далее мы разберём, что это за кошельки, чем они отличаются от обычных и зачем вообще нужен EIP-4337.

Что такое Contract Account и чем он отличается от обычного

Чтобы лучше понять, на что нацелен EIP-4337 и какие инновации он предлагает, сделаем шаг назад. До внедрения обновления в сети Ethereum существовало два типа аккаунтов:

  • External Owned Accounts (EOA): кошельки, для создания которых используется провайдер инфраструктуры. Это доминирующий тип кошелька, используемый MetaMask и 99% других разработчиков.
  • Contract Accounts (CA): это кошельки, которыми управляет код в EVM, другими словами, смарт-контракты. Им не требуется провайдер инфраструктуры для работы и управления.

Доминирование EOA объясняется самой архитектурой сети, которая требует использования стандарта ECDSA для подписи транзакции. Смарт-контракты не имеют возможности подписывать транзакции с использованием ECDSA, поэтому CA не могут инициировать транзакцию от своего имени. То есть для обычного пользователя они бесполезны как кошельки.

В то же время EOA используют монолитную логику обработки транзакций с применением приватного и публичного ключа. Из-за монолитной логики у разработчиков нет возможности настраивать её компоненты, например требования к идентификации. Именно поэтому любому блокчейн-приложению для взаимодействия требуется кошелёк EOA с приватным ключом и публичным адресом.

EIP-4337 должен устранить преимущество EOA и сделать CA более удобными, добавив новый стандарт кошелька в виде смарт-контракта и новый слой в сеть Ethereum, который позволит проводить и проверять транзакции без использования приватного и публичного ключа. Для этого разработчики реализовали так называемую абстракцию аккаунтов. Разберём этот термин подробнее.

Что такое абстракция аккаунтов

Понятие «account abstraction» ничего не говорит новичку и лишь усложняет понимание. В информатике абстракция — это разделение одного процесса на несколько частей, которые могут выполняться независимо. Проще говоря, процесс становится модульным и открывает возможности для настройки каждого модуля.

В контексте кошелька Ethereum это означает разделение верификации и исполнения транзакций, которые теперь происходят как один непрерывный процесс. Соответственно, Contract Accounts позволяют гибко настраивать каждый из процессов, что открывает больше возможностей для оптимизации пользовательского опыта. 

Кроме того, абстракция аккаунтов означает разделение аккаунта и его владельца. В настоящий момент кошелёк и пользователь по сути являются одним целым, потому что только владелец seed phrase или приватного ключа может отправлять активы, и только владелец публичного адреса может их получать. Абстракция позволит запускать смарт-контракт как кошелёк, которым управляет код в EVM, а не набор публичных и приватных ключей. Это расширяет поддерживаемые методы аутентификации и функции безопасности кошелька.

Как работают Contract Accounts в EIP-4337 

EIP-4337 — это не первая попытка реализовать абстракцию аккаунтов и запустить Contract Accounts в сети Ethereum. Vitalik Buterin впервые представил первую версию абстракции аккаунтов ещё в 2016 году, и с тех пор по этому вопросу было предложено 5 различных EIP (86, 1014, 2938, 3074 и 4337). Однако именно EIP-4337 предложил концепцию, не требующую изменения базового протокола Ethereum, что стало решающим фактором, поскольку это означает, что для её внедрения не нужен сетевой hardfork.

Архитектура абстракции аккаунтов в EIP-4337 состоит из следующих базовых элементов:

UserOperation: также называется псевдотранзакцией. Аналог транзакции при использовании стандартного кошелька, но содержит больше данных, чем обычная транзакция.

Bundler: нода, которая выбирает UserOperation из mempool, собирает их в пакеты и отправляет на проверку в EntryPoint. Предполагается, что функцию Bundler будут выполнять текущие валидаторы Ethereum, за что они смогут получать дополнительное вознаграждение в виде части комиссии за транзакцию.

Поскольку EIP-4337 создаёт новый инфраструктурный слой поверх блокчейна Ethereum, у UserOperations есть свой собственный mempool, отличный от основного mempool сети. Обычные валидаторы не имеют к нему доступа.

EntryPoint: это смарт-контракт в сети Ethereum, отвечающий за проверку транзакций. Это ключевой элемент всей инфраструктуры EIP-4337, поэтому разработчики делают акцент на безопасности и тщательном аудите смарт-контракта. EntryPoint выполняет сразу несколько функций, которые можно объединить под названием «валидация транзакции».

Contract Account: это smart wallet, принадлежащий пользователю. Транзакция, проверенная через EntryPoint, одновременно отправляется на исполнение в блокчейн и в smart wallet пользователя в инфраструктуре EIP-4337.

Опционально также могут быть развёрнуты следующие элементы:

Paymasters: это спонсирующие контракты, которые позволяют оплачивать комиссии за транзакции вместо отправителя или оплачивать gas в любых ERC-20 токенах. Например, P2E может развернуть Paymasters в своей инфраструктуре, чтобы игрокам не нужно было покупать ETH для оплаты gas.

Aggregators: агрегаторы подписей пользователей. Они делают возможными так называемые атомарные транзакции, объединяющие несколько действий в одну транзакцию. На практике это позволяет взаимодействовать с dApps с минимальным числом подписей.

Жизненный цикл транзакции с использованием smart wallet EIP-4337 выглядит следующим образом: 

  1. 1. Пользователь инициирует UserOperation через приложение кошелька (сервис, предоставляющий интерфейс), которая отправляется в специальный mempool.
  2. 2. Bundler, выполняющий функции сетевого валидатора, выбирает транзакции из этого mempool и формирует их в пакеты.
  3. 3. Пакеты UserOperations отправляются в смарт-контракт EntryPoint. Смарт-контракт проверяет, могут ли транзакции быть выполнены и хватает ли у пользователя или Paymaster ETH для оплаты gas.
  4. 4. Если все условия выполнены, транзакция отправляется в Contract Account получателя и валидаторам Ethereum для включения в блокчейн.

Преимущества и сложности кошельков EIP-4337 

Главная цель абстрагирования аккаунтов в целом и обновления EIP-4337 — заменить EOA-кошельки на smart wallets (CA). По словам Vitalik Buterin и других специалистов, это даст разработчикам больше возможностей для создания качественного пользовательского опыта. В частности, smart wallets поддерживают:

  • Разные варианты аутентификации: абстракция логики валидации транзакций позволяет гибко настраивать варианты пользовательской аутентификации. Для этого можно использовать доверенный email, биометрический аутентификатор или, например, устройство из whitelist. То есть любой гаджет можно превратить в своего рода аналог приватного ключа.
  • Гибкие механизмы оплаты комиссий: спонсорские контракты Paymaster позволяют переложить обязанность оплаты gas с отправителя на третью сторону и создавать более сложные модели оплаты gas (например, в ERC-20 токенах или со скидкой). То есть пользователю теперь не нужно покупать ETH для взаимодействия с dApps, что снижает порог входа для новичков.
  • Расширенные настройки безопасности аккаунта: дополнительные настройки безопасности могут включать, помимо метода аутентификации, мультиподписи, дневной лимит расходов или, например, задержки по времени для транзакций. Это поможет защитить средства пользователя даже в случае, если злоумышленник получил доступ к аккаунту.
  • Атомарные мультиоперации: за эту функцию отвечают контракты Aggregators, описанные в предыдущем разделе. Благодаря им можно забыть о многочисленных подписях, которые были нужны для совершения первого swap на DEX, покупки NFT на маркетплейсе или другого взаимодействия с dApps.

Важным прорывом является возможность социального восстановления кошелька. С помощью этой функции пользователь может восстановить доступ к кошельку через список доверенных кошельков или email-адресов, например друзей или родственников.

Это означает, что времена, когда для того чтобы зайти в обычный P2E, нужно было создать кошелёк, купить ETH, подписать несколько транзакций и постараться не отдать доступ к активам скам smart contract, остались позади. Кошельки нового типа по функциональности будут больше похожи на аккаунты Google или Apple ID, чем на MetaMask и Ledger.

Итог

Стандарты токенов — это особые схемы разработки и запуска токенов на основе блокчейна. В индустрии сейчас существует несколько стандартов токенов, а также множество инновационных решений. Одно из них — EIP-4337.

EIP-4337 — важный шаг к массовому росту, поскольку новые аккаунты дают более привычный и понятный пользовательский опыт. Вряд ли люди, забывающие пароль от Twitter, будут пользоваться технологией, которая требует запомнить 12 слов и понимать, что такое приватные и публичные ключи.

Поделиться:

Похожие статьи

Хотите узнать больше?

Будьте в центре событий — подпишитесь на нашу рассылку