Абстрагирование счета: 10 лет эволюции, концовка битвы, взгляд на прошлое и будущее через EIP-7702
Pectra является первым значительным обновлением после Dencun в Ethereum, охватывающим хард-форк слоя выполнения в Праге и обновление слоя консенсуса Electra, интегрирующим рекордные 11 EIP, что значительно повышает гибкость валидаторов, масштабируемость сети и эффективность выполнения. Ожидается, что хард-форк Pectra основной сети Ethereum будет официально активирован 7 мая 2025 года, и "конечная форма" абстрагирования счета (Account Abstraction) ------ EIP-7702 также официально входит в общественное сознание!
Если есть какие-либо EVM-сумки Web3, которые не поддерживают EIP-7702, то, без сомнения, это означает, что они отказываются от всей экосистемы и пользователей Ethereum. Это решимость Виталика и EF, а также начало открытия ящика Пандоры!
Пожалуйста, следуйте за этим документом, чтобы полностью понять эволюцию абстрагирования счета, пользовательскую ценность и изменения на рынке, принесенные EIP-7702, а также скрытые опасности.
Обзор
EIP-7702 добавил новый тип транзакции, позволяющий обычным EOA устанавливать определенный адрес контракта в качестве своего логического代理-контракта.
EIP-7702 будет полностью наследовать и превосходить экосистему ERC-4337, построенную на "стоимостных преимуществах" и "гибкости".
EIP-7702 представляет собой скрытый риск для обычных пользователей, даже если пользователь не выполняет обновление, в определенных сценариях это может привести к сбоям в транзакциях или риску потери безопасных активов.
EIP-7702 предоставит совершенно новый пользовательский опыт. Когда основной пользователь осуществит миграцию к контрактам, рыночные приложения также будут развиваться. Абстрагирование Gas, уровневые счета для семей и другие долгожданные плавные ощущения приведут миллиарды людей к низкозатратному входу в мир Web3.
Для бирж и DApp применение характеристик EIP-7702 приведет к снижению затрат более чем на 50%, что позволит полностью перейти в эпоху контрактных счетов.
Зачем абстрагировать счет?
Трудно представить, что визия абстрагирования счета появилась даже раньше самого Эфириума.
На этом HK Web3 карнавала Виталик многократно подчеркивал, что сейчас с помощью мультиподписей (Multi-sig), абстрагирования счета, ZK Email и ряда других решений, Эфириум достиг 50% своей цели "мгновения iPhone".
Быстро это или медленно, оптимистично или ограниченно? Давайте углубимся в основы и посмотрим, почему AA имеет такое влияние! В конце концов, после 10 лет гонки, Виталик наконец-то достиг заветного конца в области AA, добавив яркий штрих к прогресс-бару дорожной карты Ethereum, нарисованной на 2023 год.
Абстрагирование счета, для чего оно на самом деле?
На самом деле, основная проблема заключается в разделении прав собственности, поскольку в настоящее время права собственности и права подписи EOA (Externally Owned Account, внешнего счета) фактически принадлежат одному и тому же субъекту (все зависит от приватного ключа для выполнения любых команд). Корни этой проблемы идут от структуры транзакций в Ethereum, где в стандартной транзакции Ethereum на самом деле нет поля From; при выполнении оно извлекается через параметры VRS (то есть подпись пользователя), которые позволяют определить адрес From.
Кроме того, дизайн Ethereum как "мировой машины состояний" полностью зависит от транзакций для изменения состояния на блокчейне, что в сочетании с невозможностью указания стороны From приводит к тому, что права на выполнение транзакций связаны с высшей собственностью.
Это и есть корень ряда проблем, связанных с EOA, которые хотя и просты для понимания, но неудобны в использовании:
Сложно защитить приватный ключ: потеря приватного ключа (утеря, атака хакеров, квантовое взлом) означает потерю всех активов.
Мало алгоритмов подписи, разные алгоритмы подписи приводят к различным затратам на производительность и даже к затратам на хранение в сети.
Высокие права подписи, EOA имеет все эти права с родным приватным ключом.
Комиссия за сложные транзакции высокая, комиссия может быть оплачена только через ETH, любая транзакция и единичная операция требуют как минимум 21000 базового сбора.
Торговля без приватности, даже если когда-то существовал предложенный Circle конфиденциальный ERC-20 протокол, он так и не стал мейнстримом.
В конечном итоге, современный мир блокчейна слишком сложен для пользователей, которые входят в него. Пользователи должны понимать такие концепции, как цена газа, лимит газа и блокировка транзакций (порядок nonce). Скрытие сложной информации от обычных пользователей — это то, что EIP-7702 в конечном итоге должно решить.
Основные различия между ERC-4337 и EIP-7702?
Вокруг AA в качестве цели на самом деле существует более десяти различных предложений, которые я ранее исследовал. Если рассмотреть все это в целом, то суть сводится к двум направлениям:
Маршрут 1: Позволить EOA адресу управлять CA адресом
ERC-4337 является типичным примером в этой области. В двух словах это можно резюмировать так: предложен новый объект транзакции UserOperation, который пользователи отправляют в пул памяти, чтобы в виде bundlers пакетно упаковывать команды и поочередно выполнять транзакции через доставочный контракт. По сути, это переносит базовые транзакции и операции с счетом на уровень контрактов.
Принцип выполнения представлен на рисунке ниже:
Роль bundler позволяет сказать, что это решение может решить такие проблемы, как массовые транзакции, отсутствие газа, простота алгоритмов подписи и так далее. Однако оно не решает проблемы сложности и затрат на транзакции для пользователей, а также риски единой точки отказа для bundler и EntryPoint.
Поскольку, как только пользователь переходит на ERC-4337, даже если потребность user2, показанная на рисунке выше, заключается только в выполнении одной транзакции Transfer, то комиссия за транзакцию для пользователя по сравнению с EOA удваивается.
С последних данных о количестве пользователей CA и EOA видно, что даже если некоторые пользователи являются высококлассными игроками, которые сильно зависят от различных операций на основе цепочки CA, таких как массовые вызовы и т.д., то если это так, почему бы просто не использовать обычный CA?
Исходя из дизайна bundler, он может избежать обновлений на уровне хардфорка и напрямую внедрять их на уровне приложений, но ERC-4337 также принес двойные затраты и риски единой точки отказа, а пользователи также потеряли первоначальную гибкость EOA. Поэтому, учитывая разнообразные потребности пользователей, очевидно, что текущие пользователи рынка не так склонны к решению ERC-4337, и за два года развития общий тренд значительно упал, даже если максимальное количество пользователей по сравнению с 300M независимыми адресами Ethereum значительно отстает.
Конечно, мы не критикуем недостатки ERC-4337, а сопровождаем его развитие, и роли и концепции, такие как Paymaster и абстрагирование Gas, на самом деле также снова применяются в EIP-7702.
Автор считает, что развитие любой отрасли не происходит мгновенно; важно в прошлом взлетах и падениях обнаружить закономерности и подвести итоги опыта.
Маршрут два: сделать адрес EOA адресом CA
На самом деле, еще в ноябре 2015 года Виталик предложил EIP-101, который ввел новую структуру счета в виде контракта. Адрес был изменен так, что он состоит только из кода и пространства для хранения, а поддержка комиссий осуществляется через ERC20, с помощью предкомпилированных контрактов, чтобы преобразовать нативные токены в аналогичные ERC20 для хранения баланса (с возможностью авторизации автоматического удержания и другими функциями). В январе 2018 года был предложен план EIP-859, основная цель которого заключается в том, что если контракт одной из сторон не развернут, то используется параметр code, прикрепленный к транзакции, для развертывания контракта-кошелька. В конечном итоге из плана EIP-3074 был выведен EIP-7702, который был в конечном итоге принят в основную сеть Ethereum!
Идея и эффект EIP-7702 на самом деле очень просты. Он реализует инициализацию через новый тип транзакции, позволяя пользователям в дальнейшем наделить EOA временными и необязательными функциями смарт-контрактов в одной транзакции, что поддерживает такие бизнес-процессы, как массовые транзакции, транзакции без газа и управление пользовательскими правами. Ключевая способность заключается в том, что пользователи получают временное и необязательное пространство.
И несколько человек могут совместно использовать один и тот же логический контракт, что значительно снижает затраты на миграцию пользователей. Чтобы завершить настройку EIP-7702, пользователю нужно всего 8W Gas, что составляет примерно 0.06 долларов США, а для повторной настройки нового контракта или отмены настройки логического контракта потребуется только 4W Gas.
После завершения настройки, это значительно приведет к оптимизации газовых затрат для пользователей при массовых сделках, смотрите таблицу:
Конечно, вы можете подумать, нужно ли делать дважды, а то и шесть раз Token Transfer?
Обычные пользователи привыкли выполнять одно действие за раз при проведении сделки, и, казалось бы, таких сценариев не так много. Однако в многообразных приложениях, таких как Web3 Game и Web3 Pay, такие ситуации на самом деле возникают довольно часто. Например, когда одновременно расходуются медные монеты (валюта, созданная в игре) и серебряные монеты (валюта, пополняемая пользователем). Или когда участвуют в каком-либо мероприятии, одновременно расходуя NFT билет и входной взнос.
Даже если мы не будем мечтать о сложных сценах, возвращаясь к наиболее распространенной на сегодняшний день потребности в Swap в цепочке, также есть необходимость в массовом approve и Transfer. Более того, сегодня можно создать небольшой инструмент, который просто поможет пользователям быстро удалить свои уже бесполезные разрешения approve. Эффект можно легко сравнить, и, очевидно, затраты могут быть снижены на 40%.
Основной принцип EIP-7702
Чтобы понять, почему есть такой эффект, нужно вернуться к его принципам, на самом деле его суть состоит из 2 логик, разделенных на этапы настройки пользователя и этапы повседневного использования.
Настройка логического контракта
Основной процесс следующий:
Первый шаг: авторизация подписи. Подписывается специальная хэш-строка с помощью приватного ключа оригинального EOA, содержание которой состоит из закодированных chain_id, address, nonce. Здесь Address - это адрес логического контракта, который необходимо установить, а Nonce - это стратегия, обеспечивающая невозможность повторной отправки транзакции.
Второй шаг: подписание сделки. Получив информацию о полномочиях на первом шаге, любой может создать транзакцию типа 4, которая может содержать несколько полномочий, позволяя единовременно настроить полномочия для нескольких адресов.
Шаг третий: передача в сеть, таким образом, когда обработка транзакции завершена внутренним авторизацией, логический контракт уже вступил в силу.
Здесь также есть много технических деталей, которые можно изучить: реализацию открытого js sdk от okx, чтобы увидеть процесс кодирования исходных данных. Конечно, этот подход также скрывает некоторые угрозы безопасности и сложности, о которых мы подробно расскажем ниже.
выполнение логики контрактов
Когда вы завершите настройки, то когда любой транзакции To адрес будет указывать на вас, это будет так же, как вызов смарт-контракта, система "загрузит" код вашего изначально установленного логического контракта в текущее состояние вашего EOA для выполнения его логики.
Точно так же мы используем 2 сценария для просмотра:
Первый вариант, ты вызываешь себя сам
Если вы настроили контракт, подобный OKX 7702 Smart Contract, с высокой безопасностью и возможностью индивидуального управления, то вы можете заранее подготовленным calldata указать, чтобы ваше текущее действие выполнило несколько команд сразу. Например, вы можете одновременно выполнить Approve+Transfer, а также одновременно выполнить Approve+Swap.
Никогда не недооценивайте, в настоящее время из 2,7 миллиарда транзакций Ethereum, количество транзакций Approve составляет примерно 75 миллионов, при расчете по 80,000 Gas за каждую транзакцию, это составляет 460,000 ETH, при рыночной цене ETH в 1700 долларов это близко к 800 миллионам долларов.
Второй способ — это когда другие вызывают тебя
Ранее Ethereum не предусматривал ситуации, когда другие могли бы вызывать адреса EOA, но теперь ты — универсальный контракт, который можно полностью настроить. Ты можешь создавать субсчета для разделения прав, а также предоставлять ограниченному количеству Paymaster белые списки, позволяя определённым счетам DApp инициировать некоторые транзакции от твоего имени, тем самым полностью устраняя необходимость в повторном появлении окон для подписания, как это происходит в традиционных приложениях блокчейна.
Какая же это мощная способность! Так что это почти все
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
EIP-7702: финальная битва абстрагирования счета Ethereum
Абстрагирование счета: 10 лет эволюции, концовка битвы, взгляд на прошлое и будущее через EIP-7702
Pectra является первым значительным обновлением после Dencun в Ethereum, охватывающим хард-форк слоя выполнения в Праге и обновление слоя консенсуса Electra, интегрирующим рекордные 11 EIP, что значительно повышает гибкость валидаторов, масштабируемость сети и эффективность выполнения. Ожидается, что хард-форк Pectra основной сети Ethereum будет официально активирован 7 мая 2025 года, и "конечная форма" абстрагирования счета (Account Abstraction) ------ EIP-7702 также официально входит в общественное сознание!
Если есть какие-либо EVM-сумки Web3, которые не поддерживают EIP-7702, то, без сомнения, это означает, что они отказываются от всей экосистемы и пользователей Ethereum. Это решимость Виталика и EF, а также начало открытия ящика Пандоры!
Пожалуйста, следуйте за этим документом, чтобы полностью понять эволюцию абстрагирования счета, пользовательскую ценность и изменения на рынке, принесенные EIP-7702, а также скрытые опасности.
Обзор
EIP-7702 добавил новый тип транзакции, позволяющий обычным EOA устанавливать определенный адрес контракта в качестве своего логического代理-контракта.
EIP-7702 будет полностью наследовать и превосходить экосистему ERC-4337, построенную на "стоимостных преимуществах" и "гибкости".
EIP-7702 представляет собой скрытый риск для обычных пользователей, даже если пользователь не выполняет обновление, в определенных сценариях это может привести к сбоям в транзакциях или риску потери безопасных активов.
EIP-7702 предоставит совершенно новый пользовательский опыт. Когда основной пользователь осуществит миграцию к контрактам, рыночные приложения также будут развиваться. Абстрагирование Gas, уровневые счета для семей и другие долгожданные плавные ощущения приведут миллиарды людей к низкозатратному входу в мир Web3.
Для бирж и DApp применение характеристик EIP-7702 приведет к снижению затрат более чем на 50%, что позволит полностью перейти в эпоху контрактных счетов.
Зачем абстрагировать счет?
Трудно представить, что визия абстрагирования счета появилась даже раньше самого Эфириума.
На этом HK Web3 карнавала Виталик многократно подчеркивал, что сейчас с помощью мультиподписей (Multi-sig), абстрагирования счета, ZK Email и ряда других решений, Эфириум достиг 50% своей цели "мгновения iPhone".
Быстро это или медленно, оптимистично или ограниченно? Давайте углубимся в основы и посмотрим, почему AA имеет такое влияние! В конце концов, после 10 лет гонки, Виталик наконец-то достиг заветного конца в области AA, добавив яркий штрих к прогресс-бару дорожной карты Ethereum, нарисованной на 2023 год.
Абстрагирование счета, для чего оно на самом деле?
На самом деле, основная проблема заключается в разделении прав собственности, поскольку в настоящее время права собственности и права подписи EOA (Externally Owned Account, внешнего счета) фактически принадлежат одному и тому же субъекту (все зависит от приватного ключа для выполнения любых команд). Корни этой проблемы идут от структуры транзакций в Ethereum, где в стандартной транзакции Ethereum на самом деле нет поля From; при выполнении оно извлекается через параметры VRS (то есть подпись пользователя), которые позволяют определить адрес From.
Кроме того, дизайн Ethereum как "мировой машины состояний" полностью зависит от транзакций для изменения состояния на блокчейне, что в сочетании с невозможностью указания стороны From приводит к тому, что права на выполнение транзакций связаны с высшей собственностью.
Это и есть корень ряда проблем, связанных с EOA, которые хотя и просты для понимания, но неудобны в использовании:
Сложно защитить приватный ключ: потеря приватного ключа (утеря, атака хакеров, квантовое взлом) означает потерю всех активов.
Мало алгоритмов подписи, разные алгоритмы подписи приводят к различным затратам на производительность и даже к затратам на хранение в сети.
Высокие права подписи, EOA имеет все эти права с родным приватным ключом.
Комиссия за сложные транзакции высокая, комиссия может быть оплачена только через ETH, любая транзакция и единичная операция требуют как минимум 21000 базового сбора.
Торговля без приватности, даже если когда-то существовал предложенный Circle конфиденциальный ERC-20 протокол, он так и не стал мейнстримом.
В конечном итоге, современный мир блокчейна слишком сложен для пользователей, которые входят в него. Пользователи должны понимать такие концепции, как цена газа, лимит газа и блокировка транзакций (порядок nonce). Скрытие сложной информации от обычных пользователей — это то, что EIP-7702 в конечном итоге должно решить.
Основные различия между ERC-4337 и EIP-7702?
Вокруг AA в качестве цели на самом деле существует более десяти различных предложений, которые я ранее исследовал. Если рассмотреть все это в целом, то суть сводится к двум направлениям:
Маршрут 1: Позволить EOA адресу управлять CA адресом
ERC-4337 является типичным примером в этой области. В двух словах это можно резюмировать так: предложен новый объект транзакции UserOperation, который пользователи отправляют в пул памяти, чтобы в виде bundlers пакетно упаковывать команды и поочередно выполнять транзакции через доставочный контракт. По сути, это переносит базовые транзакции и операции с счетом на уровень контрактов.
Принцип выполнения представлен на рисунке ниже:
Роль bundler позволяет сказать, что это решение может решить такие проблемы, как массовые транзакции, отсутствие газа, простота алгоритмов подписи и так далее. Однако оно не решает проблемы сложности и затрат на транзакции для пользователей, а также риски единой точки отказа для bundler и EntryPoint.
Поскольку, как только пользователь переходит на ERC-4337, даже если потребность user2, показанная на рисунке выше, заключается только в выполнении одной транзакции Transfer, то комиссия за транзакцию для пользователя по сравнению с EOA удваивается.
С последних данных о количестве пользователей CA и EOA видно, что даже если некоторые пользователи являются высококлассными игроками, которые сильно зависят от различных операций на основе цепочки CA, таких как массовые вызовы и т.д., то если это так, почему бы просто не использовать обычный CA?
Исходя из дизайна bundler, он может избежать обновлений на уровне хардфорка и напрямую внедрять их на уровне приложений, но ERC-4337 также принес двойные затраты и риски единой точки отказа, а пользователи также потеряли первоначальную гибкость EOA. Поэтому, учитывая разнообразные потребности пользователей, очевидно, что текущие пользователи рынка не так склонны к решению ERC-4337, и за два года развития общий тренд значительно упал, даже если максимальное количество пользователей по сравнению с 300M независимыми адресами Ethereum значительно отстает.
Конечно, мы не критикуем недостатки ERC-4337, а сопровождаем его развитие, и роли и концепции, такие как Paymaster и абстрагирование Gas, на самом деле также снова применяются в EIP-7702.
Автор считает, что развитие любой отрасли не происходит мгновенно; важно в прошлом взлетах и падениях обнаружить закономерности и подвести итоги опыта.
Маршрут два: сделать адрес EOA адресом CA
На самом деле, еще в ноябре 2015 года Виталик предложил EIP-101, который ввел новую структуру счета в виде контракта. Адрес был изменен так, что он состоит только из кода и пространства для хранения, а поддержка комиссий осуществляется через ERC20, с помощью предкомпилированных контрактов, чтобы преобразовать нативные токены в аналогичные ERC20 для хранения баланса (с возможностью авторизации автоматического удержания и другими функциями). В январе 2018 года был предложен план EIP-859, основная цель которого заключается в том, что если контракт одной из сторон не развернут, то используется параметр code, прикрепленный к транзакции, для развертывания контракта-кошелька. В конечном итоге из плана EIP-3074 был выведен EIP-7702, который был в конечном итоге принят в основную сеть Ethereum!
Идея и эффект EIP-7702 на самом деле очень просты. Он реализует инициализацию через новый тип транзакции, позволяя пользователям в дальнейшем наделить EOA временными и необязательными функциями смарт-контрактов в одной транзакции, что поддерживает такие бизнес-процессы, как массовые транзакции, транзакции без газа и управление пользовательскими правами. Ключевая способность заключается в том, что пользователи получают временное и необязательное пространство.
И несколько человек могут совместно использовать один и тот же логический контракт, что значительно снижает затраты на миграцию пользователей. Чтобы завершить настройку EIP-7702, пользователю нужно всего 8W Gas, что составляет примерно 0.06 долларов США, а для повторной настройки нового контракта или отмены настройки логического контракта потребуется только 4W Gas.
После завершения настройки, это значительно приведет к оптимизации газовых затрат для пользователей при массовых сделках, смотрите таблицу:
Конечно, вы можете подумать, нужно ли делать дважды, а то и шесть раз Token Transfer?
Обычные пользователи привыкли выполнять одно действие за раз при проведении сделки, и, казалось бы, таких сценариев не так много. Однако в многообразных приложениях, таких как Web3 Game и Web3 Pay, такие ситуации на самом деле возникают довольно часто. Например, когда одновременно расходуются медные монеты (валюта, созданная в игре) и серебряные монеты (валюта, пополняемая пользователем). Или когда участвуют в каком-либо мероприятии, одновременно расходуя NFT билет и входной взнос.
Даже если мы не будем мечтать о сложных сценах, возвращаясь к наиболее распространенной на сегодняшний день потребности в Swap в цепочке, также есть необходимость в массовом approve и Transfer. Более того, сегодня можно создать небольшой инструмент, который просто поможет пользователям быстро удалить свои уже бесполезные разрешения approve. Эффект можно легко сравнить, и, очевидно, затраты могут быть снижены на 40%.
Основной принцип EIP-7702
Чтобы понять, почему есть такой эффект, нужно вернуться к его принципам, на самом деле его суть состоит из 2 логик, разделенных на этапы настройки пользователя и этапы повседневного использования.
Настройка логического контракта
Основной процесс следующий:
Первый шаг: авторизация подписи. Подписывается специальная хэш-строка с помощью приватного ключа оригинального EOA, содержание которой состоит из закодированных chain_id, address, nonce. Здесь Address - это адрес логического контракта, который необходимо установить, а Nonce - это стратегия, обеспечивающая невозможность повторной отправки транзакции.
Второй шаг: подписание сделки. Получив информацию о полномочиях на первом шаге, любой может создать транзакцию типа 4, которая может содержать несколько полномочий, позволяя единовременно настроить полномочия для нескольких адресов.
Шаг третий: передача в сеть, таким образом, когда обработка транзакции завершена внутренним авторизацией, логический контракт уже вступил в силу.
Здесь также есть много технических деталей, которые можно изучить: реализацию открытого js sdk от okx, чтобы увидеть процесс кодирования исходных данных. Конечно, этот подход также скрывает некоторые угрозы безопасности и сложности, о которых мы подробно расскажем ниже.
выполнение логики контрактов
Когда вы завершите настройки, то когда любой транзакции To адрес будет указывать на вас, это будет так же, как вызов смарт-контракта, система "загрузит" код вашего изначально установленного логического контракта в текущее состояние вашего EOA для выполнения его логики.
Точно так же мы используем 2 сценария для просмотра:
Первый вариант, ты вызываешь себя сам
Если вы настроили контракт, подобный OKX 7702 Smart Contract, с высокой безопасностью и возможностью индивидуального управления, то вы можете заранее подготовленным calldata указать, чтобы ваше текущее действие выполнило несколько команд сразу. Например, вы можете одновременно выполнить Approve+Transfer, а также одновременно выполнить Approve+Swap.
Никогда не недооценивайте, в настоящее время из 2,7 миллиарда транзакций Ethereum, количество транзакций Approve составляет примерно 75 миллионов, при расчете по 80,000 Gas за каждую транзакцию, это составляет 460,000 ETH, при рыночной цене ETH в 1700 долларов это близко к 800 миллионам долларов.
Второй способ — это когда другие вызывают тебя
Ранее Ethereum не предусматривал ситуации, когда другие могли бы вызывать адреса EOA, но теперь ты — универсальный контракт, который можно полностью настроить. Ты можешь создавать субсчета для разделения прав, а также предоставлять ограниченному количеству Paymaster белые списки, позволяя определённым счетам DApp инициировать некоторые транзакции от твоего имени, тем самым полностью устраняя необходимость в повторном появлении окон для подписания, как это происходит в традиционных приложениях блокчейна.
Какая же это мощная способность! Так что это почти все