Mengutip dari akun Twitter @SolanaStatus, pada 5 Juni 2022, Ia mengumumkan bahwa pada tangga 1 Juni, Solana Main net Beta mengalami pemadaman selama empat setengah jam yang disebabkan oleh adanya bug dalam fitur transaksi oracle nonce yang tahan lama. Ini mengakibatkan konsensus terhenti. Kejadian tersebut dilaporkan pada 6 Juni 2022.
Pada hari Rabu, 1 Juni, klaster Beta Mainnet Solana berhenti memproduksi blok sebagai akibat dari konsensus yang terhenti, yang disebabkan oleh bug dalam fitur transaksi durable nonce. Selama empat setengah jam berikutnya, operator validator bekerja untuk mengidentifikasi titik kemajuan terjauh dan secara kolektif memulai kembali jaringan, yang mengakibatkan transaksi durable nonce dinonaktifkan sementara. Produksi blok dilanjutkan pada pukul 21:00 UTC di hari yang sama, dan operator jaringan terus memulihkan layanan klien selama beberapa jam berikutnya.
Transaksi durable nonce yang gagal diproses dua kali. Hal ini menyebabkan nondeterminisme, ketika validator memproses transaksi untuk kedua kalinya dan beberapa node menolak blok berikutnya, sementara yang lain menerimanya. Secara kritis, lebih dari 33% validator menerima blok tersebut, tetapi jumlah itu kurang dari 66% yang diperlukan untuk meredam nondeterminisme.
Pemrosesan transaksi durable nonce dalam serangkaian keadaan tertentu mengungkapkan bug dalam runtime yang mencegah jaringan maju. Bug ini mengharuskan transaksi durable nonce gagal, dan tidak akan dipicu oleh transaksi yang berhasil.
Baca Juga : XCN, Altcoin Berbasis Ethereum yang Tumbuh 70% dalam Sepuluh Hari
Setelah transaksi durable diproses sekali dan gagal, itu masih dapat diproses lagi sebagai transaksi durable karena nilai nonce yang direferensikan belum maju dan masih dapat digunakan. Setelah transaksi gagal diproses, tetapi sebelum nonce digunakan lagi, pengguna mengirim ulang transaksi yang sama untuk diproses. Pengiriman ulang ini mengaktifkan bug di runtime.
Ketika validator memvalidasi blok, sebagian menemukan blok baru termasuk transaksi yang sebelumnya telah diproses, yang disebabkan oleh dimasukkannya transaksi durable nonce ini. Satu set validator menolak blok tersebut, sementara set lain menerima blok tersebut, karena contoh transaksi sebelumnya tidak lagi ada dalam cache yang baru saja diproses.
Secara kritis, lebih dari 33% validator menerima blok tersebut, tetapi jumlah itu kurang dari 66% yang diperlukan untuk meredam nondeterminisme.
Sumber : twitter.com