EIP-7702: Революционный прорыв в абстрагировании счета и направление будущего развития Ethereum

Глубокий анализ эволюции абстрагирования счета Ethereum и перспективы на будущее

Введение

Статья разделена на две основные части:

Первая часть начнется с первого AA-предложения 2015 года, систематически рассмотрит основные предложения EIP до настоящего времени, проследит развитие истории предложений AA и комплексно оценит преимущества и недостатки каждого варианта.

Вторая часть акцентирует внимание на сравнении обратной связи с рынком, столкнувшимся с упадком после предложения EIP4337, и глубокого анализа EIP7702, который будет включен в следующую версию обновления Ethereum. Как только это предложение будет объединено, оно полностью изменит формы цепочных приложений.

EIP-7702 имеет эпохальное значение, давайте подробно обсудим.

1. Фон абстрагирования счета

1.1 Значение абстрагирования счета

Основатель Ethereum Виталик в конце 2023 года снова обновил дорожную карту развития ETH, но настройки, связанные с абстрагированием счета, не были изменены. Текущая основная модель переходит от EIP-4337 к следующему этапу: добровольное преобразование EOA-счетов.

Более чем через год после выхода EIP4337, 1 марта 2023 года было официально объявлено о прохождении аудита (. В противоречивой рыночной среде, где пользователи широко признают, но не используют, прогресс EIP-7702 значительно ускорился и будет объединен в следующем обновлении.

) 1.2 Рынок абстрагирования счета

После полутора лет развития, общее количество счетов EIP4337 на основных цепочках составляет всего 12 миллионов, из которых активных адресов в основной сети Ethereum всего 6,764, что значительно ниже количества EOA и CA адресов. Общее количество независимых адресов в основной сети Ethereum достигло 270 миллионов, EIP4337 практически не имеет существенного развития в основной сети.

Однако это не влияет на сущностную ценность AA. С самого начала проектирования EIP4337 было предопределено, что он не сможет решить проблему обратной совместимости основной сети. С увеличением числа L2 сетей, которые широко интегрируют нативный AA, количество адресов EIP4337 на L2 стремительно растет; в июле количество активных пользователей на цепочках Base и Polygon составило 1 миллион и 3 миллиона соответственно, что демонстрирует впечатляющие результаты.

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

![Глубокий анализ прошлого и будущего абстрагирования счетов Ethereum]###https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(

2. Что такое абстрагирование счета?

абстрагирование счета по сути решает проблему разделения прав собственности.

В архитектуре EVM есть два типа счетов: внешние счета ) EOA ( и контрактные счета ) Contract Account (. Владение внешним счетом и право подписи принадлежат одному и тому же субъекту. Лицо, обладающее приватным ключом, не только имеет "право собственности" на счет, но и имеет право "подписывать перевод всех активов".

Это определяется структурой транзакции Ethereum-счета. В стандартной структуре транзакции нет поля From, фактический перевод средств осуществляется через параметры VRS ), пользователь подписывает (, и From-адрес извлекается. Это касается таких понятий, как асимметричное шифрование, например, ECDSA, и односторонние пороговые функции, безопасность которых обеспечивается криптографией, но также приводит к текущей проблеме объединения прав собственности на адреса EOA.

Основной эффект EIP4337 заключается в добавлении адреса отправителя в поле транзакции, что обеспечивает разделение между закрытым ключом и адресом, с которым производится операция.

Важность разделения прав собственности заключается в решении множества проблем, возникающих из дизайна внешних счетов )EOA(:

  1. Трудно защитить приватный ключ: потеря приватного ключа означает потерю всех активов.
  2. Единый алгоритм подписи: оригинальный протокол поддерживает только проверку подписи ECDSA.
  3. Подпись с слишком высокими правами: нет нативного мультиподписания, одноподписка может выполнять любые операции.
  4. Комиссия за транзакции может быть оплачена только в Эфире, массовые транзакции не поддерживаются.
  5. Утечка конфиденциальности при торговле: одноранговая торговля может легко раскрыть личные данные владельца счета.

Эти ограничения затрудняют обычным пользователям использование Ethereum:

  • Для использования любого приложения необходимо держать Эфир и нести риски ценовых колебаний.
  • Пользователям необходимо обрабатывать сложную логику сборов, такую как цена газа, лимит газа, Nonce и т.д.
  • Хотя многие кошельки пытаются улучшить пользовательский опыт за счет оптимизации продуктов, результаты ограничены.

Путь к прорыву заключается в реализации абстрагирования счета, что позволяет декомпозировать право собственности )Owner( и право подписи )Signer(, тем самым постепенно решая указанные проблемы.

Исторические схемы хоть и многообразны, в конечном итоге сводятся к двум основным направлениям.

![Глубокое понимание прошлого и будущего абстрагирования счета Эфира])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(

3. Обзор истории предложений по абстрагированию счета

Решение проблемы кажется имеющим множество предложений EIP, но в конечном итоге существует всего две основные идеи. Каждое отклоненное EIP учитывало проблемы, которые были интегрированы в прорывные моменты существующих решений.

) 3.1 Первый маршрут: преобразование адреса EOA в адрес CA

Еще 15 ноября 2015 года Виталик предложил новую структуру счета в виде контракта в EIP-101. Основные изменения включают:

  • Изменить адрес так, чтобы он состоял только из кода и хранилища
  • Изменение поддержки комиссии, разрешение оплаты ERC20 токенами
  • Через предкомпилированный контракт изменить нативный токен на хранение баланса в стиле ERC20
  • Упрощение полей транзакции, оставив только to, startgas, data и code

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

Производные функции включают:

  1. Поддержка большего количества криптографических алгоритмов, способ проверки подписи определяется внутренним кодом адреса.
  2. Обладает характеристиками защиты от квантовых атак, поскольку код может быть обновлен.
  3. Предоставление ETH такой же функциональности, как у контрактов ERC20, например, авторизация удержания.
  4. Улучшение пользовательского пространства счета, совместимость с восстановлением через социальные сети, поддержка SBT, восстановление ключей и т.д.

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

В дальнейшем ряд EIP пытается усовершенствовать эту логику:

EIP-859)2018-01-30(: абстрагирование счета основной цепи

  • Решение проблем с развертыванием кода: при отсутствии развернутого контракта стороны, используйте параметр code,附带交易 для развертывания контракта кошелька.
  • Ввести новый код операции PAYGAS в качестве разделителя между частью валидации и исполнения в параметрах транзакции

Хотя тогда это не увенчалось успехом, это стало одной из основных логик EIP7702. Каждая транзакция EIP7702, сочетая специальную структуру транзакции, может содержать определенный код, что позволяет адресу EOA обладать контрактными возможностями в этой транзакции.

EIP-7702)2024-05-07(: настройка кода EOA счета В качестве альтернативы EIP-3074, EIP-7702 будет включен в предстоящий хард-форк ETH Prague/Electra.

) 3.2 Второй маршрут: позволить EOA адресу управлять CA адресом

EIP-3074###2020-10-15(: добавление кодов операций AUTH и AUTHCALL В EVM добавлены два новых операционных кода, позволяющих EOA через эти операционные коды уполномочивать контракты на вызов других контрактов от имени EOA.

EIP-4337)2021-09-29(: Реализация абстрагирования счета с помощью пула памяти транзакций Вдохновленный MEV, основная ценность заключается в полном избегании изменений в протоколе уровня консенсуса. Предложен новый объект транзакции UserOperation, который пользователи отправляют в пул памяти, где бандлеры группируют и передают для выполнения контрактных транзакций, по сути, поднимая базовые транзакции и операции со счетом на уровень выполнения контракта.

EIP-5189)2022-06-29(: через операции с абстрагированным счетом с помощью андеррайтера Оптимизация логики EIP4337, создание механизма одобрения штрафов за средства для предотвращения атак блокировки DoS.

) 3.3 Другие предложения, поддерживающие абстрагирование счета

EIP-2718###2020-06-13(:упаковочный конверт нового типа транзакции Утвержденное предложение определяет новый тип транзакции как конверт для будущих новых типов транзакций. При введении нового типа транзакции используется специфическое кодирование для различения, что обеспечивает обратную совместимость без необходимости прямой совместимости. Например, EIP1559 разделяет комиссии за транзакции, используя код нового типа транзакции, не влияя на первоначальный тип транзакции legacy.

EIP-3607)2021-06-10(: Запрещено развертывание контрактов с адресов EOA Дополнительное решение по пути AA, чтобы предотвратить конфликт между адресом развертывания контракта и адресом EOA. Контроль метода генерации контракта, запрещающий развертывание кода по адресу, который уже является адресом EOA.

) 3.4 Как понять развитие абстрагирования счета?

Сначала необходимо понять ценность, преобразованную в CA, которая в основном представляет собой фактический эффект EIP-4337:

  • Поддержка пакетной торговли
  • Поддержка оплаты Gas
  • Поддержка восстановления счета
  • Поддержка мультиподписей
  • Поддержка релейных транзакций
  • Поддержка обновления алгоритма подписи
  • Поддержка контрактного кошелька ERC4337
  • Поддержка третьих лиц для оплаты Gas

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

Кажется, лучше, но попадает в мертвую петлю развития рынка: многие Dapp несовместимы, пользователи не хотят использовать адреса CA; использование CA, наоборот, увеличивает стоимость транзакций ###, в обычных сценариях переводов комиссионные сборы удваиваются (, слишком сильно зависит от совместимости Dapp.

Поэтому на основной сети Ethereum так и не удалось распространить.

Стоимость является самым важным критерием для пользователей, необходимо снизить затраты.

Чтобы действительно снизить Gas, необходимо провести мягкий форк самого Ethereum, изменив расчет Gas или модули потребления Gas операций. Поскольку нужно делать мягкий форк, почему бы не рассмотреть EIP-7702 напрямую?

![Глубокий анализ прошлого и будущего абстрагирования счета Ethereum])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(

4. Полный анализ EIP-7702

) 4.1 Обзор EIP-7702

С помощью нового типа транзакции EOA может временно обладать функциями смарт-контракта в одной транзакции, поддерживая пакетные транзакции, транзакции без газа и управление пользовательскими правами, при этом не требуя введения нового кода операции EVM ###, что влияет на обратную совместимость (.

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

) 4.2 структура данных

Определение нового типа транзакции 0x04, TransactionPayload является результатом RLP-кодирования следующего содержимого:

rlp###[ chain_id, nonce max_priority_fee_per_gas, max_fee_per_gas, gas_limit, направление, значение, данные, access_list, authorization_list, signature_y_parity, signature_r, signature_s ](

Добавлен объект authorization_list, который хранит код, который подписывающий хочет выполнить в EOA. Пользователь подписывает контрактный код, который необходимо выполнить одновременно с транзакцией. Он существует в виде двумерного списка и может хранить несколько операций, позволяя выполнять пакетные операции.

authorization_list = [[chain_id, адрес, nonce, y_parity, r, s], ...]

) 4.3 Жизненный цикл сделки

4.3.1 Этап проверки

Для кортежа [chain_id, address, nonce, y_parity, r, s] каждого authorization_list:

  1. Восстановить адрес подписанта из r и s подписи с помощью ecrecover
  2. Проверка идентификатора цепи ### для предотвращения повторного воспроизведения цепи с разветвлением (
  3. Проверьте, пуст ли код подписчика authority или был ли он делегирован.
  4. Проверка nonce ) подписчика authority для предотвращения повторной подписи authority (
  5. Установите код подписчика authority на 0xef0100 || адрес
  6. Увеличьте nonce для подписателя authority ), чтобы предотвратить повторное использование локальных подписей (
  7. Добавьте аккаунт подписанта authority в список посещенных адресов

)# 4.3.2 Этап выполнения операций

Новая версия изменяет только поведение развертывания кода. Больше не устанавливается код счета как contract_code, а код, указанный по адресу из authorization_list, будет установлен как код счета.

При выполнении авторизованного кода загружайте код из поля address в authorization_list, выполняя его в контексте счета подписывающего.

Код пользовательского контракта фактически хранится по определенному адресу в цепочке, а не непосредственно включен в транзакцию. Операционные команды и связанные параметры хранятся в поле data нагрузки транзакции.

4.4 Ценность EIP-7702

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

Ломая несколько существующих стереотипов:

  1. Баланс счета может уменьшаться из-за транзакций, не связанных с этим счетом.
  2. После начала выполнения сделки EOA nonce может увеличиться на несколько.
  3. Логика защиты сравнения tx.origin и msg.sender не работает
  4. EOA может генерировать события, влияющие на идентификацию и прослушивание событий на блокчейне.
  5. EOA адрес может не успешно получить активы ERC20, 721, 1155 и т.д. ### механизм обратного вызова (

) 4.5 Сравнение EIP-7702 и EIP-4337

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

  • Более низкие газовые расходы, не требуется проходить через модуль entrypoint
  • Стоимость миграции пользователей ниже, не требуется предварительное развертывание смарт-контрактов на блокчейне
  • Также поддерживает выполнение кода по доверенности, делится на полное
ETH-0.5%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Поделиться
комментарий
0/400
retroactive_airdropvip
· 07-28 20:44
Заголовок 7702 что нового?
Посмотреть ОригиналОтветить0
ChainMaskedRidervip
· 07-28 15:16
Слишком длинно, не могу прочитать, Виталик Бутерин, ты хоть говори по-людски.
Посмотреть ОригиналОтветить0
GasGuzzlervip
· 07-27 22:47
Это название предложения слишком трудно запомнить, да? 7702?
Посмотреть ОригиналОтветить0
CafeMinorvip
· 07-26 03:35
Абстрактный интерфейс снова заработал. Не травите новичков.
Посмотреть ОригиналОтветить0
NeverPresentvip
· 07-26 03:35
Снова начали говорить о 7702, действительно может прогрессировать.
Посмотреть ОригиналОтветить0
ApeWithNoFearvip
· 07-26 03:33
Так долго уже абстрагирование счета не может быть понято... vb, ты можешь это сделать?
Посмотреть ОригиналОтветить0
HashRateHermitvip
· 07-26 03:14
Снова снова снова говорит про AA, надоело!
Посмотреть ОригиналОтветить0
  • Закрепить