EIP-7702解析:абстрагирование счета的新纪元与EOA能力升级

Глубокий анализ прошлого и будущего абстракции счета Ethereum

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

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

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

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

1. Фон абстракции счета

1.1 Значение абстракции счета

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

С момента запуска EIP4337 прошло более года, и 1 марта 2023 года на WalletCon в Денвере был официально представлен (, который получил широкое признание среди пользователей, но не был широко использован. В таких противоречивых рыночных условиях прогресс 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. Что такое абстракция счета?

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

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

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

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

Важность разделения прав собственности заключается в:

  1. Защита частного ключа затруднена: потеря частного ключа означает потерю всех активов.

  2. Единственный алгоритм подписи: для проверки транзакций в оригинальном протоколе можно использовать только алгоритм ECDSA.

  3. Слишком высокий уровень разрешений на подпись: отсутствие нативного мультиподписания, одна подпись может выполнять любые действия.

  4. Комиссия за транзакцию может быть оплачена только в ETH, массовые транзакции не поддерживаются.

  5. Утечка конфиденциальности交易: одноразовые交易 легко анализировать информацию о владельце счета.

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

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

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

В истории существовало множество решений, в конечном итоге они свелись к двум направлениям.

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

3. Исторические предложения AA: контекст

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

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

15 ноября 2015 года Виталик предложил новую структуру счетов в EIP-101, основанную на контрактах. Адрес изменяется так, чтобы включать только код и пространство для хранения, поддерживается оплата комиссий с помощью ERC20, через предварительно скомпилированные контракты оригинальные токены преобразуются в классы ERC20 для хранения баланса, а поля транзакции упрощаются до только to, startgas, data и code.

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

Можно разработать и другие функции:

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

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

Позже была серия EIP, пытавшихся усовершенствовать эту логику:

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

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

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

EIP-7702: установка кода EOA счета )2024-05-07(

Это ключевой EIP, обсуждаемый в данной статье, предложенный Виталиком в качестве альтернативы EIP-3074. EIP-3074 был отменён, EIP-7702 будет включён в предстоящий хард-форк ETH Prague/Electra.

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

EIP-3074: добавление кодов операций AUTH и AUTHCALL ###2020-10-15(

В EVM добавлены два новых OpCode: AUTH и AUTHCALL, которые позволяют EOA авторизовать контракты для вызова других контрактов вместо использования идентичности EOA.

В общем, EOA может отправить подписанное сообщение ) транзакцией ( на доверенный контракт ), называемый Invoker (. Контракт Invoker может использовать AUTH и AUTHCALL вместо EOA для выполнения транзакций.

EIP-4337: Реализация абстракции счетов с помощью мемпула транзакций)2021-09-29(

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

EIP4337 предлагает новый объект транзакции UserOperation, который пользователи отправляют в пул памяти, а бандлеры с точки зрения майнеров группируют и передают для выполнения контрактных транзакций. По сути, это перевод базовых транзакций и операций со счетом на уровень выполнения контрактов.

EIP-5189: Операции с абстрактными счетами через андеррайтеров )2022-06-29(

Оптимизирована логика EIP4337, создан механизм поддержки штрафов за средства )endorser( для предотвращения DoS атак злонамеренных Bundler.

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

EIP-2718: Упаковка нового типа транзакции ###2020-06-13(

Уже финальное предложение, определяющее новый тип сделки в качестве конверта для будущих новых типов сделок.

При введении нового типа транзакции различие осуществляется с помощью определенного кода, требуется только обратная совместимость, но не прямая. Наиболее распространенный пример — EIP1559, который различает комиссию за транзакцию, используя новый код типа транзакции, не затрагивая при этом первоначальный тип транзакции legacy.

EIP-3607: Запретить EOA адресам развертывать контракты )2021-06-10(

Дополнительное решение на пути AA, чтобы предотвратить конфликт между адресом развертывания контракта и адресом EOA. Контроль метода генерации контракта, не позволяя развертыванию кода на адресе, который уже является EOA. Этот риск очень мал, адрес Эфира имеет длину 160 бит, хотя существует метод получения приватного ключа для указанного адреса контракта с помощью коллизии приватного ключа, но, по оценкам, потребуется около года при полном использовании хэшрейта биткойна.

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

Сначала нужно понять ценность после преобразования в CA.

В основном, это фактический эффект EIP-4337, который может реализовать:

  • Восстановление социальных сетей
  • Безгассовая транзакция
  • Пакетная сделка
  • Оплата газа
  • Счет заблокирован
  • Пользовательская подпись

Но основным недостатком 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 opCode###, что влияет на обратную совместимость(.

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

) 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, подпись_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. Проверка цепи ID### для предотвращения повторного воспроизведения цепи с разветвлением (.

  3. Проверить, является ли код подписанта authority пустым или делегированным ) для проверки, является ли транзакция действительной транзакцией 7702 (.

  4. Проверка nonce authority подписчика ) для предотвращения повторной подписки authority (.

  5. Установите код подписчика authority на 0xef0100 || address) для обхода стратегии предотвращения коллизий EIP3607 (.

  6. Увеличить nonce подписчика authority ) для предотвращения повторного использования локальной подписи (.

  7. Добавьте счет подписчика authority в список посещенных адресов ) для горячего адреса, чтобы снизить газовые расходы на хранение запросов (.

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

"Новая" версия изменяет только поведение развертывания кода.

Больше не устанавливайте код счета как contract_code, а извлекайте код address из authorization_list и устанавливайте его в качестве кода счета.

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

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

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

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

Изменения затронули весь путь пользователя в Web3 кошельках.

ETH-2.94%
GAS3.7%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
CommunityLurkervip
· 07-16 07:30
Снова говорят, что Блокчейн изменит мир.
Посмотреть ОригиналОтветить0
BearHuggervip
· 07-14 19:01
Снова повседневная жизнь Вита, рисующего большой пирог
Посмотреть ОригиналОтветить0
StableNomadvip
· 07-14 18:40
кажется, как дежавю из 2021 года... еще один "революционный" eip, который, честно говоря, вероятно, будет иметь 0,001% уровень принятия
Посмотреть ОригиналОтветить0
rekt_but_not_brokevip
· 07-14 18:34
Это то самое aa, о котором все время говорит v佬.
Посмотреть ОригиналОтветить0
  • Закрепить