
EIP-7702: прикручиваем код к EOA, где можно споткнуться?
pnaydanovgoo 7 минут назад EIP-7702: прикручиваем код к EOA, где можно споткнуться? Уровень сложности Сложный Время на прочтение 16 мин Охват и читатели 149 Solidity * Децентрализованные сети * Обзор EIP-7702: Set Code...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. pnaydanovgoo 7 минут назад EIP-7702: прикручиваем код к EOA, где можно споткнуться? Уровень сложности Сложный Время на прочтение 16 мин Охват и читатели 149 Solidity * Децентрализованные сети * Обзор EIP-7702: Set Code for EOAs - это стандарт, который предлагает добавить новый тип транзакции согласно спецификации, описанной в EIP-2718: Typed Transaction Envelope , что позволит к Externally Owned Accounts (EOAs) прикрепить код смарт-контракта. EIP-7702 является следующим шагом в области абстракции аккаунта в рамках обновления Ethereum под названием "Pectra" .
Прикрепление смарт-контракта к EOA позволяет исполнить программный код в его контексте. Например, использовать баланс пользователя для отправки другому пользователю. Технически это реализовано при помощи механизма делегирования вызова (delegateCall), только не для смарт-контракта, а для EOA.
Технические детали
Делегирование вызова для EOA cо смарт-контрактом У сущности аккаунт в Ethereum всегда существовало поле code . Только раньше, для EOA, это поле оставалось пустым, а для смарт-контракта там находился байткод. Теперь для EOA, в поле code , записывается адрес прикрепляемого смарт-контракта со специальным префиксом ( 0xef0100 address).
По сути, префикс - это некоторое магическое значение, которое позволяет четко определить, что это адрес для делегирования, а не байт-код смарт-контракта. Глобально, EIP-7702 нацелен на улучшение UX приложений за счет небольших изменений внутри Ethereum. При помощи стандарта могут решаться следующие задачи: Батчинг транзакций : Объединение нескольких атомарных операций внутри одной транзакции.
Например, approve и трансфер в одной транзакции. Это то чего так долго ждали пользователи кошельков. Безгазовые транзакции или спонсирование : Оплата газа сторонним аккаунтом или возможность оплачивать газ в ERC-20 токене.
Отраслевые последствия
Это позволяет улучшить опыт использования кошельков новыми пользователями, у которых еще нет нативной валюты для оплаты газа. Управление ролями и доступом : Выдача разрешений на управление аккаунтом третьим лицам. Механизмы восстановления доступа : Может быть реализован вывод активов или резервный адрес, который сможет управлять активами кошелька.
Транзакция для прикрепления кода В этом разделе разберем из чего состоит транзакция, которая прикрепит смарт-контракт к EOA. Тело транзакции похоже на любой другой тип транзакции согласно EIP-2718: Typed Transaction Envelope : TransactionType - тип транзакции равен 0x04 . TransactionPayload - кодированные данные отличаются тем, что добавляется новое поле authorization_list .
Структура транзакции для прикрепления смарт-контракта Поле authorization_list - это tuple, который определяется как: authorization_list = [[ chain_id, // Идентификатор сети, для которой делегирование актуально address, // Адрес смарт-контракта куда будет делегироваться вызов nonce, // Текущий nonce EOA y_parity, // Данные подписи EOA аккаунта r, // Данные подписи EOA аккаунта s // Данные подписи EOA аккаунта ], ...
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





