5 ноября обнаруженный программный сбой в клиенте выполнения Reth от Paradigm вызвал экстренную реакцию на нескольких сетях Ethereum второго уровня. Баг, связанный с устаревшим алгоритмом расчета корня состояния в Reth, мог возвращать неверный криптографический отпечаток блокчейна при обработке специально сформированных транзакций, что потенциально приводило к расхождению мнений узлов о валидности блоков. Георгиос Константинопулос, CTO Paradigm, сообщил, что проблема была выявлена командой Tempo с помощью автоматизированного фаззинга и оперативно устранена в Reth, Optimism, Base и Tempo.

ETH / USD
Источник: CoinGecko. Цены ориентировочные.

Техническая природа уязвимости

Корни состояния обобщают все состояние Ethereum, включая балансы счетов и хранилище контрактов. Согласно данным CryptoSlate, ошибочный код в устаревшем модуле Reth мог неверно рассчитывать этот корень в граничных конфигурациях хранилища, особенно на оборудовании начального уровня и в сетях OP-Stack, использующих тот же клиент. Хотя ошибка не затрагивает механизмы вывода средств, использующие отдельные пути верификации, она могла нарушить производство блоков и синхронизацию сети, если бы не была устранена.

Координированное внедрение патчей

Разработчики Reth выпустили версию 2.10.0, Optimism опубликовал OP Reth v2.8.1, а Base развернул версию 1.5.3; каждое из этих обновлений было отмечено как имеющее высокий приоритет для операторов узлов. Base подтвердил, что его система доказательств использует независимую реализацию расчета корня состояния, что позволяет верифицировать правильный корень даже при ошибке в расчете Reth. Сеть также пересчитала свой корень состояния для обеспечения согласованности, заявив, что средства пользователей не пострадали, а валидаторы не остановятся после установки патча.

Реакция экосистемы в целом

Инцидент спровоцировал превентивные меры за пределами непосредственно затронутых клиентов. Frax Finance сообщила, что LayerZero временно приостановила работу некоторых межсетевых маршрутов для оценки рисков, хотя и подтвердила безопасность активов и контрактов. Ни один мост не оказался уязвим к багу Reth, что подчеркивает, как общая инфраструктура может вызывать каскадные эффекты в сервисах, зависящих от общего программного обеспечения выполнения.

Что наблюдать дальше

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