Разработчики Ethereum просят dApp-команды дать обратную связь по изменениям в учёте газа для апгрейда Glamsterdam
Ядро разработчиков просит команды dApp проверить восемь предположений о газе после того, как EIP-8037 поставил под угрозу логику биллинга и авторизации, что задержало запуск Glamsterdam.
Перевод с английского. Читать оригинал
Главное
- Апгрейд Glamsterdam в Ethereum вводит новый учёт газа состояния, который может нарушить возмещение расходов релеев и авторизации кошельков.
- Разработчики попросили команды dApp подтвердить, можно ли выполнить восемь инвариантов, связанных с газом, до продолжения работы над апгрейдом.
- Задержка переносит активацию тестовой сети Hoodi и оставляет время запуска в mainnet неопределённым до получения обратной связи от проектов.
6 ноября Ethereum Foundation опубликовала запрос к разработчикам приложений и аудиторам оценить восемь предположений, связанных с газом и связанных с предстоящим апгрейдом Glamsterdam. Этот призыв последовал за переносом запланированной на 26 октября активации тестовой сети Hoodi и увеличением лимита газа на 200 миллионов, которое было отложено 22 октября до решения выявленных проблем. Ядро разработчиков заявляет, что они не могут сами провести аудит каждого контракта и off-chain сервиса, поэтому им нужна обратная связь от более широкой экосистемы, чтобы решить, требуют ли предложенные изменения в EIP-8037 и EIP-8038 дальнейшей доработки.
ETH / USD
Новая модель газа состояния и её риски
EIP-8037 разделит стоимость создания постоянных данных блокчейна и газ на выполнение, вводя «резервуар газа состояния», который финансирует записи в состояние, если лимит газа транзакции превышает 16 777 216. При текущей семантике Solidity gasleft() этот резервуар невидим для контрактов, что означает, что релей, измеряющий газ до и после выполнения, может неправильно рассчитать возмещения. Если последующее чтение газа выше, проверенное вычитание приведёт к откату (revert), потенциально блокируя транзакцию; непроверенное вычитание может привести к переполнению и чрезмерному возмещению. Предложение также изменяет обработку неудачных делегирований (EIP-7702), позволяя транзакции, исчерпавшей газ во время предварительного выполнения, оставить открытую, повторно используемую авторизацию, что создаёт вектор для атак фронт-раннинга.
Предлагаемые меры защиты и рекомендации для разработчиков
Команда Ethereum предлагает несколько мер защиты: подписание оценки комиссии с учётом новых правил учёта, ограничение результатов вычитания (clamping) и ограничение платежей максимальным значением, подписанным пользователем. Открытый pull request спецификации (PR #12581) направлен на предотвращение увеличения показаний газа, что решит проблему вычитания, но не слепое пятно, создаваемое резервуаром. Для рисков делегирования кошельки могут привязывать инициализацию к подписи аккаунта или аннулировать открытые авторизации, хотя взимание затрат в худшем случае заранее остаётся не принятым изменением протокола.
Что наблюдать дальше
Репозиторий, созданный фондом, теперь собирает ответы от затронутых проектов о необходимых настройках, обновлениях или миграциях, а также их сроках. Эти данные повлияют на следующий раунд обсуждений спецификации и определят, будет ли апгрейд Glamsterdam проходить по плану или потребует дальнейших корректировок. Дата активации в mainnet пока не установлена, и результат будет зависеть от того, сколько dApp смогут адаптироваться к новой модели газа, не жертвуя безопасностью или удобством использования.

Обсуждение 0