Ethereum откладывает обновление Glamsterdam из-за восьми рисков в смарт-контрактах

ETH
Обновление Glamsterdamтестнет HoodiChainSecurityценообразование газаEthereumEIP-8037
1 час назадИсточник: crypto.news
Ethereum откладывает обновление Glamsterdam из-за восьми рисков в смарт-контрактах

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

Краткое содержание

  • Разработчики Ethereum отложили обновление Glamsterdam в тестовой сети Hoodi после того, как ChainSecurity выявила восемь допущений в смарт-контрактах, которые могут стать недействительными в соответствии с предлагаемыми изменениями в учёте газа.
  • EIP 8037 и EIP 8038 изменят способ, которым Ethereum взимает плату за газ за определённые операции, что потенциально может повлиять на существующие контракты, зависящие от фиксированной стоимости газа или конкретных условий сбоя транзакций.
  • Ethereum Foundation попросил разработчиков и аудиторов проверить затронутые проекты и сообщить о потенциальных проблемах до того, как основные разработчики решат, необходимы ли изменения в спецификациях обновления.
  • Хардфорк Hoodi останется на паузе до тех пор, пока выявленные проблемы не будут решены, в то время как разработка последующего обновления Ethereum Hegota продолжается без перерывов.

В блог-посте от 6 ноября Ethereum Foundation сообщил, что аудиторская фирма ChainSecurity выявила несколько проектов, которые могут стать уязвимыми после вступления в силу EIP-8037 и EIP-8038.

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

Эти выводы побудили группу All Core Developers (ACD) Ethereum отложить хардфорк Hoodi до тех пор, пока проблемы совместимости не будут решены.

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

Обновление Ethereum Glamsterdam сталкивается с восемью проблемами совместимости

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

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

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

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

Ethereum Foundation опубликовал репозиторий на GitHub, документирующий восемь затронутых инвариантов, с объяснениями, примерами и инструкциями для разработчиков по проверке собственного кода.

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

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

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

Активация Hoodi остаётся на паузе, пока продолжаются проверки безопасности

Последние выводы предоставляют дополнительные подробности, стоящие за более ранним решением Ethereum отложить активацию Hoodi, первоначально запланированную на 26 октября в 17:42:48 UTC.

Как ранее сообщал crypto.news, отсрочка исключила как активации уровня исполнения Amsterdam, так и уровня консенсуса Gloas из расписания Hoodi, а также запланированное увеличение лимита газа тестовой сети до 200 миллионов.

Новая дата активации не объявлена.

Разработчик Ethereum Foundation Мариус ван дер Вейден сообщил, что организация работает с ChainSecurity и Dedaub, одновременно проводя внутренние аудиты для оценки возможного влияния на существующие приложения.

Фонд признал, что его проверки не могут охватить каждый проект Ethereum, особенно там, где уязвимости могут затрагивать взаимодействия между смарт-контрактами и внецепочечной инфраструктурой.

Поэтому он попросил разработчиков и независимых аудиторов выявить затронутые приложения и представить свои выводы до следующих обсуждений All Core Developers.

Репозиторий запрашивает сведения о затронутых контрактах, конкретном затронутом инварианте, возможных исправлениях и, при наличии, подтверждающих тестах. Отчёты можно направлять конфиденциально на [email protected].

В зависимости от отзывов разработчики могут рассмотреть корректировки EIP-8037 и EIP-8038 перед продолжением обновления.

Работа над последующим обновлением Ethereum Hegotá будет продолжаться параллельно и, по словам Фонда, остаётся незатронутой задержкой Glamsterdam.

Изменения масштабирования Glamsterdam остаются на этапе тестирования

Glamsterdam уже был активирован в тестовой сети Sepolia 6 октября, где разработчики начали изучать его изменения масштабирования при лимите газа в 200 миллионов.

Обновление вводит закреплённое разделение предлагающего и строителя блоков через EIP-7732, что переносит обязанности по построению блоков в протокол консенсуса Ethereum.

Другой важный компонент, EIP-7928, вводит списки доступа на уровне блоков, предназначенные для того, чтобы помочь клиентам более эффективно обрабатывать данные транзакций и поддерживать параллельное выполнение.

Переоценка газа составляет ещё одну часть обновления. EIP-8037 изменяет стоимость создания нового состояния блокчейна, а EIP-8038 корректирует плату за доступ к существующему состоянию.

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

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

Отдельно разработчики объединили исправление депозита валидатора 26 октября после выявления ошибки, которая могла зачислять стейкинговые депозиты строителям блоков, использующим тот же публичный ключ.

Исправление устранило отдельную проблему, связанную с изменениями консенсуса Gloas в Glamsterdam, а в спецификации были добавлены регрессионные тесты до того, как клиентские реализации внедрят пересмотренное поведение.