How does DPoS Work?
Delegated Proof of Stake (DPoS) is a Proof of Stake (PoS) consensus mechanism for developers to scale up to thousands of transactions per second. DPoS places block production in the hands of a few semi-trusted entities to achieve more scalability than Proof of Work (PoW) or other PoS blockchains.
Nominator: A coin holder who stakes or delegates their coin to one or more validators.
Validator: A semi-trusted entity responsible for validating and producing blocks.
Epoch: The time required for a specific number of blocks to get finalized on the chain.
DPoS consensus allows users to vote directly or transfer their voting power to other users who will vote on their behalf as witnesses. Selected witnesses verify the transactions and create the blocks. If all the transactions in a block are verified and signed, a shared reward is given to those who have voted for the block producer. However, if a witness fails to verify all transactions in the given time, all transactions are left unverified, the block is missed, and no reward is distributed. The next witness collects these transactions and verifies that block. Such a block is termed stolen.
Witnesses create blocks and validate transactions. They can select specific transactions to be included in a block but, they cannot alter the data of any transaction.
A round in DPoS blockchain with N witnesses/block producers follows a round-robin order as explained below:
- N block producers are selected from a pool of witnesses.
- The mth block producer signs the block until m=N.
- A block is finalized when it is voted by (2/3+1) of block producers.
DPoS also allows users to vote for delegates who oversee and manage blockchain governance. Delegates can propose the modifications in the network, such as changing the size of blocks or revising the amount that a witness is paid in return for validating a block. Blockchain users vote on whether to adopt the changes proposed by the delegates.
Block validators are the full nodes that verify the transactions and ensure that the blocks created by witnesses follow the consensus rules. Anyone can join the public blockchain and become a validator to participate in the network's consensus. However, there's no incentive for block validators.
Compared with PoW or other PoS blockchains, DPoS blocks are propagated through the network much more efficiently: they are produced more consistently and reliably in a much shorter time frame. Moreover, finality is reached as soon as two-thirds of the block producers confirm a transaction.
In DPoS, users control who provides the infrastructure, whereas, in PoW and other PoS blockchains, users cannot choose between validators. It is as if validators in DPoS work for the users (nominators) and can be fired for not performing their duties accordingly.
DPoS is a liquid form of democracy where voting power is allocated to participants, and votes can be changed at any time. Although block production is the primary use case, token-holders can vote on monetary policy, development funding, and other pertinent functions.
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 the platform itself.
A bribing attack occurs when Validators (Block Producers) pay a small percentage of their earnings per block for votes. While profitable, at least in the short term, Validators who pay for votes won’t be able to scale up their systems. Over time, this slows block production to a crawl, devaluing the network as a whole. To prevent this, DPoS uses a voting decay mechanism, whereby the votes of recent, active voters carry their full weight, while voters who have not cast a vote recently will see their vote's weight slowly decay over time. Voting decay thus encourages participation by penalizing non-voters and gradually excludes inactive, infrequent voters.
Exploit low voter turnout
In the DPoS blockchain, exploiting low participation in voting is the most common attack. The participants who vote with a small stake cannot influence the direction of the platform in any manner. Moreover, for the users with a small stake, votes turn out to be more costly than the value that voting brings. In such situations, investing time and effort in researching how to vote may not be worth it as it will cost more than the value brought by voting.
DPoS resolves this issue by allowing proxy voting. It allows transferring voting power to another user having more information. The users holding a significant stake in the network must be incentivized to vote.
Distributed Denial-of-Service attack (DDoS)
In DPoS, the order of block production in each round is fixed; thus, attackers can easily spot the next block producer, and it becomes easy to launch DDoS attacks on the producers. Block producers can prevent DDoS attacks by using backup servers. In a given round, the attacked block producers can be voted out if they consistently fail to produce blocks and their backup producers replace them.
DPoS offers an elegant, robust, and battle-tested solution to the longstanding problems surrounding the lack of scalability, accountability, and security of PoW and other PoS blockchains. Although a prominent solution in decentralization, DPoS requires its token holders to monitor the system’s health, watch for bad behavior, and decide, as a community, what constitutes sufficient decentralization. In addition, even when not used as a Layer 1 solution, DPoS can still be used as a Layer 2 or Layer 3 solution on the back of a PoW blockchain. Either way, DPoS far surpasses PoW and other PoS blockchains in combining decentralization with an unprecedented level of security, accountability, and, above all, scalability.