DPoS — Leaving Bitcoin in the Dust
DPoS is a key element of aelf and is what will make it so uniquely successful. It’s the brainchild of Dan Larimer — an early bitcoin investor and blockchain developer. But before we dive headfirst into DPoS, let me take a step back and frame the explanation around the issues Bitcoin and other blockchains currently face.
Bitcoin uses a decentralized consensus method to verify the blockchain which stores all transactions completed through the Bitcoin Network. There are hundreds of thousands of GPU miners and Asic miners all running mining software which helps that network. The consensus method used is called Proof of Work, or PoW. Each computer could potentially verify the next block and add it to the blockchain. But how does the system choose which computer to use and know who to pay for the work? This is where the Proof of Work comes in: an algorithm is given out to every computer on the network and the first computer to solve the algorithm and send it back to the blockchain will receive the task of verifying the next block, thus “proving” they have completed the “work” necessary to solve the algorithm and receiving that block. In order to make it difficult for any individual miner or group of miners to control what block is added to the next spot on the chain, the algorithm is extraordinarily difficult to complete. As a result, it is practically impossible for a miner, or even a group of miners, to get even just two blocks in a row. And this is part of what makes the Bitcoin network so secure.
But what happens when you build super powerful miners and then put 10,000 of those miners all together into a ‘pool’ so it looks like one massively powerful miner? An almost identical scenario happened to Bitcoin, and the above logic for decentralization gradually dissipated. Today, a mere three pools control over 50% of the Bitcoin Network−not exactly the decentralized system that was intended. sound overly decentralized now.
Dan Larimer foresaw this problem and thought an improvement needed to be made, so came up with DPoS — Delegated Proof of Stake. DPoS is a relatively under-utilized consensus model that varies from PoW in two main ways. The first is that instead of using an algorithm to choose the next lucky miner, it chooses based upon the amount of coins one has ‘staked’ in the network. The second is that it restricts the number of available miners drastically based on a community voting mechanism.
A great way of understanding DPoS is to consider a company which has a dozen or so executives running the organization. But every single day, every stakeholder can fire or hire executives based upon their past performance and the level of trust they relay to everyone. Basically, you can fire your boss if he gets annoying and useless.
With DPoS, instead of miners, there are Witnesses. These Witnesses are voted in by the community based upon the trust and degree of usefulness they provide to the network. For example, a Witness might advertise themselves as charging low fees for the work, they also say they will put 50% of the fees into marketing for the system and they have already proven themselves in past developments. They might receive enough votes by the community to sit in the top 100. Each coin/token holder can vote, but more weight is given to the larger accounts. This is reasonable since the more coins you have the more invested, the more you would want to make sure the network performs well.
Once voting has been completed, the top 100 Witnesses by vote are included in the next day’s block creation work. Each elected witness is given equal responsibility based upon their votes and not on their stake in the system. Blocks are handed out randomly and each witness can refuse to include any given transaction in a block. If a block or transaction is rejected by the witness, then the next block will take twice as long to confirm, thus discouraging untrustworthy behaviour.
After the day is complete, voting begins again for the top 100 Witnesses and any that performed poorly or simply did the wrong thing will be voted out. This ensures that it is beneficial for a Witness to protect the integrity of the blockchain, because they will want to stay in as a Witness. The larger the community grows, the more competition there is for the top 100 spots, making it more important that a Witness perform well.
Dan Larimer stated that the system runs on reputation. It is very difficult to build up a strong reputation, but very easy to lose one.
Since the system also has continual competition, the fees which are set by the community and Witnesses are kept low. DPoS will even run on just the fees charged in transactions and not need any new coins to be produced like Bitcoin does. This will help keep inflation in check and maintain the value of the coin.
If the cost to run the system gets too high, then the users can reduce the cost by choosing to use less than 100 Witnesses to run the blockchain, however, this reduces the decentralized aspect. If the cost is low, then they can increase the number of used Witnesses and thus increase the network’s level of decentralization.
Another major benefit of this consensus is the speed in which it can process transactions. Bitcoin confirms a new block every 10 minutes and it takes 6 confirmations for a block to be added to the blockchain, while DPoS creates a block every 10 seconds, over 360 times faster. That difference is like that of a car going 1Km/h racing one going 360Km/h… the former is so clearly outmatched.
As you can see, the consensus mechanism chosen by aelf has very specific benefits that finally provide answers to some of the largest problems currently plaguing Bitcoin. In a nutshell, aelf’s use of DPoS solves the issues of slow transaction speed, high fees, poor scalability and risk of centralization all in one chain — and this is just on top of the real world problems they are already solving with the aelf Multi-chain network. For more information on the aelf Project, see this article.