This post is meant to be educational and fact-based, with the goal being to provide some background on Delegated Proof of Contribution (DPoC). When DPoC first launched, I wrongly assumed that everybody understood the purpose of voting in a DPoS network and the role of Validators (P-Reps). I believe this has caused lasting effects on our community and I hope this post will help steer us all in the right direction.
I’ll first start by covering the history of consensus mechanisms from a high level and their purpose. I’ll be skipping finer details and encourage people to dig deeper if interested.
The purpose of a consensus mechanism is to keep an accurate ledger of all transactions that have happened on a blockchain network - to trustlessly verify transactions. Consensus mechanisms are accompanied with incentive mechanisms in the form of block rewards. Block rewards encourage rational actors to participate in the consensus process by running nodes and producing blocks. Rational actors are people that always want to maximize profits and minimize costs. Each of the below consensus mechanisms has a different rational strategy to earn block rewards.
Proof of Work
Proof of Work (PoW) was the first consensus mechanism and was pioneered by Bitcoin. Validators in a PoW network are typically referred to as Miners. Miners race to verify transactions as fast as possible using lots of computational power, then whoever verifies the fastest earns the block reward, currently 6.25 BTC on the Bitcoin network.
The incentive mechanism is the block reward; you want to be as fast as possible and be honest about transactions to earn the block reward. If you lie about transactions in a block, you’ve wasted a lot of electricity (and money) and missed the block reward.
The rational strategy in PoW is to minimize the cost of electricity and maximize the amount of computational power to ensure a reasonable profit. Reasonable profit is up to the individual miner. This strategy earns you the most block rewards for the lowest cost.
- Reasonable Profit Calculation = Dollar value of expected block rewards - cost of electricity
The problems with Proof of Work are that it consumes a lot of electricity, it’s slow to achieve 100% confidence in a transaction (finality) and there’s misalignment between investors (BTC holders) and Miners, because miners can mine any PoW crypto, so if one fails they’ll just move onto the next. This is where Proof of Stake comes into play.
Proof of Stake
Proof of Stake (PoS) was first pioneered by PeerCoin. PoS does not require a ton of electricity and creates clear alignment between investors and validators, as they are one and the same. In a PoS network, investors stake their tokens in a node and typically put them at risk. Instead of racing to verify transactions the fastest, the network picks a winning node pseudo-randomly (each 1 token staked is like a lottery ticket) and gives the winning node the block reward so long as it’s online to produce the block.
The incentive mechanism is the block reward; the more staked tokens you have the higher chance you have to earn the block reward so long as your node is online. If you lie about transactions in a block, you lose the block reward and/or your stake.
The rational strategy in PoS is to ensure you earn enough block rewards to compensate for the cost of your node while also earning a reasonable profit. Reasonable profit is up to the individual validator. More tokens leads to more block rewards, so validators can easily calculate if their token holdings will earn them enough block rewards to recognize a reasonable profit.
- Reasonable Profit Calculation = Dollar value of expected block rewards - cost of running a node
The problem with PoS is that it is slow to achieve finality, and those without a very large token holding rarely get the opportunity to earn enough block rewards to recognize a reasonable profit; PoS primarily concentrates new inflation on whales. That’s where Delegated Proof of Stake comes into play.
Delegated Proof of Stake
Delegated Proof of Stake (DPoS) was first pioneered by Bitshares. Instead of having every individual token holder run their own node and stake their own tokens, DPoS allows token holders to “delegate” their stake to somebody else with the technical expertise and commitment to operate a node. This gives smaller token holders the opportunity to participate in the consensus process through delegation and receive a share of block rewards through reward sharing. This process also solves the problem of concentration of new inflation on whales (Elon Musk recently pointed out the issue of token-holder concentration).
The incentive mechanism is the block reward; the more tokens delegated to a validator, the more block rewards the validator gets. If you lie about transactions in a block, you lose the block reward and/or the stake on your node.
The rational strategy in DPoS is to ensure you earn enough block rewards to compensate for the cost of your node while also earning a reasonable profit. Reasonable profit is up to the individual validator. More votes leads to more block rewards, so it’s easy for validators to calculate how many rewards they should share with voters compared to the cost of their node to still recognize a reasonable profit. This process helps validators recognize a reasonable profit regardless of token price by adjusting the amount of rewards shared with voters as token price fluctuates. Higher token price leads to more rewards for voters, lower token price leads to less rewards for voters.
- Reasonable Profit Calculation = Dollar value of expected block rewards earned - cost of running a node - rewards shared with voters
The problem with DPoS is centralization, as usually there’s a fixed number of nodes that can validate blocks and make changes to the network. I’d like to say that’s where DPoC comes into play, but unfortunately it’s not.
Notice in Cosmos and Luna, they actually show the “Commission Rate” in the block explorer. A commission rate of 10% means 90% of rewards are shared with voters. Reward Sharing is built directly into their network.
Delegated Proof of Contribution
ICON is a DPoS network, while DPoC is an ethos. DPoC is not a consensus mechanism and it does not change the incentive mechanism nor rational strategy of DPoS networks. Everything mentioned in the DPoS section applies to ICON and DPoC as well.
The primary difference, in practice, has been that validators (P-Reps) were encouraged not to give rewards to their voters, but instead voters should trust the P-Rep to use the rewards to increase the value of ICX. This actually began to limit the aforementioned benefit of DPoS regarding the concentration of new inflation on whales. In ICON 2.0 we instead allocate some block rewards to the Contribution Proposal System, because a trust-based system with no checks and balances is not ideal for decentralized public blockchain networks. Having said that, this does not stop voters from trusting a validator if they so choose.
The idea of DPoC is to highlight, to the community, the incentive alignment between validators (P-Reps), voters, and the success of the network. If voters are supporting teams that also increase the value of ICX, the dollar value of block rewards increases for voters and validators, everybody wins. Most other DPoS networks, however, had a primary focus on reward sharing ratios (what we deemed as vote buying early on) - they lacked the DPoC ethos, but these are not conflicting ideologies. Sharing rewards does not stop validators from contributing, and contributing does not mean you can’t share rewards with your voters.
DPoC, as an ethos, is still a powerful tool for the ICON community, but I’m hoping that everybody now understands that ICON is a DPoS network and the purpose of DPoS incentive mechanisms/strategies. We have Validators called P-Reps that are incentivized to earn more votes so they can earn more block rewards. The network needs P-Reps to validate transactions and vote for on-chain governance activities.
My goal is for these facts to be widely understood by the ICON Community. We need to let the incentive mechanisms and strategies of DPoS play out without manual intervention and arguing, as this just slows us down and distracts us. I’m hoping that with this educational piece on the history of consensus mechanisms we see a greater focus on what’s most important - having a secure and properly incentivized blockchain network, growing our community, building products that the community loves, and increasing the value of ICX.