Глубокий анализ истории и будущего абстрагирования счета Ethereum
Введение
Эта статья разделена на две большие части:
В верхней части, начиная с первого предложения AA в 2015 году, система систематизировала основные содержательные моменты предложений EIP на сегодняшний день, надеясь исследовать развитие исторических предложений AA с исторической точки зрения и всесторонне оценить достоинства и недостатки каждого из предложений.
В нижней части重点 сравнивается холодная реакция рынка на EIP4337 после его запуска и глубоко анализируется EIP7702, который будет включен в следующее обновление Ethereum. Как только это предложение будет объединено, оно полностью изменит форму цепочных приложений.
EIP-7702 имеет эпохальное значение, давайте подробно обсудим.
1. Фон абстрагирования счета
1.1 Значение абстрагирования счета
Основатель Ethereum Виталик в конце 2023 года снова обновил дорожную карту развития ETH, в которой настройки по абстрагированию счета остаются неизменными. Текущий основной режим переходит от EIP-4337 к следующему этапу "добровольного преобразования EOA счета".
Более чем через год после выпуска EIP4337, 1 марта 2023 года на WalletCon в Денвере, официально было объявлено, что ядро контракта ERC-4337, разработанное разработчиками фонда Ethereum, прошло аудит 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, им нужны соответствующие решения.
2. Что такое абстрагирование счета?
Абстрагирование счета по сути решает проблему разделения собственности.
В архитектуре EVM существует два типа счетов: внешний счет ### EOA ( и контрактный счет ) Contract Account (. Право собственности и право подписи внешнего счета фактически принадлежат одному и тому же лицу. Лицо, обладающее приватным ключом, не только обладает "правом собственности" на счет, но и имеет право "подписывать передачу всех активов".
Это определяется структурой транзакции счета Ethereum. Из структуры транзакции видно, что у стандартной транзакции Ethereum нет поля From. Фактически адрес From извлекается обратно через параметры VRS с помощью подписи пользователя ).
Это связано с такими концепциями, как асимметричное шифрование, например, ECDSA, и односторонние пороговые функции, которые здесь не будут подробно рассмотрены. В общем, безопасность обеспечивается криптографией, что также приводит к текущей проблеме объединения прав собственности на адреса EOA.
Основной эффект EIP4337 заключается в добавлении адреса отправителя в поле транзакции, что позволяет отделить закрытый ключ от адреса, к которому применяется операция.
Причина, по которой разделение прав собственности так важно, заключается в том, что дизайн внешнего счета (EOA) приведет к большему количеству проблем:
Защита приватного ключа сложна: потеря приватного ключа (, хакерская атака, криптографический взлом ) означает потерю всех активов.
Однообразный алгоритм подписи: верификация транзакций в родном протоколе может использовать только алгоритмы подписи и проверки ECDSA.
Подпись имеет слишком высокий уровень доступа: отсутствие оригинального мультиподписного (, мультиподписный доступ может быть реализован только через смарт-контракт ), одноподписной доступ позволяет выполнять любые операции.
Торговые комиссии могут быть оплачены только в Эфире, массовая торговля не поддерживается.
Утечка конфиденциальности сделок: сделки один на один легко анализировать для получения конфиденциальной информации о владельце счета.
Эти ограничения затрудняют использование Ethereum обычными пользователями:
Сначала, используя любое приложение на Ethereum, пользователи должны держать Эфир ( и принимать на себя риск колебания цен ).
Во-вторых, пользователю необходимо справляться со сложной логикой расходов, такие концепции, как цена газа, лимит газа, блокировка транзакций ( порядок nonce ) и так далее, слишком сложны для пользователя.
Наконец, хотя многие кошельки или приложения на блокчейне пытаются улучшить пользовательский опыт за счет оптимизации продуктов, эффект ограничен.
Таким образом, прорыв заключается в реализации абстрагирования счета, что позволит декомпозировать право собственности (Owner) и право подписи (Signer), тем самым постепенно решая вышеупомянутые проблемы.
В истории было предложено множество решений, которые в конечном итоге свелись к двум направлениям.
3. Обзор исторических предложений AA
( 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 механизма, обсуждаемого в данной статье, предложенным Виталиком в качестве альтернативы 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 бит; хотя существует метод создания частного ключа для указанного адреса контракта через коллизию частных ключей, по оценкам вычислительной мощности всей сети Биткойн, это также займет около года.
( 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), что влияет на обратную совместимость###.
Это позволяет пользователям получить большинство возможностей AA без развертывания смарт-контрактов, а также может предоставить третьим лицам возможность инициировать транзакции от имени пользователей без необходимости предоставления пользователями закрытых ключей, достаточно подписать информацию об авторизации.
( 4.2 Структура данных
Он определяет новый тип транзакции 0x04, который имеет RLP-кодированную сериализацию TransactionPayload следующего содержания:
Важно, что был добавлен объект authorization_list, который хранит код, который подписывающий хочет выполнить в своем EOA. Пользователь подписывает код контракта одновременно с подписанием транзакции, он существует в виде двумерного списка, который указывает, что можно хранить несколько операций одновременно, выполняя пакетные операции.
На начальной стадии выполнения транзакции, для каждого кортежа [chain_id, address, nonce, y_parity, r, s] в authorization_list:
Из подписей r и s восстанавливаем адрес подписавшего ###. Обратите внимание, что это механизм самого Эфира, поэтому данный EIP не изменяет алгоритм подписи ###.
authority = ecrecover(keccak)MAGIC || rlp([chain_id, address, nonce]((, y_parity, r, s]), как и предыдущий адрес, полученный из подписи, здесь получен адрес локальной подписи для этого списка)
Проверка цепочки ID( для предотвращения повторного воспроизведения цепочки с разделением ).
Проверьте, является ли код подписчика authority пустым или уже делегирован (.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
8 Лайков
Награда
8
4
Поделиться
комментарий
0/400
AirdropHunter9000
· 08-06 05:33
Снова есть большой скандал, Виталик так разыгрался.
Посмотреть ОригиналОтветить0
0xSherlock
· 08-06 05:28
Занять стул и посмотреть сначала
Посмотреть ОригиналОтветить0
WalletDivorcer
· 08-06 05:24
Снова пришло предложение, которое обречено на провал.
Посмотреть ОригиналОтветить0
SundayDegen
· 08-06 05:22
Пустота рисует большой пирог... действительно ли это можно использовать?
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 года на WalletCon в Денвере, официально было объявлено, что ядро контракта ERC-4337, разработанное разработчиками фонда Ethereum, прошло аудит 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, им нужны соответствующие решения.
2. Что такое абстрагирование счета?
Абстрагирование счета по сути решает проблему разделения собственности.
В архитектуре EVM существует два типа счетов: внешний счет ### EOA ( и контрактный счет ) Contract Account (. Право собственности и право подписи внешнего счета фактически принадлежат одному и тому же лицу. Лицо, обладающее приватным ключом, не только обладает "правом собственности" на счет, но и имеет право "подписывать передачу всех активов".
Это определяется структурой транзакции счета Ethereum. Из структуры транзакции видно, что у стандартной транзакции Ethereum нет поля From. Фактически адрес From извлекается обратно через параметры VRS с помощью подписи пользователя ).
Это связано с такими концепциями, как асимметричное шифрование, например, ECDSA, и односторонние пороговые функции, которые здесь не будут подробно рассмотрены. В общем, безопасность обеспечивается криптографией, что также приводит к текущей проблеме объединения прав собственности на адреса EOA.
Основной эффект EIP4337 заключается в добавлении адреса отправителя в поле транзакции, что позволяет отделить закрытый ключ от адреса, к которому применяется операция.
Причина, по которой разделение прав собственности так важно, заключается в том, что дизайн внешнего счета (EOA) приведет к большему количеству проблем:
Защита приватного ключа сложна: потеря приватного ключа (, хакерская атака, криптографический взлом ) означает потерю всех активов.
Однообразный алгоритм подписи: верификация транзакций в родном протоколе может использовать только алгоритмы подписи и проверки ECDSA.
Подпись имеет слишком высокий уровень доступа: отсутствие оригинального мультиподписного (, мультиподписный доступ может быть реализован только через смарт-контракт ), одноподписной доступ позволяет выполнять любые операции.
Торговые комиссии могут быть оплачены только в Эфире, массовая торговля не поддерживается.
Утечка конфиденциальности сделок: сделки один на один легко анализировать для получения конфиденциальной информации о владельце счета.
Эти ограничения затрудняют использование Ethereum обычными пользователями:
Сначала, используя любое приложение на Ethereum, пользователи должны держать Эфир ( и принимать на себя риск колебания цен ).
Во-вторых, пользователю необходимо справляться со сложной логикой расходов, такие концепции, как цена газа, лимит газа, блокировка транзакций ( порядок nonce ) и так далее, слишком сложны для пользователя.
Наконец, хотя многие кошельки или приложения на блокчейне пытаются улучшить пользовательский опыт за счет оптимизации продуктов, эффект ограничен.
Таким образом, прорыв заключается в реализации абстрагирования счета, что позволит декомпозировать право собственности (Owner) и право подписи (Signer), тем самым постепенно решая вышеупомянутые проблемы.
В истории было предложено множество решений, которые в конечном итоге свелись к двум направлениям.
3. Обзор исторических предложений AA
( 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 механизма, обсуждаемого в данной статье, предложенным Виталиком в качестве альтернативы 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 бит; хотя существует метод создания частного ключа для указанного адреса контракта через коллизию частных ключей, по оценкам вычислительной мощности всей сети Биткойн, это также займет около года.
( 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), что влияет на обратную совместимость###.
Это позволяет пользователям получить большинство возможностей AA без развертывания смарт-контрактов, а также может предоставить третьим лицам возможность инициировать транзакции от имени пользователей без необходимости предоставления пользователями закрытых ключей, достаточно подписать информацию об авторизации.
( 4.2 Структура данных
Он определяет новый тип транзакции 0x04, который имеет RLP-кодированную сериализацию TransactionPayload следующего содержания:
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:
Из подписей r и s восстанавливаем адрес подписавшего ###. Обратите внимание, что это механизм самого Эфира, поэтому данный EIP не изменяет алгоритм подписи ###. authority = ecrecover(keccak)MAGIC || rlp([chain_id, address, nonce]((, y_parity, r, s]), как и предыдущий адрес, полученный из подписи, здесь получен адрес локальной подписи для этого списка)
Проверка цепочки ID( для предотвращения повторного воспроизведения цепочки с разделением ).
Проверьте, является ли код подписчика authority пустым или уже делегирован (.