Глубокий анализ прошлого и будущего абстрагирования счетов в Ethereum
Введение
Статья делится на два основных модуля:
В верхней части рассматриваются основные моменты предложений EIP с момента первого предложения AA в 2015 году, обсуждается эволюция исторических предложений AA и проводится комплексная оценка достоинств и недостатков различных схем.
В нижней части основное внимание уделяется сравнительному анализу холодной реакции рынка на введение EIP4337, глубокому анализу EIP7702, который будет включен в следующее обновление Ethereum. Если это предложение будет объединено, оно полностью изменит форму приложений на цепи.
EIP-7702 имеет эпохальное значение, давайте подробно рассмотрим.
1. Фон абстрагирования счета
1.1 Значение абстрагирования счета
Основатель Ethereum Виталик в конце 2023 года снова обновил дорожную карту ETH, но позиционирование абстрагирования счета не изменилось. В настоящее время основная модель переходит от EIP-4337 к следующему этапу "добровольного преобразования EOA-счетов".
Более года прошло с момента запуска EIP4337, и 1 марта 2023 года на WalletCon в Денвере, разработчики фонда Ethereum реализовали основной контракт ERC-4337, который прошел аудит в OpenZeppelin и был официально запущен (. Он всегда пользовался широкой популярностью среди пользователей, но не был широко использован. В таких противоречивых рыночных условиях, прогресс EIP-7702 значительно ускорился и подтверждено, что он будет объединен в следующем обновлении.
) 1.2 Рыночная ситуация абстрагирования счета
После полутора лет разработки на основных цепочках EIP4337 имеет всего 12 миллионов адресов, из которых только 6,764 активных адреса в основной сети Ethereum, что значительно меньше, чем количество 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( создают больше проблем:
Трудно защитить приватный ключ: потеря приватного ключа означает утрату всех активов.
Единственный алгоритм подписи: Верификация транзакций в родном протоколе может использовать только алгоритм ECDSA.
Слишком высокие разрешения на подпись: нет родного мультиподписания, одноподпись может выполнять любые действия.
Комиссия за транзакцию может быть оплачена только в Эфире, массовые транзакции не поддерживаются.
Утечка конфиденциальности сделок: одноранговая торговля легко анализирует личную информацию владельца счета.
Эти ограничения затрудняют обычным пользователям использование Ethereum:
Во-первых, для использования любого приложения на Ethereum необходимо владеть ETH и нести риски колебания цен.
Во-вторых, пользователю необходимо разобраться со сложной логикой затрат, такой как цена газа, лимит газа, заблокированные транзакции, ) порядок nonce ( и другие слишком сложные понятия.
В конечном итоге, хотя многие кошельки или приложения на блокчейне пытаются улучшить пользовательский опыт за счет оптимизации продукта, фактический эффект невелик.
Таким образом, решение заключается в реализации абстрагирования счета, декомпозируя права собственности )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.
Это революционное изменение, которое значительно изменит базовый дизайн, позволяя каждому адресу счета иметь свою "кодовую" логику (, что как раз является целью EIP-7702 ).
можно также вывести другие функции, такие как:
Торговля использует больше криптографических алгоритмов, внутренний код каждого адреса определяет метод проверки подписи и аутентификации.
Обладает характеристиками защиты от квантовых атак, код может быть обновлен
Эфир имеет аналогичную функциональность ERC20 контрактов, основные эффекты включают авторизацию на удержание, без необходимости в расходах на родную валюту
Повышение кастомизации счета, совместимость с восстановлением социальных аккаунтов, поддержка SBT, восстановление ключей и другое
Причина, по которой не было продолжено продвижение, очень проста: шаги были слишком большими, и проблемы с конфликтами хешей текущих транзакций и угрозы безопасности не были должным образом учтены, поэтому они были отложены. Однако каждая из положительных идей стала одной из основных функций для последующих EIP4337 и EIP7702.
Позже была серия EIP, пытавшихся усовершенствовать эту логику:
EIP-859: абстрагирование счета основной цепи (2018-01-30)
Попытка решить проблему развертывания кода, основная функция заключается в том, что если контракт стороны сделки не развернут, то используется параметр code, прикрепленный к сделке, для выполнения развертывания контракта-кошелька. Также был предложен новый оператор PAYGAS, который, помимо оплаты газа, стал разделителем между частью проверки и частью выполнения в параметрах транзакции.
Хотя тогда все закончилось безрезультатно, это стало одной из ключевых логик текущего EIP7702. Каждая транзакция EIP7702 в сочетании со специальной структурой транзакции может содержать определенный код, позволяющий EOA-адресу иметь контрактные способности в этой транзакции.
EIP-7702: установка кода EOA-счета (2024-05-07)
Это ядро механизма обсуждения в данной статье, представленное Виталиком в качестве альтернативы EIP-3074. Поэтому EIP-3074 был отвергнут, а EIP-7702 будет включен в предстоящий хардфорк ETH Prague/Electra(Pectra).
( 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, чтобы предотвратить DoS-атаки с блокировкой путем создания механизма обеспечения санкций для злонамеренных Bundler.
( 3.3 Другие предложения, поддерживающие абстрагирование счета
EIP-2718: упаковка нового типа транзакции )2020-06-13###
Уже финализированное предложение, определяющее новый тип транзакции как конверт для будущих новых типов транзакций.
Конечный эффект заключается в том, что при введении нового типа транзакции с помощью специального кодирования можно обеспечить только обратную совместимость, без необходимости в прямой совместимости. Наиболее распространенный пример - это EIP1559, который различает сборы за транзакции, используя кодирование нового типа транзакции, не влияя на первоначальный тип транзакции legacy.
EIP-3607: сделать адреса EOA недоступными для развертывания контрактов (2021-06-10)
Дополнительное решение по пути AA, предотвращающее конфликт между адресом развертывания контракта и адресом EOA. Контролируйте методы генерации контрактов, система не допускает развертывание кода по адресу, который уже является адресом EOA. Этот риск очень мал, так как адрес Ethereum имеет длину 160 бит, хотя существует метод получения частного ключа для указанного адреса контракта с помощью коллизии частного ключа, но даже при полном вложении вычислительных мощностей Bitcoin потребуется около года.
( 3.4 Как понять историю развития абстрагирования счета?
Сначала необходимо понять ценность после преобразования в CA
В основном это фактический эффект EIP-4337, который может реализовать:
Оплата газа любым токеном
Пакетная торговля
Программируемость подписей
Логику кошелька можно обновлять
Мультиподпись и социальное восстановление
Безгазовая транзакция
Программируемая оплата газа
Однако основной недостаток EIP-4337 заключается в том, что он противоречит принципу человеческой мотивации.
Кажется лучше, но попадает в мертвый цикл развития рынка. Многие Dapp несовместимы, пользователи не хотят использовать адреса CA, использование CA даже имеет более высокие транзакционные затраты ) в обычных сценариях перевода, комиссия за транзакцию удваивается ###, слишком зависимо от совместимости самого Dapp.
Поэтому на основной сети Ethereum до сих пор не было широкого распространения.
Стоимость является самым важным критерием для пользователей, необходимо снизить затраты.
Но для реального снижения GAS необходимо, чтобы сам Ethereum провел мягкий форк-апгрейд, изменив расчет GAS или изменив модули потребления GAS операций. Если нужно проводить мягкий форк, почему бы не рассмотреть EIP-7702?
4. Полный анализ EIP-7702
( 4.1 Что такое EIP-7702
С помощью нового типа транзакций различаются, позволяя EOA временно обладать функциями смарт-контракта в одной транзакции, что поддерживает массовые транзакции в бизнесе, транзакции без газа и управление пользовательскими правами и не требует введения нового EVM opCode), влияя на обратную совместимость###.
может позволить пользователям получить большую часть возможностей абстрагирования счета без развертывания смарт-контрактов, даже предоставляя третьим лицам возможность инициировать транзакции от имени пользователей, при этом не требуя от пользователей предоставления закрытого ключа, достаточно только подписать информацию авторизации.
( 4.2 Структура данных
Определение нового типа транзакции 0x04, этот тип транзакции TransactionPayload является результатом сериализации RLP следующего содержания:
Важно добавить объект authorization_list, который хранит код, который подписывающие лица хотят выполнить в своем EOA. Пользователь подписывает транзакцию, одновременно подписывая код контракта, который будет выполнен, в виде двумерного списка, что позволяет хранить несколько операций и выполнять пакетные операции.
Выполнение этапа начала сделки, для каждого кортежа [chain_id, address, nonce, y_parity, r, s] в authorization_list:
Восстановите адрес подписанта ### из подписи r, s с помощью ecrecover, используя механизм самого Ethereum, данный EIP не изменил алгоритм подписи ###.
Проверка Chain ID ( для предотвращения повторного воспроизведения разветвленной цепи ).
Проверьте, является ли код подписчика authority пустым или делегированным (, чтобы проверить, является ли транзакция действительной 7702, а затем выполните транзакцию ) через механизм делегирования.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
14 Лайков
Награда
14
7
Поделиться
комментарий
0/400
BlockchainWorker
· 13ч назад
7702 снова пришел с новыми вещами, почему это кажется ненадежным?
Посмотреть ОригиналОтветить0
LiquidityOracle
· 13ч назад
Предложение 7702, похоже, снова собирается что-то затеять.
Посмотреть ОригиналОтветить0
MetaverseLandlady
· 13ч назад
Что, правда, только 4337? 7702 - это уже серьезно!
Посмотреть ОригиналОтветить0
FloorSweeper
· 13ч назад
ngmi... еще одна переоцененная L1 "инновация", которая провалится так же, как 4337.
Посмотреть ОригиналОтветить0
BlockchainDecoder
· 13ч назад
Согласно исследовательским данным, еще предстоит проверить, действительно ли 7702 сможет изменить негативный тренд 4337.
Посмотреть ОригиналОтветить0
BearMarketSurvivor
· 13ч назад
Снова апгрейд позиции в шорт, даже собаки не играют.
Посмотреть ОригиналОтветить0
MEVHunterBearish
· 13ч назад
Кажется, что 4337 только начал набирать популярность, и его уже собираются заменить.
Ethereum EIP-7702: новая эпоха абстрагирования счета, позволяющая EOA получать возможности смарт-контрактов
Глубокий анализ прошлого и будущего абстрагирования счетов в Ethereum
Введение
Статья делится на два основных модуля:
В верхней части рассматриваются основные моменты предложений EIP с момента первого предложения AA в 2015 году, обсуждается эволюция исторических предложений AA и проводится комплексная оценка достоинств и недостатков различных схем.
В нижней части основное внимание уделяется сравнительному анализу холодной реакции рынка на введение EIP4337, глубокому анализу EIP7702, который будет включен в следующее обновление Ethereum. Если это предложение будет объединено, оно полностью изменит форму приложений на цепи.
EIP-7702 имеет эпохальное значение, давайте подробно рассмотрим.
1. Фон абстрагирования счета
1.1 Значение абстрагирования счета
Основатель Ethereum Виталик в конце 2023 года снова обновил дорожную карту ETH, но позиционирование абстрагирования счета не изменилось. В настоящее время основная модель переходит от EIP-4337 к следующему этапу "добровольного преобразования EOA-счетов".
Более года прошло с момента запуска EIP4337, и 1 марта 2023 года на WalletCon в Денвере, разработчики фонда Ethereum реализовали основной контракт ERC-4337, который прошел аудит в OpenZeppelin и был официально запущен (. Он всегда пользовался широкой популярностью среди пользователей, но не был широко использован. В таких противоречивых рыночных условиях, прогресс EIP-7702 значительно ускорился и подтверждено, что он будет объединен в следующем обновлении.
) 1.2 Рыночная ситуация абстрагирования счета
После полутора лет разработки на основных цепочках EIP4337 имеет всего 12 миллионов адресов, из которых только 6,764 активных адреса в основной сети Ethereum, что значительно меньше, чем количество 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( создают больше проблем:
Эти ограничения затрудняют обычным пользователям использование Ethereum:
Во-первых, для использования любого приложения на Ethereum необходимо владеть ETH и нести риски колебания цен.
Во-вторых, пользователю необходимо разобраться со сложной логикой затрат, такой как цена газа, лимит газа, заблокированные транзакции, ) порядок nonce ( и другие слишком сложные понятия.
В конечном итоге, хотя многие кошельки или приложения на блокчейне пытаются улучшить пользовательский опыт за счет оптимизации продукта, фактический эффект невелик.
Таким образом, решение заключается в реализации абстрагирования счета, декомпозируя права собственности )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.
Это революционное изменение, которое значительно изменит базовый дизайн, позволяя каждому адресу счета иметь свою "кодовую" логику (, что как раз является целью EIP-7702 ).
можно также вывести другие функции, такие как:
Причина, по которой не было продолжено продвижение, очень проста: шаги были слишком большими, и проблемы с конфликтами хешей текущих транзакций и угрозы безопасности не были должным образом учтены, поэтому они были отложены. Однако каждая из положительных идей стала одной из основных функций для последующих EIP4337 и EIP7702.
Позже была серия EIP, пытавшихся усовершенствовать эту логику:
EIP-859: абстрагирование счета основной цепи (2018-01-30)
Попытка решить проблему развертывания кода, основная функция заключается в том, что если контракт стороны сделки не развернут, то используется параметр code, прикрепленный к сделке, для выполнения развертывания контракта-кошелька. Также был предложен новый оператор PAYGAS, который, помимо оплаты газа, стал разделителем между частью проверки и частью выполнения в параметрах транзакции.
Хотя тогда все закончилось безрезультатно, это стало одной из ключевых логик текущего EIP7702. Каждая транзакция EIP7702 в сочетании со специальной структурой транзакции может содержать определенный код, позволяющий EOA-адресу иметь контрактные способности в этой транзакции.
EIP-7702: установка кода EOA-счета (2024-05-07)
Это ядро механизма обсуждения в данной статье, представленное Виталиком в качестве альтернативы EIP-3074. Поэтому EIP-3074 был отвергнут, а EIP-7702 будет включен в предстоящий хардфорк ETH Prague/Electra(Pectra).
( 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, чтобы предотвратить DoS-атаки с блокировкой путем создания механизма обеспечения санкций для злонамеренных Bundler.
( 3.3 Другие предложения, поддерживающие абстрагирование счета
EIP-2718: упаковка нового типа транзакции )2020-06-13###
Уже финализированное предложение, определяющее новый тип транзакции как конверт для будущих новых типов транзакций.
Конечный эффект заключается в том, что при введении нового типа транзакции с помощью специального кодирования можно обеспечить только обратную совместимость, без необходимости в прямой совместимости. Наиболее распространенный пример - это EIP1559, который различает сборы за транзакции, используя кодирование нового типа транзакции, не влияя на первоначальный тип транзакции legacy.
EIP-3607: сделать адреса EOA недоступными для развертывания контрактов (2021-06-10)
Дополнительное решение по пути AA, предотвращающее конфликт между адресом развертывания контракта и адресом EOA. Контролируйте методы генерации контрактов, система не допускает развертывание кода по адресу, который уже является адресом EOA. Этот риск очень мал, так как адрес Ethereum имеет длину 160 бит, хотя существует метод получения частного ключа для указанного адреса контракта с помощью коллизии частного ключа, но даже при полном вложении вычислительных мощностей Bitcoin потребуется около года.
( 3.4 Как понять историю развития абстрагирования счета?
Сначала необходимо понять ценность после преобразования в CA
В основном это фактический эффект EIP-4337, который может реализовать:
Однако основной недостаток EIP-4337 заключается в том, что он противоречит принципу человеческой мотивации.
Кажется лучше, но попадает в мертвый цикл развития рынка. Многие Dapp несовместимы, пользователи не хотят использовать адреса CA, использование CA даже имеет более высокие транзакционные затраты ) в обычных сценариях перевода, комиссия за транзакцию удваивается ###, слишком зависимо от совместимости самого Dapp.
Поэтому на основной сети Ethereum до сих пор не было широкого распространения.
Стоимость является самым важным критерием для пользователей, необходимо снизить затраты.
Но для реального снижения GAS необходимо, чтобы сам Ethereum провел мягкий форк-апгрейд, изменив расчет GAS или изменив модули потребления GAS операций. Если нужно проводить мягкий форк, почему бы не рассмотреть EIP-7702?
4. Полный анализ EIP-7702
( 4.1 Что такое EIP-7702
С помощью нового типа транзакций различаются, позволяя EOA временно обладать функциями смарт-контракта в одной транзакции, что поддерживает массовые транзакции в бизнесе, транзакции без газа и управление пользовательскими правами и не требует введения нового EVM opCode), влияя на обратную совместимость###.
может позволить пользователям получить большую часть возможностей абстрагирования счета без развертывания смарт-контрактов, даже предоставляя третьим лицам возможность инициировать транзакции от имени пользователей, при этом не требуя от пользователей предоставления закрытого ключа, достаточно только подписать информацию авторизации.
( 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:
(# 4.3.2 Этап выполнения операций