Исследование предложения EIP-7702: окончательное решение Виталика для дилеммы абстрагирования учетной записи?

Новичок5/14/2024, 1:42:24 PM
Виталик Бутерин предложил EIP-7702, который может быть одним из наиболее значительных изменений в истории Ethereum. EIP-7702 направлен на улучшение абстракции учетной записи, позволяя использовать смарт-контракты как учетные записи, тем самым улучшая функциональность и безопасность. Он хорошо совместим с EIP-4337, который был широко принят на платформах, таких как Polygon. EIP-7702 достигает временной делегации EOA (Внешне Собственных Учетных Записей) смарт-контрактам, временно заполняя поле кода контракта EOA кодом смарт-контракта, без необходимости жесткого разделения цепи. Это может изменить способ взаимодействия пользователей с приложениями Web3.

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

Во-первых, предложение EIP-7702 удивительно краткое, что оставило некоторых людей в недоумении относительно его работы. Чтобы понять EIP-7702, нам нужно рассмотреть три других упомянутых в нем предложения:

  1. EIP-4337

  2. EIP-3074

  3. EIP-5003

Давайте начнем с общей цели этих предложений: «абстрагирование учетной записи». На Ethereum у ОУА («обычные» учетные записи) есть существенные недостатки - они очень рискованные и имеют очень ограниченную функциональность. Абстрагирование учетной записи позволяет пользователям использовать смарт-контракты как учетные записи, добавляя больше функциональности и безопасности для решения этих проблем.

EIP-4337

EIP-4337 появился на основной сети в марте 2023 года. Он позволяет писать умные контракты как учетные записи, чтобы они могли проверять и выполнять транзакции, улучшая множество пользовательских опытов (UX).

С момента выпуска EIP-4337 он получил широкое распространение, в основном под руководством Polygon, с увеличением активности от Base в последние месяцы.

Последние инновации, связанные с EIP-4337, поступают из экосистемы Coinbase и Coinbase Smart Wallet. Этот кошелек основан на биометрической технологии, обеспечивая отличный пользовательский опыт. На прошлых выходных я создал еще одну небольшую демонстрацию на ETH Global Sydney, чтобы показать это.

Итак, с какими проблемами столкнулся EIP-4337? Почему сегодня появилось еще одно предложение по абстрагированию учетной записи? Потому что EOAs по-прежнему являются самым широко используемым типом учетной записи.

Кроме того, большинство умных контрактов EIP-4337 контролируются одним единственным подписчиком EOA. Вот пример фрагмента кода:

Поскольку невозможно «преобразовать» EOA пользователя в учетную запись смарт-контракта, существует такое странное промежуточное решение. Это в основном связано с отсутствием поддержки смарт-контрактов в приложениях Web3 для подключения учетных записей смарт-контрактов. В настоящее время большинство людей по-прежнему используют EOA через кошельки-плагины, такие как MetaMask.

EIP-3074

Это приводит нас к нашему следующему предложению: EIP-3074.

На самом деле, эта ​​пропозиция была представлена до EIP-4337, но еще не была включена в основную сеть. EIP-3074 пытается усилить EOAs, позволяя им делегировать управление своими EOAs смарт-контрактам.

Предложение подробно описывает добавление двух новых операционных кодов:

  1. AUTH: EOA может вызвать AUTH, чтобы авторизовать заданный смарт-контракт действовать от его имени.
  2. AUTHCALL: Авторизованный смарт-контракт может использовать AUTHCALL для выполнения транзакций от имени EOA.

Это достигает многих тех же случаев использования, что и EIP-4337, не требуя от каждого пользователя развертывать новый смарт-контракт. Основное различие заключается в том, что транзакции исходят от EOA пользователя, а не от нового контракта, который не имеет истории учетной записи пользователя, ETH, NFT, токенов и т. д.

Реакция на EIP-3074 часто бывает такова: "Что, если кто-то создаст зловредный контракт, и пользователь делегирует ему свои полномочия?" В конце концов, делегирование своих полномочий зловредному контракту может привести к вытеканию всех криптовалютных активов из кошелька пользователя.

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

Очень важный момент о делегировании в EIP-3074 заключается в том, что оно не является постоянным. «Делегирование от EOA аннулируется одной транзакцией, которая увеличивает номер, что делает недействительными все оставшиеся авторизации».

По сути, после того, как пользователь совершит новую транзакцию, делегация больше не будет действительной.

EIP-5003

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

Это отлично ведет нас к нашему следующему предложению: EIP-5003. EIP-5003 вводит еще один операнд, "AUTHUSURP", который развертывает код на адрес авторизации EIP-3074.

Разница между EIP-3074 и EIP-5003 заключается в том, что:

EIP-3074 - это временная делегация для смарт-контрактов, отзывающаяся.

EIP-5003 - это постоянная миграция с EOA и «конвертация» с EOA на учетные записи смарт-контрактов.

Основная проблема EIP-3074 + EIP-5003 заключается в его несовместимости с текущей схемой абстракции учетной записи через EIP-4337. Некоторые члены сообщества Ethereum беспокоятся, что мы можем «создать две отдельные кодовые экосистемы» с этими двумя типами абстракций учетных записей.

EIP-7702

Это приводит нас к предложению Виталика Бутерина сегодня: EIP-7702. Он предлагает изменить EIP-3074, чтобы сделать его более кратким и совместимым с EIP-4337, чтобы мы не оказались с двумя отдельными экосистемами абстракции учетной записи. EIP-5003 затем рассматривается как следующий шаг для постоянной миграции.

EIP-7702 вводит новый тип транзакции, который принимает поля contract_code и signature. При выполнении транзакции он устанавливает код контракта учетной записи подписанта в contract_code. В конце транзакции он сбрасывает код в пустое значение.

Подобно EIP-3074, это достигает временной делегации EOAs смарт-контрактам. Однако EIP-7702 не вводит новые опкоды (которые потребовали бы хардфорк), а скорее определяет функции для вызова:

AUTH -> вызывает «проверить»

AUTHCALL -> вызывает «выполнение»

В частности, это:

Проверяет, пуст ли код контракта вашего аккаунта.

Если оно пусто, устанавливает его в предоставленный контрактный код.

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

Восстанавливает код контракта учетной записи в пустое состояние.

«Код контракта» буквально; здесь хранится код смарт-контракта. Поскольку EOA сам по себе не является контрактом, это поле обычно пусто. Однако гениальность EIP-7702 заключается в том, что оно временно заполняет это поле некоторым кодом смарт-контракта во время выполнения транзакции.

Это способ предоставить новое поведение (в виде кода) для вашего EOA для выполнения этой конкретной транзакции. Следующим шагом является сделать его постоянным изменением поведения, просто выбрав «не устанавливать код в пустое после завершения транзакции».

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

После вступления в силу этого изменения существующие у пользователей ЕОА могут выполнять любой код смарт-контракта. Через дополнительные EIP пользовательские ЕОА также могут быть постоянно обновлены для выполнения определенного кода.

Со временем это может фундаментально изменить то, как мы все взаимодействуем с приложениями Web3.

Утверждение:

  1. Эта статья воспроизведена из [panews], оригинальное название “Исследование предложения EIP-7702: окончательное предписание Виталика для проблемы абстрагирования учетной записи?”, права принадлежат оригинальному автору [Foresight News], если у вас есть какие-либо возражения по поводу перепечатки, пожалуйста, свяжитесь Команда Gate Learn, команда обработает это как можно скорее в соответствии с соответствующими процедурами.

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

  3. Другие языковые версии статьи переведены командой Gate Learn, не упомянутой в Gate , переведенная статья не может быть воспроизведена, распространена или использована в качестве плагиата.

Исследование предложения EIP-7702: окончательное решение Виталика для дилеммы абстрагирования учетной записи?

Новичок5/14/2024, 1:42:24 PM
Виталик Бутерин предложил EIP-7702, который может быть одним из наиболее значительных изменений в истории Ethereum. EIP-7702 направлен на улучшение абстракции учетной записи, позволяя использовать смарт-контракты как учетные записи, тем самым улучшая функциональность и безопасность. Он хорошо совместим с EIP-4337, который был широко принят на платформах, таких как Polygon. EIP-7702 достигает временной делегации EOA (Внешне Собственных Учетных Записей) смарт-контрактам, временно заполняя поле кода контракта EOA кодом смарт-контракта, без необходимости жесткого разделения цепи. Это может изменить способ взаимодействия пользователей с приложениями Web3.

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

Во-первых, предложение EIP-7702 удивительно краткое, что оставило некоторых людей в недоумении относительно его работы. Чтобы понять EIP-7702, нам нужно рассмотреть три других упомянутых в нем предложения:

  1. EIP-4337

  2. EIP-3074

  3. EIP-5003

Давайте начнем с общей цели этих предложений: «абстрагирование учетной записи». На Ethereum у ОУА («обычные» учетные записи) есть существенные недостатки - они очень рискованные и имеют очень ограниченную функциональность. Абстрагирование учетной записи позволяет пользователям использовать смарт-контракты как учетные записи, добавляя больше функциональности и безопасности для решения этих проблем.

EIP-4337

EIP-4337 появился на основной сети в марте 2023 года. Он позволяет писать умные контракты как учетные записи, чтобы они могли проверять и выполнять транзакции, улучшая множество пользовательских опытов (UX).

С момента выпуска EIP-4337 он получил широкое распространение, в основном под руководством Polygon, с увеличением активности от Base в последние месяцы.

Последние инновации, связанные с EIP-4337, поступают из экосистемы Coinbase и Coinbase Smart Wallet. Этот кошелек основан на биометрической технологии, обеспечивая отличный пользовательский опыт. На прошлых выходных я создал еще одну небольшую демонстрацию на ETH Global Sydney, чтобы показать это.

Итак, с какими проблемами столкнулся EIP-4337? Почему сегодня появилось еще одно предложение по абстрагированию учетной записи? Потому что EOAs по-прежнему являются самым широко используемым типом учетной записи.

Кроме того, большинство умных контрактов EIP-4337 контролируются одним единственным подписчиком EOA. Вот пример фрагмента кода:

Поскольку невозможно «преобразовать» EOA пользователя в учетную запись смарт-контракта, существует такое странное промежуточное решение. Это в основном связано с отсутствием поддержки смарт-контрактов в приложениях Web3 для подключения учетных записей смарт-контрактов. В настоящее время большинство людей по-прежнему используют EOA через кошельки-плагины, такие как MetaMask.

EIP-3074

Это приводит нас к нашему следующему предложению: EIP-3074.

На самом деле, эта ​​пропозиция была представлена до EIP-4337, но еще не была включена в основную сеть. EIP-3074 пытается усилить EOAs, позволяя им делегировать управление своими EOAs смарт-контрактам.

Предложение подробно описывает добавление двух новых операционных кодов:

  1. AUTH: EOA может вызвать AUTH, чтобы авторизовать заданный смарт-контракт действовать от его имени.
  2. AUTHCALL: Авторизованный смарт-контракт может использовать AUTHCALL для выполнения транзакций от имени EOA.

Это достигает многих тех же случаев использования, что и EIP-4337, не требуя от каждого пользователя развертывать новый смарт-контракт. Основное различие заключается в том, что транзакции исходят от EOA пользователя, а не от нового контракта, который не имеет истории учетной записи пользователя, ETH, NFT, токенов и т. д.

Реакция на EIP-3074 часто бывает такова: "Что, если кто-то создаст зловредный контракт, и пользователь делегирует ему свои полномочия?" В конце концов, делегирование своих полномочий зловредному контракту может привести к вытеканию всех криптовалютных активов из кошелька пользователя.

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

Очень важный момент о делегировании в EIP-3074 заключается в том, что оно не является постоянным. «Делегирование от EOA аннулируется одной транзакцией, которая увеличивает номер, что делает недействительными все оставшиеся авторизации».

По сути, после того, как пользователь совершит новую транзакцию, делегация больше не будет действительной.

EIP-5003

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

Это отлично ведет нас к нашему следующему предложению: EIP-5003. EIP-5003 вводит еще один операнд, "AUTHUSURP", который развертывает код на адрес авторизации EIP-3074.

Разница между EIP-3074 и EIP-5003 заключается в том, что:

EIP-3074 - это временная делегация для смарт-контрактов, отзывающаяся.

EIP-5003 - это постоянная миграция с EOA и «конвертация» с EOA на учетные записи смарт-контрактов.

Основная проблема EIP-3074 + EIP-5003 заключается в его несовместимости с текущей схемой абстракции учетной записи через EIP-4337. Некоторые члены сообщества Ethereum беспокоятся, что мы можем «создать две отдельные кодовые экосистемы» с этими двумя типами абстракций учетных записей.

EIP-7702

Это приводит нас к предложению Виталика Бутерина сегодня: EIP-7702. Он предлагает изменить EIP-3074, чтобы сделать его более кратким и совместимым с EIP-4337, чтобы мы не оказались с двумя отдельными экосистемами абстракции учетной записи. EIP-5003 затем рассматривается как следующий шаг для постоянной миграции.

EIP-7702 вводит новый тип транзакции, который принимает поля contract_code и signature. При выполнении транзакции он устанавливает код контракта учетной записи подписанта в contract_code. В конце транзакции он сбрасывает код в пустое значение.

Подобно EIP-3074, это достигает временной делегации EOAs смарт-контрактам. Однако EIP-7702 не вводит новые опкоды (которые потребовали бы хардфорк), а скорее определяет функции для вызова:

AUTH -> вызывает «проверить»

AUTHCALL -> вызывает «выполнение»

В частности, это:

Проверяет, пуст ли код контракта вашего аккаунта.

Если оно пусто, устанавливает его в предоставленный контрактный код.

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

Восстанавливает код контракта учетной записи в пустое состояние.

«Код контракта» буквально; здесь хранится код смарт-контракта. Поскольку EOA сам по себе не является контрактом, это поле обычно пусто. Однако гениальность EIP-7702 заключается в том, что оно временно заполняет это поле некоторым кодом смарт-контракта во время выполнения транзакции.

Это способ предоставить новое поведение (в виде кода) для вашего EOA для выполнения этой конкретной транзакции. Следующим шагом является сделать его постоянным изменением поведения, просто выбрав «не устанавливать код в пустое после завершения транзакции».

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

После вступления в силу этого изменения существующие у пользователей ЕОА могут выполнять любой код смарт-контракта. Через дополнительные EIP пользовательские ЕОА также могут быть постоянно обновлены для выполнения определенного кода.

Со временем это может фундаментально изменить то, как мы все взаимодействуем с приложениями Web3.

Утверждение:

  1. Эта статья воспроизведена из [panews], оригинальное название “Исследование предложения EIP-7702: окончательное предписание Виталика для проблемы абстрагирования учетной записи?”, права принадлежат оригинальному автору [Foresight News], если у вас есть какие-либо возражения по поводу перепечатки, пожалуйста, свяжитесь Команда Gate Learn, команда обработает это как можно скорее в соответствии с соответствующими процедурами.

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

  3. Другие языковые версии статьи переведены командой Gate Learn, не упомянутой в Gate , переведенная статья не может быть воспроизведена, распространена или использована в качестве плагиата.

即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!