Безопасна ли абстракция учетных записей? Руководство по снижению риска

НовичокDec 12, 2023
В этой статье анализируются концептуальные характеристики и примеры использования абстракции счета (Account Abstraction, AA), на примере ERC-4337 демонстрируется ее применение на практике, а также объясняются потенциальные риски и контрмеры.
Безопасна ли абстракция учетных записей? Руководство по снижению риска

До появления абстракции счетов в Ethereum существовало два типа счетов: счета, принадлежащие внешним пользователям (EOA), и смарт-контракты. EOA - это типичная учетная запись пользователя, имеющая закрытый ключ. Это также единственный тип счета, который может инициировать транзакцию. Например, чтобы отправить транзакцию, пользователь должен иметь ETH. Создание пакетных транзакций затруднено, и нет никаких вариантов восстановления, если пользователь потерял свой закрытый ключ. Абстракция счета (AA) была создана для решения этих проблем. Но является ли это решение безрисковым? В этом руководстве рассматриваются основы АА, а затем подробно описываются риски, связанные с ним, и способы их снижения.

В этом руководстве:

  • Каковы ключевые особенности абстракции счета?
  • Варианты использования абстракции счета
  • Реализация абстракции счета
  • Риск абстрагирования от аккаунта против вознаграждения?
  • Часто задаваемые вопросы

Каковы ключевые особенности абстракции счета?

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

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

Варианты использования абстракции счета

  • Бесплатные транзакции: Проекты могут оплачивать транзакции пользователей.
  • Безналичные межцепочечные транзакции: Возможность перевести токен ERC20 на другую цепочку и расплачиваться им за транзакции, что означает отсутствие необходимости дополнительно пополнять счет нативной валютой.
  • Дополнительные функции безопасности кошелька : В случае угрозы безопасности все операции со счетом могут быть приостановлены, а затем доступ может быть восстановлен с помощью резервных ключей.
  • Восстановление учетных записей: Например, для восстановления ключа можно использовать набор ключей.
  • Лимиты на транзакции: Можно создать аккаунт, который сможет тратить определенную сумму ETH в месяц.
  • Подписки: Включите подписки так же, как они работают с традиционными кредитными картами.

Реализация абстракции счета

Были разные предложения о том, как внедрить AA в сеть Ethereum. Некоторые из них предполагают значительные изменения в протоколе Ethereum, что усложняет реализацию. Наиболее известной реализацией является ERC-4337, которая не предполагает никаких изменений на уровне консенсуса. Стандарт реплицирует мемпул транзакций на более высоком уровне. Смарт-контракты ERC-4337 были размещены в сети Ethereum в марте 2023 года.

В ERC-4337 вместо EOA используются смарт-контракты, названные кошельками. Кошелек смарт-контракта может контролироваться не только закрытым ключом, но и произвольным сложным механизмом, который закодирован в контракте.

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

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


Реализация AA: HashEx

Помимо прочих данных, UserOperation содержит код для создания кошелька смарт-контракта. Если у пользователя нет кошелька, он будет создан для него.

Если пользователь хочет оплатить транзакцию с помощью токена ERC20 или даже не хочет оплачивать транзакцию вообще, он указывает адрес контракта paymaster в UserOperation. Плательщик - это сторонний сервис, который будет оплачивать транзакцию в обмен на токены ERC20.

Каковы риски и как их уменьшить?

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

Риск ошибок при внедрении стандарта

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

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

Ошибки, связанные с несовместимостью с некоторыми смарт-контрактами

Не каждый смарт-контракт совместим с кошельками абстракции счета. Например, смарт-контракты, которые используют поле tx.origin для проверки кошелька, отправившего транзакцию, получат неожиданное значение. Еще одна несовместимость возникает со смарт-контрактами, использующими подписи EOA: они не поддерживаются кошельками AA.

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

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

Код сторонних разработчиков для кошельков

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

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

Сторонний код для платёжных систем

Если пользователь или проект использует paymasters, он полагается на третью сторону для оплаты транзакций. Могут быть ошибки в реализации paymaster, и вредоносный paymaster может украсть средства пользователей.

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

Устранение проблемы: Кошельки используют только paymaster'ы от надежных провайдеров и гарантируют, что код paymaster'ов был проверен перед их использованием.

Лучшие практики

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

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

Режим проекта стандарта

ERC-4337 все еще находится в черновом режиме, хотя контракты уже развернуты в Mainnet. Существует вероятность того, что стандарт изменится. Следует отметить, что эти изменения должны затронуть более мелкие детали и не повлиять на уже развернутые смарт-контракты.

Устранение последствий: Разработчикам следует следить за тем, как развивается стандарт, и обновлять код своих проектов в соответствии с изменениями стандарта, если они произойдут.

Централизация

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

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

Риск абстрагирования от аккаунта против вознаграждения?

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

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

  1. Эта статья перепечатана с сайта[Beincrypto]. Все авторские права принадлежат оригинальному автору[Глеб Зыков]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.

Безопасна ли абстракция учетных записей? Руководство по снижению риска

НовичокDec 12, 2023
В этой статье анализируются концептуальные характеристики и примеры использования абстракции счета (Account Abstraction, AA), на примере ERC-4337 демонстрируется ее применение на практике, а также объясняются потенциальные риски и контрмеры.
Безопасна ли абстракция учетных записей? Руководство по снижению риска

До появления абстракции счетов в Ethereum существовало два типа счетов: счета, принадлежащие внешним пользователям (EOA), и смарт-контракты. EOA - это типичная учетная запись пользователя, имеющая закрытый ключ. Это также единственный тип счета, который может инициировать транзакцию. Например, чтобы отправить транзакцию, пользователь должен иметь ETH. Создание пакетных транзакций затруднено, и нет никаких вариантов восстановления, если пользователь потерял свой закрытый ключ. Абстракция счета (AA) была создана для решения этих проблем. Но является ли это решение безрисковым? В этом руководстве рассматриваются основы АА, а затем подробно описываются риски, связанные с ним, и способы их снижения.

В этом руководстве:

  • Каковы ключевые особенности абстракции счета?
  • Варианты использования абстракции счета
  • Реализация абстракции счета
  • Риск абстрагирования от аккаунта против вознаграждения?
  • Часто задаваемые вопросы

Каковы ключевые особенности абстракции счета?

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

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

Варианты использования абстракции счета

  • Бесплатные транзакции: Проекты могут оплачивать транзакции пользователей.
  • Безналичные межцепочечные транзакции: Возможность перевести токен ERC20 на другую цепочку и расплачиваться им за транзакции, что означает отсутствие необходимости дополнительно пополнять счет нативной валютой.
  • Дополнительные функции безопасности кошелька : В случае угрозы безопасности все операции со счетом могут быть приостановлены, а затем доступ может быть восстановлен с помощью резервных ключей.
  • Восстановление учетных записей: Например, для восстановления ключа можно использовать набор ключей.
  • Лимиты на транзакции: Можно создать аккаунт, который сможет тратить определенную сумму ETH в месяц.
  • Подписки: Включите подписки так же, как они работают с традиционными кредитными картами.

Реализация абстракции счета

Были разные предложения о том, как внедрить AA в сеть Ethereum. Некоторые из них предполагают значительные изменения в протоколе Ethereum, что усложняет реализацию. Наиболее известной реализацией является ERC-4337, которая не предполагает никаких изменений на уровне консенсуса. Стандарт реплицирует мемпул транзакций на более высоком уровне. Смарт-контракты ERC-4337 были размещены в сети Ethereum в марте 2023 года.

В ERC-4337 вместо EOA используются смарт-контракты, названные кошельками. Кошелек смарт-контракта может контролироваться не только закрытым ключом, но и произвольным сложным механизмом, который закодирован в контракте.

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

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


Реализация AA: HashEx

Помимо прочих данных, UserOperation содержит код для создания кошелька смарт-контракта. Если у пользователя нет кошелька, он будет создан для него.

Если пользователь хочет оплатить транзакцию с помощью токена ERC20 или даже не хочет оплачивать транзакцию вообще, он указывает адрес контракта paymaster в UserOperation. Плательщик - это сторонний сервис, который будет оплачивать транзакцию в обмен на токены ERC20.

Каковы риски и как их уменьшить?

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

Риск ошибок при внедрении стандарта

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

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

Ошибки, связанные с несовместимостью с некоторыми смарт-контрактами

Не каждый смарт-контракт совместим с кошельками абстракции счета. Например, смарт-контракты, которые используют поле tx.origin для проверки кошелька, отправившего транзакцию, получат неожиданное значение. Еще одна несовместимость возникает со смарт-контрактами, использующими подписи EOA: они не поддерживаются кошельками AA.

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

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

Код сторонних разработчиков для кошельков

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

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

Сторонний код для платёжных систем

Если пользователь или проект использует paymasters, он полагается на третью сторону для оплаты транзакций. Могут быть ошибки в реализации paymaster, и вредоносный paymaster может украсть средства пользователей.

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

Устранение проблемы: Кошельки используют только paymaster'ы от надежных провайдеров и гарантируют, что код paymaster'ов был проверен перед их использованием.

Лучшие практики

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

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

Режим проекта стандарта

ERC-4337 все еще находится в черновом режиме, хотя контракты уже развернуты в Mainnet. Существует вероятность того, что стандарт изменится. Следует отметить, что эти изменения должны затронуть более мелкие детали и не повлиять на уже развернутые смарт-контракты.

Устранение последствий: Разработчикам следует следить за тем, как развивается стандарт, и обновлять код своих проектов в соответствии с изменениями стандарта, если они произойдут.

Централизация

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

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

Риск абстрагирования от аккаунта против вознаграждения?

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

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

  1. Эта статья перепечатана с сайта[Beincrypto]. Все авторские права принадлежат оригинальному автору[Глеб Зыков]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!