Исследование предложения EIP-7702: Конечное решение Виталика для вызова проблемы абстракции учетной записи?
Аккаунты 3074, 4337 и 5003 участвуют в абстрагировании прошлых предложений или фундаментальном изменении способа взаимодействия всех с Web3.
Автор: Джаррод Уоттс
Перевод: Фрэнк, Foresight News
Недавно Виталик Бутерин предложил EIP-7702, который может стать одним из самых значительных изменений в истории Ethereum. В этой статье будет представлен принцип работы этого нового предложения и все, что вам нужно знать, чтобы его реализовать.
Прежде всего, новое предложение EIP-7702 удивительно короткое, что оставило некоторых людей в замешательстве относительно того, как оно на самом деле работает. Чтобы понять 7702, сначала нам нужно понять три других упомянутых в нем предложения:
- EIP-4337
- EIP-3074
- EIP-5003
Давайте начнем с общей цели всех этих предложений, "абстрагирование учетной записи" - EOAs ("Внешние управляемые учетные записи") на 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 не имеют встроенной поддержки для подключения к учетным записям смарт-контрактов, поэтому большинство людей все еще используют EOAs через расширения браузера, такие как MetaMask.
EIP-3074
Это приводит нас к нашему следующему предложению: EIP-3074.
Фактически, это предложение было сделано до EIP-4337, но оно еще не было объединено в основную сеть. EIP-3074 нацелен на предоставление EOAs большей мощности, позволяя им делегировать управление своим EOA смарт-контрактам.
В предложении описаны следующие моменты, добавляя две новые операции:
- AUTH: EOAs могут вызывать AUTH для авторизации данного смарт-контракта для действий от их имени;
- AUTHCALL: Авторизованный смарт-контракт может использовать AUTHCALL для выполнения транзакций от имени EOA;
Это достигает многих тех же случаев использования, что и EIP-4337, не требуя от каждого пользователя развертывать новый смарт-контракт. Основное различие заключается в том, что транзакции исходят от EOA пользователя, а не от нового контракта без истории учетной записи пользователя, ETH, NFT, токенов и т. д.
Обычная реакция на EIP-3074 - "Что, если кто-то развернет зловредный контракт и пользователи делегируют ему?" В конце концов, делегирование к зловредному контракту может привести к выкачиванию всех криптовалютных активов пользователя из его кошелька.
Решение этой проблемы заключается в том, что поставщики услуг кошельков могут даже не разрешать использование
RS предоставляет возможность авторизовать любой контракт. Они могут поддерживать белый список умных контрактов, на которые пользователи могут делегировать авторизацию, и любой контракт вне этого списка не будет показан пользователю.
Одним из ключевых моментов делегирования в EIP-3074 является то, что делегирование не является постоянным: "одна отдельная транзакция от EOA увеличит счетчик nonce, что сделает недействительными все оставшиеся авторизации".
После того, как пользователь совершит новую транзакцию, делегация больше не будет действительной.
EIP-5003
Мы также не хотим давать EOAs больше власти. В конце концов, цель этих предложений - перевести пользователей с EOAs на учетные записи умных контрактов, почему же добавлять функциональность к EOAs?
Это приводит нас к нашему следующему предложению: 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, он реализует временную делегацию от EOA к умным контрактам. Однако EIP-7702 не вводит новые опкоды (что потребовало бы хардфорк), а определяет функции для вызова:
- AUTH -> вызывает "verify" для проверки
- AUTHCALL -> вызывает "execute" для выполнения
Конкретно, он:
- Проверяет, пуст ли код вашего учетного контракта;
- Если он пуст, устанавливает его в предоставленный код контракта;
- Выполняет транзакцию на основе того, как умный контракт обрабатывает транзакции;
- Восстанавливает код учетного контракта в пустое состояние;
"Код контракта" - это буквально код умного контракта, хранящийся в "коде контракта". Поскольку EOA сам по себе не является контрактом, это поле обычно пусто. Однако умная часть EIP-7702 заключается в том, что она временно заполняет некоторый код умного контракта в это поле во время выполнения транзакции.
Это способ предоставить новое поведение (в виде кода) вашему EOA для выполнения этой конкретной транзакции, с последующим шагом сделать его постоянным изменением поведения, просто выбрав "не сбрасывать код в пустое состояние после завершения транзакции".
<s
Одним из лучших аспектов этого предложения является его высокая совместимость со всеми абстракциями учетных записей, созданными для EIP-4337 до сих пор, </s
"Код контракта, который пользователи должны подписать, на самом деле может быть существующим кодом кошелька EIP-4337".
Когда эти изменения вступят в силу, существующий EOA пользователей сможет выполнять любой код умного контракта. Через дополнительные EIPs EOAs также могут быть постоянно обновлены для выполнения определенного кода.
Со временем это может фундаментально изменить весь процесс работы
ay все мы взаимодействуем с веб-приложениями третьего поколения.Дисклеймер: содержание этой статьи отражает исключительно мнение автора и не представляет платформу в каком-либо качестве. Данная статья не должна являться ориентиром при принятии инвестиционных решений.
Вам также может понравиться
Поставка сосредоточена, стоимость L1 недооценена, ожидается, что TON станет следующим крупным событием в криптовалюте
В долгосрочной перспективе сравнивать TON с BNB, имеющим рыночную стоимость 9 миллиардов долларов США, является разумной и реалистичной целью.
Восстановление 1155 биткоинов, потерянных и найденных в сети: жертвой может быть обладатель NFT "скучающей обезьяны", раскрыта личность хакера.
9 мая хакеры начали возвращать ETH пострадавшим, в конечном итоге вернув все ETH. Был ли хакер вынужден сделать этот шаг под давлением, или он сделал это по чувству совести? PANews выяснил некоторые причины на основе онлайн-коммуникаций.
Мем-монета: держите название коротким, избегайте повествования "Мы - не просто мем".
Выберите токен Meme, который соответствует вашим ценностям, и наслаждайтесь увлекательным опытом инвестирования.
Как вы относитесь к поддержке Виталиком EIP-7702: не пожертвует ли это неограниченным потенциалом рынка вызывающих EIP-3074?
ERC-4337 и EIP-3074 - два независимых параллельных свободных рынка. Было бы демонстративным ошибкой отказаться от широких возможностей EIP-3074 ради поддержания легитимности ERC-4337.