Now that you have an understanding of Proof-of-Stake, it’s important for you to get some color on a popular variation of PoS, Delegated Proof-of-Stake. Delegated Proof-of-Stake, or DPoS for short, implements a structure in which a fixed set of block producers are the only actors in the system who can propose new blocks. This removes a lot of a network’s computational strain as nodes aren’t counted on to verify a miner’s work. Reducing the amount of work necessary to verify transactions stands to make blockchains much more efficient than they are today.
Delegated Proof-of-Stake was designed specifically as a solution to the scalability trilemma, which describes the phenomenon that a blockchain in which every node validates every transaction can only have two of these three properties:
- Decentralization of Block Production
- Safety
- Scalability
Why Is This Important?
Proponents of DPoS make the argument that dApp users only care about decentralization to some extent and that what really matters is how difficult it is for a central party to alter the state of a blockchain. If only a few nodes have to verify the miner’s work and the miners can’t unilaterally change the order of transactions, would users care?
DPoS posits that you can create a system in which block producers are economically incentivized to act in the best interest of the network and can’t conduct a malicious attack against the users. All else equal, it should be much easier for the network to validate transactions since block producers could include more data in each block. There would also be a lot more leeway on changing block propagation times so you could have blocks clear every second for example.
The consensus mechanism was first invented by Dan Larimer when he created BitShares, one of the first blockchains created for financial services. Larimer then used DPoS in Steem, a blockchain aimed at allowing content creators and curators to capture value from their work. It was most recently used by Larimer in EOS, a platform for developers to create decentralized applications.
How Does DPoS Work?
In traditional DPoS, blocks can only be produced by ‘witnesses.’ These are entities that are responsible for validating transactions. To become a witness, you must be voted in by the network’s token holders. Every token holder is able to vote on a block producer and votes are weighted based on the person’s stake, so the more tokens you hold, the more influence your vote holds. Token holders can also delegate their votes to other users so their opinion matches whatever vote their delegate casts. DPoS is very much optimizing for a system with liquid democracy.
Once a witness is elected, they are able to produce blocks and add them to the blockchain. Being a block producer is a lucrative position because they earn fees for producing blocks.
DPoS systems each have their own cap on the number of witnesses that can propose blocks. For example, EOS has 21 block producers. What’s also interesting is that DPoS systems has continuous elections, meaning voters could remove witnesses and vote in other candidates if they feel they’re better equipped for the job. Continuous elections were chosen carefully so witnesses are incentivized to always act in favor of the network stakeholders.
Voters also vote on ‘delegates,’ who are trusted third parties responsible for overseeing then governance and performance of the blockchain. Delegates are the party responsible for actually performing code updates.
Wrapping it Up
DPoS is interesting in that it’s trying to push the boundaries of governance experiments. One interesting to note is that DPoS blockchains can be forked, real governments or organizations can’t. The more DPoS systems we test in the wild, the better we’ll know how to optimize the structure of blockchains. We may also find that users really don’t care about decentralization and they’ll accept some centralization for performance upgrades. Overall, DPoS is a healthy way for the ecosystem to better understand what’s needed for real-world use.