Ethereum откладывает Glamsterdam из-за 8 предупреждений о безопасности своих контрактов

Аудиторы пытаются выяснить, может ли изменение комиссий повлиять на инструкции, выполняемые после ошибки.

Изменение правил расхода газа может повлиять на работу смарт-контрактов, уже действующих в Ethereum.

Это беспокойство побудило разработчиков отложить тестирование Glamsterdam в тестовой сети Hoodi, пока они изучают восемь возможных несовместимостей и выясняют, нужно ли им корректировать существующие приложения или менять спецификации обновления.
Проблема связана с предложениями EIP-8037 и EIP-8038, которые изменят стоимость газа для создания новой информации и доступа к данным, уже хранящимся в сети.
Хотя эти изменения направлены на пересмотр структуры затрат сети, они также могут повлиять на контракты, написанные с расчётом на действующие правила.
Главное опасение возникает, когда контракт вызывает другой контракт, и эта операция завершается неудачей. Некоторые программы используют расход газа как сигнал для остановки определённых действий или фиксации произошедшей ошибки.
Однако при новых правилах после неудачного вызова может оставаться больше газа, что позволит выполнить дополнительные инструкции.
Это означает, что контракт может продолжить операцию, которую его разработчики рассчитывали прервать, или зафиксировать результат, отличный от ожидаемого.
Воздействие будет зависеть от того, как написана каждая программа, поэтому это не означает, что все контракты Ethereum начнут давать сбои.
#ChainSecurity предупредил об этом поведении в анализе, опубликованном 13 октября.
На основе этих наблюдений Фонд Ethereum собрал восемь технических допущений, которые могут перестать выполняться при предлагаемых изменениях.
Среди них — предположения о том, сколько газа требуется для операции и что происходит с доступными ресурсами, когда вызов откатывается.
Чтобы упростить проверку, организация опубликовала репозиторий с примерами и инструкциями, которые помогут разработчикам выявлять возможные проблемы в своих контрактах, документировать результаты и предлагать решения.
Также организация призвала независимых аудиторов присоединиться к работе до следующих обсуждений All Core Developers.
