Delegated proof of stake
Delegated proof of stake is a consensus protocol, which provides dependable verification and approval of transactions in a blockchain. Being an extension of the proof of stake protocol, DPoS allows blockchains to change network parameters, such as fee schedules, block intervals, transaction sizes, on the fly, without creating a hard fork, if the elected delegates vote for such a change.
Deterministic selection of block producers allow DPoS blockchains to confirm transactions in as fast as 1 second.
Under DPoS, network users elect witnesses, or delegates, to generate blocks. A block is a group of transactions containing a set of updates to the state of the distributed ledger. Each network user (i.e. a wallet) is allowed to certify their trust in one of the witnesses, who will be validating transactions and generating blocks with them. A certain amount of witnesses is selected by the network to obtain enough decentralization. Usually this amount is determined by voting and is between 20 and 100 for the most DPoS blockchains.
The selected witnesses are allowed to produce blocks by verifying all transactions collected for the last block time (usually around few seconds), in the order of their selection. If they verify and sign all the transactions in a block, they receive a reward, which is usually shared with those who have voted for the witness. If a witness fails to verify all transactions in the given time, the block is missed, all the transactions are left unverified, and the witness is left without a reward. Usually, such transactions are collected in an extra block by the subsequent witness, and such a block is called stolen.
This consensus mechanism also detects severe discrepancies in the network, for example, separation of its parts due to problems with Internet connection, and protects the network from possible double-spending. Due to the order of witness work and small timespans allocated to their work, major network outage can be detected in less than a minute. This security mechanism allows building blockchains which support independent side chains, synchronized only when needed, a network of which will support even more transactions and faster block production times.
DPoS supports two tiers of changes into protocol. Changes to settings of the current work scheme can be implemented after a voting led by witnesses, and can be deployed on the fly. Changes to the protocol itself have a much complex mechanism to protect the network from jeopardizing. Once a proposal for a change is designed in code, one of the witnesses can propose it for implementation, and sign the changes with a special genesis wallet key. After a two-week audit period, during which any network user can study the proposition, a voting is held. If a quorum is achieved, the network applies the changes automatically, which may create a hard fork.
- Transaction bandwidth of DPoS blockchain is independent from computing power required to run the network, hence such blockchains are more scalable than PoW, which is used in Bitcoin.
- DPoS requires less financial input from users wishing to partake in block production than standard PoS blockchains, which makes DPoS more democratic and financially inclusive.
- Thanks to the low entry threshold, DPoS provides more decentralization as more people take part in the consensus.
- DPoS doesn’t require lots of power to run the network, which makes it more sustainable.
- DPoS blockchains have good protection from double-spending.
- Effective operation of the network requires large numbers of interested and well-informed delegators to select suitable witnesses and provide decentralization.
- Limited number of witnesses can lead to centralization of the network.
- DPoS blockchain is susceptible to problems of weighted voting. Users with smaller stake can refuse from taking part in votings after considering that their vote is insignificant.
History and Use of DPoS
DPoS was developed by Daniel Larimer, founder of BitShares, Steemit and EOS. The first implementation of DPoS, BitShared, went live on October 13th, 2015. Currently, DPoS is also used by TRON, Tezos, Cardano, Lisk, Elastos, Ark, Rise, Credits, Aunite.