Глубокий анализ прошлого и будущего абстрактной дорожки счетов Ethereum
Статья делится на две большие части:
В верхней части представлена основная информация о предложениях EIP, начиная с первого предложения AA в 2015 году, обсуждается история развития предложений AA и проводится комплексная оценка каждого из них.
В нижней части основное внимание уделяется сравнению слабеющего рынка после предложения EIP4337 и глубокому анализу EIP7702, который будет включен в следующую версию обновления Ethereum. После объединения этого предложения произойдет полное изменение формата цепочных приложений.
EIP-7702 имеет эпохальное значение, давайте подробно рассмотрим.
1. Фон абстракции счета
1.1 Значение абстракции счета
Основатель Ethereum Виталик в конце 2023 года снова обновил дорожную карту развития ETH, но не внес изменений в установку абстракции счетов. В настоящее время основной режим переходит из EIP-4337 на следующий этап "добровольного преобразования EOA-счетов".
Более чем через год после выпуска EIP4337 пользователи в целом признают его, но он не получил широкого распространения. Эта противоречивая рыночная среда ускорила процесс EIP-7702, который уже подтвержден для объединения в следующем обновлении.
1.2 Состояние рынка абстракции счета
После полутора лет развития EIP4337 на основных цепях всего 12 миллионов адресов, из которых активных адресов в основной сети Ethereum всего 6,764, что намного ниже количества адресов EOA и CA. Количество независимых адресов в основной сети Ethereum достигло 270 миллионов, что показывает, что EIP4337 практически не имел существенного развития в основной сети.
Однако это не влияет на сущностную ценность AA. Дизайн EIP4337 предопределяет трудности в решении проблемы обратной совместимости основной сети. С внедрением различных L2, изначально встроенных в AA, количество адресов EIP4337 на L2 демонстрирует взрывной рост, например, количество активных пользователей в сети Base и Polygon в июле достигло 1 миллиона и 3 миллионов соответственно.
Таким образом, в дизайне EIP4337 нет проблем, текущее состояние является следствием различий между основной сетью и L2, для них необходимы разные применимые решения.
2. Что такое абстракция счета?
Абстракция счета по сути решает проблему разделения прав собственности.
В архитектуре EVM есть два типа счетов: внешний счет ( EOA ) и контрактный счет ( CA ). Право собственности и право подписи EOA фактически принадлежат одному и тому же субъекту. Лицо, обладающее приватным ключом, не только обладает "правом собственности" на счет, но и может "подписывать передачу всех активов".
Это определяется структурой транзакций счета Ethereum. В стандартной транзакции отсутствует поле From, а перевод средств осуществляется через параметры VRS (, которые пользователь подписывает, а затем ) используются для обратного анализа адреса From. Эта криптографическая защита приводит к текущей проблеме объединения прав собственности на адреса EOA.
Основной эффект EIP4337 заключается в добавлении адреса отправителя в поле транзакции, что позволяет разделить закрытый ключ и адрес, к которому производится операция.
Разделение собственности так важно, потому что проектирование EOA порождает множество проблем:
Сложно защитить приватный ключ: потеря приватного ключа означает потерю всех активов
Однообразие алгоритма подписи: оригинальный протокол может использовать только алгоритм ECDSA
Подпись имеет слишком высокие полномочия: нет нативного мультиподписного, одноподписного достаточно для выполнения любых операций
Торговая комиссия может быть оплачена только в Эфире, массовые транзакции не поддерживаются.
Уязвимость к утечке конфиденциальности транзакций: одноразовые сделки легко анализировать по информации о счетах.
Эти ограничения затрудняют обычным пользователям использование Ethereum:
Во-первых, пользователи должны владеть Эфиром и нести риск колебаний цен.
Во-вторых, пользователям необходимо разбираться в сложной логике сборов.
В конце концов, хотя многие кошельки пытаются оптимизировать опыт, результаты ограничены.
Таким образом, прорыв заключается в реализации абстракции счета, отделяя право собственности (Owner) и право подписи (Signer), тем самым постепенно решая указанные выше проблемы.
В истории было множество схем, которые в конечном итоге свелись к двум направлениям.
3. Историческая хронология предложений AA
Решение проблемы кажется имеющим несколько предложений EIP, но в конечном итоге существуют только два основных подхода. Все вопросы, рассматриваемые в каждом отклоненном EIP, были интегрированы в существующие решения.
3.1 Первый маршрут: преобразование EOA-адреса в CA-адрес
15 ноября 2015 года Виталик предложил новую структуру счета в EIP-101, где контракты рассматриваются как счета. Адрес изменен так, чтобы содержать только код и пространство для хранения, изменен способ оплаты комиссии, через предкомпилированные контракты родной токен преобразуется в хранилище балансов, упрощены поля транзакции.
Этот скачкообразный переход значительно изменит базовый дизайн, позволив каждому счету иметь свою "кодовую" логику (, что также является целью EIP-7702 на данный момент ).
Производные функции включают:
Используйте больше криптографических алгоритмов в транзакциях
Обладает характеристиками защиты от квантовых атак
Эфир обладает функциональными характеристиками, аналогичными ERC20.
Улучшение пользовательского пространства счета
Не продолжение связано с тем, что шаги были слишком большими, не учли текущее конфликт хешей транзакций и безопасность, но каждая идея преимущества стала основной функцией последующих EIP4337 и EIP7702.
В дальнейшем будет ряд EIP, пытающихся улучшить эту логику:
EIP-859(2018-01-30): абстракция счета основной цепи
Решить проблему развертывания кода, предложить новый код операции PAYGAS.
EIP-7702(2024-05-07): настройка кода EOA счета
В качестве альтернативы EIP-3074 будет включен в предстоящий хардфорк ETH Prague/Electra.
3.2 Второй маршрут: пусть адрес EOA управляет адресом CA
EIP-3074(2020-10-15): добавлены операции AUTH и AUTHCALL
Добавлены два новых операционных кода, позволяющих EOA уполномочивать контракты вызывать другие контракты от своего имени.
EIP-4337(2021-09-29): Реализация абстракции счетов с помощью пула памяти транзакций
Вдохновленный MEV, он может полностью избежать изменений в протоколе уровня согласия. Предложен новый объект UserOperation, который упаковывается в批量 bundlers для доставки выполнения контрактных транзакций.
EIP-5189(2022-06-29): через действия поручителей абстрактный счет
Оптимизация логики EIP4337, предотвращение атак DoS с помощью механизма штрафов за средства.
3.3 Другие предложения, поддерживающие AA
EIP-2718(2020-06-13):упаковочный конверт нового типа транзакции
Определение нового типа транзакции, как конверт для будущих новых типов транзакций.
EIP-3607(2021-06-10): Запрет на развертывание контрактов адресами EOA
Предотвратить конфликт между адресом развертывания контракта и адресом EOA.
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, TransactionPayload является результатом RLP кодирования следующих данных:
Добавлен объект authorization_list, который хранит код, который подписывающие лица хотят выполнить в EOA. Пользователь подписывает транзакцию, одновременно подписывая код контракта, который должен быть выполнен, в виде двумерного списка, позволяя хранить несколько операций в пакетном режиме.
При начале выполнения сделки, для каждого кортежа authorization_list:
Восстановить адрес подписанта из подписи
Проверка ID цепи
Проверьте, пустой ли код подписанта или был ли он делегирован.
Проверка nonce подписавшего
Установить код подписчика
Увеличить nonce подписчика
Добавить счет подписанта в список посещенных адресов
4.3.2 Этап выполнения операций
Новая версия изменила поведение развертывания кода. Код загружается из поля address в authorization_list и выполняется в контексте счета подписанта.
Код пользовательского контракта хранится по конкретному адресу в цепочке, а не включен непосредственно в транзакцию. Операционные команды и связанные параметры хранятся в поле data полезной нагрузки транзакции.
4.4 Ценность EIP-7702
Изменения во всей цепочке Web3 кошельков для улучшения пользовательского опыта. EOA может инициировать обычные транзакции с выполнением различных логик, таких как массовые переводы. Это повлияет на идентификацию сделок в сценариях CeFi и сбор сборов за вывод и депозит.
Сломать несколько существующих стереотипов:
Баланс счета может уменьшаться из-за транзакций, не связанных с данным счетом.
После начала выполнения сделки, nonce EOA может увеличиться на несколько.
Логика защиты сравнения tx.origin и msg.sender не работает
EOA может вызывать события
EOA может не получить активы ERC20/721/1155
4.5 Сравнение EIP-7702 и EIP-4337
Преимущества EIP-7702:
газ ниже, не нужно проходить через модуль entrypoint
Стоимость миграции пользователя ниже, не требуется предварительное развертывание смарт-контрактов на блокчейне
Также поддерживает выполнение поручений по коду: полное поручение и защищенное поручение
Недостатки EIP-7702:
Является мягким форком обновления, требует консенсуса для продвижения, изменения значительны
Высокая степень свободы, трудно осуществить аудит, пользователям требуется надежная защита кошелька
Большие изменения в оригинальной архитектуре, многие инфраструктуры трудно адаптировать напрямую
EOA получает возможность контракта, но пространство для хранения не может быть сохранено
Отдельные торговые расходы немного выше, увеличивается часть Calldata
Подписание получателем кода без функции получения может привести к DoS
Логика пополнения и вывода на блокчейне может быть несовместима
Событие, инициированное EOA, может вызвать проблемы
Эти недостатки основаны на текущем содержании предложения EIP7702, окончательная реализация может измениться.
5. Резюме
Абстракция счета в настоящее время может быть реализована только в последнем внедрении модуля "Исправить все". Ускорение прогресса EIP7702 в основном приводит к вызовам системной безопасности. Хотя изменения значительны, снижение затрат для пользователей оправдывает изучение адаптации всеми Dapp. В конечном итоге пользователи станут на сторону EIP7702.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
9 Лайков
Награда
9
5
Репост
Поделиться
комментарий
0/400
ColdWalletGuardian
· 5ч назад
4337 не все мошенничество, а 7702 как быть, еще вопрос.
Посмотреть ОригиналОтветить0
ContractFreelancer
· 8ч назад
4337 этот кухонный нож не может двигаться, а следующего большого блюда все еще нет.
Посмотреть ОригиналОтветить0
AirdropworkerZhang
· 8ч назад
Ай-йо, когда Виталик сможет улучшить пользовательский опыт? Этот код слишком сложный.
Посмотреть ОригиналОтветить0
WalletAnxietyPatient
· 8ч назад
Ви Шен все еще придерживается своей маленькой навязчивой идеи...
Посмотреть ОригиналОтветить0
LadderToolGuy
· 8ч назад
Это 4337 неэффективен или я не успел за последними сплетнями?
EIP7702: Значительный прорыв в абстрагировании счета Ethereum и перспективы на будущее
Глубокий анализ прошлого и будущего абстрактной дорожки счетов Ethereum
Статья делится на две большие части:
В верхней части представлена основная информация о предложениях EIP, начиная с первого предложения AA в 2015 году, обсуждается история развития предложений AA и проводится комплексная оценка каждого из них.
В нижней части основное внимание уделяется сравнению слабеющего рынка после предложения EIP4337 и глубокому анализу EIP7702, который будет включен в следующую версию обновления Ethereum. После объединения этого предложения произойдет полное изменение формата цепочных приложений.
EIP-7702 имеет эпохальное значение, давайте подробно рассмотрим.
1. Фон абстракции счета
1.1 Значение абстракции счета
Основатель Ethereum Виталик в конце 2023 года снова обновил дорожную карту развития ETH, но не внес изменений в установку абстракции счетов. В настоящее время основной режим переходит из EIP-4337 на следующий этап "добровольного преобразования EOA-счетов".
Более чем через год после выпуска EIP4337 пользователи в целом признают его, но он не получил широкого распространения. Эта противоречивая рыночная среда ускорила процесс EIP-7702, который уже подтвержден для объединения в следующем обновлении.
1.2 Состояние рынка абстракции счета
После полутора лет развития EIP4337 на основных цепях всего 12 миллионов адресов, из которых активных адресов в основной сети Ethereum всего 6,764, что намного ниже количества адресов EOA и CA. Количество независимых адресов в основной сети Ethereum достигло 270 миллионов, что показывает, что EIP4337 практически не имел существенного развития в основной сети.
Однако это не влияет на сущностную ценность AA. Дизайн EIP4337 предопределяет трудности в решении проблемы обратной совместимости основной сети. С внедрением различных L2, изначально встроенных в AA, количество адресов EIP4337 на L2 демонстрирует взрывной рост, например, количество активных пользователей в сети Base и Polygon в июле достигло 1 миллиона и 3 миллионов соответственно.
Таким образом, в дизайне EIP4337 нет проблем, текущее состояние является следствием различий между основной сетью и L2, для них необходимы разные применимые решения.
2. Что такое абстракция счета?
Абстракция счета по сути решает проблему разделения прав собственности.
В архитектуре EVM есть два типа счетов: внешний счет ( EOA ) и контрактный счет ( CA ). Право собственности и право подписи EOA фактически принадлежат одному и тому же субъекту. Лицо, обладающее приватным ключом, не только обладает "правом собственности" на счет, но и может "подписывать передачу всех активов".
Это определяется структурой транзакций счета Ethereum. В стандартной транзакции отсутствует поле From, а перевод средств осуществляется через параметры VRS (, которые пользователь подписывает, а затем ) используются для обратного анализа адреса From. Эта криптографическая защита приводит к текущей проблеме объединения прав собственности на адреса EOA.
Основной эффект EIP4337 заключается в добавлении адреса отправителя в поле транзакции, что позволяет разделить закрытый ключ и адрес, к которому производится операция.
Разделение собственности так важно, потому что проектирование EOA порождает множество проблем:
Эти ограничения затрудняют обычным пользователям использование Ethereum:
Во-первых, пользователи должны владеть Эфиром и нести риск колебаний цен. Во-вторых, пользователям необходимо разбираться в сложной логике сборов. В конце концов, хотя многие кошельки пытаются оптимизировать опыт, результаты ограничены.
Таким образом, прорыв заключается в реализации абстракции счета, отделяя право собственности (Owner) и право подписи (Signer), тем самым постепенно решая указанные выше проблемы.
В истории было множество схем, которые в конечном итоге свелись к двум направлениям.
3. Историческая хронология предложений AA
Решение проблемы кажется имеющим несколько предложений EIP, но в конечном итоге существуют только два основных подхода. Все вопросы, рассматриваемые в каждом отклоненном EIP, были интегрированы в существующие решения.
3.1 Первый маршрут: преобразование EOA-адреса в CA-адрес
15 ноября 2015 года Виталик предложил новую структуру счета в EIP-101, где контракты рассматриваются как счета. Адрес изменен так, чтобы содержать только код и пространство для хранения, изменен способ оплаты комиссии, через предкомпилированные контракты родной токен преобразуется в хранилище балансов, упрощены поля транзакции.
Этот скачкообразный переход значительно изменит базовый дизайн, позволив каждому счету иметь свою "кодовую" логику (, что также является целью EIP-7702 на данный момент ).
Производные функции включают:
Не продолжение связано с тем, что шаги были слишком большими, не учли текущее конфликт хешей транзакций и безопасность, но каждая идея преимущества стала основной функцией последующих EIP4337 и EIP7702.
В дальнейшем будет ряд EIP, пытающихся улучшить эту логику:
EIP-859(2018-01-30): абстракция счета основной цепи Решить проблему развертывания кода, предложить новый код операции PAYGAS.
EIP-7702(2024-05-07): настройка кода EOA счета В качестве альтернативы EIP-3074 будет включен в предстоящий хардфорк ETH Prague/Electra.
3.2 Второй маршрут: пусть адрес EOA управляет адресом CA
EIP-3074(2020-10-15): добавлены операции AUTH и AUTHCALL Добавлены два новых операционных кода, позволяющих EOA уполномочивать контракты вызывать другие контракты от своего имени.
EIP-4337(2021-09-29): Реализация абстракции счетов с помощью пула памяти транзакций Вдохновленный MEV, он может полностью избежать изменений в протоколе уровня согласия. Предложен новый объект UserOperation, который упаковывается в批量 bundlers для доставки выполнения контрактных транзакций.
EIP-5189(2022-06-29): через действия поручителей абстрактный счет Оптимизация логики EIP4337, предотвращение атак DoS с помощью механизма штрафов за средства.
3.3 Другие предложения, поддерживающие AA
EIP-2718(2020-06-13):упаковочный конверт нового типа транзакции Определение нового типа транзакции, как конверт для будущих новых типов транзакций.
EIP-3607(2021-06-10): Запрет на развертывание контрактов адресами EOA Предотвратить конфликт между адресом развертывания контракта и адресом EOA.
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, 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 Этап проверки
При начале выполнения сделки, для каждого кортежа authorization_list:
4.3.2 Этап выполнения операций
Новая версия изменила поведение развертывания кода. Код загружается из поля address в authorization_list и выполняется в контексте счета подписанта.
Код пользовательского контракта хранится по конкретному адресу в цепочке, а не включен непосредственно в транзакцию. Операционные команды и связанные параметры хранятся в поле data полезной нагрузки транзакции.
4.4 Ценность EIP-7702
Изменения во всей цепочке Web3 кошельков для улучшения пользовательского опыта. EOA может инициировать обычные транзакции с выполнением различных логик, таких как массовые переводы. Это повлияет на идентификацию сделок в сценариях CeFi и сбор сборов за вывод и депозит.
Сломать несколько существующих стереотипов:
4.5 Сравнение EIP-7702 и EIP-4337
Эти недостатки основаны на текущем содержании предложения EIP7702, окончательная реализация может измениться.
5. Резюме
Абстракция счета в настоящее время может быть реализована только в последнем внедрении модуля "Исправить все". Ускорение прогресса EIP7702 в основном приводит к вызовам системной безопасности. Хотя изменения значительны, снижение затрат для пользователей оправдывает изучение адаптации всеми Dapp. В конечном итоге пользователи станут на сторону EIP7702.