Everybody is talking about that hyped new algorithm of consensus - DPoS. It seems to be used in almost all modern blockchains, while some old ones are slowly shifting towards it in a bid to lower transactional costs and environmental pollution fueled by worldwide spread mining. VHCEx team has compiled thorough research on what DPoS actually is and presented it to you in the most reader-friendly form.
Blockchain systems cannot exist without strictly formalized rules of participants behavior. All nodes must abide to those rules. These rules are called "consensus algorithm".
The most popular consensus algorithm is, of course, Proof-of-Work which laid the foundation for Bitcoin network and gave birth to crypto mining as we know it. The alternative algorithms are: Proof-of-Stake, Proof-of-Burn, Proof-of-Storage, etc. You can learn more about some rare algorithms in VHCEx series of articles dedicated to this topic. However, the top-5 blockchains (WAX, EOS, Bitshares, Steem, and Tron) in terms of the number of daily transactions are built on DPos algorithm. Thus, it's worth diving deeper into it.
What is consensus algorithm and what is its purpose?
Consensus algorithm is on one of the basic parameters of a blockchain system on par with hash-functions, block size and network's bandwidth. In the IT, the consensus algorithm is a method with the help of which the distributed nodes in the network reach the agreement regarding the data elements.
A blockchain can be viewed as a radio station that everyone in the world subscribes to and records. On this radio station anyone can broadcast cryptographic statements and everyone will process these statements via a deterministic state machine to arrive at consensus. The challenge we all face is determining which radio stations we care about, who gets to broadcast, and when do they get to broadcast.
-explains the creator of DPoS algorithm, Dan Larimer
The problem of agreement between nodes of a distributed network has been discussed at least since the 1960s — from the beginning of the study of distributed and parallel computing. In April 1985, Fisher, Lynch and Patterson published one of the most important works in the field of distributed systems - “The impossibility of distributed consensus with one defective process”.
Without a consensus algorithm, the blockchain system nodes will not be able to decide which transactions can be considered valid and who will be rewarded for processing them.
Imagine that a group of friends every Friday after work long argues about where to go. In the end, they spend all their time on it. To decide who and how will choose the venue, they need an algorithm for consensus.
Evolution of consensus algorithms in blockchain systems
The first consensus algorithm involved in the blockchain system was Proof-of-Work (PoW). Bitcoin blockchain is based on PoW. The idea of such an algorithm was first described in 1993 in the scientific work by Cynthia Duard and Monie Naor about the method of dealing with email-spam.
Proof-of-Work is a function that is difficult to calculate, but the results of calculations are easy to verify. In the case of spam, the computer allows you to send hundreds of thousands of messages every day. According to Duard and Naor, if you need to spend 10 seconds on each message, it will not be possible to send more than 8640.
The very term Proof-of-Work appears for the first time used in the work of Marcus Jacobsson and Ari Jewels 1999 dedicated to computing puzzles in security protocols.
The PoW algorithm gained wide popularity after the publication of whitepaper bitcoin in 2008. There PoW is an obstacle to the double spending of coins. To create a new transaction block, a participant needs to find a number by selection, which, together with information about this block, will give the SHA256 hash function appropriate to the network rules. That is, the speed of production of new Bitcoins - mining - depends entirely on computing power and good luck. Initially, bitcoin mining was carried out by enthusiasts on home computers, but with the popularization of the first cryptocurrency, whole companies began to work on its mining. In terms of energy consumption, the Bitcoin network caught up with the Czech Republic.
In 2012, Sanny King and Scott Nadal from the Peercoin project presented the Proof of Stake (PoS), an alternative to PoW and a solution to the problem of high electricity costs for mining Bitcoin. However, the idea of PoS was mentioned in 2011 on the Bitcointalk forum. Instead of mining in PoS, network members freeze a certain number of tokens in their wallets. After this, the algorithm selects the next block producer among the participants, depending on the size of the bet. Thus, the participants reinforce the good faith not with the cost of computation, but directly with assets within the network.
Nevertheless, the problem of Nothing at Stake is relevant for PoS. In the case of a fork, participants can act as validators in both chains at no additional cost. Because of this, the probability of frequent forks in the system increases, which devalues the cryptocurrency and discredits the system.
The algorithms of PoW and PoS left space for monopolies. Participants with more processing power in PoW and participants with a larger supply of tokens in PoS receive more revenue and power over the systems.
In 2013, Daniel Larimer developed Delegated-proof-of-stake (DPoS) - a variety of PoS, similar in principle to the representative democracy of modern countries. In DPoS systems, participants use their tokens to select validators that check and add blocks for a fee. The algorithm was used by Larimer in his blockchain projects: BitShares, then in Steem and EOS.
Let's see what those algorithms are, as exampled by choosing a meeting point among a company of friends.
Simply about DPoS
The fundamental difference between the PoS, DPoS and PoW algorithms is the principle of choosing the participant who will have the right to add a new unit to the circuit. In networks with PoW, those who wish to add a block to a race solve a cryptographic puzzle, and the first guessing person adds his block and receives a reward. In PoS, participants put on con gens to get a chance to add a block. The greater the rate - the greater the chance. But if in PoW miners receive a predetermined reward for creating a block and a commission from each transaction included in a block, in a PoS the reward is limited only to commissions from transactions.
In the case of DPoS, participants voluntarily nominate candidates for the role of a validator - a complete network node that checks and adds blocks for a fee. The remaining participants vote for candidates by tokens, and the weight of votes is distributed according to the number of coins deposited. Based on the voting results, a pool of validators is formed. A special algorithm creates a queue of validators and in turn, gives them time to add a block. If the node does not have time to add a block, the right passes to the next participant in the queue. When the queue ends, the algorithm re-forms a pool of validators and allocates places.
In principle, the work of DPoS algorithm can be formulated in the following stages:
Token holders choose the validators
Algorithm picks N validators. N is pre-set number of validating nodes
Validators approve and stash blocks in accordance with the pre-set order
At any time, voting members may withdraw your voice tokens and deposit them as a bid for another validator. If validator will attempt to block transactions in a block or otherwise try to "bypass" the rules to the next cycle it will not be selected in the pool, and the reputation of such validator will suffer.
Delegated Proof of Stake is robust under every conceivable natural network disruption and even secure in the face of corruption of a large minority of producers. Unlike some competing algorithms, DPOS can continue to function when a majority of producers fail. During this process the community can vote to replace the failed producers until it can resume 100% participation. I know of no other consensus algorithm that is robust under such a high and varied failure conditions.
-explains the creator of DPoS algorithm, Dan Larimer
Validators compete only for votes of tokens holders, and this happens outside the network. Once in the pool, validators are interested in cooperation and normal operation of the blockchain. The validator remuneration mechanism depends on the project: the percentage of the issue of new coins or on transaction fees, a fixed amount, etc. In addition, there are variations of the DPoS algorithm with the different number of validators in the pool, a threshold for entering the role of a validator and rewards.
Minter developers have created a modified version of DPoS with a focus on mining accessibility - MDPoS. Thanks to MDPoS in the Minter network, you can delegate not only native tokens but also coins created by users.
The developers emphasize that the absence of PoW-mining expenses for electricity and equipment, the ability to delegate any coins to the network and the low financial threshold for entering the role of a validator is a logical development of the cryptocurrency mining approach.
Below we provide a thorough comparison of the three most widespread consensus protocols.
|Examples of projects||Bitcoin, Ethereum||Peercoin||NEO|
|Block creation time||Bitcoin: ~ 7–10 min |
Ethereum: ~ 12–15 sec
|~ 9 mins||~ 15 sec|
|Bandwidth (tx per sec)||Bitcoin: 7–10 |
|Transaction cost||Bitcoin: ~ $0.168 |
Ethereum: ~ $0.066
|Number of trxs in a block||Bitcoin: up to 4424 |
Ethereum: from 30 to 200
|from 2 to 10||up to 500|
|Energy consumption (KW/h per day)||Bitcoin: 69 974 983 |
Ethereum: 51 765 837
|~ 18 630||50,4|
|Number of full nodes (block-producers)||Bitcoin: 10102 |
|Governance||Bitcoin: informal offchain management |
Ethereum: informal offchain management
|Onchain voting||Onchain voting + element of offchain management|
|Primary qualities||Decentralization, security||Scalability, low energy consumption||Scalability, low commissions|
Advantages of DPoS
The main advantages of DPoS are a democratic form of management, scalability and relatively low energy costs for network maintenance.
Flexible form of onchain control
DPoS can be called a form of onchain-self. This is a flexible version of representative democracy: participants choose delegates (validators) and can withdraw and redistribute their votes at any time. The ability to arbitrarily remove and select validators leaves real power in the hands of all holders of tokens. The validators themselves are a kind of hired employees, who receive compensation for fair data processing.
We invited an expert from the Minter team to comment on this management model.
“16 validators participate in the minter’s network. Every 518,400 blocks 4 new places in the pool of validators will be added, while the number of places will not reach 256. All of them undertake to maintain network operation and perform
regulations. Among other things, validators vote for changing parameters of the system. In fact, they represent the interests of users who voted for them. If the validator does not meet the participants' expectations, he will be removed from his duties "
-explains the CTO and major developer of Minter, Dan Pashin
In addition to controlling the validator pool, their voices network members control the technical parameters of the system: block size, hardfork network, reward validators and their total amount.
The challenge of blockchain network scalability is the optimization of three related parameters. It is described by the so-called trilemma of scalability proposed by Vitalik Buterin. According to the trilemma, the blockchain can show a good result only in two of the three parameters:
- security - vulnerability to manipulation of unscrupulous nodes
- decentralization - the total number of block producers
- scalability - the overall speed of processing and finalizing transactions by the network
To increase the speed of transaction processing, the system must sacrifice either decentralization or security. This is similar to the situation when the customer wants the work to be done qualitatively, quickly and inexpensively, but in fact, you can choose only two points out of three.
Saving of resources
In the long run, it is important that DPoS based blockchain systems consume significantly less energy than their counterparts on PoW.
In simple terms, validators in DPoS use their computing power directly to process transactions, and PoW-miners spend
most of the power and energy on solving the puzzle and it only needs to meet artificial conditions system.
For comparison, the energy consumption for Bitcoin blockchain service comparable with energy costs small of the state.
Disadvantages of DPoS
Systems based on DPoS are criticized because of the de-anonymization of validators, the possible centralization of the production of units and the specificity of the control model.
Deanomization of validators
In DPoS systems, identity validators are known. Most often, these are not individuals, but companies that must maintain reputation and represent themselves to the voting members of the network in order to compete for the right to add blocks.
Given that the processing order of the blocks and the identity of the validators are known, the attacker can conduct a DDoS attack on the validators. The more validators are attacked, the more noticeable will be the network latency. However, the chances that an attacker could disable most of the nodes are small. In addition, validators can use DDoS resistance as a competitive advantage.
"The problem is that if you have 100 nodes, the system is much more centralized. You can conduct a DDoS attack on them. So how do you need to vote for them, those nodes that everyone knows will win. So much easier to attack people at the head of nodes. Internet providers, companies or governments can easily disable them. This particular approach
scalability is expensive: if you try to achieve scalability by increasing the size of individual nodes, the number nodes drops, the system becomes more centralized"
-explains Vitalik Buterin, founder of Ethereum
In response to Buterin’s statement, Daniel Larimer mentioned that Ethereum and Bitcoin had already been subjected to DDoS attacks, Steem and BitShares had survived despite attempts to overload the network. Larimer also clarified that the Ethereum network can be disabled by attacking just 7 nodes that control 90% of the computing power, and all of these nodes are well known to governments and Internet providers.
Blockchain-based systems DPoS are called (https://cryptomaniaks.com/latest-cryptocurrency-news/blockchain/is-dpos-an-improvement-over-pos) more centralized from a point view of the total nodes that verify and add blocks. In NEO 7 validators work, and in Ethereum number of nodes exceeds 13,000.
On the other hand, you can not judge about the degree of centralization by one metric. In PoW-systems Ethereum and Bitcoin significant contribution to the creation of blocks several large mining pools.
The decision on the choice of delegates-validators in DPoS is made by the network members. Theoretically, they can choose a validator with a good reputation, but with malicious intent. As soon as unscrupulous intentions are revealed, the voting members will exclude such a validator from the pool, but an attacker may have time to cause network disruptions.
"The problem is that the average voter has only small chance to influence the final list of delegates, because they have there is little motivation to vote on the basis of some idealistic goals. They more motivated to vote for those who offer the largest and reliable bribe"
-explains Vitalik Buterin, founder of Ethereum
As with any electoral system, the choice of validators in a DPoS network requires the attention of voters. Participants with a small number of tokens, and therefore a comparatively small influence on the outcome of the vote, are not motivated to spend time studying all the delegates.
"On-chain management makes node participation in management completely unnecessary. In this case, the node, without making decisions, simply follows made decisions. The default values are incredibly strong: what the more nodes follow these values, the less sense for interested in the change node go them in defiance and fork"
-explains Vlad Zamfir, a developer from Ethereum Foundation
Ambiguous philosophy and prospects of DPoS
The balance between transaction processing speed, security, and decentralization seems like a zero-sum game. PoW sacrifices scalability, but at the same time, it is the most secure and decentralized consensus algorithm, at least in theory. PoS scales properly but is criticized due to centralization. DPoS potentially outperforms PoS in scalability, but it is also criticized for the danger of centralization.
The creator of Bitcoin sought to create a prototype of digital democracy, where each user will have one vote. Whatever Satoshi was, he refused to vote via IP, realizing how easily one person could get hold of a large number of IP and subordinate the network to himself.
"Proof-of-Work also solves the problem of voter representation in making a decision. If the majority was determined by the principle of one IP address - one vote, a member with access to a large number of IP could manipulate voting in their own interests. With Proof-of-Work one computer processor equals one vote"
-quote from Bitcoin Whitepaper
However, he did not expect Bitcoin to grow in price so that it would be beneficial for network participants to keep giant mining farms. The success of the system exceeded the expectations of the creator, and his precautions did not work. Several companies with industrial computing power practically control the Bitcoin network. In 2014, GHash.io, the largest mining pool at that time, collected 55% of the total computing power under its control for almost a day.
Ideological debates about centralization and decentralization are an eternal topic for the crypto community. However, nowadays solutions are becoming popular with an emphasis not on decentralization, but on scalability and universality. The DPoS algorithm and its derivatives are one of the ways to these benefits.
DPoS is called “digital democracy”. But such a regime also has abuse instances. For example, having a significant resource, you can endlessly re-elect yourself as a validator, which gives you more control over the network than the possession of a significant resource in PoS-systems.
At the same time, the creator of DPoS, Daniel Larimer, considers this algorithm to be the most viable in market conditions.
"I, on the other hand, am looking to create tools to be used by competing groups of good people where at least 2/3 are honest. I believe people are fundamentally good. Let’s look at the practical reality. The more effective a group is at maintaining its integrity as it grows, the larger the group will grow. The more corrupt a group is the faster it will die. Creating tools for competition in the free market recognizes the reality of open economic systems which is the foundation of true decentralization"
-says Dan Larimer
Disputes about the dangers of centralization are unlikely to subside in the coming years, and the DPoS algorithm, despite criticism, has already recommended yourself as a viable solution. Let not so much familiar and proven as PoW but scalable and relevant to the business.