Абстракция учетной записи: ключ к улучшению взаимодействия с блокчейном

ПродвинутыйJun 18, 2024
В дополнение к предлагаемым Ethereum решениям для абстракции счетов, таким как ERC-4337, EIP-3074 и EIP-7702, другие блокчейны также имеют аналогичные схемы абстракции счетов. Например, программные производные адреса (PDA) Solana, x/authz Cosmos и другие подобные проекты. В этой статье мы представим и сравним вышеупомянутые решения, разъясним оригинальные конструктивные элементы различных схем и проиллюстрируем компромиссы, рассматриваемые в различных решениях.
Абстракция учетной записи: ключ к улучшению взаимодействия с блокчейном

Зачем нам нужна Account Abstraction?

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

Например, многие люди думают, что использование ключей сложнее, чем использование электронной почты для управления учетными записями; управление ключами сложно и небезопасно; и каждый перевод (например, USDC) требует потребления нативных токенов (таких как эфир и Sol), что противоречит здравому смыслу.

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

В процессе исследования Ethereum предложил решения для абстракции счетов, такие как ERC-4337, EIP-3074 и EIP-7702. Другие L1, такие как Solana, имеют функции, которые позволяют абстрагировать счета на уровне протокола, такие как программные адреса (PDA), а Cosmos также имеет аналогичные конструкции, такие как x/authz и Fee Abstraction Module. В этой статье мы представим и сравним вышеупомянутые решения, разберемся в тонкостях проектирования различных решений, а также продемонстрируем компромиссы и соображения различных решений.

background

EOA vs Контрактная учетная запись

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

Account Abstraction

Концепцию абстрактных счетов можно проследить до 2016 года (https://github.com/ethereum/EIPs/issues/86). Абстракция счета основана на двух типах текущих счетов в Ethereum — EOA и контрактных счетах. Это улучшит интерактивный опыт пользователей Ethereum следующими способами:

  1. Позволяет пользователям использовать несколько сигнатур, таких как Шнорра, BLS, постквантовые подписи и т. д.;
  2. Позволяет пользователям оплачивать комиссию за газ с помощью токенов ERC20 или пользовательской логики платежей;
  3. Позволяет пользователям восстанавливать свои учетные записи с помощью электронной почты, социальных сетей и т. д.;
  4. Позволяет пользователям управлять средствами на своих счетах с помощью точных разрешений, таких как установка ежедневного лимита на снятие средств;
  5. Позволяет выполнять несколько операций в блокчейне в одной атомарной транзакции. Например, пользователь может выполнять операции одобрения и обмена в транзакции DEX с помощью одной подписи.

Ethereum Дорожная карта

Дорожная карта Ethereum (https://ethereum.org/en/roadmap/) освещает будущий маршрут обновления Ethereum. В настоящее время большинство исследований в сообществе Ethereum вращаются вокруг дорожной карты Ethereum. Абстракция аккаунта является обязательной частью этого:

Источник: https://x.com/VitalikButerin/status/1741190491578810445

Сообщество Ethereum надеется опираться на ERC-4337 и внедрять абстрагирование счета решения в рамках Протокол с помощью таких предложений, как EIP-3074 или EIP-7702, и, наконец, достичь Endgame абстрагирование счета.

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

EIP-3074 vs ERC-4337

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

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

ERC-4337 объединяет две вышеуказанные транзакции в одну:

Как видно из приведенного выше рисунка, пользователь должен подписать дважды, чтобы уполномочить сборщика управлять активами пользователя в счете 4337, который отличается от счета EOA пользователя. После того, как сборщик получает авторизацию, он объединяет авторизованный контент в пакет и выдает его для завершения транзакции. В то же время, если у пользователя нет токенов Ethereum для комиссий за газ, также может быть введена роль казначея, позволяющая казначею оплачивать комиссию за газ и получать токены ERC20 равной стоимости от пользователя.

EIP-3074 и ERC-4337 имеют некоторое сходство, но метод реализации EIP-3074 находится в протоколе Ethereum:

В ERC-4337 мы разрешаем Bundler обрабатывать активы в нашем кошельке смарт-контрактов в блокчейне с помощью подписей. В EIP-3074 сборщик уполномочен напрямую управлять активами в нашем кошельке EOA с помощью подписей. В ордер этого сообществу Ethereum необходимо добавить в Ethereum Протокол два новых кода операций: AUTH и AUTHCALL.

AUTH используется для проверки того, авторизовано ли поведение сборщика при обработке пользовательских EOA счет активов, а AUTHCALL используется для «обмана» смарт-контракта взаимодействия с пользователем (в нашем примере USDC и Uniswap), заставляя смарт-контракт думать, что транзакция исходит из EOA-счет пользователя. Преимущество этого заключается в том, что разработчикам Uniswap и USDC не нужно обновлять развернутые смарт-контракты, и в то же время учетные записи EOA могут пользоваться функциями абстракции счета.

Сравнение между EIP-3074 и ERC-4337

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

Таким образом, из названий двух абстрагирование счета схем видно, что ERC-4337 проще реализовать, чем EIP-3074, поскольку ERC-4337 не требует жесткого форк Ethereum сети. Это также одна из причин, по которой ERC-4337 был запущен и все чаще используется на полигонах и базах, но EIP-3074 только что был принят 183-м Ethereum All Core Developers Execution Call (ACDE).

Источник: https://dune.com/niftytable/account-abstraction

Кроме того, ERC-4337 требует, чтобы пользователи переносили свои текущие учетные записи на новые контрактные счета, и требует DApp поддержка для функционирования EIP-1271. EIP-3074 не требует этих дополнительных опор. Это основная причина низкого уровня внедрения ERC-4337. В то же время ERC-4337 не может поддерживать одну подпись для авторизации нескольких операций в блокчейне без введения промежуточного контракта с несколькими вызовами, но EIP-3074 может, что также вызывает ограничения ERC-4337.

Однако у EIP-3074 есть и свои проблемы. Наиболее важным из них является то, что код операции AUTH имеет слишком высокие разрешения, что может позволить злоумышленнику полностью контролировать счет EOA пользователя. В конце концов, как лонг хакер обманет вашу подпись AUTH, он может распоряжаться активами в вашем кошельке EOA. Учитывая, что фишинговые атаки в настоящее время свирепствуют, и большинство из них обманывают подписи пользователей, после внедрения EIP-3074 это станет более серьезной проблемой.

В связи с этим lightclient, один из авторов EIP-3074, предложил метод смягчения последствий для перехвата вредоносных сигнатур на уровне кошелька. Для получения дополнительной информации, пожалуйста, обратитесь к разделу: https://x.com/lightclients/status/1778823652584120497. В ERC-4337 этой проблемы нет, хотя хакеры по-прежнему могут обмануть пользователей, заставив их подписывать вредоносные UserOps. Это связано с тем, что UserOp трудно получить полномочия по распоряжению всеми активами в счете пользователя. На момент написания статьи разработчики в ACDE согласились удалить EIP-3704 из Pectra Devent 0 и включить EIP-7702 в следующую Pectra Devnet 1.

Что изменилось в EIP-7702?

EIP-7702 пытается интегрировать преимущества EIP-3074 и ERC-4337 для формирования среднего пути. Пользователь отправляет подписанную операцию сборщику. Когда сборщик отправляет транзакцию в цепочку, счет EOA пользователя временно становится счетом смарт-контракта, как и счет 4337. Далее, как и в случае с AUTH в EIP-3074, счет смарт-контракта подтвердит авторизованную операцию сборщика пользователя. Затем, как и AUTHCALL, выполнять операции, авторизованные пользователем. После выполнения транзакции счет пользователя будет возвращен к обычному счету EOA.

Преимущества EIP-7702 заключаются в следующем:

  1. Наследует все преимущества EIP-3074: не требует от пользователей переходить со счетов EOA на счета смарт-контрактов с новыми адресами; может выполнять несколько операций в одной атомарной транзакции;
  2. Код счета смарт-контракта и инфраструктура ERC-4337 могут быть использованы повторно;
  3. Абстрагирование счетов смарт-контрактов, представленное ERC-4337, и решение для абстракции счетов EOA, представленное EIP-3074, могут быть объединены, чтобы предотвратить разделение Ethereum на две разные системы абстракции счетов и проложить путь для учетной записи абстракции эндшпиля в дорожной карте Ethereum;
  4. Два опкода AUTH и AUTHCALL не будут добавлены в EVM Ethereum: с учетом счет дорожной карты Ethereum учетные записи EOA в будущем будут преобразованы в абстрагирование счета, и эти два опкода станут избыточными.

Кроме того, EIP-7702 наследует все риски безопасности от EIP-3074.

Сообщество решило включить EIP-7702 в следующее обновление Pectra в 2025 году. Если он будет реализован, он значительно изменит экосистему Ethereum и принесет постепенные улучшения в текущую версию ERC-4337 инфраструктуры абстракции счетов.

Solana Программа, производная Адрес

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

абстрагирование счета Solana Solana аналогична ERC-4337 Ethereum. Это счета, производные от исходных счетов (аналогично счетам EOA), сродни счетам контрактов 4337. Прежде чем понимать абстракцию счета Solana, необходимо понять модель счета, используемую Solana.

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

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

Эта модель счетов изначально позволяет учетным записям программы создавать определенные учетные записи и управлять ими, предлагая разработчикам возможность определять пользовательские правила и логику для управления ими. Благодаря этой счет модели, Program Derived Адрес (PDA), тип счет данных, расширяет возможности абстрагирование счета возможностей на Solana от повышения безопасности пользователей с помощью кошельков с мультиподписью и двухфакторной аутентификации до включения механизмов социального восстановления.

Производная от программы Адрес

Для контекста, все учетные записи лежат на кривой Ed25519 и имеют пару открытый-закрытый ключ. PDA, лежащий за пределами кривой Ed25519, представляет собой детерминированно производную 32-байтовую строку, которая выглядит как открытый ключ и не поставляется с соответствующим закрытым ключом. КПК позволяют разработчикам создавать пользовательские правила и механизмы подписи транзакций, которые могут позволить владельцу программного счета КПК автономно выполнять транзакции от имени КПК, полностью распознаваемых и поддерживаемых сетью Solana.

PDA и Account Abstraction

Теперь, когда мы понимаем, как создаются КПК, вам может быть интересно, как эти понятия связаны с абстрагирование счета. Абстракция учетной записи происходит под капотом через выполнение функции, известной как межпрограммный вызов (CPI).

CPI — это функции, которые позволяют программе вызывать инструкции другой программы, обеспечивая компонуемость программ Solana. Когда программа инициирует CPI через invoke_signed, программы могут подписываться от имени производных КПК.

Источник: Solana

Чтобы проверить легитимность транзакций с участием КПК, среда выполнения Solana внутренне вызывает create_program_address, используя signers_seeds и program_id вызывающей программы. Если допустимый КПК найден, среда выполнения свяжет его с вызывающей программой и распознает программу как авторизованную подписывающую сторону.

В настоящее время Squads разрабатывает решение для абстракции счетов на Solana на основе КПК. Тем не менее, продукт, предоставляемый Squads, в настоящее время больше похож на решение для подсчета счетов смарт-контрактов Gnosis Safe и еще не полностью развил свою функциональность абстракции счета.

Преимущества КПК

  1. Автоматизированное выполнение смарт-контрактов: КПК позволяют создавать более сложные конструкции смарт-контрактов, которые могут автономно выполнять несколько операций от имени пользователя посредством межпрограммных вызовов.
  2. Улучшенный пользовательский опыт: пользователям не нужно управлять несколькими транзакциями или сталкиваться с техническими сложностями.
  3. Повышенная безопасность и гибкость: Отсутствие закрытого ключа снижает риск компрометации ключа. КПК можно использовать для кошельков с мультиподписью или для других гибких моделей управления, которые снижают единую точку риска и особенно полезны для организаций, управляющих большими общими ресурсами.

Ограничения КПК

  1. Несмотря на то, что КПК полезны для создания основы для абстрагирование счета возможностей, они могут быть сложными в реализации по сравнению с счет с парой ключей.
  2. И, как и ERC-4337, он требует, чтобы пользователи выполняли счет миграцию на новую счет, что может снизить скорость внедрения Solana абстрагирование счета.

Account Abstraction on Cosmos (Authz & Fee Grant)

Cosmos x/authz

Поскольку абстрагирование счета все больше занимает умы разработчиков, был запущен authz, часть ядра Cosmos SDK, чтобы позволить счет выполнять определенные действия от имени другого счет с помощью предоставления авторизации, что аналогично EIP-3074 и EIP-7702.

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

С помощью authz можно выдать 3 типа Авторизаций:

  1. GenericAuthorization. Это предоставление полномочий дает получателю неограниченного разрешения на выполнение сообщения от имени лица, предоставившего право.
  2. SendAuthorization. Это разрешение, как и утверждение в ERC20, направлено на то, чтобы предоставить грантополучателю доступ к положительному лимиту расходов, который определяет максимальную сумму, которая может быть потрачена от имени грантодателя.
  3. Авторизация стейка. Этот грант позволяет получателям грантов управлять действиями по стейкингу, такими как делегирование, отмена делегирования или повторное делегирование от имени грантодателя.

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

Общие сведения об операционной структуре

Authz можно использовать для авторизации различных действий, однако для простоты мы рассмотрим, как работает authz для обеспечения общих транзакций голосования.

  1. Реализует интерфейс авторизации до того, как какие-либо авторизации могут быть выполнены. На этом этапе также будет определен тип сообщения, которым в данном случае будет MsgVote. Здесь мы видим разрешение на предоставление гранта от Алисы для голосования по управлению.
  2. Боб создает неподписанную транзакцию голосования.
  3. Боб создает подписанную и выполненную транзакцию голосования от получателя гранта. Транзакция завершена, и авторизация будет удалена, если срок ее действия истек.

Какие преимущества приносит authz?

  1. Операционная безопасность: Валидаторы и другие пользователи могут предоставлять разрешения отдельному счет голосовать за предложения по управлению или выполнять определенные действия, повышая счет безопасность и снижая нагрузку на безопасность.
  2. Оптимизированные операции: транзакции могут выполняться с необходимостью доступа к ключам валидатора, транзакции кошелька с мультиподписью также могут быть оптимизированы с помощью одной транзакции для предоставления Authz на счет получателя гранта.
  3. Нет необходимости в миграции: как и в EIP-3074 и EIP-7702, операции авторизации выполняются в исходном счете пользователя. Пользователям не нужно переносить свои активы с исходного счета на новый счет, чтобы включить абстрагирование счета.
  4. Операционная эффективность и гибкость DAO: Подмножество прав на выполнение может быть предоставлено отдельным участникам DAO для определенных действий.
  5. Компаундирование вознаграждения за стейкинг: Authz облегчает использование рестейкинга и эквивалентных услуг для автоматического начисления вознаграждений за стейкинг
.

Ограничения и риски для Authz:

Обратите внимание на типы транзакций, которые вы авторизуете через Authz. Вредоносные Authorizations могут выполнять различные типы авторизаций, которые могут нанести вред пользователю.

  1. GenericAuthorization: дает неограниченное разрешение на выполнение предоставленного сообщения от имени лица, предоставляющего право. Если вы полностью не знаете, что вы подписываете, настоятельно рекомендуется избегать подписания таких типов авторизации. Некоторые кошельки также могут не выдавать предупреждения при подписании транзакций Authz.
  2. SendAuthorization: позволяет получателю гранта отправить максимальное количество токенов, которое он может потратить, если оно не указано получателем. Также важно проверить AllowList, в котором указан конкретный адрес, на который получатель прав может отправлять маркеры.

Модуль предоставления комиссий Еще

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

Тем не менее, это препятствие было преодолено с интеграцией модуля Fee Grant. Подобно контракту paymaster, который обеспечивает абстрагирование счета в Ethereum, модуль предоставления комиссий в Cosmos позволяет грантодателю предоставлять льготы на комиссию грантополучателю, оплачивая некоторые или все транзакционные сборы. Средства остаются под контролем грантодателя, и он может отозвать грант в любое время.

Виды гонорарных грантов

Fee Allowance можно разделить на два типа: BasicAllowance и PeriodicAllowance.

BasicAllowance позволяет получателю гранта использовать сборы из счета грантодателя до тех пор, пока не будет достигнут лимит расходов или срок действия. После этого грант будет прекращен со стороны государства. Важно отметить, что BasicAllowance реализует единовременное предоставление сборов. Если лимит расходов и время пусты, срок действия квоты на оплату не ограничен

.

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

Общие сведения об операционной структуре

Использование AllowedMsgAllowance создает разрешение для указанных типов сообщений. Пособие может быть BasicAllowance или PeriodicAllowance. Если время истечения срока действия установлено, FeeAllowance будет поставлен в очередь в состоянии с префиксом истечения срока действия, добавленным к разрешению, и Endblocker проверяет состояние FeeAllowanceQueue на наличие просроченных разрешений, удаляя любые разрешения, если они будут найдены. Помимо MsgGrantAllowance, с помощью MsgRevokeAllowance также можно отозвать скидку на комиссию.

Взятые вместе, модули Authz и Fee Grant открывают инновационные и разнообразные варианты использования, которые в конечном итоге улучшают пользовательский опыт в экосистеме Cosmos.

Заключение

Абстракция счета По состоянию на 27 мая 2024 года цифры оценочные.

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

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Этот материал предназначен только для общей информации и не представляет собой и не должен интерпретироваться как какая-либо форма результатов исследований, профессиональных советов, предложений, рекомендаций или торговых стратегий. Мы не даем никаких гарантий, заявлений, поручительств или обязательств, явных или подразумеваемых, в отношении справедливости, точности, своевременности, полноты или правильности любой общей финансовой и рыночной информации, анализа и/или мнений, представленных в этом отчете, и HashKey Capital не принимает на себя никаких обязательств или ответственности в отношении использования или доверия к любой такой информации. Любая информация, содержащаяся в данном отчете, может быть изменена без предварительного уведомления. Данный отчет не рассматривался Комиссией по ценным бумагам и фьючерсам Гонконга, Денежно-кредитным управлением Сингапура или каким-либо регулирующим органом в Гонконге или Сингапуре.

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

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

Будьте в курсе последних новостей HashKey Capital -

Веб-сайт — https://hashkey.capital/

Twitter — https://twitter.com/HashKey_Capital

LinkedIn — https://www.linkedin.com/company/hashkeycapital/

Отказ от ответственности:

  1. Эта статья перепечатана с [Medium]. Все авторские права принадлежат оригинальному автору [HashKey Capital]. Если у вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они оперативно рассмотрят их.

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

  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Абстракция учетной записи: ключ к улучшению взаимодействия с блокчейном

ПродвинутыйJun 18, 2024
В дополнение к предлагаемым Ethereum решениям для абстракции счетов, таким как ERC-4337, EIP-3074 и EIP-7702, другие блокчейны также имеют аналогичные схемы абстракции счетов. Например, программные производные адреса (PDA) Solana, x/authz Cosmos и другие подобные проекты. В этой статье мы представим и сравним вышеупомянутые решения, разъясним оригинальные конструктивные элементы различных схем и проиллюстрируем компромиссы, рассматриваемые в различных решениях.
Абстракция учетной записи: ключ к улучшению взаимодействия с блокчейном

Зачем нам нужна Account Abstraction?

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

Например, многие люди думают, что использование ключей сложнее, чем использование электронной почты для управления учетными записями; управление ключами сложно и небезопасно; и каждый перевод (например, USDC) требует потребления нативных токенов (таких как эфир и Sol), что противоречит здравому смыслу.

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

В процессе исследования Ethereum предложил решения для абстракции счетов, такие как ERC-4337, EIP-3074 и EIP-7702. Другие L1, такие как Solana, имеют функции, которые позволяют абстрагировать счета на уровне протокола, такие как программные адреса (PDA), а Cosmos также имеет аналогичные конструкции, такие как x/authz и Fee Abstraction Module. В этой статье мы представим и сравним вышеупомянутые решения, разберемся в тонкостях проектирования различных решений, а также продемонстрируем компромиссы и соображения различных решений.

background

EOA vs Контрактная учетная запись

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

Account Abstraction

Концепцию абстрактных счетов можно проследить до 2016 года (https://github.com/ethereum/EIPs/issues/86). Абстракция счета основана на двух типах текущих счетов в Ethereum — EOA и контрактных счетах. Это улучшит интерактивный опыт пользователей Ethereum следующими способами:

  1. Позволяет пользователям использовать несколько сигнатур, таких как Шнорра, BLS, постквантовые подписи и т. д.;
  2. Позволяет пользователям оплачивать комиссию за газ с помощью токенов ERC20 или пользовательской логики платежей;
  3. Позволяет пользователям восстанавливать свои учетные записи с помощью электронной почты, социальных сетей и т. д.;
  4. Позволяет пользователям управлять средствами на своих счетах с помощью точных разрешений, таких как установка ежедневного лимита на снятие средств;
  5. Позволяет выполнять несколько операций в блокчейне в одной атомарной транзакции. Например, пользователь может выполнять операции одобрения и обмена в транзакции DEX с помощью одной подписи.

Ethereum Дорожная карта

Дорожная карта Ethereum (https://ethereum.org/en/roadmap/) освещает будущий маршрут обновления Ethereum. В настоящее время большинство исследований в сообществе Ethereum вращаются вокруг дорожной карты Ethereum. Абстракция аккаунта является обязательной частью этого:

Источник: https://x.com/VitalikButerin/status/1741190491578810445

Сообщество Ethereum надеется опираться на ERC-4337 и внедрять абстрагирование счета решения в рамках Протокол с помощью таких предложений, как EIP-3074 или EIP-7702, и, наконец, достичь Endgame абстрагирование счета.

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

EIP-3074 vs ERC-4337

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

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

ERC-4337 объединяет две вышеуказанные транзакции в одну:

Как видно из приведенного выше рисунка, пользователь должен подписать дважды, чтобы уполномочить сборщика управлять активами пользователя в счете 4337, который отличается от счета EOA пользователя. После того, как сборщик получает авторизацию, он объединяет авторизованный контент в пакет и выдает его для завершения транзакции. В то же время, если у пользователя нет токенов Ethereum для комиссий за газ, также может быть введена роль казначея, позволяющая казначею оплачивать комиссию за газ и получать токены ERC20 равной стоимости от пользователя.

EIP-3074 и ERC-4337 имеют некоторое сходство, но метод реализации EIP-3074 находится в протоколе Ethereum:

В ERC-4337 мы разрешаем Bundler обрабатывать активы в нашем кошельке смарт-контрактов в блокчейне с помощью подписей. В EIP-3074 сборщик уполномочен напрямую управлять активами в нашем кошельке EOA с помощью подписей. В ордер этого сообществу Ethereum необходимо добавить в Ethereum Протокол два новых кода операций: AUTH и AUTHCALL.

AUTH используется для проверки того, авторизовано ли поведение сборщика при обработке пользовательских EOA счет активов, а AUTHCALL используется для «обмана» смарт-контракта взаимодействия с пользователем (в нашем примере USDC и Uniswap), заставляя смарт-контракт думать, что транзакция исходит из EOA-счет пользователя. Преимущество этого заключается в том, что разработчикам Uniswap и USDC не нужно обновлять развернутые смарт-контракты, и в то же время учетные записи EOA могут пользоваться функциями абстракции счета.

Сравнение между EIP-3074 и ERC-4337

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

Таким образом, из названий двух абстрагирование счета схем видно, что ERC-4337 проще реализовать, чем EIP-3074, поскольку ERC-4337 не требует жесткого форк Ethereum сети. Это также одна из причин, по которой ERC-4337 был запущен и все чаще используется на полигонах и базах, но EIP-3074 только что был принят 183-м Ethereum All Core Developers Execution Call (ACDE).

Источник: https://dune.com/niftytable/account-abstraction

Кроме того, ERC-4337 требует, чтобы пользователи переносили свои текущие учетные записи на новые контрактные счета, и требует DApp поддержка для функционирования EIP-1271. EIP-3074 не требует этих дополнительных опор. Это основная причина низкого уровня внедрения ERC-4337. В то же время ERC-4337 не может поддерживать одну подпись для авторизации нескольких операций в блокчейне без введения промежуточного контракта с несколькими вызовами, но EIP-3074 может, что также вызывает ограничения ERC-4337.

Однако у EIP-3074 есть и свои проблемы. Наиболее важным из них является то, что код операции AUTH имеет слишком высокие разрешения, что может позволить злоумышленнику полностью контролировать счет EOA пользователя. В конце концов, как лонг хакер обманет вашу подпись AUTH, он может распоряжаться активами в вашем кошельке EOA. Учитывая, что фишинговые атаки в настоящее время свирепствуют, и большинство из них обманывают подписи пользователей, после внедрения EIP-3074 это станет более серьезной проблемой.

В связи с этим lightclient, один из авторов EIP-3074, предложил метод смягчения последствий для перехвата вредоносных сигнатур на уровне кошелька. Для получения дополнительной информации, пожалуйста, обратитесь к разделу: https://x.com/lightclients/status/1778823652584120497. В ERC-4337 этой проблемы нет, хотя хакеры по-прежнему могут обмануть пользователей, заставив их подписывать вредоносные UserOps. Это связано с тем, что UserOp трудно получить полномочия по распоряжению всеми активами в счете пользователя. На момент написания статьи разработчики в ACDE согласились удалить EIP-3704 из Pectra Devent 0 и включить EIP-7702 в следующую Pectra Devnet 1.

Что изменилось в EIP-7702?

EIP-7702 пытается интегрировать преимущества EIP-3074 и ERC-4337 для формирования среднего пути. Пользователь отправляет подписанную операцию сборщику. Когда сборщик отправляет транзакцию в цепочку, счет EOA пользователя временно становится счетом смарт-контракта, как и счет 4337. Далее, как и в случае с AUTH в EIP-3074, счет смарт-контракта подтвердит авторизованную операцию сборщика пользователя. Затем, как и AUTHCALL, выполнять операции, авторизованные пользователем. После выполнения транзакции счет пользователя будет возвращен к обычному счету EOA.

Преимущества EIP-7702 заключаются в следующем:

  1. Наследует все преимущества EIP-3074: не требует от пользователей переходить со счетов EOA на счета смарт-контрактов с новыми адресами; может выполнять несколько операций в одной атомарной транзакции;
  2. Код счета смарт-контракта и инфраструктура ERC-4337 могут быть использованы повторно;
  3. Абстрагирование счетов смарт-контрактов, представленное ERC-4337, и решение для абстракции счетов EOA, представленное EIP-3074, могут быть объединены, чтобы предотвратить разделение Ethereum на две разные системы абстракции счетов и проложить путь для учетной записи абстракции эндшпиля в дорожной карте Ethereum;
  4. Два опкода AUTH и AUTHCALL не будут добавлены в EVM Ethereum: с учетом счет дорожной карты Ethereum учетные записи EOA в будущем будут преобразованы в абстрагирование счета, и эти два опкода станут избыточными.

Кроме того, EIP-7702 наследует все риски безопасности от EIP-3074.

Сообщество решило включить EIP-7702 в следующее обновление Pectra в 2025 году. Если он будет реализован, он значительно изменит экосистему Ethereum и принесет постепенные улучшения в текущую версию ERC-4337 инфраструктуры абстракции счетов.

Solana Программа, производная Адрес

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

абстрагирование счета Solana Solana аналогична ERC-4337 Ethereum. Это счета, производные от исходных счетов (аналогично счетам EOA), сродни счетам контрактов 4337. Прежде чем понимать абстракцию счета Solana, необходимо понять модель счета, используемую Solana.

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

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

Эта модель счетов изначально позволяет учетным записям программы создавать определенные учетные записи и управлять ими, предлагая разработчикам возможность определять пользовательские правила и логику для управления ими. Благодаря этой счет модели, Program Derived Адрес (PDA), тип счет данных, расширяет возможности абстрагирование счета возможностей на Solana от повышения безопасности пользователей с помощью кошельков с мультиподписью и двухфакторной аутентификации до включения механизмов социального восстановления.

Производная от программы Адрес

Для контекста, все учетные записи лежат на кривой Ed25519 и имеют пару открытый-закрытый ключ. PDA, лежащий за пределами кривой Ed25519, представляет собой детерминированно производную 32-байтовую строку, которая выглядит как открытый ключ и не поставляется с соответствующим закрытым ключом. КПК позволяют разработчикам создавать пользовательские правила и механизмы подписи транзакций, которые могут позволить владельцу программного счета КПК автономно выполнять транзакции от имени КПК, полностью распознаваемых и поддерживаемых сетью Solana.

PDA и Account Abstraction

Теперь, когда мы понимаем, как создаются КПК, вам может быть интересно, как эти понятия связаны с абстрагирование счета. Абстракция учетной записи происходит под капотом через выполнение функции, известной как межпрограммный вызов (CPI).

CPI — это функции, которые позволяют программе вызывать инструкции другой программы, обеспечивая компонуемость программ Solana. Когда программа инициирует CPI через invoke_signed, программы могут подписываться от имени производных КПК.

Источник: Solana

Чтобы проверить легитимность транзакций с участием КПК, среда выполнения Solana внутренне вызывает create_program_address, используя signers_seeds и program_id вызывающей программы. Если допустимый КПК найден, среда выполнения свяжет его с вызывающей программой и распознает программу как авторизованную подписывающую сторону.

В настоящее время Squads разрабатывает решение для абстракции счетов на Solana на основе КПК. Тем не менее, продукт, предоставляемый Squads, в настоящее время больше похож на решение для подсчета счетов смарт-контрактов Gnosis Safe и еще не полностью развил свою функциональность абстракции счета.

Преимущества КПК

  1. Автоматизированное выполнение смарт-контрактов: КПК позволяют создавать более сложные конструкции смарт-контрактов, которые могут автономно выполнять несколько операций от имени пользователя посредством межпрограммных вызовов.
  2. Улучшенный пользовательский опыт: пользователям не нужно управлять несколькими транзакциями или сталкиваться с техническими сложностями.
  3. Повышенная безопасность и гибкость: Отсутствие закрытого ключа снижает риск компрометации ключа. КПК можно использовать для кошельков с мультиподписью или для других гибких моделей управления, которые снижают единую точку риска и особенно полезны для организаций, управляющих большими общими ресурсами.

Ограничения КПК

  1. Несмотря на то, что КПК полезны для создания основы для абстрагирование счета возможностей, они могут быть сложными в реализации по сравнению с счет с парой ключей.
  2. И, как и ERC-4337, он требует, чтобы пользователи выполняли счет миграцию на новую счет, что может снизить скорость внедрения Solana абстрагирование счета.

Account Abstraction on Cosmos (Authz & Fee Grant)

Cosmos x/authz

Поскольку абстрагирование счета все больше занимает умы разработчиков, был запущен authz, часть ядра Cosmos SDK, чтобы позволить счет выполнять определенные действия от имени другого счет с помощью предоставления авторизации, что аналогично EIP-3074 и EIP-7702.

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

С помощью authz можно выдать 3 типа Авторизаций:

  1. GenericAuthorization. Это предоставление полномочий дает получателю неограниченного разрешения на выполнение сообщения от имени лица, предоставившего право.
  2. SendAuthorization. Это разрешение, как и утверждение в ERC20, направлено на то, чтобы предоставить грантополучателю доступ к положительному лимиту расходов, который определяет максимальную сумму, которая может быть потрачена от имени грантодателя.
  3. Авторизация стейка. Этот грант позволяет получателям грантов управлять действиями по стейкингу, такими как делегирование, отмена делегирования или повторное делегирование от имени грантодателя.

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

Общие сведения об операционной структуре

Authz можно использовать для авторизации различных действий, однако для простоты мы рассмотрим, как работает authz для обеспечения общих транзакций голосования.

  1. Реализует интерфейс авторизации до того, как какие-либо авторизации могут быть выполнены. На этом этапе также будет определен тип сообщения, которым в данном случае будет MsgVote. Здесь мы видим разрешение на предоставление гранта от Алисы для голосования по управлению.
  2. Боб создает неподписанную транзакцию голосования.
  3. Боб создает подписанную и выполненную транзакцию голосования от получателя гранта. Транзакция завершена, и авторизация будет удалена, если срок ее действия истек.

Какие преимущества приносит authz?

  1. Операционная безопасность: Валидаторы и другие пользователи могут предоставлять разрешения отдельному счет голосовать за предложения по управлению или выполнять определенные действия, повышая счет безопасность и снижая нагрузку на безопасность.
  2. Оптимизированные операции: транзакции могут выполняться с необходимостью доступа к ключам валидатора, транзакции кошелька с мультиподписью также могут быть оптимизированы с помощью одной транзакции для предоставления Authz на счет получателя гранта.
  3. Нет необходимости в миграции: как и в EIP-3074 и EIP-7702, операции авторизации выполняются в исходном счете пользователя. Пользователям не нужно переносить свои активы с исходного счета на новый счет, чтобы включить абстрагирование счета.
  4. Операционная эффективность и гибкость DAO: Подмножество прав на выполнение может быть предоставлено отдельным участникам DAO для определенных действий.
  5. Компаундирование вознаграждения за стейкинг: Authz облегчает использование рестейкинга и эквивалентных услуг для автоматического начисления вознаграждений за стейкинг
.

Ограничения и риски для Authz:

Обратите внимание на типы транзакций, которые вы авторизуете через Authz. Вредоносные Authorizations могут выполнять различные типы авторизаций, которые могут нанести вред пользователю.

  1. GenericAuthorization: дает неограниченное разрешение на выполнение предоставленного сообщения от имени лица, предоставляющего право. Если вы полностью не знаете, что вы подписываете, настоятельно рекомендуется избегать подписания таких типов авторизации. Некоторые кошельки также могут не выдавать предупреждения при подписании транзакций Authz.
  2. SendAuthorization: позволяет получателю гранта отправить максимальное количество токенов, которое он может потратить, если оно не указано получателем. Также важно проверить AllowList, в котором указан конкретный адрес, на который получатель прав может отправлять маркеры.

Модуль предоставления комиссий Еще

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

Тем не менее, это препятствие было преодолено с интеграцией модуля Fee Grant. Подобно контракту paymaster, который обеспечивает абстрагирование счета в Ethereum, модуль предоставления комиссий в Cosmos позволяет грантодателю предоставлять льготы на комиссию грантополучателю, оплачивая некоторые или все транзакционные сборы. Средства остаются под контролем грантодателя, и он может отозвать грант в любое время.

Виды гонорарных грантов

Fee Allowance можно разделить на два типа: BasicAllowance и PeriodicAllowance.

BasicAllowance позволяет получателю гранта использовать сборы из счета грантодателя до тех пор, пока не будет достигнут лимит расходов или срок действия. После этого грант будет прекращен со стороны государства. Важно отметить, что BasicAllowance реализует единовременное предоставление сборов. Если лимит расходов и время пусты, срок действия квоты на оплату не ограничен

.

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

Общие сведения об операционной структуре

Использование AllowedMsgAllowance создает разрешение для указанных типов сообщений. Пособие может быть BasicAllowance или PeriodicAllowance. Если время истечения срока действия установлено, FeeAllowance будет поставлен в очередь в состоянии с префиксом истечения срока действия, добавленным к разрешению, и Endblocker проверяет состояние FeeAllowanceQueue на наличие просроченных разрешений, удаляя любые разрешения, если они будут найдены. Помимо MsgGrantAllowance, с помощью MsgRevokeAllowance также можно отозвать скидку на комиссию.

Взятые вместе, модули Authz и Fee Grant открывают инновационные и разнообразные варианты использования, которые в конечном итоге улучшают пользовательский опыт в экосистеме Cosmos.

Заключение

Абстракция счета По состоянию на 27 мая 2024 года цифры оценочные.

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

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Этот материал предназначен только для общей информации и не представляет собой и не должен интерпретироваться как какая-либо форма результатов исследований, профессиональных советов, предложений, рекомендаций или торговых стратегий. Мы не даем никаких гарантий, заявлений, поручительств или обязательств, явных или подразумеваемых, в отношении справедливости, точности, своевременности, полноты или правильности любой общей финансовой и рыночной информации, анализа и/или мнений, представленных в этом отчете, и HashKey Capital не принимает на себя никаких обязательств или ответственности в отношении использования или доверия к любой такой информации. Любая информация, содержащаяся в данном отчете, может быть изменена без предварительного уведомления. Данный отчет не рассматривался Комиссией по ценным бумагам и фьючерсам Гонконга, Денежно-кредитным управлением Сингапура или каким-либо регулирующим органом в Гонконге или Сингапуре.

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

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

Будьте в курсе последних новостей HashKey Capital -

Веб-сайт — https://hashkey.capital/

Twitter — https://twitter.com/HashKey_Capital

LinkedIn — https://www.linkedin.com/company/hashkeycapital/

Отказ от ответственности:

  1. Эта статья перепечатана с [Medium]. Все авторские права принадлежат оригинальному автору [HashKey Capital]. Если у вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они оперативно рассмотрят их.

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

  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!