Dua vendor di pasar Saddar Karachi pernah sama-sama mengklaim bahwa mereka menjual kepadaku casing ponsel yang sama terlebih dahulu, dan si penjual toko hanya mengikuti siapa pun yang lebih dulu meraih buku struk. Aku menganggap Dusk menangani blok-blok yang saling bersaing dengan cara yang sama yang serampangan—yang mana pun yang dilihat jaringan lebih dulu akan menang.
Itu terbalik dengan cara kerja fallback yang sebenarnya. Ketika dua blok kandidat sama-sama mencapai konsensus pada putaran yang sama, yang bisa terjadi karena pesan yang tertunda atau hilang saat kongesti jaringan, Dusk tidak memihak pada yang tiba lebih dulu. Dusk memihak pada yang mencapai konsensus pada nomor iterasi paling rendah. Sebuah blok pada iterasi 5 bisa tergantikan oleh blok pada iterasi 2 jika blok iterasi yang lebih rendah itu juga berhasil mencapai kuorum. Prosedur fallback mengembalikan rantai lokal ke tepat sebelum blok iterasi yang lebih tinggi, menerima blok iterasi yang lebih rendah sebagai gantinya, dan membuang setiap suksesor yang dibangun di atas blok yang dibuang.
Yang benar-benar mengubah cara berpikirkku adalah pengecualian pada iterasi 0. Sebuah blok yang mencapai konsensus pada iterasi 0 tidak pernah bisa digantikan oleh blok dengan iterasi yang lebih rendah, karena memang tidak ada yang lebih rendah. Blok itu masih bisa diurungkan di kemudian hari, tetapi hanya jika ada sesuatu di hulu darinya—salah satu nenek moyangnya—yang diurungkan lebih dulu. Jadi, finalitas di Dusk sebenarnya bukan sekadar soal status satu blok, melainkan diwarisi dari semuanya yang berada di bawahnya.
Yang tidak dikuantifikasi oleh whitepaper adalah seberapa sering fork seperti ini benar-benar terjadi saat jaringan berada dalam kongesti nyata pada skala besar, bukan hanya dalam teori.
Ada yang pernah melihat kejadian fallback nyata terjadi pada sebuah blok Dusk?
#dusk $DUSK @Dusk
Itu terbalik dengan cara kerja fallback yang sebenarnya. Ketika dua blok kandidat sama-sama mencapai konsensus pada putaran yang sama, yang bisa terjadi karena pesan yang tertunda atau hilang saat kongesti jaringan, Dusk tidak memihak pada yang tiba lebih dulu. Dusk memihak pada yang mencapai konsensus pada nomor iterasi paling rendah. Sebuah blok pada iterasi 5 bisa tergantikan oleh blok pada iterasi 2 jika blok iterasi yang lebih rendah itu juga berhasil mencapai kuorum. Prosedur fallback mengembalikan rantai lokal ke tepat sebelum blok iterasi yang lebih tinggi, menerima blok iterasi yang lebih rendah sebagai gantinya, dan membuang setiap suksesor yang dibangun di atas blok yang dibuang.
Yang benar-benar mengubah cara berpikirkku adalah pengecualian pada iterasi 0. Sebuah blok yang mencapai konsensus pada iterasi 0 tidak pernah bisa digantikan oleh blok dengan iterasi yang lebih rendah, karena memang tidak ada yang lebih rendah. Blok itu masih bisa diurungkan di kemudian hari, tetapi hanya jika ada sesuatu di hulu darinya—salah satu nenek moyangnya—yang diurungkan lebih dulu. Jadi, finalitas di Dusk sebenarnya bukan sekadar soal status satu blok, melainkan diwarisi dari semuanya yang berada di bawahnya.
Yang tidak dikuantifikasi oleh whitepaper adalah seberapa sering fork seperti ini benar-benar terjadi saat jaringan berada dalam kongesti nyata pada skala besar, bukan hanya dalam teori.
Ada yang pernah melihat kejadian fallback nyata terjadi pada sebuah blok Dusk?
#dusk $DUSK @Dusk
