Глоссарий

Абстракция аккаунта

Сложность: средняя

Абстракция аккаунта - это процесс облегчения взаимодействия пользователей с блокчейном через кастомизацию определенных элементов учетных записей смарт-контрактов.

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

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

Это широко обсуждалось в сообществе Ethereum, при этом Виталик Бутерин выдвинул множество предложений (ERC 4337, EIP 2938, и другие), которые описывают, как сделать транзакции проще для конечного пользователя.

Общие сведения об аккаунтах Ethereum

Чтобы понять ценность абстракции учетных записей, необходимо сначала разобраться в основах аккаунтов Ethereum. В Ethereum существует два типа сущностей: Внешние аккаунты (External Owned Accounts или EOA), и аккаунты смарт-контрактов.

EOA состоит из пары криптографических ключей: открытого и закрытого. Он представлен адресом, который создается после того, как пользователь настроил свою пару ключей. Закрытый ключ используется для подписывания транзакций; он предоставляет пользователям право распоряжаться средствами, связанными с их аккаунтами.

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

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

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

Абстракция аккаунта для улучшения пользовательского опыта



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

Например, абстракция аккаунта может позволить EOA выполнять широкий спектр действий, таких как использование нескольких ключей (или ни одного) для авторизации транзакций или смена подписанта счета каждую неделю.

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

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

Социальное восстановление и абстракция аккаунта

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

Абстракция аккаунта также может быть использована для создания лучших блокчейн-игр с собственными микроэкономиками. Play-to-earn уже становится довольно прибыльной сценой, но её сдерживает количество микротранзакций, необходимых для поддержания игрового процесса с многими NFT внутриигровых активов у тысяч пользователей. Абстракция аккаунта решает эту проблему через механизм коллективных подписей.

Улучшенные транзакции и абстракция аккаунта

Наконец, атомарные (пакетные) транзакции через абстракцию аккаунтов могут позволить пользователям оплачивать комиссии в нативном токене вместо ETH, используемого сейчас. Это упрощает взаимодействие с L2, так что пользователям больше не требуется закупаться лишний раз эфиром перед использованием блокчейна.
Абстракция акканта также позволяет осуществлять мета-транзакции. Они подобны ассистенту, который выполняет транзакцию, подписанную другой стороной, от имени первоначального подписанта. Это устраняет сложности и затраты на газ на публичных блокчейнах, позволяя этим заниматься ретрансляционной сети, в то время как от пользователя требуется лишь подписать транзакцию одним кликом.
Эти мета-транзакции позволяют абстрагировать оплату транзакции от пользователя и отдать её в распоряжение dApp, тем самым упрощая весь процесс. Это особенно полезно в таких областях, как игры "play-to-earn" и инструменты онбординга.
Эта абстракция платы также может устранить сложности с оплатой транзакций на блокчейне через dApps, позволяя проводить платежи через их нативный токен. Если пользователь захочет расплатиться не криптовалютой блокчейна (например, $ETH), а нативным токеном, абстракция аккаунта делает это возможным. Наконец, она позволяет лучше контролировать взаимодействия с dApp благодаря сессионным ключам. Сессионный ключ - это симметричный криптографический ключ, используемый для шифрования сеанса связи. Проще говоря, это одноразовый ключ для шифрования и расшифровки данных, пересылаемых между двумя сторонами. Например, если вы хотите взаимодействовать с dApp, но не хотите постоянно подписывать транзакции, чтобы подтверждать каждый свой шаг, сессионный ключ устанавливает параметры того, что dApp может и не может делать по отношению к вашей учетной записи.

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

Абстракция аккаунта для повышения безопасности

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

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

Абстракция аккаунта открывает удобство использования без риска для безопасности и еще больше повышает его благодаря адаптируемым опциям.