Ethereum Glamsterdam test в сети Hoodi перенесли после того, как специалисты по безопасности указали на возможные проблемы для уже развернутых смарт-контрактов: новые правила учета газа могут изменить то, как контракты реагируют на неудачные операции.
Обновление Glamsterdam должно было активироваться в тестовой сети Hoodi 26 октября в 17:42:48 UTC. Однако на заседании All Core Devs Execution в четверг разработчики решили отменить запланированный запуск, чтобы подробнее изучить влияние предложенных изменений на контракты, которые уже работают в основной сети Ethereum.
Новая дата теста для Hoodi пока не объявлена. Также остается неопределенным срок активации Glamsterdam в основной сети Ethereum.
Почему возникли опасения
Ключевой вопрос связан с EIP-8037. Это предложение меняет принцип, по которому Ethereum взимает плату за создание новых записей в своей базе данных. Его цель — сдержать рост этой базы по мере увеличения числа транзакций, которые сеть способна обрабатывать.
13 октября ChainSecurity опубликовала анализ, в котором показала: в сочетании с EIP-8038 это изменение может повлиять на поведение контрактов в ситуациях, когда вызываемый ими другой контракт исчерпывает газ или комиссии, используемые для оплаты операторов сети.
Риск касается не только новых разработок, но и уже существующих смарт-контрактов. Некоторые из них специально устроены так, чтобы после неудачной операции зафиксировать сбой и продолжить выполнение: записать факт ошибки, заблокировать повторные попытки или перейти к следующему этапу. В отдельных случаях разработчики рассчитывают, что оставшегося газа не хватит для завершения такой логики обработки ошибки, и вся транзакция будет откатана.
Как Glamsterdam меняет расчет газа
Предложенные правила Glamsterdam могут нарушить прежние ожидания. Если определенные записи создаются, а затем изменения отменяются, часть потраченного на это газа может быть восстановлена. В результате у контракта может остаться достаточно газа, чтобы выполнить обработку ошибки, которая раньше приводила бы к откату всей транзакции.
Есть и обратный сценарий. По расчетам ChainSecurity, создание нового слота хранения при исчерпании отдельного лимита может потребовать 110 020 газа вместо 22 100 по прежним правилам. Контракт, рассчитанный на старый газовый бюджет, в такой ситуации способен завершиться ошибкой даже при выполнении операции, которая в остальном остается корректной.
Выводы ChainSecurity описывают возможное поведение существующего программного обеспечения при новых правилах. Компания показала сами механизмы риска, но публично не доказала, что какой-либо крупный рабочий протокол уже можно атаковать таким способом.
Что еще входит в Glamsterdam
Glamsterdam включает несколько изменений для Ethereum. Среди них — новая система выбора создателей блоков, а также улучшения, которые должны помочь сети работать с более крупными блоками.
6 октября обновление уже прошло активацию в тестовой сети Sepolia. Следующим публичным этапом должен был стать запуск в Hoodi вместе с плановым повышением лимита газа до 200 миллионов. Это увеличение также отложили.
Для основной сети Ethereum подтвержденной даты активации Glamsterdam нет. Обнаруженные риски не означают, что действующие контракты сейчас эксплуатируются через предлагаемые изменения, но разработчики решили взять паузу до дополнительной проверки.
Новости о биткоин, блокчейне и криптовалютах
Автор: Сoinspot
