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

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

Введение

В данной статье будет рассмотрено развитие абстрагирования счета Ethereum (AA) с двух основных сторон:

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

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

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

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

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

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

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

Несмотря на то, что с момента выпуска EIP4337 прошло уже больше года, реакция рынка остается довольно противоречивой - пользователи в целом признают его ценность, но фактический уровень использования остается низким. В этих условиях прогресс 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

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

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

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

Эта особенность определяется структурой транзакций Ethereum. На самом деле в стандартной структуре транзакций Ethereum нет поля From. Адрес инициатора транзакции определяется через параметры VRS (, то есть через обратное разрешение подписи пользователя ).

Этот дизайн, хотя и обеспечивает безопасность с помощью криптографии, также привел к текущей дилемме объединения прав собственности на адреса EOA.

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

Причина, по которой разделение прав собственности столь важно, заключается в том, что проектирование EOA порождает множество проблем:

  1. Сложно защитить приватный ключ: потеря приватного ключа означает потерю всех активов.

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

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

  4. Торговая комиссия может оплачиваться только Эфиром, массовая торговля не поддерживается.

  5. Приватность транзакций легко подвержена утечке: одноразовая сделка легко анализируется для получения информации о владельце счета.

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

Сначала пользователю необходимо владеть Эфиром ( и принимать на себя риск ценовых колебаний ), чтобы использовать приложения на Ethereum.

Во-вторых, пользователям необходимо справляться со сложной логикой сборов, такой как цена газа, лимит газа, блокировка транзакций ( порядок nonce ) и другие концепции, которые слишком сложны для пользователей.

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

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

В истории было предложено множество схем, которые в конечном итоге объединились в две основные линии.

3. Анализ исторических предложений AA

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

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

Еще в ноябре 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, который, помимо оплаты газа, также служит разделителем между частью верификации и частью выполнения в параметрах сделки.

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

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

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

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

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

Данное предложение предлагает добавить два новых кода операций AUTH и AUTHCALL в EVM, чтобы EOA мог использовать эти два кода операций для авторизации контракта вместо вызова других контрактов от имени EOA.

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

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

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

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

EIP-5189: через действия поручителей абстрагирование счета (2022-06-29)

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

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

EIP-2718: упаковочный конверт нового типа транзакции ( 2020-06-13 )

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

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

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

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

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

Сначала необходимо понять ценность, преобразованную в CA.

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

  1. Поддержка мультиподписей и социального восстановления
  2. Поддержка пакетных сделок
  3. Поддержка оплаты газа с использованием токенов ERC20
  4. Поддержка лимитов на сделки
  5. Поддержка безгазовых транзакций (, оплата газа )
  6. Поддержка блокировки счета ( и переключения между горячим и холодным кошельком )

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

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

Вот почему он до сих пор не смог распространиться в основной сети Ethereum.

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

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

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

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

4.1 Введение в EIP-7702

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

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

4.2 Структура данных

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

rlp([ chain_id, нонсе, 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. Пользователь подписывает транзакцию одновременно с подписанием того, что нужно выполнить.

ETH-3.26%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
RektRecoveryvip
· 20ч назад
мэ... еще одно предложение AA, которое, вероятно, будет разрушено, как это произошло с 4337. говорю это сейчас
Посмотреть ОригиналОтветить0
BearMarketNoodlervip
· 20ч назад
Новый проект наконец-то пришел, 4337 еще не успел согреться.
Посмотреть ОригиналОтветить0
Degentlemanvip
· 20ч назад
Опять что-то новенькое? Дайте-ка мне посмотреть.
Посмотреть ОригиналОтветить0
DancingCandlesvip
· 21ч назад
На самом деле говорили полдня, а так ничего и не сказали.
Посмотреть ОригиналОтветить0
  • Закрепить