Study of Blockchain Based Decentralized Consensus Algorithms
Study of Blockchain Based Decentralized Consensus Algorithms
net/publication/337936141
CITATIONS READS
61 3,088
6 authors, including:
All content following this page was uploaded by Bhabendu Kumar Mohanta on 15 December 2019.
Abstract—Blockchain is the backbone technology behind entities and is established in a closed environment. Though all
crypto-currency and Bitcoin. By concept, Blockchain is a dis- the entities are allowed to perform transactions, only a fixed
tributed database where transactions are recorded in an in- set of predetermined nodes can take part in the consensus
corruptible and non-modifiable manner. Currently, Blockchain
technology is envisioned as a powerful framework for open-access process in a Permissioned Blockchain. Consensus algorithms
networks, decentralized information processing and sharing sys- hold an important part in managing the an efficient and secure
tems, etc. This review is motivated due to the lack of an extensive Blockchain system. Some of the popular algorithms are Proof
survey on the existing decentralized consensus mechanisms in of Work (PoW), Proof of Burn (POB), Proof of Stake (PoS),
Blockchain technology. So in this paper, an in-depth review of Raft, Practical Byzantine Fault Tolerant (PBFT), Paxos, etc.
the distributed consensus mechanisms has been presented. In
addition to this, a comparative analysis of the consensus protocols [3]. Table 1 shows a detailed comparison among these two
based on the type of Blockchain is also demonstrated. types of Blockchain configuration.
Index Terms—Blockchain, distributed consensus, Permission- Until now, the focus is predominantly on the application of
less Blockchain, Permissioned Blockchain. Blockchain in different fields. So this paper presents a detailed
study of different consensus algorithms and also analyzed their
I. I NTRODUCTION advantages and disadvantages in terms of performance and
A Blockchain technology based system is a classical dis- fault tolerance ability. So the rest of the paper is outlined
tributed system where all the participating entities are ge- as follows: Section 2 describes why do we need consensus
ographically scattered but connected through different types in a distributed system and the various requirements of con-
of networks. It was formally theorized and implemented sensus algorithms. Section 3 and Section 4 presents various
by S. Nakamoto, in the year 2008 and 2009, respectively consensus mechanisms for a permission-less and Permission-
[1]. Traditional transaction management systems require a ed Blockchain system consensus respectively. Finally Section
centralized trusted party who is responsible for confirmation 5 gives a comparative analysis of these consensus algorithms
and storage of transactions. This obviously have many issues and Section 6 concludes the paper.
like cost, privacy,efficiency and security, etc. Decentralization
is the fundamental characteristic of Blockchain which can II. D ISTRIBUTED C ONSENSUS A LGORITHMS
be employed to solve the above issues. Blockchain basically The concept of consensus is an engrossing topic in a
provides a platform where multiple entities who dont trust each decentralized or distributed network. Consensus means a pro-
other can work or share information in a common platform. cedure to arrive at a common agreement in a decentralized or
Bitcoin, the first application that brought Blockchain into the distributed multi-agent platform. In a conventional distributed
global picture, is also the first cryptocurrency developed and system, we apply consensus to ensure reliability which en-
used. But with progress and in-depth study of Blockchain sures correct execution in presence of faulty individuals and
technology, its application is no more limited to financial fault tolerance. In addition to this, a distributed consensus
sector only. Rather it has gained much popularity in other fields mechanism should satisfy certain properties like termination,
like Government, Technological enterprises, Supply chain, validation, integrity and agreement. An example of consensus
etc [2]. Mainly Blockchain can be used in two different is the state machine replication which is a key aspect of any
ways Permission-less and Permissioned. Permission-less de- distributed consensus protocol. For example, if we want to
sign which is generally established on an open environment run some kind of distributed protocol over a network, every
like Bitcoin, Ethereum, allows anyone to join the system as individual entity runs the current protocol and they store the
well as allows writing to the shared blocks. Permission-less state of the protocol in different state machines. So the entire
design also gives equal privilege to all the nodes in case of con- execution part of the protocol can be represented as a state
sensus process. On the contrary, a Permissioned Blockchain machine. Now this state machine needs to be replicated to
design such as Hyperledger fabric is managed by known set of multiple entities so that every individual entity can reach to
978-1-7281-1895-6/19/$31.00 2019
c IEEE 908
TABLE I
C OMPARISON OF P ERMISSION - LESS AND P ERMISSION - ED B LOCKCHAIN .
a common output of the protocol. Achieving consensus can Bitcoin system where anyone can join the network at any
be easy and straight forward for certain architectures under time. So under this kind open environments like Bitcoin,
certain scenarios like when how consensus has been achieved, are explained below.
• The entire system is faultless or there is not be any failure Along with that, several other algorithms which are being
in the system, so that every entity can receive the message applied on permission-less models and Permissioned models
correctly. of Blockchain are described below.
• The system behaves in a synchronous way, i.e., it is
expected that you will receive all messages within some
predefined time interval. III. C ONSENSUS IN P ERMISSION - LESS B LOCKCHAIN
S YSTEM
However achieving consensus can be non-trivial in case of a
distributed environment due to the presence of multiple types As mentioned above, the conventional consensus mech-
of failures. Typically in a distributed system, we consider 3 anisms will not be applicable in an open or permission-
different types of failures: less Blockchain system. Hence this Section suggests how
1) Node Failure: A node suddenly crashes or becomes consensus has been achieved in Bitcoin like open environments
unavailable in the middle of communication. So we are along with their shortcomings.
not expected to receive any message from that particular
node. This can hardware or software fault. A. Bitcoin Consensus
2) Partitioned Faults: This type of fault occurs whenever
The main purpose of consensus in Bitcoin is to add a new
links fail, which results in partition in the network. This
block to the existing Blockchain. There can be multiple miners
can hamper reaching in consensus.
in the Bitcoin network and these miners can propose their
3) Byzantine Faults: This kind of fault is more difficult
new blocks based on the transactions they have heard of.
to handle in a distributed environment. Here the entity
It is not necessary that every miner will propose the same
starts behaving maliciously. In both the above faults, we
block. Generally the miners include those transactions in the
can expect the effect on the network, but in this case, it is
new block that they have heard of since the last time a block
difficult to guess because it completely depends on how
has been added. The miners also need to ensure that size of
maliciously the entity is behaving and what the entity is
the newly proposed block does not exceed certain threshold.
doing.
We should focus on the following two observations before
Correctness of a distributed consensus protocol can be designing the algorithm:
characterized by the following two properties:
• Any valid block (a block with all valid transactions) can
1) Safety: It ensures that one will never converge to an be accepted even if it is proposed by only one miner.
incorrect state. • The entire protocol can work in rounds. Broadcast the
2) Liveliness: Every correct value must be accepted even- accepted block to the peers and collect the next set of
tually. transactions. (Once a valid block has been accepted or
The conventional distributed consensus protocols are based on the system has reached to a consensus, from that point
either message passing system or shared memory system. The a round starts. The miner starts getting the transactions
former requires closed environment where every entity needs and they can find out the transactions that are not already
to know the identity of every other entity in the network committed in the Blockchain. Based on that they can
[4]. But in case of shared memory approach, a common propose a new block.)
memory space is used to read and write the shared variables Based on the above two observations, we can design solutions
which everyone present in that network can access. But it so that
is not suitable for internet grade computing as we need to
put a memory which should be readable and writable by • Every miner independently tries to solve a problem.
every individual entity in the network. Similarly, message • The block is accepted for the miner who can prove first
passing approach is not feasible in an open environment like that the challenge has been solved.
TABLE III
C OMPARISON BASED ON P ERFORMANCE .
Performance Attributes PoW PoS PoB Paxos Raft BFT and its variants
Crash fault tolerance 50% 50% 50% 50% 50% 33%
Byzantine fault
50% 50% 50% NA NA 33%
tolerance
Response Time 10 Minutes 1 Minute 1 Minute 1 second
Rate of Energy consumption High Better than PoW Better than PoW High High Moderate
Transaction Throughput Very Low Low Low Very High Very High Average
Transaction Latency Very High High High Very Low
prepare messages. Hence, the total (2f + 1) votes (one Hence, a detailed review of the existing consensus algorithms
from primary) from the non-faulty replica helps the sys- has been presented in the paper. In case of permission-
tem to reach to a consensus. Fig. 4 shows the interaction less systems, it is easy to achieve robust consensus among
process. large number of untrusted nodes using complex computations
PBFT based consensus algorithms, we need (3f + 1) number though transaction finality remains non-deterministic. On the
of replicas in order to reach to the consensus. It provides high contrary, permission-ed Blockchain provides high throughput
throughput, low latency and less energy usage in verifying in less time while sacrificing the degree of decentralization.
transactions as compared to PoW based consensus mechanism. R EFERENCES
It also provides privacy over the system by ensuring tamper
[1] S. Nakamoto et al., “Bitcoin: A peer-to-peer electronic cash system,”
proof message transmission. Authenticity of nodes is also 2008.
verified through signatures. Despite its promising advantages, [2] C. Shen and F. Pena-Mora, “Blockchain for citiesa systematic literature
there are some significant limitations to the PBFT consensus review,” IEEE Access, vol. 6, pp. 76 787–76 819, 2018.
[3] M. S. Ali, M. Vecchio, M. Pincheira, K. Dolui, F. Antonelli, and M. H.
algorithm. The overhead incurred by multicasting messages Rehmani, “Applications of Blockchains in the Internet of Things: A
again and again makes it difficult to scale beyond a fixed num- comprehensive survey,” IEEE Communications Surveys & Tutorials,
ber of replicas. PBFT is also susceptible to sybil attack. PBFT 2018.
[4] Q. He, N. Guan, M. Lv, and W. Yi, “On the consensus mechanisms of
has well adopted in consensus for Permissioned Blockchain blockchain/dlt for internet of things,” in 2018 IEEE 13th International
environments like Hyperledger, Tendermint Core, etc. Symposium on Industrial Embedded Systems (SIES). IEEE, 2018, pp.
1–10.
V. C OMPARATIVE A NALYSIS [5] C. Dwork and M. Naor, “Pricing via processing or combatting junk
mail,” in Proc. of the Annual International Cryptology Conference.
This Section presents a comparison of the different consen- Springer, pp. 139–147, 1992.
sus algorithms that we have discussed so far in this paper. [6] A. Back et al., “Hashcash-a denial of service counter-measure,” 2002.
[7] L. Lamport et al., “Paxos made simple,” ACM Sigact News, vol. 32,
Table 2 and Table 3 below present a detailed comparison no. 4, pp. 18–25, 2001.
between the above mentioned consensus algorithms in terms [8] D. Ongaro and J. Ousterhout, “In search of an understandable consensus
of characteristics and performance. algorithm,” in Proc. of the USENIX Annual Technical Conference (ATC),
pp. 305–319, 2014.
[9] L. Lamport, R. Shostak, and M. Pease, “The byzantine generals prob-
VI. C ONCLUSION lem,” ACM Transactions on Programming Languages and Systems
(TOPLAS), vol. 4, no. 3, pp. 382–401, 1982.
With the evolution of ICT, the Blockchain technology has [10] M. Castro, B. Liskov et al., “Practical byzantine fault tolerance,” in
attracted interest from various dimensions. Consensus algo- OSDI, vol. 99, pp. 173–186, 1999.
rithm is the main technology of Blockchain, but on-going
research of the consensus algorithms is still in its initial stage.