EIP-7702: Эфир абстрагирование счета как окончательное решение и будущее развитие

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

Введение

Статья разделена на два основных модуля:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В истории было множество вариантов, в конечном итоге сводящихся к двум направлениям.

![Глубокий анализ прошлого и будущего абстрагирования счетов в Ethereum])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.

Эта схема может порождать множество функций:

  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.

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

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

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

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

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

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

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

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

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

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

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

  3. Проверьте, что код подписчика authority не пуст или не делегирован.

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

  5. Установите код подписчика authority на 0xef0100 || адрес.

  6. Увеличить nonce для подписанта authority ), чтобы предотвратить повторную аттестацию локальной подписи (.

  7. Добавить счет подписчика authority в список посещенных адресов.

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

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

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

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

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

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

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

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

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

  1. Баланс счета может уменьшаться из-за транзакций, не связанных с данным счетом.

  2. После начала выполнения сделки EOA nonce может увеличиваться на несколько.

  3. Нарушение логики защиты сравнения tx.origin и msg.sender, многие существующие контракты подвержены риску.

  4. EOA сам по себе может вызывать события, влияя на часть мониторинга идентификации событий в цепочке.

  5. Получение активов ERC20, 721, 1155 и т.д. по адресу EOA может завершиться неудачей ### из-за механизма обратного вызова (.

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

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

  1. Преимущества EIP-7702
  • Более низкие газовые сборы, не требуется модуль entrypoint, уменьшает операции на цепочке.
  • Стоимость миграции пользователей ниже, не требуется предварительное развертывание смарт-контрактов на блокчейне.
  • В отличие от EIP4337, также есть делегирование выполнения кода, существует два способа:

Полная делегация###

  • Выполнить определенное действие
ETH-1.95%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
TommyTeacher1vip
· 07-21 17:46
Старый вопрос о том, что снова не удается найти вход в экосистему.
Посмотреть ОригиналОтветить0
SadMoneyMeowvip
· 07-21 17:46
Ух ух, это снова горячая тема, которая требует много денег.
Посмотреть ОригиналОтветить0
LazyDevMinervip
· 07-21 17:46
AA снова прокладывает путь, никогда не было хороших прогнозов.
Посмотреть ОригиналОтветить0
ForeverBuyingDipsvip
· 07-21 17:43
Снова новые фишки с BTC. Жду тестирования, чтобы узнать, работает ли.
Посмотреть ОригиналОтветить0
GasFeeWhisperervip
· 07-21 17:34
AA трек существует слишком долго, что на самом деле решит 7702?
Посмотреть ОригиналОтветить0
NFTDreamervip
· 07-21 17:20
AA сейчас не популярна, хорошо?
Посмотреть ОригиналОтветить0
  • Закрепить