6 ноября Ethereum Foundation опубликовала запрос к разработчикам приложений и аудиторам оценить восемь предположений, связанных с газом и связанных с предстоящим апгрейдом Glamsterdam. Этот призыв последовал за переносом запланированной на 26 октября активации тестовой сети Hoodi и увеличением лимита газа на 200 миллионов, которое было отложено 22 октября до решения выявленных проблем. Ядро разработчиков заявляет, что они не могут сами провести аудит каждого контракта и off-chain сервиса, поэтому им нужна обратная связь от более широкой экосистемы, чтобы решить, требуют ли предложенные изменения в EIP-8037 и EIP-8038 дальнейшей доработки.

ETH / USD
Источник: CoinGecko. Цены ориентировочные.

Новая модель газа состояния и её риски

EIP-8037 разделит стоимость создания постоянных данных блокчейна и газ на выполнение, вводя «резервуар газа состояния», который финансирует записи в состояние, если лимит газа транзакции превышает 16 777 216. При текущей семантике Solidity gasleft() этот резервуар невидим для контрактов, что означает, что релей, измеряющий газ до и после выполнения, может неправильно рассчитать возмещения. Если последующее чтение газа выше, проверенное вычитание приведёт к откату (revert), потенциально блокируя транзакцию; непроверенное вычитание может привести к переполнению и чрезмерному возмещению. Предложение также изменяет обработку неудачных делегирований (EIP-7702), позволяя транзакции, исчерпавшей газ во время предварительного выполнения, оставить открытую, повторно используемую авторизацию, что создаёт вектор для атак фронт-раннинга.

Предлагаемые меры защиты и рекомендации для разработчиков

Команда Ethereum предлагает несколько мер защиты: подписание оценки комиссии с учётом новых правил учёта, ограничение результатов вычитания (clamping) и ограничение платежей максимальным значением, подписанным пользователем. Открытый pull request спецификации (PR #12581) направлен на предотвращение увеличения показаний газа, что решит проблему вычитания, но не слепое пятно, создаваемое резервуаром. Для рисков делегирования кошельки могут привязывать инициализацию к подписи аккаунта или аннулировать открытые авторизации, хотя взимание затрат в худшем случае заранее остаётся не принятым изменением протокола.

Что наблюдать дальше

Репозиторий, созданный фондом, теперь собирает ответы от затронутых проектов о необходимых настройках, обновлениях или миграциях, а также их сроках. Эти данные повлияют на следующий раунд обсуждений спецификации и определят, будет ли апгрейд Glamsterdam проходить по плану или потребует дальнейших корректировок. Дата активации в mainnet пока не установлена, и результат будет зависеть от того, сколько dApp смогут адаптироваться к новой модели газа, не жертвуя безопасностью или удобством использования.