Dulu saya mengira ketidakpastian dalam sebuah blockchain adalah bug yang bisa Anda toleransi, bukan fitur yang benar-benar Anda rancang.
Mempelajari Dusk mengubah cara pandang itu.
Bayangkan Anda seorang provisioner. Anda sudah melakukan staking, memenuhi syarat, Anda tahu Anda bisa dipilih untuk menghasilkan blok berikutnya. Tapi Anda tidak tahu apakah Anda akan terpilih. Tidak ada orang lain juga. Bukan validator lainnya. Bahkan Anda sendiri, sepuluh detik sebelum kejadian.
Bagian anehnya begini. Seed yang menentukan siapa yang dipilih untuk blok N+1 belum ada saat blok N masih sedang dibangun. Seed itu secara literal dihasilkan dari penandatangan (signing) generator blok saat ini terhadap seed sebelumnya. Jawaban untuk "siapa berikutnya" tidak disembunyikan di suatu tempat โ jawabannya bahkan belum dihitung.
Mengapa ini penting? Karena ketidakpastian di sini adalah liabilitas, bukan kenyamanan. Jika penyerang bisa mengetahui siapa yang menghasilkan blok 40 hari ini, mereka akan punya waktu sebanyak-banyaknya untuk menargetkan validator tersebut โ menyuap mereka, melakukan DDoS, menekan mereka โ sebelum momen itu tiba.
Sortition deterministik milik Dusk menutup celah itu sepenuhnya. Anda baru tahu bahwa Anda adalah generator saat semuanya sudah benar terjadi.
Jadi pertanyaan desain yang sebenarnya bukan "bagaimana cara memilih seorang pemimpin". Melainkan "bagaimana cara memilih satu tanpa pernah memberi kesempatan siapa pun untuk merencanakan hal itu."
Tebak apa yang terjadi begitu pemilihan blok menjadi bisa diprediksi, bahkan sedikit lebih cepat?
#dusk $DUSK @Dusk
Polling:
Tebak apa yang pertama kali rusak jika Anda bisa memprediksi generator blok berikutnya
๐ฏ Penyogokan menjadi mungkin
๐ DDoS menjadi mungkin
โ๏ธ Keduanya, kerentanan yang sama
๐ Tidak ada apa pun, tetap aman
Mempelajari Dusk mengubah cara pandang itu.
Bayangkan Anda seorang provisioner. Anda sudah melakukan staking, memenuhi syarat, Anda tahu Anda bisa dipilih untuk menghasilkan blok berikutnya. Tapi Anda tidak tahu apakah Anda akan terpilih. Tidak ada orang lain juga. Bukan validator lainnya. Bahkan Anda sendiri, sepuluh detik sebelum kejadian.
Bagian anehnya begini. Seed yang menentukan siapa yang dipilih untuk blok N+1 belum ada saat blok N masih sedang dibangun. Seed itu secara literal dihasilkan dari penandatangan (signing) generator blok saat ini terhadap seed sebelumnya. Jawaban untuk "siapa berikutnya" tidak disembunyikan di suatu tempat โ jawabannya bahkan belum dihitung.
Mengapa ini penting? Karena ketidakpastian di sini adalah liabilitas, bukan kenyamanan. Jika penyerang bisa mengetahui siapa yang menghasilkan blok 40 hari ini, mereka akan punya waktu sebanyak-banyaknya untuk menargetkan validator tersebut โ menyuap mereka, melakukan DDoS, menekan mereka โ sebelum momen itu tiba.
Sortition deterministik milik Dusk menutup celah itu sepenuhnya. Anda baru tahu bahwa Anda adalah generator saat semuanya sudah benar terjadi.
Jadi pertanyaan desain yang sebenarnya bukan "bagaimana cara memilih seorang pemimpin". Melainkan "bagaimana cara memilih satu tanpa pernah memberi kesempatan siapa pun untuk merencanakan hal itu."
Tebak apa yang terjadi begitu pemilihan blok menjadi bisa diprediksi, bahkan sedikit lebih cepat?
#dusk $DUSK @Dusk
Polling:
Tebak apa yang pertama kali rusak jika Anda bisa memprediksi generator blok berikutnya
๐ฏ Penyogokan menjadi mungkin
๐ DDoS menjadi mungkin
โ๏ธ Keduanya, kerentanan yang sama
๐ Tidak ada apa pun, tetap aman