- Дві перерви в роботі виникли через баг у зарядці газу, який викликав збої валідаторів, коли невдалі транзакції викликали помилки балансу.
- Окрема помилка стану випадковості спричинила третє зупинення, заважаючи валідаторам правильно закрити епоху мережі.
- Sui повідомив, що кошти користувачів не постраждали, впровадив виправлення та додав заходи для підвищення стійкості мережі.
Sui Foundation у неділю детально описала причини трьох відключень мейннету, які порушили роботу мережі в четвер і п’ятницю, відносячи інциденти до двох окремих помилок, введених у оновленні програмного забезпечення v1.72. Відключення відбулися, коли валідатори намагалися вирішити проблеми, пов’язані з новою функцією балансів адрес та окремою проблемою зі станом випадковості. За словами фонду, кошти користувачів не перебували під загрозою, і жодна з зафіксованих транзакцій не була скасована під час відновлення.
Вада зарядки газу спричинила перші два відключення
Перший відмов почався близько 7:00 за тихоокеанським часом у четвер і тривав до приблизно 13:30 за тихоокеанським часом. Однак після того, як валідатори застосували тимчасовий виправлення, у п’ятницю вранці відбулася друга зупинка.
За даними Sui Foundation, обидві перебої виникли через недолік, пов’язаний із нарахуванням газу та новою функцією балансів адрес. Проблема виникла, коли транзакції, що конкурували за ті самі кошти, спричинили помилку InsufficientFundsForWithdraw.
Хоча транзакцію було скасовано, подальші етапи обробки газу спробували витратити той самий баланс знову. Як наслідок, валідатори зустріли відʼємний баланс під час розрахунків, що призвело до аварійного завершення роботи нод.
Щоб швидко відновити роботу, команда Sui Core запропонувала тимчасове вирішення в четвер. Однак команда визнала, що в цьому тимчасовому рішенні залишився відомий ризик з низькою ймовірністю.
Внаслідок цього мережа зіткнулася з варіацією тієї ж проблеми в п’ятницю вранці, що призвело до другого відключення до того, як валідатори впровадили більш комплексне виправлення.
Баг із випадковістю спричинив третє зупинення
Після другого відновлення мережа працювала нормально до наступної запланованої зміни епохи у п’ятницю вдень. У цей момент окремий баг спричинив третій вихід з ладу.
Згідно з фондом, валідатори знову почали встановлювати виправлення на п’ятницю, але не виконали вимоги до участі у розподіленому генеруванні ключів. Як і задумано, процес вимкнув випадковість для епохи.
Однак прихований баг заважав валідаторам зберігати цей статус після перезавантажень. Як наслідок, транзакції, що залежать від випадковості, залишалися нерозв’язаними, що призвело до накопичення черги і перешкоджало завершенню епохи.
Відключення тривало від приблизно 1:30 дня за тихоокеанським часом до 7:20 вечора за тихоокеанським часом у п’ятницю.
Foundation висвітлює виправлення та уроки
Після інцидентів валідатори виправили обидві помилки: щодо взимку газу та стану випадковості. Крім того, фонд впровадив механізм, що дозволяє валідаторам примусово закривати застряглий епоху, якщо це необхідно.
Звіт також висвітлив області для покращення, зокрема логіку сплати газу, стійкість наприкінці епохи та обмеження відмов. Крім того, Sui Foundation зазначила, що агенти ШІ допомогли інженерам швидше діагностувати інциденти, аналізуючи журнали валідаторів, виробничі дані та мережеві метрики під час відключень.


