EIP-7702

Продвинутый

Что такое EIP-7702?

EIP-7702 — это предложение, предназначенное для расширения возможностей аккаунтов с внешним владельцем (EOA). EOA — это основные аккаунты в сети Ethereum, которые могут отправлять транзакции и взаимодействовать со смарт-контрактами. Тем не менее, им не хватает определенных функций, доступных для некоторых криптокошельков, таких как пакетная обработка транзакций и спонсирование платы за газ.
EIP-7702 стремится временно позволить EOA функционировать как аккаунты смарт-контрактов в рамках одной транзакции, тем самым внедряя функции, обычно предназначенные для кошельков смарт-контрактов. EIP-7702 было создано в ответ на некоторые ограничения и критику EIP-3074.

Хотя EIP-7702 в настоящее время не запущено, оно имеет заметную поддержку со стороны сообщества, и многие считают, что это предложение может заменить предложение EIP-3074. Если это произойдет, EIP-7702 может быть реализовано в обновлении Ethereum Pectra, запланированном на конец 2024 года.

Как устроено EIP-7702

EIP-7702 представляет новый тип транзакций в сети Ethereum, который включает в себя специальное поле под названием contract_code. Это дает EOA определенные свойства смарт-контрактов на время транзакции. Давайте разберемся, как это работает.

Транзакция подготовки

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

Авторизация 

Затем пользователь подписывает транзакцию. Эта подпись имеет решающее значение, поскольку она подтверждает подлинность транзакции и включает список авторизации. В этом списке указан код контракта — contract_code, и условия, на которых он должен быть исполнен. По сути, он проверяет и санкционирует временное присвоение кода смарт-контракта EOA.

Исполнение

Когда транзакция отправляется в Ethereum, сеть обрабатывает ее, временно назначая указанный contract_code для EOA. На этом этапе транзакция обрабатывается так, как если бы EOA был смарт-контрактом, используя функции, предоставляемые кодом contract_code.

Возврат

После завершения транзакции сеть Ethereum автоматически удаляет временный contract_code из EOA. EOA возвращается в исходное состояние, теряя временные возможности смарт-контрактов.

Аналогия с доставкой

Представьте, что Боб — курьер с обычным автомобилем, который может перевозить только небольшие посылки. Однажды Боб получает заказ на доставку более крупной посылки. Таким образом, вместо того, чтобы отклонить заказ, Боб решает арендовать дополнительный грузовой ящик, чтобы прикрепить его к своей машине. Он доставляет посылку и возвращает грузовой ящик обратно в пункт проката, возвращаясь к своему обычному автомобилю.

По этой аналогии:

  • EOA — это обычный автомобиль.

  • Арендованный грузовой ящик — это contract_code, который предоставляет дополнительные возможности.
  • Процесс доставки — это транзакция.

  • Аренда и возврат грузового ящика демонстрируют временный характер contract_code, который активен только во время транзакции.

Преимущества EIP-7702

Security-токены

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

Гибкость

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

Внедрение смарт-кошелька

Позволяя EOA временно функционировать как смарт-контракты, EIP-7702 может стимулировать использование функций смарт-кошелька без рисков для безопасности, связанных с постоянными изменениями в EOA.

Заключение

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

Хотя его будущее еще не определено, существенная поддержка EIP-7702 указывает на сильную возможность его включения в предстоящее обновление Ethereum Pectra, запланированное на конец 2024 года.