Отчет о проделанной работе: сбой в работе сети 1.06.2022

Примерно в 16:30 UTC в среду, 1 июня, кластер Mainnet Beta компании Solana прекратил производство блоков в результате несостыковки, вызванной ошибкой в функции (durable nonce) транзакций. В течение следующих четырех с половиной часов разработчики работали над определением проблемы и коллективно инициировали перезапуск сети, в результате чего транзакции в которых возникали ошибки были временно отключены. Производство блоков возобновилось в 21:00 UTC в тот же день, и операторы сети продолжали восстанавливать клиентские сервисы в течение следующих нескольких часов.

Эта проблема не связана с улучшениями в версиях 1.10 и 1.11. Подробнее о предстоящих улучшениях вы можете прочитать здесь.

Что стало причиной сбоя?

Ошибка во время выполнения, вызванная функцией транзакций durable nonce, позволила при определенном стечении обстоятельств дважды обработать неудачную транзакцию durable nonce. Это привело к неопределенности, когда валидатор обрабатывал транзакцию во второй раз, и некоторые узлы отвергали последующий блок, а другие принимали его.

Что было сделано?

Функция durable nonce transaction была отключена в релизах v1.9.28/v1.10.23, чтобы предотвратить остановку сети в случае повторения подобной ситуации. Транзакции Durable Nonce не будут обрабатываться до тех пор, пока не будут применены меры по исправлению ситуации, и функция не будет вновь активирована в следующем релизе.
Source