Post #1374
928
Погружение в EIP-7702. Часть 1
Уже столько всего слышал про обновление Pectra и данный новый стандарт, но все ждал, когда выйдет чуть больше информации с примерами и нюансами использования. Наконец, хочу сделать небольшой цикл постов на основе разных статей, где мы погрузимся в эту тему и разберемся, что к чему.
EIP-7702 - это важное обновление Ethereum, которое позволит аккаунтам, принадлежащим внешним пользователям (Externally Owned Accounts, EOA), напрямую выполнять код смарт-контрактов. Это изменение позволяет EOA получить функциональные возможности смарт-контрактов, что способствует продвижению Ethereum к полной абстракции аккаунтов (account abstraction).
Как обновление Pectra с помощью EIP-7702 повлияет на Account Abstraction Roadmap
Долгосрочная цель Ethereum - превратить каждый аккаунт, принадлежащий внешнему владельцу (Externally Owned Account, EOA), в смарт аккаунт. Хотя Account Abstraction все еще является хоть и не далекой, но все же перспективой, хард форк Pectra ознаменовал собой ключевой шаг вперед, представив EIP-7702. Это обновление позволяет любому EOA запускать код смарт-контракта непосредственно на своем адресе, эффективно расширяя его функциональность за счет возможностей, традиционно доступных только смарт-контрактам.
EIP-7702: Расширение EOA с помощью функций смарт-контракта
EOA и смарт-контракты исторически различались: EOA могут инициировать транзакции, но не могут выполнять код, в то время как смарт-контракты могут выполнять код при вызовах, но не могут начинать транзакции. EIP-7702 устраняет этот разрыв, позволяя EOA выполнять код, стирая границы между ними и смарт-контрактами. Это расширение открывает новые возможности для пользователей, позволяя им пользоваться функциями, подобными смарт-контрактам, без необходимости переходить на полноценные смарт-контракты.
Благодаря EIP-7702 EOA теперь могут хранить адрес, называемый «delegation designator», который указывает на смарт-контракт. Когда транзакция отправляется на EOA, он может выполнить код по этому назначенному адресу, как если бы он был его собственным, подобно тому, как работает «delegate call» в смарт-контрактах.
Если делегированный адрес включает функции смарт-аккаунта, то EOA может функционировать как смарт-аккаунт. Это означает, что он может поддерживать подписание транзакций несколькими владельцами, устанавливать пороговые значения, использовать passkey в качестве подписывающих лиц, а также добавлять различные модули для расширения своих возможностей.
Ключевое отличие от обычного смарт-аккаунта заключается в том, что приватный ключ EOA сохраняет полный контроль. Он может подписывать как транзакции в сети, так и сообщения вне ее, поэтому безопасность этого приватного ключа остается крайне важной. Даже при наличии функций смарт-аккаунта защита приватного ключа необходима для предотвращения несанкционированного доступа.
В конечном итоге это позволит пользователям интегрировать свои EOA в кошельки смарт-аккаунтов, такие как Safe Wallet, предоставляя им доступ к полному набору функций аккаунтов, с которыми они уже знакомы. Это означает, что теперь EOA могут воспользоваться преимуществами повышенной безопасности, удобства и гибкости без необходимости полностью переходить на новый кошелек.
Операция по добавлению «delegation designator» вводит новый тип транзакции, не поддерживаемый автоматически кошельками. Этот новый тип необходим для того, чтобы пользователи не могли непреднамеренно подписать ее и делегировать контроль над своей EOA. Кошельки должны будут реализовать поддержку этой транзакции, отображая специальный интерфейс, который четко объясняет последствия - аналогично интерфейсу, используемому при экспорте закрытого ключа. Из-за значительных рисков безопасности эта транзакция, скорее всего, будет осуществляться доверенными кошельками, а не децентрализованными приложениями (dapp).
Уже столько всего слышал про обновление Pectra и данный новый стандарт, но все ждал, когда выйдет чуть больше информации с примерами и нюансами использования. Наконец, хочу сделать небольшой цикл постов на основе разных статей, где мы погрузимся в эту тему и разберемся, что к чему.
EIP-7702 - это важное обновление Ethereum, которое позволит аккаунтам, принадлежащим внешним пользователям (Externally Owned Accounts, EOA), напрямую выполнять код смарт-контрактов. Это изменение позволяет EOA получить функциональные возможности смарт-контрактов, что способствует продвижению Ethereum к полной абстракции аккаунтов (account abstraction).
Как обновление Pectra с помощью EIP-7702 повлияет на Account Abstraction Roadmap
Долгосрочная цель Ethereum - превратить каждый аккаунт, принадлежащий внешнему владельцу (Externally Owned Account, EOA), в смарт аккаунт. Хотя Account Abstraction все еще является хоть и не далекой, но все же перспективой, хард форк Pectra ознаменовал собой ключевой шаг вперед, представив EIP-7702. Это обновление позволяет любому EOA запускать код смарт-контракта непосредственно на своем адресе, эффективно расширяя его функциональность за счет возможностей, традиционно доступных только смарт-контрактам.
EIP-7702: Расширение EOA с помощью функций смарт-контракта
EOA и смарт-контракты исторически различались: EOA могут инициировать транзакции, но не могут выполнять код, в то время как смарт-контракты могут выполнять код при вызовах, но не могут начинать транзакции. EIP-7702 устраняет этот разрыв, позволяя EOA выполнять код, стирая границы между ними и смарт-контрактами. Это расширение открывает новые возможности для пользователей, позволяя им пользоваться функциями, подобными смарт-контрактам, без необходимости переходить на полноценные смарт-контракты.
Благодаря EIP-7702 EOA теперь могут хранить адрес, называемый «delegation designator», который указывает на смарт-контракт. Когда транзакция отправляется на EOA, он может выполнить код по этому назначенному адресу, как если бы он был его собственным, подобно тому, как работает «delegate call» в смарт-контрактах.
Если делегированный адрес включает функции смарт-аккаунта, то EOA может функционировать как смарт-аккаунт. Это означает, что он может поддерживать подписание транзакций несколькими владельцами, устанавливать пороговые значения, использовать passkey в качестве подписывающих лиц, а также добавлять различные модули для расширения своих возможностей.
Ключевое отличие от обычного смарт-аккаунта заключается в том, что приватный ключ EOA сохраняет полный контроль. Он может подписывать как транзакции в сети, так и сообщения вне ее, поэтому безопасность этого приватного ключа остается крайне важной. Даже при наличии функций смарт-аккаунта защита приватного ключа необходима для предотвращения несанкционированного доступа.
В конечном итоге это позволит пользователям интегрировать свои EOA в кошельки смарт-аккаунтов, такие как Safe Wallet, предоставляя им доступ к полному набору функций аккаунтов, с которыми они уже знакомы. Это означает, что теперь EOA могут воспользоваться преимуществами повышенной безопасности, удобства и гибкости без необходимости полностью переходить на новый кошелек.
Операция по добавлению «delegation designator» вводит новый тип транзакции, не поддерживаемый автоматически кошельками. Этот новый тип необходим для того, чтобы пользователи не могли непреднамеренно подписать ее и делегировать контроль над своей EOA. Кошельки должны будут реализовать поддержку этой транзакции, отображая специальный интерфейс, который четко объясняет последствия - аналогично интерфейсу, используемому при экспорте закрытого ключа. Из-за значительных рисков безопасности эта транзакция, скорее всего, будет осуществляться доверенными кошельками, а не децентрализованными приложениями (dapp).
- ❤ 3
- 👍 1
- 👌 1
