#dusk $DUSK @Dusk

Saya sedang melihat mekanisme Fallback milik Dusk dan ada satu hal yang menonjol bagi saya: nomor iterasi ternyata sangat penting ketika terjadi sebuah fork.

Karena konsensus Dusk bersifat asinkron, pesan dapat datang terlambat atau hilang saat terjadi kemacetan. Jadi, bagian-bagian berbeda dari jaringan bisa melihat blok yang berbeda, dan terkadang lebih dari satu kandidat bisa mendapatkan kuorum pada putaran yang sama.

Aturan dasarnya adalah iterasi yang lebih rendah mendapat prioritas. Jika sebuah blok dari iterasi 1 diterima tetapi kemudian blok iterasi 0 mendapatkan kuorum, blok dengan iterasi yang lebih rendah dapat menggantikannya. Node akan kembali ke keadaan sebelum blok lama dan melakukan reorganisasi rantai.

Itulah yang membuat iterasi 0 menarik. Iterasi 0 adalah percobaan pertama, diikuti oleh iterasi 1, 2, dan seterusnya. Karena tidak ada iterasi -1, sebuah blok iterasi 0 tidak dapat langsung digantikan melalui Fallback oleh iterasi yang lebih rendah.

Namun, saya tidak akan menyebutnya finalitas yang benar-benar lengkap. Blok iterasi 0 masih bisa terpengaruh jika seorang leluhur (ancestor) diurungkan (reverted). Finalitas yang sebenarnya datang melalui Rolling Finality.

Jadi menurut saya, Fallback lebih dari sekadar pembersihan fork. Nomor iterasi memberi jaringan cara yang deterministik untuk memilih di antara blok-blok yang bersaing, dengan iterasi 0 berada di bagian paling bawah dari urutan prioritas itu.