Analysis of consensus algorithms
All news

Analysis of consensus algorithms

Since blockchain is a decentralized system with no ultimate decision maker, implementing a mechanism which enables network members to reach a consensus is of paramount importance. Consensus is the group decision-making process where all system members are willing to arrive at a common decision for the benefit of the whole group. The decision-making method itself is also termed a consensus algorithm. In this case, the key aspects include consistency, participation of everybody, cooperativeness, the equality of all votes. Distributed networks leverage a variety of algorithmic models which allow network members to agree. The implementation of any given system offers certain benefits to network members, e.g., enhanced network speed or low failure rate. However, cons are never excluded either as some of the technologies supporting any particular positive aspect can offset some other important indicators. We have analyzed the most popular consensus algorithm models currently being used in decentralized systems in an attempt to find out which are the most reliable and effective.

PoW (Proof-of-Work)

Scope of application:

Bitcoin, Ethereum, Litecoin, Dogecoin, etc.

Proof-of-Work algorithm is the most popular consensus mechanism used on the blockchain, not least because it is employed on the Bitcoin and Ethereum platforms. The bottom line on the algorithm is that the network node must perform computationally intensive operations in order to prove a transaction and add it to the pool, with the output being easily comparable with other results of network computing. The first node to complete all necessary computations is rewarded for completed work, the system members therefore compete. It should be further emphasized that the scope of so-completed work is always an expected measure.

Pros of PoW:

● Resistance to a Sybil attack where the user maliciously creates fake nodes in order to suppress real honest users. However, the probability of fake creation is equal to zero since computational performance underlies Proof-of-Work and is linked to the material world.

● Proof cannot be falsified or stolen due to the above reason.

● Proof cannot be gained in advance since the emergence of every new block requires the launch of a new computing round (every new block contains a link to the previous one).

● Honesty in award allocation. The amount of award directly depends on the miner’s hash rate (computational performance). The miner is always awarded pro rata to the mined blocks.

● Motivation for fair play. Since mining costs are material and relatively high and unfair behaviors deprive the member of profits, miners are given an additional stimulus to abandon their malicious practices.

The system is fairly clear and easy to understand. It still has some major drawbacks.

Cons of PoW:

● Enormous energy costs. The system is engineered to ensure ever-growing task complexity and thus computing requires more and more energy and computational performance, which are further wasted — the only transaction added to the block is that from the first node to complete computing.

● Vulnerability to a 51% attack. Entities which have access to more powerful computing systems are in a position to mine more, thus potentially posing a centralization threat. Even now, 65% of the Bitcoin hash rate are shared by five pools. This is a potentially dangerous situation: their joined forces (if any) can cause a 51% attack to be launched, giving rise to a malicious majority that is able to ignore blocks from all remaining miners. Experts assure that bigger systems are protected from this kind of situations, whereas smaller blockchains with far lower numbers of network members still face some risks.

● Possibility of creating forks. An updated transaction log is defined as the chain of blocks with the greatest aggregate complexity of work proofs. Accordingly, members search for a new block above the existing ones. However, the possibility of creating forks cannot be ruled out as computations run in parallel, although their intended creation is uneconomic in the current environment.

● Computing takes a long time. This results in a significantly slower transaction process, thus rendering systems with such consensus mechanism unsuitable for micropayments or rapid money transfers.

PoS (Proof-of-Stake)

Scope of application:

VCash, BitBay, Peercoin, Qtum, Stratis

If the system employs the Proof-of-Stake algorithm, it is more appropriate to speak of validators, i.e., network members, and not miners. In order to confirm a transaction and add it to the pool, validators lock part of the funds by converting them to a stake they put on the block that may be added to the network. This mandatory collateral is fixed with the aim of securing any possible improper behaviors of network member. Members thus compete for the entitlement to confirm and not create a block. In general, the more currency is held in the member’s account and the longer the holding period, the higher the chance this member has of signing the block and receiving commissions charged as transaction fees from the block. In order to remain fair and stable, the system requires the implementation of mechanisms that would allow even smaller currency holders to compete for the right to sign a block. Therefore, different modifications of this algorithm subject to additional terms are common in blockchain systems.

Pros of PoS:

● Lower energy consumption as compared with PoW. The validation process is completely virtualized and requires no heavy computing.

● Protection from a 51% attack. The malicious user would hardly benefit from this kind of approach.

● Faster decision-making. Since major players are given extra votes, it takes less time to reach a consensus, which makes transactions faster.

Cons of PoS:

● An additional stimulus to centralization. The general principle that “the greater the amount of currency, the higher the potential rewards” gives network members an additional impetus to save currency. Although the network will be protected from a 51% attack, hypothetically, there is a chance of 51% of funds being accumulated in the hands of one person, thus causing subsequent control of decision-making. This kind of situation is unlikely in bigger systems, whereas smaller networks can be exposed to a possible scenario like this.

● Threat of forks. In the conventional Proof-of-Stake pattern, the most rewarding behavior of members is creating forks for repeated fund spending. It is for this reason that the PoS mechanism is further complicated by mandatory stakes and other terms in an effort to close the “gaps” in network safety by introducing an economic factor to deter unscrupulous players.

DPoS (Delegated Proof-of-Stake)

Scope of application:

EOS, BitShares

The delegated Proof-of-Stake algorithm is very different from PoS. The mechanism involves selecting a certain number of validators among all network members that confirm transactions and participate in generating a block as scheduled. The selection of validators is based on the reputation of members; those persons enjoy limited trust and have the right to confirm a chain of blocks while not allowing malicious users to interfere. That said, validators are re-elected every round, with the round speed being specific to each system. Stakeholders have got something to lose and therefore control the process, thus ensuring an honest agreement. Malicious or procrastinatory behaviors of delegates will be seen in the system and constitute grounds for their removal from the list of validators in the course of voting.

Pros of DPoS:

● Network members are interested in the honesty of transactions. The reputation system proves to be a powerful impetus to keep the system in order in compliance with the fair competition rules.

● The transaction speed is higher as compared with PoS. Delegates are in a position to cooperate and not compete with each other, partial centralization allows consensus to be reached faster.

● High computational performance is not required. There is no need to recalculate the entire chain of blocks, it is only the block received from another trusted node that undergoes verification.

● High network stability. Even if some nodes fail, the community can vote for their replacement.

Cons of DPoS:

● The precise extent of reliability of this algorithm still remains to be found, but for the time being, all attempts to hack it have been unsuccessful.

● Wallet holders need continuous motivation in order for their activity to be maintained at a proper level.

Other modifications of PoS algorithm

As mentioned earlier, PoS in its conventional form is a somewhat vulnerable model that cannot guarantee complete decentralization or system stability. In this regard, there are a variety of possible modifications of this algorithm based on the same ownership of a stake subject to additional terms.

LPoS (Leased Proof-of-Stake) is employed on the Waves platform. The bottom line on this method is that balance is leased out to other mining nodes and indirect mining income is earned without the need for computations.

PoI (Proof-of-Importance) gives due regard not only to the network member’s account balance, but also to user activity/importance which is measured by the transactions carried out on the account. Accordingly, the mechanism encourages users to be continuously active and demonstrate it for the sake of higher rewards. PoI is used on the NEM platform.

PoC (Proof-of-Capacity)

Scope of application:

Burstcoin

Whenever this method is used, its main focus is hard drive space and not computational performance: the greater the hard drive space, the higher the chance a miner has of finding the desired hash in order to construct a new block. This algorithm emerged in response to two issues, which are high energy consumption (in the case of PoW) and the situations where miners find it more rewarding to keep currency rather than use it (PoS). The algorithm comprises two steps — plotting and mining. Plotting entails creating on the hard drive the list of all possible values of the block hash split into pairs. Mining implies search for a value that is suitable for creating a new block on the list. That said, miners are rewarded provided that they meet the deadline which is also computed in the course of mining.

Pros of PoC:

● The algorithm requires no special equipment to operate, in theory, even a mobile device running Android OS can become a node. Mining data is easy to delete and the user can use the hard drive to accomplish other tasks.

Cons of PoC:

● The method is less popular. However, it has the potential to implement the algorithm in smaller private networks.

● There is a risk of creating malware that uses hard drive space for mining purposes without the user’s knowledge. The system itself will not be able to oppose this kind of schemes and separately implementable technologies will be required in order for this interference to be eliminated.

PoAuthority

It is only due to the operation of validators that consensus is reached. The algorithm has much in common with PoI and PoS. However, there is a significant nuance: users can qualify as validators provided that they obtain a special authorization from the U. S. management authorities (the algorithm was devised by professionals from the United States). Users can rest assured that validators are reputable and trustworthy, but network centralization is very high.

Pros of PoAuthority:

● Network reliability as a fairly specific range of users is responsible for decision-making and deters malicious users.

● No mining and hence reduced network maintenance costs.

● High transaction speed due to the fact that consensus is reached extremely fast.

Cons of PoAuthority:

● High degree of centralization. The use of this method is therefore reasonable in private networks only.

● The algorithm has not become widespread.

PoB (Proof-of-Burn)

Scope of application:

Slimcoin

The method is built around “burning” coins. The bottom line is that in order for a new block to be extracted, users need to send coins to a certain address (“burn” address) without the possibility of being subsequently forwarded elsewhere. The greater the number of coins burnt by the user, the higher the chance the user has of mining bonuses for the so-burnt coins. This mechanism often pays off at stages where a switch between currencies is required, i.e., the user has got something to burn.

The disadvantage of this approach is that a decision is again made by users holding higher network stakes.

BFT

Scope of application:

Ripple, Stellar, Hyperledger, Dispatch

Byzantine fault-tolerant algorithm builds on a fairly sophisticated concept, which can be briefly described as follows: network status is controlled by validators/generals that can exchange messages, thus preventing malicious behaviors and selecting the right version of a transaction. From a mathematical perspective, the algorithm requires the honesty of most validators; accordingly, even if some of the network members are fraudsters, their decision will be ignored, thus rendering them unable to affect the decision-making process. Just like PoS, the algorithm has some modifications. For example, Ripple and Stellar employ the Federated Byzantine Agreement (FBA) whereunder every validator is responsible for their own message chains. Moreover, in Ripple generals are preselected from the total number of users.

Pros of BFT:

● High network throughput;

● Relatively low transaction fees;

● Network scalability;

Cons of BFT:

● Certain degree of centralization due to the delegation of decision-making authority.

dBFT

Scope of application:

NEO

The Delegated Byzantine Fault Tolerance is a separate modification of the BFT algorithm in its conventional version. It relies on the same messaging mechanism and the message chain verification principle. Yet in this case not all network members can qualify as validators: generals must be meet special requirements, namely: the availability of special equipment, dedicated connection, and a certain amount of GAS. This kind of system guarantees protection from scammers and leaders with computing problems.

Pros of dBFT:

● Better network scalability

Cons of dBFT:

● Even higher degree of centralization.

DAG (Directed Acyclic Graphs)

Scope of application:

Iota, Hashgraph

Directed Acyclic Graph is the method of asynchronous processing of transactions. It does not rely on the blockchain structure. For example, transaction verification does not necessitate calculating the whole block. Every new transaction confirms the previous two. In order for the honesty of transactions to be guaranteed, the Tangle algorithm used by Iota performs double checks at a special centralized node (Coordinator). This mechanism can therefore hardly be called 100% suitable for a decentralized network.

Pros of DAG:

● A tremendously high transaction confirmation speed due to asynchronous processing;

● No fees.

Cons of DAG:

● The system is unsuitable for a decentralized network as it relies on the centralized node in the case of verification.

● Susceptible to Sybil attacks.

CREDITS network consensus algorithm

In order for decision-making accuracy to be guaranteed, the CREDITS network employs a combination of two algorithms, which are DPoS and BFT. The DPoS differentiates between voters and validators. Byzantine fault-tolerant algorithm, shortly BFT, implies voting protected from malicious activities. The consensus reaching process in the CREDITS network is split into several phases, with key phases encompassing the selection of head node and trusted nodes, the voting of selected nodes on transactions, ledger recording protected from malicious users.

A thorough multi-stage selection of the head node and trusted nodes guarantees the reliability of confirming validators, whereas a multi-stage system of transaction pool verification comprising multiple rounds, which involves continuous message exchange among validators, accelerates transaction processing and prevents invalid transactions from going through.

Pros of CREDITS algorithm:

● High level of validators’ credibility and, consequently, an enhanced reliability of the resulting decision;

● High network throughput;

● Resistance to attacks;

● Low transaction costs.


The conclusion

We have discussed a whole range of algorithms, each having their strengths and weaknesses. Some of those systems are poorly adaptable to major blockchain networks, while others are vulnerable when used in smaller private networks. Many face the problems of low transaction speed, high fees or susceptibility to attacks.

CREDITS adheres to an optimal approach to selecting a combination of the consensus algorithms since none of the existing mechanisms is able to ensure the availability of critical network performance indicators, such as network speed, fault-tolerance, reliability, and multitasking. Decision-making entails multiple stages of thorough selection and verification of both trusted and head nodes, round-based voting system, sophisticated verification of transactions, a fail-safe system of data recording onto a ledger. These solutions enable the algorithm to offer a proper level of network reliability, accurate decision-making, prevention of errors and abusive practices. In-house consensus mechanism based on a combination of DPoS and BFT is more effective than reliance upon any given ready-made solution or any of the above methods used individually.

This site uses cookies in order to improve your user experience and to provide content tailored specifically to your interests. Detailed information on the use of cookies on this website is provided in our Privacy Policy. By using this website, you consent to the use of cookies. You can always deactivate cookies in commonly used browsers.
REQUEST
Free consultation from Credits team