Сеть 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.
Обсуждение
Добавить комментарий