#dusk $DUSK @Dusk I was mapping out Dusk's Succinct Attestation consensus and got stuck on something small: the provisioner who gets selected to generate the next block doesn't also cast a validation vote on it.
My first assumption was that this was just an efficiency shortcut — why make the same node do double duty. But that's not quite it. Separating generation from validation means the block's legitimacy can't rest on the same party that built it. The proposer proposes, and a separate committee has to independently agree the block is valid before it finalizes.
That's where it gets interesting. In a lot of consensus designs, we treat "who proposes" and "who confirms" as roughly interchangeable roles rotating through the same validator set. Here the separation looks deliberate — it removes a subtle conflict of interest at the exact moment a block is most vulnerable to bias, when its author still has the most information about what's inside it.
I'm not sure this changes throughput or latency meaningfully. But it does change how I think about where trust actually sits in the system — not with any single elected node, but with the requirement that proposal and agreement never collapse into the same hands.
Still working out what happens at higher validator counts. @Dusk #dusk $DUSK
My first assumption was that this was just an efficiency shortcut — why make the same node do double duty. But that's not quite it. Separating generation from validation means the block's legitimacy can't rest on the same party that built it. The proposer proposes, and a separate committee has to independently agree the block is valid before it finalizes.
That's where it gets interesting. In a lot of consensus designs, we treat "who proposes" and "who confirms" as roughly interchangeable roles rotating through the same validator set. Here the separation looks deliberate — it removes a subtle conflict of interest at the exact moment a block is most vulnerable to bias, when its author still has the most information about what's inside it.
I'm not sure this changes throughput or latency meaningfully. But it does change how I think about where trust actually sits in the system — not with any single elected node, but with the requirement that proposal and agreement never collapse into the same hands.
Still working out what happens at higher validator counts. @Dusk #dusk $DUSK
