Новая функция, внедренная в выпуске Sui v1.72, выявила крайний случай в логике взимания газа на блокчейне Layer-1, что привело к остановке мейннета три раза 28 и 29 мая, причем каждое исправление либо вызывало, либо раскрывало следующую ошибку, сообщило Sui Foundation в постмортеме , опубликованном в воскресенье.
Первый сбой начался примерно в 7:00 по тихоокеанскому времени в четверг и длился почти семь часов.
Согласно фонду, это возникло из-за редкой проблемы в том, как сеть взимала газ за транзакции, оплачиваемые с использованием смеси новой функции баланса адреса и традиционных объектов монет. Ошибка вызывала сбой валидаторов из-за ошибки переполнения при отмене транзакции из-за недостатка средств, но процедура сжатия газа все еще пыталась потратить эти же средства.
Представьте объект монеты как цифровую купюру. Баланс SUI пользователя — это не одно число, а стек отдельных «купюр», каждая из которых имеет свой собственный идентификатор и может перемещаться или объединяться. Кошелек может содержать три объекта монет стоимостью 60, 30 и 10 SUI, а не одну единую сумму в 100 SUI. Для оплаты сети объединяют необходимые купюры.
Валидаторы — это компьютеры (и операторы, стоящие за ними), которые поддерживают сеть, обрабатывая транзакции, голосуя за их корректность и поддерживая работу цепочки.
Основная команда восстановила работу сети около 13:30 по тихоокеанскому времени с помощью того, что она назвала «временным исправлением», устраняющим наиболее распространённую версию ошибки, но сопровождаемым «известной проблемой с низкой вероятностью вызова остановки». Команда приняла этот риск, чтобы быстро восстановить мейннет, пока разрабатывалось более надёжное исправление.
Известный риск реализовался на следующее утро. Второй сбой начался примерно в 5:00 по тихоокеанскому времени в пятницу, когда транзакция вызвала маскированную версию той же ошибки, при которой ошибка недостаточного баланса была переопределена другим причиной отмены, обходя промежуточный патч. Основная команда завершила более надежное исправление, и валидаторы применили его примерно к 9:40 по тихоокеанскому времени.
Третья остановка стала следствием второй. Когда валидаторы перезапустились для установки надежного исправления, участие валидаторов в протоколе, который обеспечивает ончейн-случайность сети, упало ниже необходимого порога, и случайность отключилась по дизайну.
Случайность на цепочке — это протокол, который сеть использует для генерации числа, которое никто не может предсказать или подделать, даже хотя каждый валидатор должен согласиться с одним и тем же значением. Приложения, зависящие от случайности — лотереи, определённые игры, случайные NFT-чеканки — не могут работать без него.
Скрытый баг не смог сохранить это отключенное состояние на диск, в результате валидаторы не знали при следующем запуске, что случайность была отключена. Следующее изменение эпохи застряло почти на шесть часов, поскольку транзакции, зависящие от случайности, накапливались в приостановленной очереди.
Фонд заявил, что средства пользователей не подвергались риску во время любых простоев и ни одна завершенная транзакция не была отменена.
SUI упал примерно на 8% во время каскада до минимума $0,90 и торговался около $0,90 в понедельник, что оставило токен ниже на 19% за неделю, согласно данным CoinDesk.
События представляют собой третий крупный инцидент с надежностью Sui с момента запуска его мейннета в 2023 году, после двухчасового бага с планированием транзакций в ноябре 2024 года и шестичасового расхождения консенсуса в январе 2026 года.

