Валидаторы Solana дважды перезапускали сеть из-за неизвестной ошибки, которая вызвала полную остановку экономической активности в блокчейне. Неполадка возникла на фоне обновления программного обеспечения нод до более свежей версии.
Сеть перестала должным образом обрабатывать транзакции пользователей 25 февраля примерно в 07:46 по Киеву (08:46 МСК) и перешла в «деградированный» режим. Последнее означает, что отключены все функции, кроме голосования.
Один из валидаторов — Stakewiz — объяснил, что ошибка возникла после перехода большинства нод на версию ПО 1.14.16, произошедшего на прошлой неделе Он назвал обновление «огромным скачком с обилием изменений кода».
We know that in the 6-12 hours prior to the start of today’s event the validators running 1.14.x versions cumulatively achieved a supermajority of stake (>66.6%).
— Laine ❤️ stakewiz.com (@laine_sa_) February 25, 2023
We also know that there was a «fat block» propagated around the time of the start of this event. pic.twitter.com/ZAvfbzZd1M
По словам Stakewiz, незадолго до приостановки экономической активности в сети был сгенерирован блок, содержащий около 150 000 шрэдов. Он вызвал сбой в работе используемого кластерами механизма распространения блоков Turbine, что повлекло за собой простой блокчейна.
Через несколько часов после случившегося валидаторы перезапустили сеть в первый раз. Однако мера оказалась неэффективной, поэтому потребовалась вторая итерация.
Stakewiz отметил, что первоначальный инцидент вызвал появление отдельных цепочек. Он также подчеркнул, что перезапуск блокчейна де-факто означает хард-форк, поскольку требует ресинхронизации валидаторов и 80% согласия в рамках голосования.
После второго перезапуска в ночь на 26 февраля разработчики сообщили, что решили проблему. На момент написания сеть исправно генерирует блоки, согласно Solana Explorer. Вместе с тем периодически в блокчейне наблюдаются скачки среднего времени обработки транзакций, что негативно влияет на его пропускную способность.
Напомним, в июне 2022 года в Solana произошел сбой из-за ошибки в обработке «долгосрочных нецелевых транзакций», который привел к нарушению консенсуса.