#dusk I have been looking at how Dusk handles validator selection, and the deterministic sortition part caught my attention. It is not just picking provisioners randomly and hoping the distribution stays fair.
Dusk uses a deterministic extraction process to choose the block generator and members of the voting committees. The selection is weighted by stake, so provisioners with more stake have a higher chance of being selected, but the process also reduces their weight by 1 DUSK after receiving a credit. That helps stop larger provisioners from dominating every round.
What I find interesting is that the selection can still look random while remaining reproducible. The score comes from SHA3 using the previous block seed, round, step, and credit number. The seed itself changes with every block through the block generator’s signature.
I have been watching Dusk mainly from the infrastructure side, and this design makes sense for a network targeting regulated finance. Committee selection needs to be predictable for verification but difficult to manipulate in advance. Dusk is trying to balance both without making the process unnecessarily complicated. @Dusk
$DUSK
Dusk uses a deterministic extraction process to choose the block generator and members of the voting committees. The selection is weighted by stake, so provisioners with more stake have a higher chance of being selected, but the process also reduces their weight by 1 DUSK after receiving a credit. That helps stop larger provisioners from dominating every round.
What I find interesting is that the selection can still look random while remaining reproducible. The score comes from SHA3 using the previous block seed, round, step, and credit number. The seed itself changes with every block through the block generator’s signature.
I have been watching Dusk mainly from the infrastructure side, and this design makes sense for a network targeting regulated finance. Committee selection needs to be predictable for verification but difficult to manipulate in advance. Dusk is trying to balance both without making the process unnecessarily complicated. @Dusk
$DUSK
