Ethereum Devs Say They Won’t Fork “glamsterdam” On Hoodi Yet

Основные разработчики Ethereum отложили продвижение обновления Glamsterdam в тестовой сети Hoodi после выявления проблем безопасности, связанных с двумя конкретными предложениями об изменении стоимости газа — EIP-8037 и EIP-8038. В опубликованной в пятницу записи в блоге на сайте Ethereum Foundation разработчики заявили, что задержка сохранится, пока не будут устранены восемь «инвариантов» смарт-контрактов, связанных с поведением обновления.

Это решение важно для разработчиков и всех, кто следит за планом обновлений Ethereum, поскольку Glamsterdam предусматривает изменения в порядке взимания платы за газ за некоторые операции. По данным Ethereum Foundation, некоторые существующие проекты могут исходить из того, что определённые действия всегда требуют предсказуемого фиксированного количества газа. Эти предположения могут оказаться неверными после вступления в силу новых правил расчёта газа — особенно в случаях, когда внешние вызовы завершаются с ошибкой.

Ключевые выводы

  • Основные разработчики Ethereum отложили активацию Glamsterdam в тестовой сети Hoodi из-за опасений по поводу безопасности, связанных с восемью инвариантами смарт-контрактов.

  • EIP-8037 и EIP-8038 меняют порядок списания газа за некоторые операции, что потенциально может нарушить работу смарт-контрактов, рассчитанных на фиксированную стоимость газа.

  • В отчёте ChainSecurity от 13 октября отмечалось, что эти два EIP могут нарушить работу контрактов при сбое внешних вызовов.

  • Форк Hoodi не будет запущен, пока проблемы не будут решены. Это даст командам дополнительное время, чтобы оценить, нужны ли новые исправления.

Почему обновление тестовой сети Hoodi приостановили

В пятничном сообщении Фонд Ethereum заявил, что форк тестовой сети Hoodi отложен до тех пор, пока разработчики не устранят уязвимости, выявленные в ходе недавнего аудита. Причина не в общем утверждении о «нестабильности обновления», а в более конкретном опасении: как предлагаемые EIP могут повлиять на корректность смарт-контрактов, опирающихся на сложившиеся ожидания относительно стоимости газа.

Фонд отдельно указал на риски, связанные с инвариантами — свойствами, которые, как предполагается, смарт-контракты сохраняют при определённых условиях выполнения. В данном случае опасения связаны с тем, как рассчитывается расход газа для операций, охватываемых EIP-8037 и EIP-8038. Если эти инварианты перестанут выполняться, контракты, написанные и протестированные с учётом прежних допущений о расчёте газа, могут повести себя неожиданно при определённых сценариях вызовов.

Как EIP-8037 и EIP-8038 могут нарушить прежние допущения

В публикации блога Фонда Ethereum приостановка связывается с категорией контрактов, которые предполагают определённый расход газа для конкретных операций. Некоторые приложения Ethereum исторически полагались на фиксированные расчёты, связанные с газом, — для внутреннего учёта, контроля рисков или логики, принимающей решения на основе ожидаемого расхода газа.

Поскольку Glamsterdam включает изменения цен на газ, после вступления новых правил в силу эти допущения о фиксированной стоимости могут перестать соответствовать действительности. Фонд пояснил, что EIP-8037 и EIP-8038 могут сделать такие допущения неверными, особенно «при сбое внешних вызовов» — в этом случае может измениться ход выполнения и, как следствие, расчёт затрат на газ.

Вот в чём заключается ключевой нюанс: проблема не просто в изменении стоимости газа, а в том, что конкретная логика контрактов могла быть разработана с учётом прежнего поведения. Когда внешние вызовы откатываются или завершаются иначе неудачно, расхождение между ожидаемым и фактическим списанием газа может привести к нарушению инвариантов.

Аудит ChainSecurity запустил цепочку событий

Решение Ethereum последовало за отчётом аудитора смарт-контрактов ChainSecurity от 13 октября. Как рассказал Фонд, аудиторы пришли к выводу, что эти два EIP могут «нарушить работу смарт-контрактов, полагающихся на фиксированные допущения о расходе газа, при сбое внешних вызовов».

Такое уточнение даёт разработчикам конкретное направление для дальнейшей работы. Вместо того чтобы рассматривать обновление как чёрный ящик, команды могут сосредоточиться на выявлении затронутых шаблонов контрактов, оценке возможности скорректировать обновление для сохранения ожидаемых свойств, а также определении приложений, уже работающих в сети, которым могут понадобиться предупреждения или тестирование совместимости до более широкого запуска.

В публикации Фонда подчёркивается, что дополнительное время, предоставленное в Hoodi, нужно именно для этого: поиска потенциальных проблем со смарт-контрактами и определения необходимости изменений до того, как Glamsterdam приблизится к развёртыванию в основной сети.

Glamsterdam уже прошёл репетицию в Sepolia

Приостановка форка Hoodi не означает полной остановки более широкого процесса внедрения Glamsterdam. Ранее обновление достигло ещё одного важного этапа: 6 октября оно было запущено в тестовой сети Sepolia. Это событие назвали одной из последних крупных репетиций перед запуском.

В рекомендациях от 28 сентября Фонд Ethereum сообщал, что Glamsterdam призван продвинуть дорожную карту масштабирования первого уровня Ethereum. Среди заявленных целей обновления — закрепление разделения предлагающего и сборщика блоков, добавление списков доступа на уровне блоков и изменение цен на газ, чтобы они точнее отражали стоимость выполнения операций.

Решение отложить форк Hoodi до устранения проблем показывает, что тестирование и развёртывание проходят в рамках риск-ориентированного процесса. Sepolia стала для команд средой для репетиции, а Hoodi теперь превращается в этап, на котором нерешённые опасения по поводу инвариантов газа считаются блокирующими факторами до дальнейшего продвижения.

Читателям также стоит следить за тем, как будет решаться проблема «сбоев внешних вызовов». На практике именно в таких случаях многие реальные контракты сталкиваются с нестандартными ситуациями — от интеграций с кошельками до взаимодействия между контрактами. Если окончательные исправления вновь изменят поведение газа, разработчикам, создающим приложения по новым правилам, возможно, придётся повторно тестировать сценарии сбоев, а не только проверять штатное выполнение.

За чем следить дальше, пока Glamsterdam не выйдет в основную сеть

Следующий шаг Ethereum зависит от того, сможет ли команда решить проблемы с восемью инвариантами и определить, нужны ли дополнительные корректировки на уровне EIP или реализации. Разработчикам в первую очередь следует пересмотреть все контракты, предполагающие фиксированную стоимость газа для затронутых операций, особенно в сценариях со сбоями внешних вызовов, пока команда обновления продолжает разбирать проблемы, выявленные аудитом ChainSecurity.

Изначально эта статья была опубликована под заголовком «Разработчики Ethereum заявили, что пока не будут запускать форк “Glamsterdam” в Hoodi» на Crypto Breaking News — вашем надёжном источнике новостей о криптовалютах, биткоине и блокчейне.