Эволюция абстрагирования счета Ethereum: прорывные изменения от EIP-4337 до EIP-7702

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

Введение

Текст разделен на две основные части:

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

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

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

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

1.1 Позиционирование абстрагирования счета

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

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

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

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

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

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

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

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

Это определяется структурой транзакций счетов Ethereum. Из структуры транзакций видно, что стандартная транзакция Ethereum на самом деле не имеет поля From. Так как же определяется адрес расхода при переводе средств? На самом деле это происходит путем обратного вывода адреса From через параметры VRS (, то есть пользовательская подпись ).

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

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

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

  1. Защитить приватный ключ сложно: потеря приватного ключа (, утрата, атака хакеров или криптографическое взлом ) означает потерю всех активов.

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

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

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

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

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

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

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

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

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

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

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

3. Исторический контекст предложений по абстрагированию счета

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

Хотя это не удалось реализовать в то время, это стало одной из основных логик нынешнего 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 добавлены две новые операции AUTH и AUTHCALL, которые позволяют EOA через эти операции授权合约代替 EOA его身份 для вызова других контрактов.

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

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

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

EIP4337 предложил новый объект транзакции UserOperation, который пользователи отправляют в пул памяти, откуда bundlers пакуют и доставляют транзакции контракта в批量 с точки зрения майнеров, по сути, перемещая базовые транзакции и операции с счетом на уровень контракта.

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

) 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-65d1ef9656425666ee30c38bbb63e769.webp(

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

) 4.1 Что такое EIP-7702

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

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

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

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

rlp([ chain_id, // идентификатор цепи, используется для предотвращения атак повторного воспроизведения nonce, // счетчик транзакций, обеспечивает уникальность транзакции max_priority_fee_per_gas, // 1559 комиссии за транзакции max_fee_per_gas, // 1559 плата за транзакцию gas_limit, destination, // адрес целевой транзакции значение, данные, access_list, // список доступа, используемый для оптимизации газа в EIP-2929 authorization_list, signature_y_parity, // 3 параметра подписи для проверки подписи транзакции signature_r, signature_s ])

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

ETH-2.49%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
FancyResearchLabvip
· 08-04 18:02
Ещё один новый трюк, выдуваемый теоретиками. Где же научная работа?
Посмотреть ОригиналОтветить0
BrokenDAOvip
· 08-04 18:01
Еще один повторный эксперимент под флагом инноваций, не будьте слишком оптимистичны... EIP-7702, скорее всего, повторит судьбу 4337.
Посмотреть ОригиналОтветить0
LiquidityHuntervip
· 08-04 17:58
4337? Данные показывают, что уровень использования составляет всего 0,02%... 7702 - это настоящая ценность
Посмотреть ОригиналОтветить0
rugged_againvip
· 08-04 17:32
Виталик Бутерин в этот раз всё равно стабилен, действительно неплохо.
Посмотреть ОригиналОтветить0
  • Закрепить