How DPoS works

Understand Features and Attack Vectors of DPoS

Delegated Proof of Stake(DPoS) is another form of Proof of Stake(PoS) consensus mechanism to scale up to million transactions per second.

DPOS concentrates block production in the hands of few semi-trusted entities in order to achieve more scalability than Proof of Work(PoW) or other Proof of Stake blockchains.

Common Terms

Nominator: A coin holder who stakes or delegates their coin to one or more validator. Validator: A semi-trusted entity responsible for validating and producing blocks. Epoch: A cycle of few blocks in which validator nodes create blocks in turn.

Elections:

  1. In Delegated Proof of Stake (DPoS) anyone can participate in Validator (Block

    Producer) elections and those who hold the network token are able to cast votes

    to one or more Validator (Block Producers) candidates.

  2. Votes are weighted by the voter’s stake and the Validators (Block Producers)

    candidates who receive a maximum number of votes become Validator (Block

    Producer).

  3. Users can also delegate their voting power to some other user, who can then vote

    on their behalf.

  4. Validator(Block Producer) can be voted in or out anytime so the threat of loss

    of income becomes a major incentive against bad behaviour.

  5. Token holder votes are tallied after a specific time or after each epoch.

Why DPoS?

  1. Scalability Blocks can be propagated through the network much more

    efficiently. And blocks can be produced more consistently and reliably in a much

    shorter time frame. Moreover, finality can be reached as soon as ⅔ of the block

    producer has confirmed a transaction.

  2. Network Infrastructure In DPoS users have control over who will provide the

    infrastructure unlike PoW and PoS, where users have no choice on validators. In

    DPoS, validators can be thought of as employees of users(nominators) and can be

    fired for not performing their duties.

  3. On-Chain Governance DPoS is a liquid form of democracy where voting power can

    be allocated to other participants and votes can be changed at any time. While

    block producers are the primary use case, but token holder voting can be

    conducted on different things like monetary policy, development funding and many

    more.

  4. Self-Funding Through Inflation In DPoS, unlike PoS or PoW where miners get

    rewards for validating a block, inflation is used to pay block producers as well

    as to fund the development of platform itself.

Attack Vectors

  1. Exploit Low Voter Turnout

    This problem exists in almost all PoS protocols, as the participants who show up and actually vote are really less.

    Voting is done by whales, exchanges and wallet providers. Although one good thing in DPoS is that, tokens can

    delegate voting power and still retain all of their utility.

  2. Bribing Attacks It is a case where Validators (Block Producers) pay for their

    votes, they pay a small percentage of their earning per block. Although it may

    be good for some people, in the long term it will harm as the Validators who

    would do this wouldn’t be able to scale up their systems and hence the block

    production will be slowed down. To tackle these attacks there is a **voting

    decay** concept where freshly cast votes are considered full while other votes

    will slowly decay until they have a minimal impact after 2 years. This will

    encourage participation and slowly discount those who just cast their votes

    once.

  3. Block Producers Collude The main problem this can cause is a delay in the

    transaction and double spends. Although these situations are highly unlikely.

Conclusion

Delegated Proof of Stake(DPoS) is an elegant, robust and practically proven solution to the scalability issues of Blockchain. Although, DPoS does compromise decentralization in some sense, and it is up to token holders to monitor the health of the system, watch for bad behaviour and decide upon what makes for sufficient decentralization. It still solves the scalability and safety issues in Blockchain. And, all in all if not everywhere DPoS can still be used as a Layer 2 or Layer 3 security while keeping a PoW system as a security base layer. It will help us achieve decentralization, safety as well as scalability which is the most important issue of current blockchain networks.