Сеть MANTRA снова производит блоки. Простой продлился около тридцати часов: последний блок прошёл примерно в 23:13 по Гринвичу двадцатого августа, работа возобновилась около 5:30 утра двадцать второго. Чинили уязвимость в модуле Cosmos-EVM — её закрыли версией 8.4.0. Средства пользователей, по заявлению команды, не пострадали, а вот токен за это время обновил исторический минимум.

Коротко: что произошло

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

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

Порядок перезапуска был поэтапным: сначала обновились валидаторы самой команды, затем партнёрские, потом обычные операторы узлов, сервисы удалённого доступа и архивные узлы.

Что известно по цифрам

Показатель Значение
Последний блок до остановки около 23:13 UTC 20 августа
Возобновление работы около 5:30 UTC 22 августа
Длительность простоя примерно 30 часов
Версия с исправлением 8.4.0
Цена токена до и после с 0,005060 до 0,004126 $
Падение и оборот около 18% при росте объёма почти на 600%, до 24 млн $

Перед рестартом сняли полный снимок состояния цепочки. Балансы пользователей не менялись, затронуты оказались два кошелька, которыми управляет сама команда.

Почему уязвимость была не своя

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

Ключевое здесь — где именно жил дефект. Он находился в стороннем компоненте, который сеть использует, а не в её собственном коде. При этом сама команда не подтвердила, что инцидент связан именно с этой известной уязвимостью, а не с другой.

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

Отсюда практический вывод для держателя. Тридцать часов простоя — это тридцать часов, когда нельзя ни продать, ни вывести, ни довнести залог. Биржи-партнёры на это время закрыли ввод и вывод. Никакая диверсификация по монетам от такого не спасает: спасает только то, что часть средств лежит в другой сети.

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

Как это выглядит на фоне соседей

Неделя выдалась показательной для сетей второго эшелона. BounceBit после эксплойта решил вовсе погасить свою цепочку и переехать в чужую. MANTRA пошла другим путём — починилась и перезапустилась.

Разница в исходах объясняется не столько тяжестью инцидента, сколько тем, чинится ли дефект в принципе. У BounceBit платформа, на которой построена сеть, сама была прекращена, и чинить оказалось нечего.

Про то, почему выбор сети определяет и стоимость, и риск перевода, мы писали отдельно.

Чего в источниках нет

Не подтверждено, что инцидент вызван именно той уязвимостью Cosmos-EVM, о которой идёт речь: команда этого не заявляла.

Не названы ни сумма, выведенная атакующим, ни судьба этих средств, ни число валидаторов, участвовавших в перезапуске.

Нет и разбора того, почему обновление, доступное с марта, не было установлено раньше.

Частые вопросы

Сеть работает сейчас?

Да, производство блоков возобновилось около 5:30 UTC двадцать второго августа после установки версии 8.4.0.

Пострадали ли средства пользователей?

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

В чём была уязвимость?

В модуле Cosmos-EVM: при вложенном исполнении неверно обрабатывалось состояние, и один баланс можно было использовать повторно внутри одной транзакции.

Почему это чужая ошибка?

Дефект жил в стороннем компоненте, который сеть использует как зависимость, а не в её собственном коде.

Что случилось с токеном?

Он упал примерно на 18% и обновил исторический минимум — с 0,005060 до 0,004126 доллара при росте оборота почти на 600%.

Можно ли было вывести средства во время простоя?

Нет. Транзакции не проходили, а биржи-партнёры на время инцидента приостановили ввод и вывод.

Источники

Материал подготовлен на основе публикаций crypto.news и CoinDesk.