Delegated Proof-of-Stake (DPoS), which was invented by Daniel Larimer, is an alternative consensus mechanism that requires coin holders to vote for “delegates” and “witnesses”, who are then responsible for validating transactions and maintaining the blockchain. DPoS is an alternative to the more commonly known, Proof-of-Stake (PoS) model, which requires miners to put up a stake in the required cryptocurrency before they are able to process transactions and add them to the blockchain.
The process of Delegated Proof-of-Stake varies from more traditional consensus mechanisms. In DPoS, stakeholders elect what are known as witnesses. Witnesses are responsible and rewarded for generating and adding blocks to the blockchain. Each stakeholder is only permitted one vote per witness, with witnesses with the most votes being elected. Stakeholders can vote for as many witnesses as they wish, so long as at least 50% of the stakeholders believe sufficient decentralization has been achieved through the number of elected witnesses. The voting for witnesses is a continuous process, therefore, witnesses have an incentive to carry out their function to the highest standard or they risk losing their position. A reputation scoring system exists in order to assist stakeholders in better assessing the quality of witnesses.
Depending on the cryptocurrency implementing the DPoS consensus mechanism, a chosen group of witnesses are typically replaced at a fixed time, for example once a day or once a week, with each witness being given a turn to produce a block. Failure to produce a block at the allocated time will typically result in a witness being skipped, as well as negatively affecting their reputation score.
In addition, there are also what are known as delegates. Delegates are elected in a similar manner to witnesses, however, delegates are responsible for maintaining the network and can even propose changes to the network. Changes such as: Block sizes, the amount that witnesses should be paid and transaction fees. Once these changes have been submitted, it is then up to the stakeholders to decide whether or not the proposed changes should be implemented. Whether or not a reward incentive system exists for delegates will vary depending on the implementation of DPoS the consensus mechanism.
Advantages of Delegated Proof-of-Stake
Delegated Proof-of-Stake offers advantages over the more well-known consensus algorithm, Proof-of-Work (PoW). These advantages include:
- Saving on energy costs
In contrast to PoW, which requires large amounts of energy in-order to decide who gets to add the next block to the blockchain, with DPoS, witnesses are given a specific time schedule to do so. Therefore, the intense competition for the addition of the next block becomes impractical, which in turn reduces the energy costs for adding a single block when compared to PoW. Specialized computers known as, ASICs, are no longer necessary in-order to solve complex mathematical problems needed for PoW.
- Promotion of decentralization
In order to successfully mine a cryptocurrency that uses the PoW consensus mechanism, realistically, ASICs, are required in order to be competitive and increase ones chances of adding the next block. This promotes centralization of mining because only those that can afford these specialized computers will stand the best chance of finding a valid block, and thus, reap a larger proportion of the block rewards. This is in contrast with a DPoS consensus mechanism, which allows stakeholders to choose who gets to validate transactions, therefore promoting greater decentralization. An unlimited number of individual validators can be elected by stakeholders so far as they believe sufficient decentralization has been achieved.
Disadvantages of Delegated Proof-of-Stake
Despite the advantages offered by the DPoS consensus mechanism, it is still not without its faults. One such fault is:
- Sufficient decentralization can never be achieved
Intuitively, it seems that the more witnesses validating blocks, the more decentralized a system will be. However, this notion fails to take into account the scalability of the network as a trade-off. In reality, a network can not have an excessive amount validators or else it risks slowing down. Therefore, a balance must be struck between the number of block producers, and the scalability of the network.