Ethereum отложил запланированное на 26 октября обновление Glamsterdam на тестовой сети Hoodi. Причина — риск для существующих смарт-контрактов, который выявила компания ChainSecurity. Речь идёт о том, что предложенные изменения в системе расчёта газа (EIP-8037 и EIP-8038) могут изменить, как контракты обрабатывают неудачные операции, потенциально оставляя некоторые из них с больше или меньшим газом, чем ожидается.
Суть проблемы в EIP-8037 — предложении изменить способ начисления комиссии за создание новых записей в базе данных Ethereum. Это нужно для замедления роста объёма данных по мере того, как сеть увеличивает пропускную способность. Но когда это изменение взаимодействует с EIP-8038 и учитывает существующие контракты на основной сети, возникает неожиданный эффект: контракты могут получить неправильное количество газа при обработке транзакций, что приведёт либо к постоянным ошибкам, либо к отказу в операциях, которые на самом деле должны работать.
Разработчики приняли решение отложить тест во время еженедельного совещания All Core Devs Execution в четверг, чтобы разобраться с взаимодействием между предложенными изменениями и уже развёрнутыми контрактами. Это разумный шаг: такие ошибки, если их пропустить на основной сети, могут сломать целые экосистемы приложений. Дата повторного тестирования не назначена, как и дата развёртывания на основной сети.
Подобные проблемы вскрываются обычно именно на стадии тестирования и исследования, но масштаб возможного воздействия заслуживает серьёзного изучения. ChainSecurity опубликовала анализ 13 октября, но очевидно, что глубина проблемы стала ясна только после более внимательного рассмотрения разработчиками. Это демонстрирует, как сложна архитектура Ethereum и как даже маргинальные изменения могут иметь непредсказуемые последствия для множества зависящих от неё приложений.
Для российских компаний, работающих со смарт-контрактами на Ethereum или других совместимых блокчейнах, такие инциденты напоминают о важности постоянного мониторинга обновлений сети. Если вы развёртываете контракты для платежей, управления активами или автоматизации бизнес-логики, обновления в расчёте газа напрямую влияют на затраты и предсказуемость операций. В России, где блокчейн-приложения часто используют для микрокредитования и торговли цифровыми активами, такая задержка означает дополнительное время на тестирование и адаптацию своего кода под финальные параметры.
Задержка обновления также подчёркивает, почему важно разделение процесса: сначала тестовые сети, затем основная сеть. За два года развития Ethereum через Shapella и Dencun подобные находки стали типичными на ранних стадиях. Вопрос только в том, удастся ли решить проблему быстро или потребуется переработка самих предложений.