Important distinction of DPoS from PoS is that in DPoS, there is no minimum stakeholder token requirement to participate and instead of stakeholder tokens proportionately representing their ability to produce blocks, users cast votes proportional to their stake to select block producers.
The process for reaching consensus in a round can be broken down into the following basic steps.
Block producers are elected by the stakeholders in a round of voting.
Once the producers are selected, they are deterministically given a
round-robin rotation for a round of blocks equivalent to the number
of producers selected.
This creates a competitive market within the round, ensuring
- Block producers validate and broadcast blocks to the network.
Consensus is reached and the next round begins.
For their services, block producers receive a reward. If they do not produce a block, then there is no reward and the reward is transferred to the next block producer if a successful block is produced. Producers do not have the ability to change transaction details, however, they could collude to prevent specific transactions from being included in blocks.
An important feature of DPoS consensus models is that the parameters of the system can be modified by the stakeholders through a voting process. These parameters include everything from transaction fees, block sizes, producer pay, and block intervals. Enabling dynamic changes of the parameters that define the model can facilitate a substantial degree of flexibility for platforms employing the DPoS model to fit the platform’s specific needs.
Advantage over POS
A distinct advantage that the DPoS model has over the traditional PoS model is the removal of the “Nothing at Stake” dilemma. This refers to the case where there is little to no cost for validators to validate on two competing chains. For validators, the strategy is the most profitable, but for the network it can lead to a double spend of a digital asset. DPoS mitigates against this due to the fact that stakeholders are using their stake to vote on block producers, not on blocks themselves. The longest chain is considered the canonical chain, so it is impossible for a subset of malicious producers to produce a fork that overtakes the main chain due to the number and order of producers being fixed before each round.