Saya mulai meneliti Mode Darurat Dusk setelah bertanya pada diri sendiri satu pertanyaan sederhana: apa yang terjadi jika sebagian besar peserta yang bertanggung jawab untuk konsensus tiba-tiba offline?
Tidak ada serangan. Tidak ada pemblokiran yang berbahaya.
Hanya partisipasi kepemilikan (stake) yang tidak cukup untuk mencapai kesepakatan.
Itulah yang membuat Mode Darurat @Dusk menarik bagi saya.
Awalnya, saya mengira Mode Darurat terutama tentang menghasilkan blok darurat. Namun setelah dilihat lebih dekat, itu bukanlah intinya.
Ketika satu iterasi konsensus gagal, Dusk tidak langsung menutup pintu. Iterasi sebelumnya bisa tetap terbuka sementara iterasi baru dimulai, memberi penyedia (provisioner) yang tersisa lebih banyak kesempatan untuk mencapai kesepakatan.
Tapi itu menciptakan trade-off: menjaga beberapa iterasi tetap hidup juga menimbulkan kemungkinan blok yang saling bersaing.
Karena itu Dusk memprioritaskan iterasi sukses yang paling rendah.
Dan jika partisipasi tetap tidak mencukupi, Permintaan Blok Darurat (Emergency Block Request/EBR) menyediakan jalur pemulihan lainnya. Setelah EBR yang mewakili mayoritas kepemilikan jaringan dikumpulkan, sebuah blok darurat kosong dapat diproduksi.
Blok itu tidak ada untuk memproses transaksi. Tujuannya adalah menjaga agar rantai tetap berjalan dan menetapkan seed segar untuk upaya konsensus yang lain.
Jadi Mode Darurat sebenarnya bukan tentang apa yang terjadi ketika konsensus berhasil. Ini tentang apa yang dilakukan protokol ketika asumsi-asumsi di balik konsensus berhenti berlaku.
Itu trade-off yang lebih dalam: menjaga kelangsungan hidup (liveness) itu berguna, tetapi jalur pemulihan harus tetap deterministik ketika beberapa hasil yang mungkin terjadi.
Pertanyaan yang tersisa bagi saya adalah seberapa baik jalur pemulihan ini bertahan jika partisipasi yang menurun bukan bersifat sementara, melainkan persisten.
@Dusk $DUSK #dusk
Tidak ada serangan. Tidak ada pemblokiran yang berbahaya.
Hanya partisipasi kepemilikan (stake) yang tidak cukup untuk mencapai kesepakatan.
Itulah yang membuat Mode Darurat @Dusk menarik bagi saya.
Awalnya, saya mengira Mode Darurat terutama tentang menghasilkan blok darurat. Namun setelah dilihat lebih dekat, itu bukanlah intinya.
Ketika satu iterasi konsensus gagal, Dusk tidak langsung menutup pintu. Iterasi sebelumnya bisa tetap terbuka sementara iterasi baru dimulai, memberi penyedia (provisioner) yang tersisa lebih banyak kesempatan untuk mencapai kesepakatan.
Tapi itu menciptakan trade-off: menjaga beberapa iterasi tetap hidup juga menimbulkan kemungkinan blok yang saling bersaing.
Karena itu Dusk memprioritaskan iterasi sukses yang paling rendah.
Dan jika partisipasi tetap tidak mencukupi, Permintaan Blok Darurat (Emergency Block Request/EBR) menyediakan jalur pemulihan lainnya. Setelah EBR yang mewakili mayoritas kepemilikan jaringan dikumpulkan, sebuah blok darurat kosong dapat diproduksi.
Blok itu tidak ada untuk memproses transaksi. Tujuannya adalah menjaga agar rantai tetap berjalan dan menetapkan seed segar untuk upaya konsensus yang lain.
Jadi Mode Darurat sebenarnya bukan tentang apa yang terjadi ketika konsensus berhasil. Ini tentang apa yang dilakukan protokol ketika asumsi-asumsi di balik konsensus berhenti berlaku.
Itu trade-off yang lebih dalam: menjaga kelangsungan hidup (liveness) itu berguna, tetapi jalur pemulihan harus tetap deterministik ketika beberapa hasil yang mungkin terjadi.
Pertanyaan yang tersisa bagi saya adalah seberapa baik jalur pemulihan ini bertahan jika partisipasi yang menurun bukan bersifat sementara, melainkan persisten.
@Dusk $DUSK #dusk
