Tadi malam saya sedang melihat aturan finalitas terakhir Dusk, dan satu rumus kecil membuat saya berhenti: 2 × n.

Awalnya, saya mengira finalitas bergulir hanya tentang menunggu sejumlah blok yang tetap. Tapi ternyata Dusk tidak seperti itu.

Di sini, n = jumlah iterasi sebelumnya yang tidak ter-attest dari sebuah blok pada ronde yang sama. Jika n = 0, blok baru ditandai sebagai attested. Blok yang sudah attested menjadi confirmed ketika penerusnya sudah attested atau confirmed.

Namun ketika n > 0, semuanya berubah.

Blok tersebut menjadi accepted, dan ia membutuhkan 2 × n blok berturut-turut yang attested atau confirmed sebelum menjadi confirmed.

Jadi jika n = 1 - 2 blok.
Jika n = 2 - 4 blok.
Jika n = 3 - 6 blok.
Jika n = 4 - 8 blok.

Kertas putih memberikan contoh sederhana: jika sebuah blok berada di iterasi 5 dan dua iterasi sebelumnya gagal untuk melakukan attest, ia membutuhkan 4 blok lagi (2 × 2) yang attested atau confirmed sebelum konfirmasi. Setelah itu, ia menjadi final ketika parent-nya sudah final.

Yang menurut saya menarik adalah bahwa Dusk tidak memperlakukan setiap blok dengan cara yang sama.

Sebuah blok yang datang setelah iterasi bawah yang gagal membawa ketidakpastian lebih besar, sehingga protokol meminta bukti lebih banyak.

Bagi saya, 2×n pada dasarnya adalah penyangga keselamatan yang adaptif.

Lebih banyak jalur yang gagal → lebih banyak konfirmasi yang dibutuhkan.

Itulah bagian Rolling Finality yang sekarang saya pahami jauh lebih baik.

#dusk @Dusk $DUSK
Fixed Finality
100%
Adaptive Finality
0%
Stronger Security
0%
2 Voting • Voting ditutup