Cryptonews

Технический сбой и неправильно рассчитанное решение привели к остановке основной сети Суи в третий раз

Source
CryptoNewsTrend
Published
Технический сбой и неправильно рассчитанное решение привели к остановке основной сети Суи в третий раз

Фонд Sui в воскресенье опубликовал вскрытие трех сбоев в основной сети, которые привели к отключению уровня 1 28 и 29 мая, связывая первые две остановки с ошибкой зарядки газа, возникшей в обновлении «баланса адресов» версии 1.72, а третью — с отдельной ошибкой случайного состояния, обнаруженной, когда валидаторы перезапустились для установки временного исправления, которое команда признала, что оно было отправлено, зная, что оно сопряжено с маловероятным риском остановки.

SUI, собственный токен сети, упал на 6,6% за 24 часа после вскрытия и упал на 18,5% за семь дней до 0,82 доллара, сократив рыночную капитализацию Sui до 3,31 миллиарда долларов, согласно CoinGecko. Общая заблокированная стоимость сети составляет 479,66 миллиона долларов, что является тринадцатым по величине среди сетей, отслеживаемых DefiLlama, после Avalanche и впереди Monad. В воскресенье DEX на базе Sui заработали 77,33 миллиона долларов за 24 часа, во главе с DeepBook V3 с 26,69 миллиона долларов.

На прошлой неделе Sui возобновил работу после последовательных остановок, связанных с тем же выпуском 1.72. Это также один из наиболее подробных отчетов об инцидентах уровня 1, опубликованных в этом году, в котором указываются конкретные пути кода и признается, что сеть валидаторов некоторое время работала над исправлением, которое, как знали инженеры Mysten Labs, могло потерпеть неудачу.

Газовая ошибка

Первые две остановки связаны с этапом исполнения, который Суй называет «газовым разрушением» — процессом, при котором среда выполнения объединяет все входные монеты транзакции в одну монету и списывает с нее газ перед запуском самой транзакции. В выпуске v1.72 представлены «балансы адресов», функция, которая позволяет пользователям одновременно снимать средства с одного адреса и вносить средства на него, выдавая дельты баланса, которые системная расчетная транзакция согласовывает каждый блок.

Крайний случай, по мнению Фонда: когда транзакция попыталась перерасходовать баланс адреса для покрытия газа, она была правильно помечена как отмененная с ошибкой InsufficientFundsForWithdraw — но затем снова запустился газ для того же объекта резервирования, расходуя средства, к которым транзакция только что сказала, что у нее нет доступа. Уровень расчетов получил отрицательную дельту, примененную к нулевому балансу, и валидаторы вышли из строя. Как только во входном конвейере возникает ошибка, приводящая к сбою, каждый честный валидатор попадает в один и тот же неверный ввод, и цепочка останавливается.

Патч известного риска

Временное исправление Суи, примененное в четверг для восстановления цепочки, заключалось в прекращении газификации транзакций, отмененных с помощью InsufficientFundsForWithdraw. Фонд теперь заявляет, что команда «приняла на себя риск, сопровождающий это предложение, чтобы как можно быстрее восстановить остановленную сеть, пока не будет разработано надежное решение». В пятницу утром сеть столкнулась с вариантом того же крайнего случая и остановилась во второй раз. Последовал второй патч.

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

Что не так с крючка

По данным Фонда, ни один фонд пользователей не подвергался риску во время трех остановок, и ни одна зафиксированная транзакция не была отменена. Инциденты не имели никакого отношения к нагрузке трафика и не имели никакого отношения к внешнему эксплойту, а завершенность транзакций возвращалась к завершению менее секунды после третьего перезапуска. Фонд также заявил, что внутренний ИИ-агент с доступом к журналам производственного валидатора «существенно ускоряет диагностику».

Панель надежности

Для контекста: последняя официально подтвержденная остановка основной сети Solana произошла 6 февраля 2024 года, когда ошибка в кэше программы-валидатора привела к скоординированному перезапуску примерно на пять часов. Для сравнения, в ноябре 2024 года перед этим последним запуском в Суй случилась короткая остановка из-за контроля перегрузок и шестичасовая консенсусная остановка в январе 2026 года.

Фонд назвал четыре приоритета исправления: распространение шаблонов постепенной деградации «безопасного режима» Суи на остальную часть пути реконфигурации; восстановление логики зарядки газа до уровня качества кода, сравнимого с Move VM или консенсусным протоколом Mysticeti; расширение программы агентов искусственного интеллекта для отладки производства; и добавление уровня глубокоэшелонированной защиты, который позволит валидатору пропускать вводимые данные, вызывающие сбой, а не останавливать цепочку.

Генеральный директор Mysten Labs Эван Ченг и директор по продукту Адении Абиодун на момент публикации не опубликовали публичных комментариев по поводу вскрытия. The Defiant запросил комментарий у Фонда Суи.

Технический сбой и неправильно рассчитанное решение привели к остановке основной сети Суи в третий раз