Команда разработчиков Starknet, сети масштабирования layer-2 (L2) на Ethereum, опубликовала отчет пост-мортем (post-mortem), в котором подробно разобрана корневая причина сбоя основной сети, произошедшего в понедельник.
Согласно отчету, сбой возник из-за несогласованности состояния сети между блокифайером (слоем выполнения) и слоем доказательств (слоем доказательств, используемым для подтверждения правильной обработки транзакций). Команда Starknet объясняет, что в конкретной комбинации межфункциональных вызовов, операций записи переменных, откатов (revert) и механизма обработки ошибок, блокифайер «запомнил» изменение состояния, возникшее внутри функции, которая была откатана, что привело к неправильному выполнению транзакции.
Однако эта ошибка никогда не достигала завершенного состояния на L1 благодаря слою доказательств Starknet. Слой доказательств обнаружил ошибку и не позволил зафиксировать ошибочные транзакции в реестре, что подтверждает правильность работы механизма проверки.
Схема, иллюстрирующая, как ошибка в коде влияет на сеть | Источник: StarknetИнцидент вынудил сеть выполнить реорганизацию блока (block reorganization), в результате чего около 18 минут работы сети были отменены. Команда разработчиков сообщает, что Starknet сейчас восстановил нормальную работу.
После инцидента команда пообещала усилить тестирование и аудит исходного кода, чтобы предотвратить подобные ошибки в будущем. Этот сбой также показывает все возрастающие сложности в разработке новых поколений блокчейнов с многоуровневой архитектурой и высокой сложностью.
Это не первый случай сбоев Starknet в 2025 году. Ранее сеть пережила несколько инцидентов, наиболее серьезный из которых произошел в сентябре после внедрения крупного обновления протокола под названием Grinta.
Время работы Starknet, с красным квадратом, обозначающим отключение электроэнергии в сентябре | Источник: StarknetСогласно отчету пост-мортем, сбой тогда длился более пяти часов и был вызван ошибкой секвенсера — компонента, отвечающего за упорядочивание транзакций в сети. Во время перерыва производство блоков полностью остановилось, и было выполнено две реорганизации цепочки для восстановления рабочего состояния.
Процесс реорганизации привел к отмене примерно одного часа работы сети, что заставило пользователей повторно отправлять транзакции. Для обычных пользователей повторная отправка транзакций может вызвать лишь небольшие неудобства, если это не связано со своевременностью. Однако для активных трейдеров или инвесторов, которым нужно выйти из позиций или совершить сделки в короткие сроки, это может иметь серьезные последствия.
Ван Цзянь