A Survey of Distributed Consensus Protocols For Blockchain Networks
A Survey of Distributed Consensus Protocols For Blockchain Networks
Abstract—Since the inception of Bitcoin, cryptocurrencies and system and a secure-by-design technology. The blockchain
the underlying blockchain technology have attracted an increas- itself is a database that keeps track of all transactions occurred
ing interest from both academia and industry. Among various in the network and is replicated at every participating node.
core components, consensus protocol is the defining technol-
ogy behind the security and performance of blockchain. From It essentially realizes a distributed ledger without relying on
incremental modifications of Nakamoto consensus protocol to a central authority to bootstrap the trust among participants
innovative alternative consensus mechanisms, many consensus or to clear the transactions. It also does not assume trust
protocols have been proposed to improve the performance of among the participating nodes. Blockchain is meant to enable
the blockchain network itself or to accommodate other specific trusted computation among a group of mutually distrustful par-
application needs. In this survey, we present a comprehensive
review and analysis on the state-of-the-art blockchain consensus ticipants. On the other hand, blockchain is also known for
protocols. To facilitate the discussion of our analysis, we first providing trustworthy immutable record keeping service. The
introduce the key definitions and relevant results in the clas- block data structure adopted in a blockchain embeds the hash
sic theory of fault tolerance which help to lay the foundation of the previous block in the next block generated. The use of
for further discussion. We identify five core components of a hash chain ensures that data written on one block can not be
blockchain consensus protocol, namely, block proposal, block val-
idation, information propagation, block finalization, and incentive modified without invalidating later blocks. In addition, a pub-
mechanism. A wide spectrum of blockchain consensus proto- lic blockchain system supports third-party auditing and some
cols are then carefully reviewed accompanied by algorithmic blockchain systems support a high level of anonymity, that is,
abstractions and vulnerability analyses. The surveyed consensus a user can transact online using a pseudonym without revealing
protocols are analyzed using the five-component framework and his/her true identity.
compared with respect to different performance metrics. These
analyses and comparisons provide us new insights in the funda- The security properties promised by blockchain is unprece-
mental differences of various proposals in terms of their suitable dented and truly inspiring. Pioneering blockchain systems such
application scenarios, key assumptions, expected fault tolerance, as Bitcoin have greatly impacted the digital payment world. It
scalability, drawbacks and trade-offs. We believe this survey will is envisioned that blockchain technology and applications built
provide blockchain developers and researchers a comprehensive on top of it will revolutionize a broad array of financial service
view on the state-of-the-art consensus protocols and facilitate the
process of designing future protocols. industries as well as non-financial sectors. Among the many
technical components that a blockchain system is composed
Index Terms—Blockchain, distributed consensus, fault toler- of, the distributed consensus protocol is the key technology
ance, protocol design.
that enables blockchain’s decentralization, or more specifi-
cally, that ensures all participants agree on a unified transaction
ledger without the help of a central authority. The distributed
I. I NTRODUCTION
consensus protocol specifies message passing and local deci-
INCE Bitcoin’s inception in late 2008, cryptocurrencies
S and the underlying blockchain technology have piqued
great interest from the financial industry and society as a
sion making at each node. Various design choices in the
consensus protocol can greatly impact a blockchain system’s
performance, including its transaction capacity, scalablity, and
whole. Blockchain is widely cited as a fully decentralized fault tolerance.
The Nakamoto consensus protocol [1] is the protocol imple-
Manuscript received April 7, 2019; revised October 14, 2019 and November
29, 2019; accepted January 13, 2020. Date of publication January 28, 2020; mented in the Bitcoin network. With the help of this consensus
date of current version May 28, 2020. This work was supported in part protocol, Bitcoin became the first digital currency system to
by U.S. National Science Foundation under Grant CNS-1916902 and Grant resist double-spending attacks in a decentralized peer-to-peer
CNS-1916926. (Corresponding author: Wenjing Lou.)
Yang Xiao and Y. Thomas Hou are with the Bradley Department of network of little trust. As the Bitcoin network continues to grow,
Electrical and Computer Engineering, Virginia Polytechnic Institute and State Nakamoto consensus has encountered several performance bot-
University, Blacksburg, VA 24061 USA (e-mail: [email protected]; [email protected]). tlenecks and sustainability problems. Researchers in blockchain
Ning Zhang is with the Department of Computer Science and Engineering,
Washington University in St. Louis, St. Louis, MO 63130 USA (e-mail: communities have raised the following concerns on Nakamoto
[email protected]). consensus and particularly its proof-of-work (PoW) mining
Wenjing Lou is with the Department of Computer Science, Virginia mechanism: 1) unsustainable energy consumption, 2) low trans-
Polytechnic Institute and State University, Blacksburg, VA 24061 USA
(e-mail: [email protected]). action capacity and poor scalability, 3) long-term security
Digital Object Identifier 10.1109/COMST.2020.2969706 concerns as mining rewards diminish. For instance, the Bitcoin
1553-877X
c 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See https://www.ieee.org/publications/rights/index.html for more information.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1433
network currently consists of roughly ten thousand nodes [2], 3) identifying four classes of proof of stake (PoS) based
while the maximum transaction capacity of Bitcoin is 7 trans- consensus protocols and providing algorithmic abstrac-
actions per second (TPS) and can be increased to at most 25 tions for them;
TPS by tuning protocol parameters without jeopardizing con- 4) comparing all mentioned consensus protocols with
sensus safety [3]. In contrast, the VISA network consists of respect to the five-component framework, fault toler-
50 million participants and can handle up to 65,000 TPS [4]. ance, and transaction processing capability.
A single Bitcoin transaction (November 2019) consumes the 5) providing a succinct tutorial on blockchain consen-
equivalent amount of electricity that would power 21 average sus protocol design with respect to the security-
U.S. households for one day [5]. decentralization-scalability trilemma.
In response to the above performance limitations of PoW The remaining part of this survey is organized as fol-
mining, blockchain researchers have been investigating new lows. Section II reviews related surveys and tutorials on
block proposing mechanisms such as proof of stake (PoS), blockchain consensus protocols. Section III provides a back-
proof of authority (PoA), and proof of elapsed time (PoET) ground of classical fault tolerant consensus in distributed
which do not require computation-intensive mining, thus systems. Several legacy BFT consensus protocols designed
effectively reducing energy consumption. In some cases, cryp- for both partially synchronous and asynchronous networks
tographic methods can be used to establish trust among nodes, are introduced. Section IV presents the basic framework of
enabling the use of more coordinated block proposing schemes blockchain and the consensus goals, and introduces the five
such as round-robin and committee-based block generation. essential components of a blockchain consensus protocol.
Appropriate incentives that will continue to encourage hon- Section V focuses on the well-known Nakamoto consensus
est participation in the blockchain network is another key protocol, the defining technology of Bitcoin, and its vulnerabil-
component of consensus protocol. Therefore, alternative block ities and improvement ideas. Section VI provides a systematic
proposing schemes are often accompanied by a new incentive view of the PoS protocols, the most promising competitors
mechanism that promotes participation fairness and increases to the PoW-based Nakamoto consensus for public blockchain.
overall system sustainability. Popular blockchain consensus Section VII discusses alternative consensus protocols usable
protocols encompassing these ideas include Peercoin [6], under specific application scenarios. Section VIII compares all
Bitcoin-NG [7], Ourosboros (Cardano) [8], Snow White [9], blockchain consensus protocols studied and summarizes their
and EOSIO [10], POA Network [11], etc. design philosophy. Section IX discusses the paradigm shift
Besides block proposing and incentive mechanisms, in consensus protocol design and provides a succinct tutorial.
researchers have been seeking solutions from the prior Section X concludes the paper.
wisdom—primarily classical Byzantine fault tolerant (BFT)
consensus and secure multi-party computation (MPC)—for effi-
cient block finalization methods. For example, the state machine II. P REVIOUS S URVEYS AND T UTORIALS
replication (SMR) based BFT consensus algorithms have great The comparison study by Vukolić [18] treats two gen-
potential in permissioned blockchain networks operated with res of blockchain consensus protocols, namely PoW-based
static and revealed identities, of which TenderMint [12], and BFT-based, with respect to transaction throughput, scal-
Algorand [13], Casper FFG [14], and Hyperledger Fabric [15] ability limits, consensus finality, and security implications.
are well-known use cases. Moreover, asynchronous consen- PoW-based protocols scale well with network size and are
sus protocols such as HoneyBadgerBFT [16] and BEAT [17] suited for permissionless blockchains, but yield very lim-
were proposed to provide robust block finalization under severe ited throughput and long confirmation latency. This is due
network conditions with uncertain message delays. to the security implication of their lack of consensus final-
Our Contribution: With more blockchain consensus mecha- ity and limited capacity of raising block frequency and block
nisms being proposed, there is a pressing need to analyze and size. In comparison, BFT protocols have built-in consensus
compare them in a formal and cohesive manner. In this survey finality and achieve much higher transaction capacity, but
we present a comprehensive review and analysis of the state- incur high messaging complexity per block (O(N 2 ) versus
of-the-art blockchain consensus protocols and their devel- PoW’s O(N), N is network size) and need a permissioned
opment history, with a special focus on their performance, network for identity management. As a result they do not
fault tolerance, and security implications. Our information scale well with network size. Besides remarking their differ-
sources include academic papers, consensus protocol white ences, this paper also explores how the hybrid use of BFT and
papers, official documentation and statistics websites of cryp- PoW can enhance the performance of established blockchain
tocurrencies. Specifically, our survey features the following systems and provides tentative solutions to improve blockchain
contributions: scalability.
1) providing a background of classical distributed con- Cachin and Vukolić [19] gives an overview of thirteen
sensus research, including partially synchronous and prominent consensus protocols designed for permissioned
asynchronous BFT protocols that are applicable to blockchain platforms along with their fault tolerance and
blockchain consensus; security properties. The authors also make a powerful state-
2) reviewing a broad array of blockchain consensus pro- ment that the design of blockchain consensus protocols
tocols with a proposed five-component framework and should follow the rigor established in prevailing wisdom of
analyzing their design philosophy and security issues; cryptography, security, and distributed systems, rather than in
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1434 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
an ad hoc manner. This is particularly true when the consen- mechanisms, and a detailed guide on when and how to
sus protocol regulates significant financial values and societal use which blockchain technology. The consensus mecha-
trust. However, they do not provide a methodology to combine nisms covered include PoW, PoS, BFT algorithms, and hybrid
the prevailing wisdom in order to design a consensus protocol BFT-based algorithms. Notably, this paper also gives a quan-
for specific needs. titative comparison of consensus mechanisms with respect to
The work by Bano et al. [20] is the first well-structured fault tolerance, node scalability, throughput, and transaction
survey of blockchain consensus protocols. It identifies three latency. Though with great details on building and managing
classes of consensus protocols based on committee formation a blockchain system, this vademecum can be perfected with
and block proposing rules: 1) PoW, 2) proof of X (PoX) alter- an abstraction for each type of consensus mechanisms and
natives to PoW, and 3) hybrid consensus protocols that take a high-level tutorial on how to reach a compromise between
advantage of classical distributed consensus techniques. This different desired features.
paper emphasizes the role of committee in hybrid consensus
protocols. General discussions on the formation and configu- III. FAULT-T OLERANT D ISTRIBUTED C ONSENSUS
ration of committee and possible solutions to multi-committee
The fault-tolerant (FT) distributed consensus problem has
(i.e., sharding-based) consensus are provided. This paper also
been extensively studied in distributed systems since the late
presents an evaluation framework that takes into account the
1970s and recently gained popularity in the blockchain com-
protocol safety (censorship resistance, DoS resistance and
munity, especially for permissioned blockchains where every
fault tolerance) and performance (throughput and latency).
consensus participant reveals its identity. Generally, consensus
Notably, this paper is the closest work to our survey in terms
in a distributed system represents a state that all participants
of classification of block proposing mechanisms. However,
agree on the same data values. Depending on the medium for
other protocol components need finer classification and the
message exchange, distributed systems are classified into two
variety of PoS proposals deserves a more comprehensive
types: message passing and shared memory [24]. In this sec-
treatment.
tion we are interested in message passing systems because
Wang et al. [21] provides a comprehensive survey of
of their resemblance to contemporary blockchain systems,
blockchain consensus protocols and an in-depth review of
wherein distributed consensus on a single network history is
incentive mechanism designs. The paper starts with a layered
reached through peer-to-peer communication. We will use the
view of the blockchain network including the consensus part
terms process/node/server interchangeably, as they all refer to
followed by a general discussion on the compatibility between
an individual participant of distributed consensus.
consensus protocol and incentive mechanism. Then detailed
consensus schemes are introduced, including Nakamoto con-
sensus, proof-of-concept consensus schemes, and virtual min- A. System Model
ing techniques such as proof of stake (PoS) along with the 1) Distributed System and Task: We consider a distributed
usability of trusted hardware. Hybridization between PoX and system that consists of N independent processes. Each process
classical BFT protocols is also discussed. This survey features pi begins with an individual initial value xi and communi-
a game-theoretical characterization of Nakamoto consensus’ cates with others to update this value. Each local value can
incentive mechanism and its influence on system fairness be used for a certain task, such as computation or just stor-
and decentralization. The efficiency-scalability trade-off is age. If the processes are required to perform the same task,
also explored. Despite of having rich details on consensus consensus on a single value is required before they proceed
techniques and insights into blockchain protocol design, this to the task.
survey does not provide a concise abstraction that captures 2) Process Failure: A process suffers a crash failure if it
different functional components of a consensus protocol or a abruptly stops working without resuming. The common causes
cohesive characterization on fault-tolerant distributed consen- of a crash failure include power shutdown, software error, and
sus primitives that can be used for blockchain consensus. DoS attack. A Byzantine failure, however, is much severer
Xiao et al. [22] provides a succinct tutorial on distributed in that the process can act arbitrarily while appearing nor-
consensus protocols, from classical BFT protocols to the mal. It can send contradicting messages to other processes in
Nakamoto consensus protocol as well as recent breakthroughs hope of sabotaging the consensus. “Byzantine” was coined by
in blockchain consensus. Specially this tutorial provides an Lamport et al. [25] in 1982 when describing the Byzantine
abstraction of consensus goals for permissionless blockchains Generals Problem, an allegorical case for single-value con-
following the paradigm of classical BFT consensus. The sensus among distributed processes. The common cause of
authors also remark that the network model and trust model a Byzantine failure is adversarial influence, such as mal-
should be jointly considered when designing blockchain con- ware injection and physical device capture. Multiple Byzantine
sensus protocols for practical applications. However, this processes may collude to deal more damage.
tutorial skips details on each consensus protocols and does not 3) Network Synchrony: Network synchrony defines the
clarify how different components of a blockchain consensus level of coordination among all processes. Three levels of
protocol contribute to system performance and security. synchrony, namely synchronous, partially synchronous, and
Belotti et al. [23] provides a vademecum on blockchain asynchronous, are often assumed in the literature [22], [26].
technology including development history, transaction and • In a synchronous network, operations of processes are
ledger structure, blockchain system abstraction, consensus coordinated in rounds with clear time constraints. In each
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1435
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1436 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
receives client requests and starts the broadcast procedure so Algorithm 1: PBFT (Normal-Operation Protocol)
that the other N − 1 replica servers receive the same requests /* Request */
and update their local states to that of the primary. 1 Client sends an operation request to the primary;
In the rest of this section we summarize several well-known /* Phase 1: Pre-prepare */
consensus protocols (some are based on SMR) designed under 2 The primary relays this request to replicas via
different network synchrony assumptions. Pre-prepare messages;
3 Replicas record the request and update local states;
D. Consensus Protocols for Partially Synchronous Network /* Phase 2: Prepare */
4 Replicas send Prepare messages to all servers (replicas
The ground-breaking work by Dwork et al. [28] in 1988 laid
and the primary);
the theoretical foundation of partially synchronous consensus.
5 Once receiving ≥ 2f + 1 Prepare messages, every server
By dissecting the consensus objective into termination and
updates local state and is ready to commit;
safey, the authors were able to formally prove the feasibility
/* Phase 3: Commit */
of four consensus goals, including CFT, omission-tolerance,
6 Servers send Commit messages to each other;
BFT, unauthenticated BFT, under the Δ-synchrony/eventual
7 Once receiving ≥ 2f + 1 Commit messages, every server
synchrony condition. Notably, this work has inspired numer-
starts to execute the client request and then updates
ous proposals for partially synchronous consensus schemes,
local state;
including the later known PBFT.
/* Reply */
1) DLS Protocol: The same paper [28] also proposes a
8 Every server replies its result to the client.
prototype consensus protocol (called DLS for authors’ name-
sake) featuring a broadcast primitive for each consensus cycle.
Specifically, the broadcast primitive is started by an arbitrary
process p and consists of two initial rounds and subsequent similarities to VR. Paxos classifies nodes into three roles: pro-
iterative rounds. Through the message exchange in each round, posers, acceptors, and learners. A proposer suggests a value in
the iterative procedure eventually drives the processes to reach the beginning and the system goal is to make acceptors agree
agreement on a common value (either the one proposed by on a single value, and learners learn this value from acceptors.
p or a default value). At message complexity O(N 2 ) (N is In the client-server scenario depicted in Fig. 2(b), the client is
the number of processes), the broadcast primitive essentially the learner, the primary is the proposer, and the replicas are
enables the DLS protocol to tolerate f Byzantine processes if acceptors. After updating to the same state, all servers exe-
N ≥ 3f + 1. The cryptocurrency Tendermint uses an adapted cute the request and send it to the client who then chooses the
version of DLS for block finalization. majority result. When the proposer suffers a crash failure, the
2) Viewstamped Replication (VR): Proposed by Oki and acceptors elects a new leader through a similar propose-accept
Liskov [39] in 1988, viewstamped replication is a server procedure. Akin to VR, Paxos can tolerate f crashed accep-
replication scheme for handling server crashes. It was tors when N ≥ 2f + 1, but no Byzantine failures. Because of
later extended into a consensus protocol by Liskov and the mutual messaging during the accept phase, the message
Cowling [40] in 2012, which we will refer to as VR. VR complexity of Paxos is O(N 2 ).
is a SMR scheme designed in the client-server framework Embarking from its original design, Paxos has grown
and consists of three sub-protocols: 1) Normal-operation, into a family of consensus protocols, including multi-Paxos,
2) View-change, 3) Recovery. The primary server receives a cheap-Paxos, and fast-Paxos, each features a specific goal.
client request and starts the normal operation, as is shown Raft, a SMR consensus protocol developed by Ongaro and
in Fig. 2(a). In the case of a crash failure of the primary, Ousterhout [43] in 2014 and popular in the blockchain com-
the View-change protocol is triggered at every replica per munity, is based off Paxos but with a more understandable
the timeout of the Prepare message. They broadcast View- design.
change messages to each other and count the receptions. After 4) Practical Byzantine Fault Tolerance (PBFT): Developed
receiving View-change messages from more than half of the by Castro and Liskov [27] in 1999, PBFT is the first SMR-
replicas, the next-in-line replica becomes the new primary based BFT consensus protocol that has gained wide recog-
and informs the others to resume the normal operation. The nition for practicality. It has become almost synonymous to
Recovery protocol is used by any server to recover from a BFT consensus in the blockchain community. PBFT originated
crash. VR can tolerate f crashed replicas if the network popu- from the VR framework and took inspiration from Paxos.
lation N ≥ 2f + 1. However it does not tolerate any Byzantine PBFT consists of three sub-protocols: 1) Normal-operation,
failure, because the replicas simply follow the instructions 2) Checkpoint, 3) View-change.
from the primary without mutual state confirmation nor com- The Normal-operation protocol is shown in Algorithm 1
munication with the client. On the up side, this makes VR and Fig. 2(c). Ideally, all results replied to the client should
efficient, with O(N) message complexity. be the same; otherwise the client chooses the majority result.
3) Paxos: Paxos is a SMR scheme proposed by The Checkpoint protocol serves as a logging tool that keeps
Lamport [41] in 1989 that imitates the ancient Paxos part-time a sliding window (of which the lower bound is the stable
parliament and later elaborated in 2001 [42]. It was designed checkpoint) to track active operation requests. The latest sta-
specifically for fault tolerant consensus while bearing many ble checkpoint is used for safely discarding older requests in
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1437
Fig. 2. Messaging diagram during the normal operation of three SMR protocols. C is the client. S0 is the primary server (leader) who receives requests from
the client and starts the consensus. S1+ are replica servers. Every server updates local state after receiving a message. Circled gear icon represents request
execution. VR and Paxos can tolerate one crash failure when N = 3. PBFT can tolerate one Byzantine failure when N = 4.
the operation log and facilitating the view change protocol. In First of all, according to [52] the termination property
the case of a primary failure, the View-change protocol is trig- presented in Section III can be subdivided into two classes:
gered at every replica that detects the timeout of the primary’s • Deterministic termination: Every non-faulty process
message. They oust the incumbent primary and broadcast decides an output by round r, a predetermined parameter.
view-change messages to each other and count receptions. • Probabilistic termination: The probability that a non-
After receiving View-change messages from 2f peers, the next- faulty process is undecided after r rounds approaches zero
in-line replica becomes the new primary and informs the rest as r grows to infinity.
to resume the normal operation. For synchronous or partially synchronous networks where
The message complexity of PBFT normal operation is message delay and round period are bounded, protocols like
O(N 2 ) because of the mutual messaging in Prepare and PBFT can exploit a timeout mechanism to detect anomaly
Commit phase. As for the fault tolerance, since a server needs of the primary, which makes deterministic termination an
to receive more than 2f + 1 Prepare (Commit) messages in achievable goal. For asynchronous networks where messages
Prepare (Commit) phase before proceeding to the next action, delivery has no timing guarantee, the consensus process can
there will be at least 2f + 1 (as N ≥ 3f + 1) honest servers only be driven by the message delivery events themselves. This
in the same state after Commit phase and producing the same limitation demands probabilistic termination. To realize prob-
result; the f Byzantine servers are not able to sway the majority abilistic termination, randomization (simultaneously proposed
consensus. Therefore PBFT can tolerate f Byzantine repli- by Ben-Or [53] and Rabin [54] in 1983) can be instantiated in
cas when the server population N ≥ 3f + 1, which is in the consensus protocol. The basic idea is that a process makes
accordance to the fundamental 1/3 BFT threshold. Interested a random choice when there are not enough trusted messages
readers are referred to [22], [27] for detailed proofs. received for making a final decision.
PBFT has inspired numerous BFT consensus protocols Next we introduce four primitives/protocols that aim to
with enhanced security and performance. Well-known pro- solve asynchronous BFT consensus. Though in different con-
posals include Quorum/Update (QU) [44], Hybrid Quorum texts, they all feature probabilistic termination and make use
(HQ) [45], Zyzzyva (using speculative execution) [46], of randomization.
FaB [47], Spinning [48], Robust BFT SMR [49], and 1) Bracha’s RBC and Asynchronous Consensus Protocol:
Aliph [50]. Interested readers are referred to Bessoni’s tuto- Bracha [55] proposed the pioneering reliable broadcast (RBC)
rial [51] for an overview of these protocols. primitive and an asynchronous consensus protocol in 1984
to solve the Byzantine Generals Problem [25], in which
E. Consensus Protocols for Asynchronous Network all non-faulty processes should eventually make the same
For distributed systems that are predominantly built upon binary decision. Bracha’s RBC guarantees that non-faulty
wired communication and reliable transport-layer protocols, processes will never accept contradicting messages from any
partial synchrony is a practical assumption. However in scenar- process and forces the faulty ones to output either nothing
ios such as mobile ad hoc network (MANET) and delay toler- (mimicking the crash failure) or the correct value. Bracha’s
ant networks (DTN), the network is considered of near-to-none asynchronous consensus protocol, adapted from Ben-Or’s
synchrony. As is proved by the FLP impossibility [29], con- 1983 work [53], runs by phases and each phase contains
sensus can not be guaranteed in a fully asynchronous network three RBC rounds for inter-process value exchange. We show
with even one crash failure. Moreover, unreliable communica- the round-3 of each phase, which contains the randomiza-
tion links have an equivalent effect of a Byzantine scheduler. tion step. After receiving at least N − f value messages
Nonetheless, this impossibility result can be practically cir- (f is the presumed Byzantine population), a process Pi
cumvented by two primitives: probabilistic termination and does:
randomization. 1) If receiving a value v from more than 2f peers, decide v;
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1438 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
Algorithm 2: Ben-Or’s ACS Protocol (at Player Pi ) analysis, Bracha’s RBC (in the benign case) and Canetti’s
/* Phase 1: Reliable Broadcast ABA have message complexity of O(N 2 ) and O(N 3 ) [57]
*/
1 Start RBCi to propose my input xi to the network; respectively, and all ABA instances end in constant rounds.
2 Participate in other RBC instances; As a result, Ben-Or’s ACS protocol has a bit-denominated
/* Phase 2: Asynchronous BA communication complexity of O(mN 2 + N 3 ) at each player,
*/
3 while round ≤ MaxRound do where m is the maximum bit-size of any input.
4 if receiving xj from RBCj then As we will see next, ACS can be conveniently adapted
5 Join ABAj with input 1; to asynchronous BFT consensus for blockchain systems, by
6 end substituting inputs with transaction sets.
7 if completion of N − f ABA instances then
8 Join other BA instances with input 0; 3) HoneyBadgerBFT: Proposed by Miller et al. [16] in
9 end 2016, HoneyBadgerBFT is the first asynchronous BFT con-
10 if completion of all N ABA instances then sensus protocol specifically designed for blockchain. It essen-
11 ComSubset = {xk |ABAk outputs 1}; tially realizes atomic broadcast: N players with different sets
12 return ComSubset; of transactions work to agree on a common set of sorted
13 end transactions that will be included in a block.
14 end Though using the multi-value Byzantine agreement prim-
itive (MVBA) from Cachin et al. [58] as the bench-
mark, HoneyBadgerBFT actually follows Ben-Or’s ACS
construction [56] for better communication efficiency.
2) Else if receiving a value v from more than f peers, hold HoneyBadgerBFT’s ACS cherry-picks the design of its sub-
v as proposal value and go to the next phase; components: Cachin and Tessaro’s erasure-coded RBC [59]
3) Else, toss a coin (1/2 chance for 0 or 1) for the proposal and Mostéfaouil et al.’s common-coin based ABA [60]. They
value and go to the next phase. together incur O(mN +N 2 log N ) communication complexity
When enough phases pass, the executions of step 2 and step 3 at each player. To prevent an adversary from censoring partic-
of RBC round-3 at all non-faulty processes will gradually fil- ular transactions, threshold public key encryption (TPKE) [61]
ter out the influence of contradicting messages and eventually is used before ACS so that consensus is performed on
make the correct decision via step 1. Note this convergence ciphertexts. In the decryption phase when a player receives
only happens if N ≥ 3f + 1, which is the fundamental bound enough shares from peers (generated by TPKE.DecShare)
of BFT consensus. that exceed a threshold, it proceeds to the actual decryption
In terms of performance, the message complexity of RBC task (TPKE.Dec) and sorts the transactions. The communica-
is O(N 2 ) in each round and the expected number of rounds tion complexity of the decryption process is O(N 2 ). Fig. 3
to reach consensus is O(2N ) if f = O(N), which √ gives a total illustrates the workflow of these components for one block
message complexity of O(N 2 2N ). If f = O( N ) (the benign cycle.
case), it is shown in [53], [55] that the expected number of HoneyBadgerBFT processes transactions in batches. Let B
rounds to reach consensus for the randomized protocol is a be the predefined batch size, denoting the maximum number of
constant, yielding a total message complexity of O(N 2 ). transactions that a block may enclose. For every block cycle,
2) Ben-Or’s ACS Protocol for MPC: Agreement on a com- each player proposes a set of B/N transactions, which are ran-
mon subset (ACS) was used by Ben-Or et al. [56] in 1994 as a domly chosen from recorded transactions. This is to ensure
consensus primitive for secure and efficient multi-party com- transaction sets proposed by different players are mostly dis-
putation (MPC) under asynchronous setting. In a network of N joint so as to maximize blockchain throughput. Assuming the
|t|B
players, each player holds a private input xi that was acquired average bit-size of a transaction set m:= N N where |t|
secretly. The goal of MPC is to let the players collectively is the average transaction bit-size. Then the protocol’s com-
compute a function F (x1 , . . . , xN ) and obtain the same result. munication overhead will be dominated by the RBC, yielding
Assuming f players can be faulty, the ACS primitive requires overall communication complexity of O(|t|B) at one player, or
the players to agree on a common subset ComSubset of at least O(|t|N) for one transaction.
N − f honest inputs, which are then used for computing F (·). Compared to popular partially synchronous consensus pro-
Ben-Or’s ACS protocol builds on two primitives: RBC tocols such as PBFT, HoneyBadgerBFT has a higher cryp-
and binary asynchronous Byzantine agreement (ABA) which tography overhead but features two advantages. First, as
allows players to agree on the value of a single bit. Bracha’s an asynchronous protocol HoneyBadgerBFT does not rely
RBC [55] and Canetti and Rabin Fast ABA [57] are suggested on a timeout mechanism for detecting malfunctioning play-
respectively in [56] and used as black-boxes. Algorithm 2 ers. This makes HoneyBadgerBFT less sensitive to unpre-
shows the ACS protocol at each player. In the end, there will dictable network delays that might stall consensus. Second,
be at least N − f completed ABA instances with output 1, HoneyBadgerBFT does not need a leader rotation scheme.
yielding a F -computable ComSubset. In PBFT every round of consensus is started by a leader
Because both Bracha’s RBC and Canetti’s ABA can tolerate (the primary), while in HoneyBadgerBFT every node starts its
f Byzantine players when N ≥ 3f + 1, the same fault tolerance own broadcast and Byzantine agreement instance for proposed
result is inherited by Ben-Or’s ACS protocol. For complexity transactions; the concurrent execution of these instances
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1439
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1440 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
TABLE I
A. Blockchain Infrastructure A C OMPARISON OF P ERMISSIONLESS AND P ERMISSIONED B LOCKCHAIN
Network: The foundational infrastructure of blockchain, as
is adopted by most public cryptocurrencies and distributed
ledger systems, is a peer-to-peer overlay network on top of
the Internet. Every node (or peer) in the network operates
autonomously with respect to the same set of rules that cover
peering protocol, consensus protocol, transaction processing,
ledger management, and in some cases a wire protocol for
transport-layer communication [65], [66].
Depending on the control of network participation,
blockchain networks generally fall into two categories: per-
missionless and permissioned.
• A permissionless blockchain allows for free join and
leave without any authorization, as long as the node
holds a valid pseudonym (account address) and is able
to send, receive, and validate transactions and blocks by
common rules. Permissionless blockchain is also known
as public blockchain for that there is usually one such
blockchain network instance on a global scale which
is subject to public governance. Specifically, anyone
can participate in blockchain consensus, though one’s
voting power is typically proportional to its posses-
sion of network resources, such as computation power,
token wealth, storage space, etc. The operational envi-
ronment of permissionless blockchain is often assumed as
large-scale and zero-trust, which often cautions the com-
munity against increasing transaction processing capacity Fig. 4. Blockchain data structure. Blocks are sequentially chained together
or using more efficient consensus schemes [22]. via hash pointers. The Merkle tree root (MT root) is a digest of all transactions
• A permissioned blockchain requires participants to be included in a block.
authorized first and then participate in network operation
with revealed identity. The network governance and con-
sensus body can be either the subsidiaries of a single pri- asynchronous consensus protocols such as HoneyBadgerBFT,
vate entity or a consortium of entities [19]. Compared to as we discussed in Section III.
permissionless blockchain, the identity-revealing require- Transaction: A blockchain transaction can be regarded as a
ment and more effective network governance of permis- public static data record showing the token value redistribution
sioned blockchain make it ideal for internal or multi-party between sender and receiver [21]. Take Bitcoin as an exam-
business applications. Meanwhile, the limited size of a ple, a transaction transfers token ownership from the sender
permissioned blockchain’s consensus body allows for the account to the receiver account(s). It specifies a list of inputs
deployment of more efficient consensus protocols that and a list of outputs, with each input claiming a previous
achieve higher transaction capacity [22], [67]. unspent transaction output (UXTO) that belongs to the sender,
Table I summarizes the major differences between permission- who needs to attach its signature to the inputs to justify the
less and permissioned blockchain in nine aspects. claim. Each output specifies how many tokens go to which
Beneath the blockchain peer-to-peer network lies the basic receiver and the total token value of the outputs is equal to
infrastructure of the Internet. Thanks to the transport layer the UXTOs claimed by the inputs. Therefore, we can always
protocols (especially the retransmission mechanism), mes- recover the ownership records of any specific token by trac-
sage delivery is considered guaranteed, while the message ing back the signatures along the chain of transactions. The
delay may vary but most likely will not grow longer as token balance of an account equals to the summed UXTOs
time elapses (weak synchrony) or remains within a certain that belong to the account.
bound (Δ-synchrony). Therefore we often consider a practical Blockchain Data Structure: Blockchain is the underlying
blockchain network partially synchronous, just like most dis- data structure for transaction ledger keeping. It is also the con-
tributed networks overlaying on the Internet. This allows the sensus target of the network. The basic structure of blockchain
consensus protocol to take advantage of the timing services is illustrated in Fig. 4. Every block encloses a set of trans-
of the Internet. For example, in Bitcoin the partial synchrony actions that should be valid and clear of double spending.
assumption is echoed by its usage of local timestamps for As was pioneered by Bitcoin, the transactions are often orga-
loose chronological ordering, showing time consciousness. For nized in a Merkle tree. Merkle tree is a data structure widely
the blockchain networks that reside on an ad hoc infrastruc- used for data storage and efficient data integrity check [68].
ture not based on the Internet, the message transmission is In blockchain, every block contains one Merkle tree in which
subject to unexpected network delays, which gives rise to each leaf node is labeled with a transaction hash. The Merkle
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1441
TABLE II
F IVE C OMPONENTS OF A B LOCKCHAIN C ONSENSUS P ROTOCOL
tree root serves as a digest of the transaction set and is placed nodes. An accepted block should be assigned the same
in the block header. The block header also contains a hash of sequence number by every honest node.
the previous block (except in the genesis block) and other con- • Validity: If every node receives a same valid transac-
figuration information, which typically includes a timestamp tion/block, it should be accepted into the blockchain.
and the blockchain state at block generation. The growing • Integrity: At every honest node, all accepted transactions
chain of blocks and the aforementioned transaction format should be consistent with each other (no double spend-
essentially constitute the blockchain data structure used for ing). All accepted blocks should be correctly generated
the storage, serialization, and validation of new transactions and hash-chained in chronological order.
which are continuously injected into the network. The termination and validity requirements are similar to
Aside from recording the transaction history, the blockchain their counterparts in classical distributed consensus, as they
can also record auxiliary information used for other purposes. represent the system’s liveness. The agreement requirement
The locking and unlocking scripts associated with transaction is enhanced with total ordering, which represents the serial-
inputs and outputs can be repurposed for constructing off- ization of blocks and transactions. The integrity requirement
chain payment channels (e.g., Lightning Network [69]) and dictates the correctness of the origin of transactions and
a global state machine that helps build smart contracts, which blocks, fulfilling the promise of anti-double-spending and
are the basis of many important applications such as supply ledger tamper-proofing. These requirements can serve as the
chain management and decentralized autonomous organiza- design principles of new blockchain protocols. For different
tion. The block header may contain extra fields that facilitate application scenarios, they can be tailored or supplemented
system coordination. For example, Ethereum’s proof-of-stake with more specification.
(PoS) scheme Casper FFG [70] utilizes smart contract to
implement the staking process; Algorand [13] attaches a cryp- C. Components of Blockchain Consensus Protocol
tographic proof to each new block to show the block proposer’s Based on the discussion on consensus goal and our digest
eligibility to propose. As a result, the blockchain can hold of the blockchain documentation corpus, we identify five key
the necessary control information usable by the consensus components of a blockchain consensus protocol:
protocol. We will revisit these protocols in later sections. • Block Proposal: Generating blocks and attaching gener-
ation proofs.
B. Consensus Goal • Information Propagation: Disseminating blocks and
The goal of a blockchain consensus protocol is to ensure that transactions across network.
all participating nodes agree on a common network transaction • Block Validation: Checking blocks for generation proofs
history, which is serialized in the form of a blockchain. Based and transaction validity.
on the previous discussion on BFT consensus and the consen- • Block Finalization: Reaching agreement on the accep-
sus goal abstraction provided in [22], we similarly define the tance of validated blocks.
following requirements for blockchain consensus: • Incentive Mechanism: Promoting honest participation and
• Termination: At every honest node, a new transaction is creating network tokens.
either discarded or accepted into the blockchain, within For each component we also specify its counterpart in tradi-
the content of a block. tional SMR consensus protocols and a list of available options
• Agreement: Every new transaction and its holding block in Table II. The available options are non-exhaustive, as many
should be either accepted or discarded by all honest more are being developed at the time of writing. It is worth
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1442 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
Fig. 5. A toy example of block propagation in the Bitcoin network. (a) The P2P network structure, an undirected graph. (b) The gossiping process. A solid
blue arrow represents one-hop block propagation (advertise→get block→transmit), while a dotted black arrow represents only advertise. Number denotes the
gossiping hop (0 for the block producer). (c) Block propagation in one hop.
noting that the incentive mechanism is unique to blockchain drawbacks and vulnerabilities. We also introduce two well-
consensus and has no counterpart in traditional SMR consen- known improvement proposals and four hybrid PoW-BFT
sus protocols. The reason is that traditional SMR protocols protocols in the later part of this section.
are purely designed for transaction processing and serializa-
tion within a preexisting network of participants, of which A. Network Setting and Consensus Goal
the continuous participation of honest parties is presumed.
In blockchain networks, block or transaction messages are
Meanwhile, a typical blockchain network allows for voluntary
propagated across the P2P network through gossiping. Fig. 5
participation and often bears numerous real-world obligations.
shows an example of block propagation in the Bitcoin network.
To this end, a fair and universal incentive mechanism is needed
Specifically, the one-hop propagation adopts advertisement-
to encourage honest participation, so as to sustain the system’s
based gossiping, as was first characterized in [73]. For each
reliable operation. For large-scale permissionless blockchains,
new block received and validated, a node advertises it to
a robust incentive mechanism along with the block generation
peers, who will request for this block if it extends their local
proofs help demoralize Sybil attackers.
blockchain. The gossiping process continues until every node
Though the five components provide important functional-
in the network has this block.
ities for blockchain consensus, a new blockchain consensus
Compared to the general consensus goal introduced in
protocol proposal may not cover all of them. For example,
Section IV, Nakamoto enhances the termination requirement
the incentive mechanism is indispensable to permissionless
with the probabilistic finality specification:
blockchain networks especially those carrying a financial
• Probabilistic finality: For any honest node, every new
responsibility; however for permissioned blockchains in which
block is either discarded or accepted into its local
participation is sanctioned as a privilege (similar to a tradi-
blockchain. An accepted block may still be discarded
tional distributed computing system), it is not a must-have.
but with an exponentially diminishing probability as the
Interestingly, many new public blockchain initiatives have
blockchain continues to grow.
been fixating only on block proposal, while inheriting the other
The probabilistic finality property echoes the probabilistic
four components from the Nakamoto consensus protocol of
termination property for asynchronous consensus. As we will
Bitcoin. This is likely due to that Bitcoin’s PoW-based block
show later, because of this property the Nakamoto consensus
proposal attracts the most criticism for its limited scalabil-
protocol can only achieve eventual double-spending resistance
ity and inefficient energy use. For this reason, block proposal
in a decentralized network of pseudonymous participants.
mechanism can be a good reference angle for a general clas-
sification of consensus protocols. In the remaining part we
dedicate Section V to Nakamoto consensus and its variations B. The Nakamoto Consensus Protocol
that are built upon PoW, while Section VI is dedicated to four In correspondence to the five components of a blockchain
genres of PoS-based protocols. Detailed protocol composition consensus protocol, the Nakamoto consensus protocol can be
is described when it comes to specific features. summarized by the following rules:
• Proof of Work (PoW): Block generation requires finding
a preimage to a hash function so the hash result satis-
V. T HE NAKAMOTO C ONSENSUS P ROTOCOL fies a difficulty target, which is dynamically adjusted to
AND VARIATIONS maintain an average block generation interval.
The Nakamoto consensus protocol is the key innovation • Gossiping Rule: Any newly received or locally generated
behind Bitcoin [1] and many other established cryptocurrency transaction or block should be immediately advertised
systems such as Ethereum [71] and Litecoin [72]. In this and broadcast to peers.
section we use Bitcoin as the application background to intro- • Validation Rule: A block or transaction needs to be val-
duce the Nakamoto consensus protocol and summarize its idated before being broadcast to peers or appended to
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1443
the blockchain. The validation includes double-spending Algorithm 3: Nakamoto Consensus Protocol General
check on transactions and proof-of-work validity check Procedure
on block header. /* Joining network */
• Longest-Chain Rule: The longest chain represents 1 Join the network by connecting to known peers;
network consensus, which should be accepted by any 2 Start BlockGen();
node who sees it. Mining should always extend the /* Main loop */
longest chain. 3 while running do
• Block Rewards and Transaction Fees: Generator of a 4 if BlockGen() returns block then
block can claim a certain amount of new tokens plus 5 Write block into blockchain;
fees collected from all enclosed transactions, in the form 6 Reset BlockGen() to the current blockchain;
of a coinbase transaction to itself. /* Gossiping rule */
The hashing-intensive PoW mechanism is designed for mit- 7 Broadcast block to peers;
igating Sybil attacks. Due to Bitcoin’s permissionless and 8 end
pseudonymous nature, Sybil attackers can obtain new iden- /* Longest-chain/validation rule */
tities or accounts with little effort. Hashing power, however, 9 if block received & is valid & extends the longest
comes from real hardware investment and cannot be easily chain then
forged. The longest-chain rule implies that the stabilized pre- 10 Write block into blockchain;
fix of the longest chain can act as a common reference of the 11 Reset BlockGen() to the current blockchain;
network history, given that no one is authoritative in Bitcoin’s 12 Relay block to peers;
decentralized network. Block rewards and transaction fees are 13 end
used to incentivize miners to participate honestly and inject 14 end
new coins into circulation. /* PoW-based block generation */
To better illustrate how these rules harmonize with each 15 Function BlockGen():
other, we present an abstracted version of the Nakamoto 16 Pack up transactions (including coinbase);
protocol in Algorithm 3. During block generation, a higher 17 Prepare a block header context C containing the
mining difficulty demands more brute-force trials in order transaction Merkle tree root, hash of the last block
to find a fulfilling nonce. To ensure every block is suf- in the longest chain, timestamp, and other essential
ficiently propagated before the next block comes out, the information reflecting blockchain status;
mining difficulty is adjusted every 2016 blocks so that the /* PoW hashing puzzle */
expected block interval remains a constant value (10 min- 18 Find a nonce that satisfies the following condition:
utes in Bitcoin) no matter how the gross hashing power
fluctuates. Hash(C |nonce) < target
Fork resolution: Ideally, the 10-minute block interval should wherein more preceding zero bits in target indicate
be enough to ensure the thorough propagation of a new block a higher mining difficulty;
so that no block of the same height is proposed. However due 19 return new block;
to the delay during the message propagation and the prob- 20 end
abilistic nature of the hashing game, the possibility of two
blocks of the same height being propagated concurrently in
the network can not be ignored. This situation is called a
“fork”, detectable by any node. Correspondingly, the longest- Security Analysis: In contrast to the classical dis-
chain rule provides the criterion for fork resolution. Assume tributed computing system whose fault tolerance capability is
a miner receives two valid blocks B1k , B2k of the same block characterized by the number of faulty nodes the system can
height k sequentially, then a fork is detected by this miner. It tolerate, fault tolerance of Nakamoto consensus is by charac-
chooses B1k (the first arrived) to continue and may encounter terized by percentage of adversarial hashing power the system
the following cases: can tolerate. It is proved by Garay et al. [74] that if the
• Case 1: If receiving or successfully generating a block
network synchronizes faster than the PoW-based block propos-
B1k +1 confirming B1k , accept B1k , B1k +1 and orphans B2k . ing rate, an honest majority among the equally-potent (in
k +1
• Case 2: If receiving a block B2 confirming B2k , switch hashing power and bandwidth) miners can guarantee the con-
k +1
to B2 and accept B2 , then orphans B1k .
k
sensus on an ever-growing prefix of the blockchain. The prefix
k +1
• Case 3: If simultaneously receiving two blocks B1 and represents the probabilistically stable part of the blockchain.
k +2 k k
B2 confirming respectively B1 and B2 , choose one to As long as less than 50% of total hashing power is maliciously
follow and continue until case 1 or 2 is met. controlled, the blocks produced by honest miners are timely
Wherein to “orphan” a block means to deny it into the main propagated, the main chain contributed by the honest majority
chain. Because of the randomized nature of PoW mining, can eventually outgrow any malicious branch.
the likelihood of encountering case 3 drops exponentially as From the perspective of classical distributed consensus,
time elapses, reflecting the probabilistic finality of Nakamoto Nakamoto consensus cleverly circumvents the fundamental 1/3
consensus. BFT bound by adopting probabilistic finality. In classical BFT
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1444 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
consensus if more than 1/3 of population are malicious, the miners to invest into more mining equipment with higher hash-
honest nodes will end up deciding conflicting values, lead- ing rates. This vicious cycle shall continue as Bitcoin gains
ing to consensus failure. In Nakamoto consensus, however, more popularity. In response, the blockchain community has
conflicting decisions are allowed temporarily in the form of come up with various block proposing schemes such as proof
blockchain forks, as long as they will be eventually trimmed of stake (PoS), proof of authority (PoA), proof of elapsed time
out by continuing effort of the honest majority. Therefore, the (PoET) as energy-saving alternatives to PoW.
1/3 BFT bound is not applicable to Nakamoto consensus or 3) Eclipse Attack: As was discussed above, the security
other blockchain consensus protocols designed for probabilis- of Bitcoin network relies on the hashing power and commu-
tic finality. Readers are referred to Abraham and Malkhi [75] nication capability of honest miners. If a powerful attacker
for an interesting discussion on the correspondence between manages to dominate the in/outward communication between
Nakamoto consensus and classical BFT-SMR framework. a victim miner and the main network (i.e., “eclipsing”), then
As for double-spending resistance, assuming the adversary the victim will no longer be able to contribute to the exten-
controls α fraction of the total hashing power and wishes to sion of the main chain [77]. Assume the percentage of hashing
double-spend an output which is m blocks old, it needs to redo power controlled by the eclipse attacker, the eclipsed victims,
the PoW mining all the way from m blocks behind and grow the remaining honest miners are α, , 1 − α − , then the
a malicious chain fast enough to overtake the incumbent main attacker’s mining power shall be amplified to at least 1− α . If
α )m
chain. The probability of this adversarial catch-up is ( 1−α the attacker decides to exploit the eclipsed victims for growing
if α < 50%, which drops exponentially as m increases, the malicious chain, its mining power can be further enhanced
reflecting probabilistic finality. This probability equals to 1 up to α+ [78]. As a result, a double-spending attack becomes
if α ≥ 50%. As a result, the 50% threshold is the safeguard viable for the eclipse attacker if α + > 50%.
behind Bitcoin’s probabilistic finality, as well as resistance to Eclipse attack is in fact an exploit of the weak connec-
double-spending and transaction history tampering. tivity of permissionless peer-to-peer network based upon the
Internet, which is subject to unpredictable physical bottlenecks
and adversarial influences. A general approach to counter
C. Drawbacks and Vulnerabilities of Nakamoto Consensus eclipse attacks is to secure the communication channels and
1) Tight Tradeoff Between Performance and Security: The increase the connectivity and geographical diversity of the
Nakamoto consensus is widely criticized for its low transac- peer-to-peer connections.
tion throughput. For instance, Bitcoin can process up to 7 4) Selfish Mining: The 50% fault tolerance of Nakamoto
TPS meanwhile the VISA payment network processes 2500 consensus is built upon the assumption that all miners (both
TPS on average [76]. The limited performance of Nakamoto honest and malicious) strictly follow the broadcast rule that
consensus protocol follows from the security implication of new blocks are broadcast immediately upon successful gen-
its probabilistic finality and two protocol parameters: block eration. If a malicious mining group withholds newly mined
interval and block size. As we discussed previously, the 10- blocks and strategically publicizes them to disrupt the prop-
minute block interval ensures every new block is sufficiently agation of blocks mined by honest miners, they can partially
propagated before a new block is mined. Reducing the block nullify the work of honest miners and amplify their effective
interval increases the transaction capacity, but leaves new mining power. This strategy is known as selfish mining. It is
blocks insufficiently propagated and causes more fork inci- shown by Eyal and Sirer [79] that a selfish mining group can
dents, undermining the security of the main chain. Note that generate a disproportionately higher revenue than that from
although any fork can be resolved given enough time, the honest mining if the group’s mining power surpasses a certain
higher the fork rate, the larger the portion of honest mining threshold θ, assuming the group has a certain communication
power is wasted, which enables a double-spending attacker to capability measured by γ ∈ [0, 1], which is the fraction of
overthrow the main chain with less than 50% mining power honest nodes that will follow the malicious chain in case of
(estimated chance of 49.1% by Decker and Wattenhofer [73] forks. As a result, the selfish mining group can attract new
in 2013). On the other hand, increasing the block size (cur- miners and eventually outgrow the honest miners. Notably, θ
rently 1MB) has the same effect, since larger block sizes approaches zero if the selfish mining group are able to con-
lead to higher block transmission delays and insufficient vince almost all honest miners to follow the malicious chain
propagation. According to the measurement and analysis by (i.e., γ → 1). It is also shown that by adopting a randomized
Croman et al. [3] in 2016, given the current 10-min block chain selection strategy at honest miners, which is equivalent
interval the maximum block size should not exceed 4MB, to setting γ = 0.5, θ can be raised up to 25%. A later work by
which yields a peak throughput of 27 TPS. Sapirshtein et al. [80] shows that an optimized selfish mining
2) Energy Inefficiency: As of November 2019, an average strategy can further enhance the selfish mining pool’s effec-
Bitcoin transaction consumes 431 KWh of electricity which tive mining power fraction from α to the upper bound 1−α α
can power 21 U.S. households for a day [5]. This enor- (achievable when γ = 1).
mous energy consumption is directly caused by the PoW-based Selfish mining attack and eclipse attack have only hap-
block proposing scheme of Nakamoto consensus. As Bitcoin pened to smaller blockchains such as Monacoin [81], but never
network’s gross mining capacity grows, the Nakamoto con- to Bitcoin or other mainstream blockchains. This is proba-
sensus protocol has to raise the mining difficulty to maintain bly due to two reasons. First, miners in established public
the average 10-min block interval, which in turn encourages blockchain networks actually care about the system’s longevity
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1445
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1446 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
on the micro block size and frequency. The micro block committee assumes the preexistence of network coordination,
frequency needs to be controlled, for an excessive amount which to some extent counters the decentralized ideal of public
of them may exhaust the network bandwidth and cause fre- blockchains.
quent key block forks. Hypothetically, if we kept the key block Notably, using sharding to scale up blockchain transac-
frequency at 10 minute and micro block size at 1MB, set the tion throughput has been extensively studied in the developer
micro block frequency to 12 seconds (the minimum practical communities. Interested readers are referred to [89] for a
block interval under current Bitcoin network condition [86]), development history and the state-of-the-arts of blockchain
Bitcoin-NG would achieve up to 200 TPS throughput. sharding.
On the downside, due to the determinism in micro block 3) ByzCoin: ByzCoin was proposed by Kokoris-
generation, the key block miner may become a target of denial- Kogias et al. [90] in 2016 as a blockchain consensus
of-service or corruption attacks. A compromised key block protocol that leverages PoW for consensus group membership
miner may enclose transactions selectively or finalize contra- management and BFT for transaction finalization. ByzCoin
dicting transactions, the inconsistency caused by which can takes inspiration from Bitcoin-NG’s ledger structure but
cost the network more than one key block cycle to remedy. features a subtle difference. Instead of a linear structure,
ByzCoin’s ledger consists of two parallel blockchains: a
keyblock chain and a microblock chain. Keyblocks are mined
E. Hybrid PoW-BFT Consensus Protocols via PoW as in Nakamoto consensus and used for maintaining
The limited transaction capacity and tight tradeoff between a consensus group from recent keyblock miners according
performance and security of Nakamoto consensus are much to a sliding-share-window mechanism. Specifically, when
warranted by its probabilistic finality and decentralized ideal. a miner finds a new keyblock, it is credited one share
In contrast, BFT consensus assumes fixed participants with in the consensus group and the share window moves one
revealed identities and achieves deterministic finality, allowing share forward. Only miners with shares in the window can
much shorter block intervals and thus much higher transaction participate in the subsequent consensus. Old shares expire
throughput. In response, hybrid PoW-BFT protocols have been once being left out of the window and so does the share
proposed to get the best of two worlds. Here we introduce four owner’s eligibility of consensus participation. The window
popular proposals. length is subject to designer’s choice on the consensus group
1) PeerConsensus: Proposed by Decker et al. [64] in 2014, size as well as the overall consensus participation fairness.
PeerConsensus uses a PoW-based blockchain to throttle and A microblock is produced by the current consensus group
certify new identities joining the network, while being agnos- via an adapted PBFT protocol based on collective signing
tic to any application built upon it. The number of identities (CoSi) [91]. Compared to the original PBFT, the CoSi-based
a player may control is proportional to its share of computa- PBFT reduces the communication complexity from O(N 2 )
tion power, which provides Sybil resistance. With the identities to O(N log N) and thus scales better to large consensus
established by the blockchain, the application can employ an groups. As for transaction finalization, the current keyblock
efficient BFT protocol such as PBFT and SGMP [87] for miner packs up new transactions into a microblock and acts
committing transactions. The transaction fees collected are dis- as the leader to trigger the CoSi-based PBFT. In the end,
tributed to all identities equally. As a result, PeerConsensus the microblock will be finalized and contain the collective
effectively decouples participation management from transac- signature of the consensus group and the hash pointer to
tion processing, allowing the latter to scale up throughput. On the preceding keyblock, which also contains the collective
the downside, since the transaction history is not recorded in signature.
blockchain, PeerConsensus cannot control the malleability of ByzCoin configures that the sliding-share-window mecha-
transactions. nism replaces one member of the consensus group at a new
2) SCP: The scalable consensus protocol (SCP), proposed keyblock. This yields a slightly tighter fault-tolerance thresh-
by Luu et al. [88] in 2015, incorporates BFT and sharding into old than that of classical BFT consensus: N ≥ 3f + 2 is
blockchain consensus. The key idea of SCP is to partition the needed anytime, where N is the consensus group size and f
network into sub-committees (i.e., shards) with a PoW mech- the Byzantine population. Meanwhile, ByzCoin’s PoW-based
anism, so that each sub-committee controls a limited amount keyblock chain is still susceptible to forks. A fork can split
of computation power and the number of sub-committees is the consensus group and potentially make the PBFT consensus
proportional to the network’s gross computation power. This stall, which can further aggravated by the presence of selfish
is aimed to limit the size of a sub-committee, which oper- miners. In response, ByzCoin relies on a deterministic priori-
ates independently and curates a local blockchain using a tization function tweaked with high output entropy to resolve
BFT consensus protocol. A dedicated finalization committee forks timely and reduce the impact of selfish miners.
is responsible for combining the outputs of all sub-committees 4) Pass and Shi’s Hybrid Consensus: As a concurrent
into the global blockchain. A block in the global chain stores work to ByzCoin, the hybrid consensus protocol proposed by
the hash and transaction Merkle tree root of every block Pass and Shi [92] adopts a sliding-window idea similar to
proposed by every sub-committee. To ensure consensus safety, ByzCoin’s but less susceptible to forks. That is, assuming the
SCP requires each sub-committee as well as the whole network window size λ, the consensus group is populated by the last λ
to maintain a two-thirds majority of honest computation power. miners of the “stable part” of the blockchain, which is the main
However, the use of sharding and a dedicated finalization chain truncated off Θ(λ) blocks. This protocol keeps the PBFT
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1447
A. Chain-Based PoS
Chain-based PoS is an early PoS scheme proposed
VI. P ROOF - OF -S TAKE BASED C ONSENSUS P ROTOCOLS by Bitcoin developers as an alternative block generation
Proof-of-Stake (PoS) originates from the Bitcoin commu- mechanism to PoW. It is within the framework of Nakamoto
nity as an energy efficient alternative to PoW mining. In the consensus in that the gossiping-style message passing, block
simplest terms, a stake refers to the coins or network tokens validation rule, longest-chain rule, and probabilistic finality
owned by a participant that can be invested in the blockchain are preserved. Early full-fledged chain-based PoS blockchain
consensus process. From the security point of view, PoS lever- systems include Peercoin and Nxt.
ages token ownership for Sybil attack mitigation. Compared The general procedure of a chain-based PoS minter can be
to a PoW miner whose chance to propose a block is pro- summarized by Algorithm 4. Unlike PoW, PoS does not hinge
portional to its brute-force computation power, the chance to on wasteful hashing to generate blocks. A minter can solve the
propose a block for a PoS miner is proportional to its stake hashing puzzle only once for a clock tick. Since the hashing
value. From the economics point of view, PoS moves a miner’s puzzle difficulty decreases with the minter’s stake value, the
opportunity cost from outside the system (waste of computa- expected number of hashing attempts for a minter to solve the
tion power and electricity) to inside the system (loss of capital puzzle can be significantly reduced if her stake value is high.
and investment gain) [95]. Because of the lack of real min- Therefore, PoS avoids the brute-force hashing competition that
ing, we often refer to a PoS miner as a validator, minter, or a would occur had PoW been used, thus achieving a significant
stakeholder for PoS’s close resemblance to investing in capital reduction of energy usage.
markets. 1) Peercoin and Nxt: Both Peercoin [6] and Nxt [96] gener-
We identify four classes of PoS protocols: chain-based ally follow Algorithm 4. Their major difference lies in how the
PoS, committee-based PoS, BFT-based PoS, and delegated stake is valued. Stake value is initially proportional to stake
PoS (DPoS). Chain-based PoS inherits many of the compo- quantity. To ensure the profitability of small stakeholders, a
nents of the Nakamoto consensus protocol such as information stake valuation scheme can be used to adjust the value of an
propagation, block validation, and block finalization (i.e., unused stake as time passes. Peercoin uses the coin age metric
longest-chain rule), except that the block generation mech- for stake valuation, which lets the value of a stake appreciate
anism is replaced with PoS. Committee-based PoS leverages linearly with time since the deposit. At the end of a block
a multiparty computation (MPC) scheme to determine a com- cycle, the value of the winner’s stake returns to its base value.
mittee to orderly generate blocks. BFT-based PoS combines To avoid stakeholders from locking in a future block by delib-
staking with BFT consensus which guarantees deterministic erately waiting long, stake appreciation only continues for 90
finality of blocks. DPoS employs a social voting mechanism days and stays flat since then. As a result, the chances of small
that elects a fixed-size group of delegates for transaction val- stakeholders to generate a block are supplemented with time
idation and blockchain consensus on behalf of the voters. value that encourages them to stay participated even if they
Popular examples for each PoS class are listed in Fig. 7. have not generated a block for a long time.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1448 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
Algorithm 4: Chain-Based PoS General Procedure Bentov’s PoA works as follows. At the beginning of block
(Peercoin, Nxt) cycle k, an empty block header EBk is generated according
1 Join the network by connecting to known peers;
to the PoW rule and propagated across the network. After
2 Deposit in the stake pool;
receiving EBk , a stakeholder computes the N-tuple vector seed
3 Start BlockGen();
S as follows:
/* Main loop */ Sj = hash hash(EBk )|hash(Bk −1 )|SFj for j = 1, . . . , N
4 while running do
Bk −1 is the previous block, SF is a N-tuple of fixed suffix
5 (Same with Nakamoto’s protocol except that block
values. N is a predefined value that should not be too large.
validation should include PoS check.)
6 end
Then S is used as the input for FTS to compute the pseudo-
/* PoS-based block generation random sequence of stakeholders pSeq, which is also a N-
*/
7 Function BlockGen():
tuple. Every stakeholder in pSeq needs to sign the block and
8 Pack up transactions and prepare a block header broadcast the signature; the last stakeholder in pSeq wraps up
context C containing the transaction Merkle tree the block by including transactions and the N signatures and
root and other essential blockchain information; broadcasts the final block Bk to the network. All stakeholders
/* PoS hashing puzzle in pSeq shares the reward of Bk with the PoW miner of EBk .
*/
9 Set up a clock (whose tick interval is a constant) and To avoid name conflict with proof of authority in later
check for the following condition per clock tick: sections, we refer to Bentov’s PoA as PoAct.
Security Analysis: Chain-based PoS can tolerate up to 50%
Hash(C |clock_time) < target × stake_value of all stakes being maliciously controlled. And since every
token can be staked, the fault tolerance further generalizes to
wherein more preceding zero bits in target indicate
50% of all tokens in the network. If colluding attackers control
a higher mining difficulty per unit of stake value;
more than 50% of stakes, they can grow their malicious chain
10 return new block;
faster than the others and carry out a double-spending attack,
11 end
which is analogous to the 51% attack in PoW blockchains.
However, from the economic perspective, PoS attackers have
lower incentives to do so because of the capital loss risk.
In comparison, Nxt does not appreciate stake value con- As staking is recorded in the form of transaction scripts, the
tinuously across block cycles like what Peercoin does. This blockchain users can retrieve the staking records according to
is because the latter’s coin age metric may lower the attack which the consensus protocol can legally issue punishment to
cost—attackers can just invest a small amount of stakes and violators, such as nullifying stakes and disbarring the violators
keep attempting to generate blocks until they succeed, which from participating in the future staking process.
is especially unfair to big stakeholders who perform honestly.
Instead, Nxt requires the stake value appreciate only within B. Committee-Based PoS
one block cycle and be reset to the base value once the block Chain-based PoS still relies on hashing puzzles to gen-
cycle ends. Without coin age, Nxt addresses the monopoliza- erate blocks. As an alternative mechanism, committee-based
tion problem from the incentive angle. First, stakes in Nxt are PoS adopts a more orderly regime: determining a commit-
not actively managed by stakeholders; they are essentially the tee of stakeholders based on their stakes and allowing the
account balances—the more tokens held in its account, the committee to generate blocks in turns. A secure multiparty
higher the chance the stakeholder will win the right to gen- computation (MPC) scheme is often used to derive such a
erate a block. Second, total token supply is determined at the committee in the distributed network. MPC is a genre of dis-
beginning and block rewards only come from transaction fees, tributed computing in which multiple parties beginning with
which effectively aligns a stakeholder’s revenue with its val- individual inputs shall output the same result [98]. The MPC
idation work. As a result, all stakeholders have the incentive process in the committee-based PoS essentially realizes the
to honestly validate transactions since it is the only way to functionality that takes in the current blockchain state which
accumulate wealth. includes the stake values from all stakeholders, and outputs
2) Bentov’s PoA: Compared to Peercoin and Nxt, a pseudo-random sequence of stakeholders (we call it the
Bentov et al.’s proof of activity (PoA) [97] is a hybrid leader sequence) which will subsequently populate the block-
PoW-PoS adaptation of the Bitcoin protocol that utilizes an proposing committee. This leader sequence should be the same
algorithm called follow-the-satoshi (FTS) to involve staking. for all stakeholders and those with higher stake values may
FTS works as follows: 1) Use a pseudo-random function (PRF) take up more spots in the sequence. A general procedure for a
to locate an atomic piece of token (e.g., satoshi in Bitcoin, stakeholder of committee-based PoS is shown in Algorithm 5.
wei in Ethereum) in the token universe; 2) If the atomic piece In this algorithm, the CommitteeElect() functionality can also
belongs to stakeholder A, then output A. With the input being be implemented in a privacy-preserving way with verifiable
a sequence of random seeds, FTS outputs a pseudo-random random function (VRF) [99] in that only the stakeholder itself
sequence of stakeholders such that the chance for any stake- knows if it gets elected into the committee.
holder to be in it is proportional to the volume of tokens owned Well-known committee-based PoS schemes include
by the stakeholder. Bentov’s chain of activity (CoA), Ouroboros, Snow White,
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1449
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1450 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
4) Snow White: Snow White was developed by Algorithm 6: BFT-Based PoS General Procedure
Daian et al. [9] in 2017. It is a PoS protocol specifi- 1 Join the network by connecting to known peers;
cally designed to accommodate the sporadic participation 2 Start BlockGen();
model in which nodes can switch online/offline arbitrarily. /* Main loop */
Similar to the committee-based PoS schemes above, Snow 3 while running do
White employs a MPC procedure to decide the block /* Block proposing & broadcast */
proposing committee, each of which is issued an eligibility 4 if BlockGen() returns block then
ticket privately. For each epoch, every stakeholder takes the 5 Add block to its tempBlockSet;
current blockchain (including staking information) as input 6 Broadcast block to the network;
and output the committee for the next epoch. Specially, Snow 7 end
White executes a modified version of the sleepy consensus /* Block validation */
protocol [102], an asynchronous consensus protocol that 8 if block is received & is valid then
ensures the consensus safety in case of sporadic participation 9 Add block to its tempBlockSet;
and committee reconfiguration. Compared to contemporary 10 Relay block to the network;
schemes such as Ouroboros, Ouroboros Praos and Algorand, 11 end
this feature enables Snow White to work under harsh network /* BFT consensus layer */
conditions with frequent disconnections and volatile message 12 if new consensus epoch then
delays. Moreover, Snow White uses a checkpointing scheme 13 Perform BlockFinBFT() on tempBlockSet;
to finalize earlier history that protects the blockchain from 14 Write the winning block to blockchain;
posterior corruption attack [97] and adaptive key selection 15 Clear tempBlockSet;
attack. 16 end
Security Analysis: In spite of having an orderly block 17 end
proposing scheme, committee-based PoS still adheres to the /* PoS-based block generation */
longest chain rule for probabilistic finality. So long as fewer 18 Function BlockGen():
than 50% stakes are held by the malicious party, the hon- 19 Elect a block proposer, whose success rate is
est parties can safely maintain the longest chain. Meanwhile, proportional to stake value;
the expansion of the committee may lead to deterioration in 20 Propose block;
network connectivity which can result in a significant drop 21 return block;
in protocol performance and desynchronization of block pro- 22 end
posal. The round-based committee election process with a /* BFT-based block finalization */
predetermined round duration (e.g., Ouroboros’ fixed timeslot) 23 Function BlockFinBFT():
also faces scalability problems, as large committee sizes may 24 Participate in a BFT consensus that finalizes one
lead to never ending consensus cycles due to the excessive winning block out of tempBlockSet;
communication overhead. To mitigate such risks, the dura- 25 return the winning block;
tion of a communication round can be extended sufficiently 26 end
to ensure that all broadcast messages are delivered before the
participants proceed to the next round. This however leads to
longer transaction conformation latency and lower throughput.
A more straightforward approach is limiting the committee Aside from the general procedure, a checkpointing mech-
size by imposing a minimum stake requirement for the com- anism can be used to seal the finality of the blockchain (not
mittee members. For example, Cardano, the cryptocurrency shown in Algorithm 6). As a result, the longest-chain rule
platform that deploys Ouroboros, mandates that every com- can be safely replaced by the most-recent-stable-checkpoint
mittee member should own no less than 2% of total tokens in rule for determining the stable main chain. Popular BFT-based
circulation. This effectively limits the committee size to 50, PoS blockchain protocols include Tendermint, Algorand, and
safeguarding an efficient consensus process. Casper FFG. DPoS protocols such as EOSIO also use BFT
consensus for block finalization within delegates.
1) Tendermint: Tendermint was developed by Kwon [12]
C. BFT-Based PoS and Buchman [103] in 2014 and currently used in Cosmos
Chain-based PoS and committee-based PoS largely follow Hub network [104]. It is the first public blockchain project
the Nakamoto consensus framework in that the longest-chain to incorporate a BFT consensus layer and takes inspiration
rule is still used to provide probabilistic finality of blocks. from the DLS protocol [28] and PBFT [27]. Tendermint works
In comparison, BFT-based PoS (or hybrid PoS-BFT) incorpo- in consensus cycles. Each cycle involves a multi-round BFT
rates an extra layer of BFT consensus that provides fast and consensus process to finalize one block. Each round con-
deterministic block finalization. Algorithm 6 shows the gen- sists of three phases: Propose, Prevote, Precommit. Specially,
eral procedure of BFT-based PoS at every participant. Block in the Propose phase a validator is designated by a deter-
proposing can be done by any PoS mechanism (round-robin, ministic algorithm as the block proposer in a round-robin
committee-based, etc.) as long as it injects a stable flow of fashion such that validators are chosen with frequency pro-
new blocks into the BFT consensus layer. portional to the value of their deposited stakes. A validator
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1451
continues iterating the three-phase rounds until one block Algorithm 7: Casper FFG
receives more than 2/3 of Precommits. The validator then 1 Deposit in the stake pool;
broadcasts Commit votes for the block and listens for other /* Main loop */
validators’ Commit votes. When a block receives more than 2 while running do
2/3 of Commit votes, it will be finalized in blockchain. As 3 (Block proposing and block validation are the same
long as more than 2/3 of validators of each round are hon- as in Algorithm 6, except that blocks are attached to
est, Tendermint can achieve consensus safety. On the other BlockTree rather than stored in a temporary set.)
hand, because Tendermint selects block proposers determinis- /* BFT consensus layer */
tically, the future block proposers are susceptible to targeted 4 if new consensus epoch then
attacks (e.g., DDoS). Tendermint addresses this risk by deploy- 5 Identify valid checkpoint blocks and attach them
ing sentry nodes which act as proxies of block proposers and to CheckPointTree;
never reveal the IP addresses of the latter [105]. Notably, 6 Participate in CheckPointVote() w.r.t.
since Tendermint decouples the PoS mechanism from the CheckPointTree, which returns CPs , CPt ;
BFT layer, a validator’s stake value does not add weight 7 Mark CPs finalized and CPt justified;
to its consensus votes. For this reason, Tendermint is often 8 end
considered an early effort on applying BFT consensus to 9 end
blockchain. /* Staked checkpoint voting */
Tendermint also features an equal-sharing-style incentive 10 Function CheckpointVote():
mechanism instead of winner-takes-all. For every block height, 11 Broadcast a vote for a source-target checkpoint pair
the block reward is distributed among the block proposer and in CheckPointTree;
validators from whom the proposer received Commit votes. 12 Check received votes against the slashing rules and
However, fairness may be impaired if Commit votes are not then evaluate them by signer’s deposited stake;
delivered in time before the next cycle, as is demonstrated by 13 if pair CPs , CPt ’s votes cover more than 2/3 of
Amoussou-Guenou et al. [106]. total deposited stakes then
2) Algorand: Algorand is a cryptocurrency system 14 return CPs , CPt ;
developed by Gilad et al. [13] at MIT CSAIL in 2017. 15 end
It employs committee-based PoS for block proposing and 16 end
Byzantine agreement for block finalization. First, similar to
Ouroboros Praos’ block proposer election mechanism, the
election of Algorand’s block proposing committee is done by
a VRF scheme called cryptographic sortition which sorts can- while strong synchrony is required for consensus liveness
didates according to the amount of coins they own. Only those when kicking off the recovery protocol for resolving forks.
with rankings above a threshold are admitted into the commit- 3) Casper FFG: Casper FFG was first envisioned by
tee for the next block cycle. Every individual user can check Zamfir [107] in 2015 and formally presented by Buterin and
privately if it is in the committee. At each user i, cryptographic Griffith [14] in 2017. It is a light-weight PoS consensus
sortition outputs an eligibility proof signed by the user’s pri- layer built on top of Ethereum’s current PoW-based block
ep
vate key σsk i
showing that it is truly a committee member. proposing mechanism (Ethash). Casper FFG slightly deviates
ep
σski is broadcast to the network along with the new block from Algorithm 6 for that it directly incorporates PoS into
proposed by user i. Upon receiving the block, other users can block finalization. Algorithm 7 shows the general procedure of
verify the proof via user i’s public key pki . Casper FFG for each validator. Newly generated and received
On top of the cryptographic sortition-based block proposing blocks are attached to the BlockTree, which is similar to the
scheme, Algorand relies on a Byzantine agreement protocol tree data structure used by the GHOST rule. The actual con-
called BA for block finalization. BA reduces the consensus sensus subject, however, is the CheckPointTree, which is a
problem to binary Byzantine agreement: either agreeing on a subtree of BlockTree. Specifically, for every consensus epoch
proposed block or an empty block. In the ideal case where (100 in BlockTree’s height or 1 in CheckPointTree’s height),
strong network synchrony is assumed, the committee follows every validator broadcasts to peers a vote for a block as the
BA to exchange votes on proposed blocks so that they will checkpoint. The height of the block in BlockTree must be divis-
decide a final block, or an empty block if no blocks pass ible by 100. The vote consists of a justified source checkpoint
the eligibility proof check. In a weakly synchronous network CPs and its height h(s), a target checkpoint CPt and its height
where block propagation and message exchange among com- h(t) (h(s) < h(t)), and the validator’s signature S. All votes are
mittee members can suffer from uncertain delays, BA outputs broadcast to the network and are weighted by the signer’s stake
tentative blocks if none of the proposed blocks can be final- value. If the source-target checkpoint pair CPs , CPt is voted
ized, which results in a fork. To resolve the forks of tentative by validators who possess more than 2/3 of total deposited
blocks, Algorand periodically runs a recovery protocol to stakes, then CPt is justified and CPs is finalized. All blocks
accept a tentative block if there is any. Specially, the recov- between CPs and CPt are finalized as well. Casper FFG relies
ery protocol needs to be invoked by a synchronized committee. on two so called Casper Commandments for ensuring consen-
Therefore, according to the authors [13], weak synchronony is sus safety: 1) validator must not cast two distinct votes for
sufficient for consensus safety during BA’s routine operation the same checkpoint height, and 2) validator must not cast a
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1452 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1453
1) Costless Simulation: Costless simulation is a major vul- rewards. If the blockchain network is not incentivized by block
nerability of non-BFT-based PoS schemes, especially chain- rewards, the attackers can still deploy a similar long-range
based PoS in which PoS is used to simulate the would-be scheme called stake-bleeding attack [116] as long as transac-
PoW process. Costless simulation literally means any player tion fees exist. That is, the attackers can accumulate significant
can simulate any segment of blockchain history at the cost amount of wealth by collecting most of historical transaction
of no real work but speculation, as PoS does not incur fees through the malicious chain. Through either scheme, once
intensive computation while the blockchain records all stak- the malicious chain overtakes the main chain, it is released to
ing history. This may give attackers shortcuts to fabricate public and becomes the new main chain.
an alternative blockchain. The four subsequent vulnerabil- While zero transaction fees can counter stake-bleeding
ities, namely nothing-at-stake, posterior corruption attack, attacks, general long-range attacks (and costless simulation
long-range attack, and stake-grinding attack are all based on as a whole) can be resolved by checkpointing, a more rad-
costless simulation. ical measure. Checkpointing is widely used in BFT protocols
2) Nothing-at-Stake: Nothing-at-stake is the first identified to ensure the finality of system agreements and safely discard
costless simulation problem that affects chain-based PoS. It older records. For permissionless blockchains (the main venue
is also known as “multi-bet” or “rational forking” problem. for chain-based PoS), however, checkpointing can undermine
Unlike a PoW miner, a PoS minter needs little extra effort decentralization, as the finality of checkpoints always requires
to validate transactions and generate blocks on multiple com- the endorsement from certain authoritative entities.
peting chains simultaneously. This “multi-bet” strategy makes 5) Stake-Grinding Attack: Generally, the block gen-
economical sense to PoS minters because by doing so they eration competition in Nakamoto-style blockchain with
can avoid the opportunity cost of sticking to any single chain. proof-of-X block proposal is a pseudo-random process that
Consequently if a significant fraction of nodes perform the a higher X (e.g., work, stake) yields a higher probability of
“multi-bet” strategy, an attacker holding far less than 50% of winning the competition. However, unlike PoW in which
tokens can mount a successful double spending attack [113]. pseudo-randomness is guaranteed by the brute-force use of
Nothing-at-stake problem can be practically solved by penal- a cryptographic hash function, PoS’s pseudo-randomness
izing whoever multi-bets, such as forfeiting part of or all their is influenced by extra blockchain information—the staking
stakes. However the penalties could still be reversed if the history. Malicious PoS minters may take advantage of costless
attacker eventually succeeds in growing a malicious chain. simulation and other staking-related mechanisms to bias the
3) Posterior Corruption: Dubbed by Bentov et al. [97] as randomness of PoS in their own favor, thus achieving higher
“bribing attack” in 2014, posterior corruption is another attack winning probabilities compared to their stake amounts [8].
utilizing costless simulation against PoS. The key enabler of For example, in chain-based PoS blockchains such Peercoin,
posterior corruption is the public availability of staking his- at a certain historical point of the blockchain, attackers
tory on the blockchain, which includes stakeholder addresses may iterate through different block headers and increase the
and staking amounts. An attacker can attempt to corrupt the probability of generating a valid block with their stakes [117].
stakeholders who once possessed substantial stakes but little at For committee-based and BFT-based PoS schemes that
present by promising them rewards after growing an alternative decouple the election of block proposers from block genera-
chain with altered transaction history (we call it a “malicious tion, stake-grinding attacks can be mitigated by ensuring the
chain”). When there are enough stakeholders corrupted, the PoS pseudo-randomness with a secure block proposer elec-
colluding group (attacker and corrupted once-rich stakehold- tion scheme that involves minimal local information.
ers) could own a significant portion of tokens (possibly more Examples include Ouroboros, Ouroboros Praos, and
than 50%) at some point in history, from which they are able Algorand.
to grow an malicious chain that will eventually surpass the 6) Centralization Risk: PoS faces a similar wealth central-
current main chain. Since posterior corruption is only possi- ization risk as with PoW. In PoS the minters can lawfully
ble because the private/public keys are fixed for blockchain reinvest their profits into staking perpetually, which allows
participants, key-evolving cryptography (KEC) [114] can be the one with a large sum of unused tokens become wealth-
applied so that the past signatures cannot be forged by the ier and eventually reach a monopoly status. When a player
future private keys. Ouroboros Praos [101] currently adopts owns more than 50% of tokens in circulation, the consen-
KEC for this purpose. Alternatively, as is in Snow White [9] sus process will be dominated by this player and the system
and Casper FFG [14], checkpointing can be used to finalize integrity will not be guaranteed. Take Ethereum’s Casper FFG
the ledger and eliminate the possibility of posterior corruption. for example, the proposed PoS scheme is built upon the cur-
4) Long-Range Attack: Coined by the Ethereum founder rent PoW system, of which the cryptocurrency ethers can be
Buterin [115], long-range attack can be viewed as the ulti- directly used for staking. This gives initial advantages to those
mate form of costless simulation. It foresees that a small group who have already accumulated huge wealth during Ethereum’s
of colluding attackers can regrow a longer valid chain that PoW operation. Potential countermeasures against monopo-
starts not long after the genesis block. Because there were lization in PoS mainly come from the incentive mechanism
likely only a few stakeholders and a lack of competition at and economic perspective. In addition to the stake valuation
the nascent stage of the blockchain, the attackers can grow scheme that improves the winning chances of small stake-
the malicious chain very fast and redo all the PoS blocks (i.e., holders (see Section VI-A), we can use off-chain factors to
by costless simulation) while claiming all the historical block complicate the staking process (EOSIO for example) and
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1454 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
impose taxation on the blocks generated by large stakeholders, out in a trusted execution environment (TEE), which is an iso-
to name a few. lated memory area that provides integrity and confidentiality
to the program running inside, against a compromised hosting
platform. Specially, the program enclosed in a TEE is called
VII. OTHER E MERGING B LOCKCHAIN C ONSENSUS
an “enclave”. Intel SGX [120] and Arm TrustZone [121] are
M ECHANISMS AND P ROTOCOLS
the two major TEE solutions. Among other utilities, TEE pro-
The majority of contemporary blockchain consensus proto- vides an integrity proof of enclave program through remote
cols make use of established schemes including PoW, PoS, attestation, which essentially helps the network establish trust
and BFT. There are numerous other promising proposals for on consensus participants.
specific application scenarios, many of which are still con- Taking Hyperledger Sawtooth for example, the PoET pro-
ceptual and cover just one or two of the five blockchain tocol works in two phases for every participating node i:
consensus protocol components. In this section we present five 1) TEE setup: Node i first obtains the PoET protocol
of such proposals, namely proof of authority (PoA), proof program from a trusted source and instantiates the pro-
of elapsed time (PoET), proof of TEE-stake (PoTS), proof gram on its SGX machine wherein the random back-off
of retrievability (PoR), Ripple consensus protocol/algorithm routine runs inside an enclave. The trusted program gen-
(RCPA). A comprehensive review of two types of DAG- erates a signing key pair PKi , SKi for node i and
based protocols, namely blockDAG and txDAG, are also starts the attestation process which results in sending an
provided. attestation report to the network. The attestation report
contains the public key PKi and the enclave measure-
A. Proof of Authority (PoA) ment signed by the Intel Enhanced Privacy Identification
Proof of authority was coined by Ethereum co-founder (EPID) private key inside the enclave. Other nodes in the
Gavin Wood as an alternative to PoW and PoS. It is cur- network will validate the node i’s hardware authenticity
rently deployed in Ethereum’s Rinkeby (2017) and Kovan through Intel Attestation Service (IAS) and validate the
(2017) testnet, and POA Network (2018) [11]. In a nut- attestation report before accepting node i.
shell, PoA is a special case of PoS in that a validator stakes 2) Participating in consensus: The consensus process is
with its identity instead of monetary tokens. To qualify as a similar to Nakamoto except for block generation and val-
PoA validator in the consensus group, a participant needs to idation. For each block cycle, node i waits for a period
go through a mandatory certification process to build up its dictated by the random back-off routine running in the
authority. It generally involves having the unique identity ver- enclave before producing a new block. The enclave then
ified, demonstrating the ability to contribute consistently to generates a certificate of back-off completion signed
the consensus, and making all certification documents pub- by node i’s private key SKi which is broadcast to the
licly available. The consensus group should be stable and network along with the new block. Upon receipt of the
small in size, and publicly scrutinized so that users can entrust new block, other nodes validate the block content and
the consensus group for reliable transaction processing and the back-off completion certificate with node i’s public
blockchain curation. If a validator shows incompetence in such key PKi . A block shall be appended to the blockchain
tasks or misbehaves, it will be discredited by users and peer if it passes validation and the finalization rule.
validators. While PoET was initially proposed to substitute the PoW
Security Analysis: The fault tolerance of a PoA blockchain for block proposal without touching on the longest-chain rule,
depends on the consensus protocol used by the consen- the usage of hardware-assisted public key cryptography actu-
sus group. Besides BFT protocols with 1/3 fault toler- ally enables the use of more efficient BFT algorithms for
ance threshold, Nakamoto-style protocols such as Parity’s block finalization. A hybrid PoET-BFT scheme is currently
AuthorityRound (AuRa) [118] can also be used to tolerate used by Sawtooth PBFT [122], a sub-project of Hyperledger
up to 50% of colluding validators. Featured by its small Sawtooth.
but trusted consensus group, PoA is a good example of Security Analysis: PoET can tolerate up to 50% TEE nodes
trading decentralization for security and performance. To being malicious. Since every TEE node runs the same ran-
prevent validators from collusion, they are required to operate dom back-off routine in its enclave, a player can shorten
independently and constantly monitored by users. its expected back-off time by running multiple TEE nodes,
which is susceptible to Sybil attacks. If more than 50% of
TEE devices collude or are controlled by an attacker, they can
B. Proof of Elapsed Time (PoET) ultimately win the block race and keep extending the mali-
PoET was proposed by Intel as an alternative mining mech- cious chain. Therefore, PoET is most suited for permissioned
anism in 2016 and subsequently used in the Hyperledger blockchains, where every participant is authenticated and runs
Sawtooth family [119]. Instead of undergoing the hashing- one TEE node.
intensive mining, PoET simulates the time that would be For Hyperledger Sawtooth, Intel is the sole TEE hard-
consumed by PoW mining. That is, every node randomly ware vendor and attestation service provider, which poses a
backs off for an exponentially distributed period of time before single point of risk to the network. The validity of remote
announcing its block. To ensure that the local time truly attestation depends on the integrity of SGX implementation
elapses, PoET requires the back-off mechanism to be carried and the availability of IAS. Recent attacks such as cache
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1455
attacks [123], Foreshadow [124] and Foreshadow-NG [125] Participants with more segments stored have higher probability
have demonstrated the ability to extract the EPID private of winning the lottery and thus being eligible to generate a
key from hardware exploiting side channels and speculative block. All PoR challenges are stored in the new block and
execution, posing a security threat at the hardware level. verified by the whole network. Permacoin also implements a
signature scheme to discourage participants from outsourcing
C. Proof of TEE-Stake (PoTS) the storage task. Aside from PoR, Permacoin inherits Bitcoin
for other consensus components.
PoTS is another protocol harmonizing TEE and blockchain
Compared to PoW, PoR has two economical advantages.
consensus. It was first proposed by Li et al. [126] in 2016
First, file storage consumes far less energy than brute-force
and formalized by Andreina et al. [127] in 2019. A PoTS
mining, and storage space as a resource can be recycled.
node i follows the same setup procedure as in PoET to boot-
Second, PoR can be repurposed for meaningful storage tasks.
strap a TEE enclave, generate the signing key pair SKi , PKi ,
For example the target dataset can be some extremely large
and attest the setup to the network. Instead of simulating the
but useful public dataset. In fact, the latter advantage is not
would-be elapsed time of PoW mining, the enclave program
seen in any other proof-of-X schemes.
of PoTS is akin to Algorand’s cryptographic sortition scheme
Security Analysis: Since the block winning rate of a par-
that randomly selects a committee according to the stake dis-
ticipant is proportional to its local storage space, PoR can
tribution. Every node in the committee is eligible to propose
tolerate up to 50% of gross storage being held up by the
a new block for the coming block cycle. To prove the block
malicious party. Although this still can trigger an arm race
proposal eligibility to the network, the block includes the eligi-
ep of storage resources, it downplays the efficacy of ASICs and
bility proof signature σSK , which is produced by the enclave
i encourages a wider variety of mining participants. Meanwhile,
program of the block generating node i. Once other nodes
the 50% threshold depends on the randomness of the central
receive this block, they validate the block content as well as
ep dealer’s job. To ensure the diversity of lottery tickets across
signature σSK using node i’s public key PKi . The longest-
i all participants and increase the randomness of the lottery,
chain rule is then used to determine whether to accept this
the target dataset should be large enough so that participants
block into the blockchain.
stores almost non-overlapping segments. This assumption can
Security Analysis: PoTS can tolerate up to 50% of all
be undermined if the dealer chooses a dataset not large enough
stake value at TEE nodes being maliciously controlled, the
or deliberately distributes overlapping segments.
same as the fault tolerance of chain-based or committee based
PoS. Compared to PoET, the incorporation of staking gives
PoTS higher robustness against Sybil attacks, which implies E. Ripple Consensus Protocol/Algorithm (RCPA)
its applicability to permissionless blockchains. Furthermore,
RCPA was proposed by Schwartz et al. [130] in 2014 as
the security offered by public key cryptography and TEE-
the underlying protocol for Ripple, a global payment and gross
certified execution of committee selection helps PoTS counter
settlement network operated by the Ripple company. Unlike
the stake-bleeding and stake-grinding attack. The single point
public blockchains such as Bitcoin and Ethereum, Ripple treats
of risk in TEE hardware vendor still exists.
individual transactions as the ledger’s atomic items, similar to
a transaction log.
D. Proof of Retrievability (PoR) In Ripple network, only validator nodes can participate in
PoR was originally proposed by Juels and Kaliski, Jr., [128] consensus. We call a validator node “node” for simplicity.
in 2007 as a cryptographic building block for a semi-trusted Nodes collect transactions from clients and propose them to
distributed archiving system. The core feature of PoR is to peer nodes for consensus. In initialization, every node estab-
allow a file owner to check if its online files or file frag- lishes a unique node list (UNL) which identifies the nodes it
ments are securely stored and retrievable through a challenge- can trust and directly exchange messages with. A UNL rela-
response protocol. The retrievability of a target file F at a tionship is reciprocal. We call a group of nodes that are fully
remote node ni can prove ni indeed spends the required connected by UNL relationships a UNL clique.
amount of storage resources on F. Because of the space The operation of RCPA at one node is shown in
requirement behind retrievability, PoR is also known as proof Algorithm 8. RCPA runs in epochs, each of which finalizes a
of space. certain set of transactions into the ledger. Every epoch involves
In the role of a consensus protocol, PoR was first used by multiple rounds of transaction filtering. The ledger is marked
the cryptocurrency Permacoin, proposed by Miller et al. [129] “closed” after the final round. Specially, the yes-vote threshold
in 2014. It was designed as a mining-free alternative to PoW. of the final round THMaxRound = 80%, which is designed to
First, a central dealer publishes a target dataset F and computes cope with the network connectivity assumption that any two
the digest of F (the Merkle hash tree root of all segments of UNL cliques UNLi , UNLj must be at least 20% overlapped,
F). Then each participant stores some random segments of F i.e., sharing at least 15 max(|UNLi |, |UNLj |) inter-clique UNL
per its storage capability, and computes the digest of these relationships. In an ideal environment, as long as MaxRound
segments. For every block cycle, the dealer initiates a lottery is large enough, all valid transactions proposed by non-faulty
game with a random puzzle. Then every participant derives a nodes should eventually surpass the 80% yes-vote threshold.
lottery ticket consisting of a fixed number of PoR challenges Security Analysis: RCPA imitates a relaxed DLS protocol
from its locally stored segments, public key, and the puzzle. with an artificial BFT bound of 1/5. It further requires no more
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1456 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
Algorithm 8: RPCA (validator Node) this subsection we focus on blockDAG and defer the latter
1 Joining Ripple network as a validator; type to the next subsection.
/* Main loop In a blockDAG, every vertex contains a collection of trans-
*/
2 for new epoch do actions which is similar to the block concept in blockchain.
3 Collect valid transactions (new or leftover from What sets blockDAG apart from blockchain is that every
previous epochs) ⇒ CandidateSet; block can be hash-pointed to multiple parent blocks. This
4 for r = 1 → MaxRound do leads to a situation that every new block can be appended
5 Broadcast CandidateSet to UNL peers; to the DAG with considerable flexibility on how many and
6 After receiving transactions from UNL peers, add which parents to point to. This parent-selecting conundrum is
them to CandidateSet and broadcast a vote on commonly regarded as the major challenge for DAG-based
the veracity (yes/no) of every transaction; consensus schemes and pertains to the system’s transac-
7 After receiving votes from UNL peers, discard tion processing capability and security against Sybil and
transactions from CandidateSet whose double-spending attacks. Next we introduce two concurrently
yes-votes fall short of a threshold THr proposed blockDAG schemes, SPECTRE and PHANTOM,
(THMaxRound = 80%); with a focus on the parent-selection mechanism.
8 end 1) SPECTRE: Proposed by Sompolinsky et al. [133]
9 The remaining transactions in CandidateSet are in 2016, SPECTRE is one of the first well-documented
accepted into the ledger; blockDAG proposals. SPECTRE requires any node who wants
10 end to mine a new block to find all blocks of zero in-degree (i.e.,
“tips”) in the DAG and hash-point the new block header to
these tips before starting the PoW mining for the new block.
The node broadcasts the newly mined block to the network.
than 1/5 of nodes are faulty in every UNL clique in order to Every node initiates a recursive voting procedure to determine
ensure overall network consensus. Compared to PBFT that the order of any two blocks in the current DAG. This recur-
achieves 1/3 Byzantine fault tolerance with O(N 2 ) message sive procedure eventually results in a pairwise ordering over
complexity in a fully connected network, RPCA’s 1/5 fault the blockDAG. Every new block should be incremental to the
tolerance bound trades for a lower connectivity requirement past pairwise ordering effort. This pairwise ordering scheme
and thus lower message complexity per block cycle, which is essentially allows SPECTRE to decide between two conflict-
O(MK 2 ) = O(NK ) where K is the clique size and M = N/K ing blocks (i.e., containing transactions that spend the same
is the number of cliques. Therefore Ripple demonstrates the UXTO).
possibility of trading fault tolerance for better performance 2) PHANTOM: PHANTOM [134] is a concurrent
when a certain level of trust is assumed. On the down side, blockDAG proposal of SPECTRE by the same authors. One
RCPA’s multi-round broadcast scheme among a UNL clique notable weakness of SPECTRE is that the pairwise ordering
and the quick convergence of votes require high synchrony of blocks may not extend to a fully linear ordering. This leads
among clique members. This impairs Ripple’s decentralization to SPECTRE’s weak liveness (i.e., only supports naturally
capability in practical settings. chronological transactions) and an increased risk of balancing
Ripple’s current customers are primarily established corpo- attacks in that conflicts may not be solved. In contrast,
rations and financial institutions. Possible reasons include the PHANTOM realizes fully linear ordering of transactions and
above-mentioned synchrony requirement and that the 1/5 fault blocks in the DAG via the following algorithm. Every node
tolerance can be too restrictive for low-trust environments. searches the blockDAG for the largest k-cluster of blocks. k
Interestingly, Stellar [131], originally a fork project of the denotes the node degree in the cluster, and is a predefined
Ripple, has shifted to federated Byzantine quorum systems security parameter that rarely k or more honest blocks are
(FBQS) for a loose synchrony requirement on participants and created simultaneously. The k-cluster is regarded as honest
achieves the 1/3 BFT bound [132]. and all blocks within are linearly ordered. The transactions
covered by the cluster are then validated in the new order.
Notably, the largest 0-cluster case is equivalent to the
F. BlockDAG-Based Consensus Protocols longest-chain rule of Nakamoto consensus. The authors also
Starting from 2016 there have been increasing interests in argues that PHANTOM can be utilized alongside SPECTRE
non-linear ledger structures for the aim of better performance, for more flexible consensus performance, as the two ordering
among which directed acyclic graph (DAG) has received the schemes are complimentary to each other.
most attention. Consensus schemes with DAG ledger structure Security Analysis: Though with an innovative blockDAG
mark a significant divergence from Nakamoto’s blockchain ledger structure and a carefully designed ordering scheme
design. Their key insight is that transaction throughput should for finality, SPECTRE and PHANTOM inherit other proto-
not be limited by a restrictive consensus object, such as a col components from Nakamoto’s, including PoW-based block
linearly growing chain of blocks with fixed time intervals. proposal, gossip-based information propagation, validity check
Instead, the influx of transactions should drive the ledger on PoW and transactions. Therefore, the two blockDAG based
expansion. There are two types of DAG ledgers: block-based schemes can tolerate up to 50% of maliciously controlled
DAG (blockDAG) and transaction-based DAG (txDAG). In computing power. On the performance side, blockDAG-based
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1457
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1458 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
participants that work towards Byteball’s operation safety. VIII. C OMPARISON AND D ISCUSSION
Their revealed identities and small population contributes Tables III, IV compare the protocols that we have discussed
to deterministic finality and efficient consensus, but also an so far from three aspects: five-component framework compo-
increased risk of targeted DoS attack. sition, fault tolerance, and transaction processing capability.
3) Nano: Nano was proposed by LeMahieu in 2014, for- The latter includes maximum throughput and transaction con-
mally presented in 2018 [138], and is currently used by the firmation latency. For some consensus protocols, not all the
namesake cryptocurrency. Compared to Tangle and Byteball’s five components are specified in the white paper. Protocols
txDAG ledger, Nano has a more refined ledger structure which designed for permissioned blockchains (e.g., BFT-SMR, PoET,
is built upon parallel blockchains. Nano’s txDAG can be char- PoTS) often do not specify incentive mechanism; proto-
acterized as a block-lattice structure. Every node runs a local cols that were initially proposed to substitute PoW (e.g.,
blockchain that is not entangled with the others. Notably, PoA, PoET, PoR) inherit other components from Nakamoto’s
we call it “blockchain” for the consistency with the whitepa- protocol by default.
per [138], though every block is actually a single transaction. The fault tolerance capability of a consensus protocol
A normal transaction is fulfilled by two transactions: a send largely depends on the block finalization mechanism. For
transaction at the sender’s blockchain and a receive transaction example, the 50% bound (of computing power or stake value)
at the receiver’s blockchain. PoW is attached to transactions applies to all protocols that inherit the probabilistic finality
for anti-spamming. When an account is detected double- property from Bitcoin; protocols with BFT-style block final-
spending a transaction received by another node (i.e., a fork), ization typically achieve 33% fault tolerance and guarantee
the receiver initiates a voting procedure wherein each vote is deterministic finality. In hybrid schemes, the 33% fault toler-
weighted by the voter’s account balance (i.e., stake). ance is usually coupled with the block proposal mechanism or
A key insight of Nano’s block-lattice based txDAG is that a preexisting identity scheme. In Hybrid PoW-BFT and BFT-
forks and other faulty transactions only affect the accounts ref- based PoS, each node’s voting weight in the BFT consensus
erenced in the said transactions. In other words, the resolution stage is augmented by its block proposing capability. This is
of forks does not hamper the processing of transactions from achieved by either linking a player’s opportunity of partic-
unaffected accounts. This property allows Nano to provide sta- ipation in BFT consensus to the PoX process (e.g., Hybrid
ble and fast transaction confirmation. On the downside, the PoW-BFT, Tendermint), or directly weighting a player’s vote
stake-weighted voting scheme requires high synchrony among in the BFT consensus by the player’s stake value (e.g.,
nodes and may not scale well in network size. Algorand, Casper FFG). In other hybrid schemes such as PoA-
Security Analysis: For Tangle, since PoW is enforced for BFT and PoET-BFT, the PoX process is purposed for identity
transaction generation, probabilistic finality is guaranteed as management and thus the fault tolerance threshold is 33% of
long as the honest nodes control more than 50% of gross identities. DAG-based protocols generally achieves probabilis-
computing power. Byteball’s consensus safety relies on the tic finality (except Byteball) and 50% fault tolerance of either
majority consensus of the 12 witnesses. Since Nano resorts to computing power, consensus participants, or token wealth.
a stake-weighted scheme for fork resolution, its fault tolerance The statistics on transaction processing capability were
is capped by 50% of tokens. In terms of network decentral- fetched from either the simulation result in protocol white
ization, we consider Tangle the most desirable design among paper or documented experiment. The throughput metric mea-
the three txDAG schemes because it does not require a dedi- sures the maximum TPS a protocol can handle, and is only
cated identified group or a synchronized voting mechanism to precise to the scale of magnitude, i.e., sub-ten, tens, hundreds,
ensure consensus finality. Nonetheless, the current version of or thousands. The confirmation latency metric estimates time
Tangle’s MCMC-based tip-selection is susceptible to parasite for a submitted transaction to be finalized in the blockchain.
chain attack, as is documented in [135]. An attacker can grow We observe that protocols with probabilistic finality tend
a parallel chain from some early point all the way to the cur- to have higher confirmation latency (typically more than 1
rent DAG height, with intermittent connections to the DAG. minute), and high throughput is often accompanied by low
An attacker may need significantly less than 50% of network confirmation latency.
computing power to succeed, as the malicious chain may carry We are also interested in another performance metric—
far fewer transactions than the main DAG. To address this scalability in network size, which measures how well a
issue, Tangle currently relies on a centralized checkpointing consensus protocol can maintain its transaction capacity when
scheme to periodically confirm past transactions. The IOTA network size grows. Given the difficulty of performing large-
community plans to improve the MCMC-based tip-selection scale experiments on actual blockchain networks, the scala-
scheme in hope of obtaining the 50% fault tolerance in a truly bility results are either fetched from the simulation study in
decentralized fashion. protocol white paper or based on our speculation on the current
Snowflake-Avalanche [139], a consensus protocol family network status. It is worth noting that transaction through-
proposed by Cornell Team Rocket, provides an alternative put and scalability in network size are often recognized as
to Tangle’s tip selection problem. Specially, the txDAG-based two integral parts in scalability evaluation of a blockchain
Avalanche protocol builds upon a hierarchy of leaderless BFT system [3], [18], [140].
schemes, namely Snowflake and Snowball, for conflict resolu- Fig. 11 illustrates performance of consensus protocols with
tion during parent transaction selection. Interested readers are respect to transaction throughput and scalability in network
referred to the whitepaper [139] for more details. size along with suitability for permissioned or permissionless
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1459
TABLE III
A C OMPARISON OF B LOCKCHAIN C ONSENSUS P ROTOCOLS
blockchains. For protocols with BFT-style block finalization mechanism that only achieves probabilistic finality. Their
mechanism to achieve thousands of TPS, the network size transaction throughput is usually capped by a hundred TPS
should be small, typically around several hundred. Meanwhile, for security reasons. Generally, protocols illustrated farther
protocols that work for large-scale public networks are pre- to the top right in Fig. 11 tend to achieve better overall
dominantly permissionless and employ a block finalization performance and scalability. However the security implication
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1460 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
TABLE IV
A C OMPARISON OF DAG-BASED C ONSENSUS P ROTOCOLS
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1461
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1462 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
small and well-connected and with enforceable time-out mech- performance analyses, and discussion on protocol design pro-
anisms. This enables the network to achieve higher transaction vided in this survey can help researchers and developers
throughput. On the flip side, the high dependence on network grasp the fundamentals of blockchain consensus protocols and
connectivity and synchony for throughput brings high mes- facilitate future protocol design.
saging complexity and network management overhead. When
the network grows in size and inevitably becomes sparse, ACKNOWLEDGMENT
message relaying can be a major burden for each participant The authors would like to thank Dr. Christian Cachin, Dr.
which potentially leads to jammed communication channel and Yonggang Wen for their constructive comments on this paper.
stalled consensus process. Therefore, we argue that under a
certain security premise, increased need for network connec- R EFERENCES
tivity and synchrony leads to higher transaction throughput but
[1] S. Nakamoto. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
lower scalability with network size. Accessed: Apr. 7, 2019. [Online]. Available: https://bitcoin.org/bitcoin.
pdf
[2] Global Bitcoin Nodes Distribution. Accessed: Apr. 7, 2019. [Online].
C. Protocol Composability Available: https://bitnodes.earn.com/
The discussions above demonstrate that there is never a one- [3] K. Croman et al., “On scaling decentralized blockchains,” in Proc. Int.
Conf. Financial Cryptography Data Security, 2016, pp. 106–125.
fits-all blockchain consensus protocol. The existence of hybrid [4] VISA Fact Sheet, VISA Inc., San Francisco, CA, USA, 2019. [Online].
consensus protocols highlights the possibility to cherry-pick Available: https://usa.visa.com/dam/VCOM/global/about-visa/
individual protocol components to fulfill specific application documents/visa-fact-sheet-july-2019.pdf
[5] Bitcoin Energy Consumption Index, Digiconomist. Accessed: Nov.
needs. Sawtooth [119], a Hyperledger project featuring the uti- 29, 2019. [Online]. Available: https://digiconomist.net/bitcoin-energy-
lization of trusted hardware for PoET-based block proposal, consumption
has the flexibility of plugging in different block finaliza- [6] S. King and S. Nadal. (Aug. 2012). PPcoin: Peer-to-Peer Crypto-
Currency With Proof-of-Stake. [Online]. Available: https://bitcoin.
tion schemes—Raft for crash fault tolerance and PBFT for peryaudo.org/vendor/peercoin-paper.pdf
Byzantine fault tolerance. Similarly, POA Network [11] uses [7] I. Eyal, A. E. Gencer, E. G. Sirer, and R. Van Renesse, “Bitcoin-NG:
PoA for block proposal and has opted for HoneyBadgerBFT A scalable blockchain protocol,” in Proc. NSDI, 2016, pp. 45–59.
[8] A. Kiayias, A. Russell, B. David, and R. Oliynykov, “Ouroboros: A
for block finalization to achieve best performance under provably secure proof-of-stake blockchain protocol,” in Proc. Annu.
asynchronous network conditions. Int. Cryptol. Conf., 2017, pp. 357–388.
Besides block proposal and finalization, the choice of [9] P. Daian, R. Pass, and E. Shi, “Snow white: Robustly reconfigurable
consensus and applications to provably secure proof of stake,” in Proc.
information propagation mechanism largely depends on the Int. Conf. Financ. Cryptography Data Security, 2019, pp. 23–41.
underlying network topology. In a public blockchain network [10] (2018). EOS.IO Technical White Paper V2. [Online]. Available:
where gossiping is the default information propagation https://github.com/EOSIO/Documentation/blob/master/Technical
WhitePaper.md
method, broadcast can be used among a small set of identified [11] (2018). POA Network Whitepaper. [Online]. Available: https://github.
nodes for better efficiency [3]. The block validation mecha- com/poanetwork/wiki/wiki/POA-Network-Whitepaper
nism is associated with the block proposal mechanism and [12] J. Y. Kwon. (2014). TenderMint: Consensus Without
Mining. [Online]. Available: https://cdn.relayto.com/media/files/
takes the current blockchain as input. The incentive mecha- LPgoWO18TCeMIggJVakt_tendermint.pdf
nism is aimed for promoting honest execution of the former [13] Y. Gilad, R. Hemo, S. Micali, G. Vlachos, and N. Zeldovich,
tasks. It needs to account for off-chain factors as well, such “Algorand: Scaling Byzantine agreements for cryptocurrencies,” in
Proc. ACM 26th Symp. Oper. Syst. Principles, 2017, pp. 51–68.
as the long-term system sustainability, financial stability, and [14] V. Buterin and V. Griffith, “Casper the friendly finality gadget,” 2017.
subtle security issues [115], [116], [117]. [Online]. Available: arXiv:1710.09437.
The composability of blockchain consensus protocol also [15] E. Androulaki et al., “Hyperledger fabric: A distributed operating
system for permissioned blockchains,” in Proc. ACM 13th EuroSys
demonstrates the feasibility of progressive protocol improve- Conf., 2018, p. 30.
ment, in that one individual protocol component is updated [16] A. Miller, Y. Xia, K. Croman, E. Shi, and D. Song, “The honey badger
at a time instead of overhauling the entire protocol. This is of BFT protocols,” in Proc. ACM SIGSAC Conf. Comput. Commun.
Security (CCS), 2016, pp. 31–42.
particularly important for large-scale established blockchain [17] S. Duan, M. K. Reiter, and H. Zhang, “BEAT: Asynchronous BFT made
systems in which any protocol change requires network-wide practical,” in Proc. ACM SIGSAC Conf. Comput. Commun. Security
consensus and significant joint effort. (CCS), 2018, pp. 2028–2041.
[18] M. Vukolić, “The quest for scalable blockchain fabric: Proof-of-work
vs. BFT replication,” in Proc. Int. Workshop Open Problems Netw.
X. C ONCLUSION Security, 2015, pp. 112–125.
[19] C. Cachin and M. Vukolić, “Blockchain consensus protocols in the
In this survey we provided a summary of classical fault- wild,” in Proc. 31st Int. Symp. Distrib. Comput. (DISC), 2017,
tolerance consensus research, a five-component framework for pp. 1–16.
[20] S. Bano et al., “Consensus in the age of blockchains,” 2017. [Online].
a general blockchain consensus protocol, and a comprehensive Available: arXiv:1711.03936.
review of blockchain consensus protocols that have gained [21] W. Wang et al., “A survey on consensus mechanisms and mining
great popularity and potential. We analyzed these protocols strategy management in blockchain networks,” IEEE Access, vol. 7,
pp. 22328–22370, 2019.
with respect to fault tolerance, performance, vulnerabilities [22] Y. Xiao, N. Zhang, J. Li, W. Lou, and Y. T. Hou, “Distributed consen-
and highlighted their use cases. Notably, many of these pro- sus protocols and algorithms,” in Blockchain for Distributed Systems
tocols are still under development and are subject to major Security. Hoboken, NJ, USA: Wiley, 2019, p. 25.
[23] M. Belotti, N. Božić, G. Pujolle, and S. Secci, “A vademecum on
changes at the time of writing. We hope the five-component blockchain technologies: When, which and how,” IEEE Commun.
framework, classification methodology, protocol abstractions, Surveys Tuts., vol. 21, no. 4, pp. 3796–3838, 4th Quart., 2019.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1463
[24] H. Attiya, A. Bar-Noy, and D. Dolev, “Sharing memory robustly in [52] G. Bracha, “Asynchronous Byzantine agreement protocols,” Inf.
message-passing systems,” J. ACM, vol. 42, no. 1, pp. 124–142, 1995. Comput., vol. 75, no. 2, pp. 130–143, 1987.
[25] L. Lamport, R. Shostak, and M. Pease, “The Byzantine generals [53] M. Ben-Or, “Another advantage of free choice (extended abstract):
problem,” ACM Trans. Program. Lang. Syst., vol. 4, no. 3, pp. 382–401, Completely asynchronous agreement protocols,” in Proc. 2nd Annu.
1982. ACM Symp. Principles Distrib. Comput., 1983, pp. 27–30.
[26] H. Attiya and J. Welch, Distributed Computing: Fundamentals, [54] M. O. Rabin, “Randomized Byzantine generals,” in Proc. 24th Annu.
Simulations, and Advanced Topics, vol. 19. Hoboken, NJ, USA: Wiley, Symp. Found. Comput. Sci. (SFCS), 1983, pp. 403–409.
2004. [55] G. Bracha, “An asynchronous [(n − 1)/3]-resilient consensus protocol,”
[27] M. Castro and B. Liskov, “Practical Byzantine fault tolerance,” in Proc. in Proc. 3rd Annu. ACM Symp. Principles Distrib. Comput., 1984,
OSDI, vol. 99, 1999, pp. 173–186. pp. 154–162.
[28] C. Dwork, N. A. Lynch, and L. J. Stockmeyer, “Consensus in the
[56] M. Ben-Or, B. Kelmer, and T. Rabin, “Asynchronous secure com-
presence of partial synchrony,” J. ACM, vol. 35, no. 2, pp. 288–323,
putations with optimal resilience,” in Proc. 13th Annu. ACM Symp.
1988.
Principles Distrib. Comput., 1994, pp. 183–192.
[29] M. J. Fischer, N. A. Lynch, and M. S. Paterson, “Impossibility of
distributed consensus with one faulty process,” J. ACM, vol. 32, no. 2, [57] R. Canetti and T. Rabin, “Fast asynchronous Byzantine agreement with
pp. 374–382, 1985. optimal resilience,” in Proc. 25th Annu. ACM Symp. Theory Comput.,
[30] M. Pease, R. Shostak, and L. Lamport, “Reaching agreement in the 1993, pp. 42–51.
presence of faults,” J. ACM, vol. 27, no. 2, pp. 228–234, 1980. [58] C. Cachin, K. Kursawe, F. Petzold, and V. Shoup, “Secure and efficient
[31] B. Alpern and F. B. Schneider, “Defining liveness,” Inf. Process. Lett., asynchronous broadcast protocols,” in Proc. Annu. Int. Cryptol. Conf.,
vol. 21, no. 4, pp. 181–185, 1985. 2001, pp. 524–541.
[32] L. Lamport, “Time, clocks, and the ordering of events in a distributed [59] C. Cachin and S. Tessaro, “Asynchronous verifiable information dis-
system,” Commun. ACM, vol. 21, no. 7, pp. 558–565, 1978. persal,” in Proc. 24th IEEE Symp. Rel. Distrib. Syst. (SRDS), 2005,
[33] L. Lamport, “Using time instead of timeout for fault-tolerant distributed pp. 191–201.
systems,” ACM Trans. Program. Lang. Syst., vol. 6, no. 2, pp. 254–280, [60] A. Mostéfaoui, H. Moumen, and M. Raynal, “Signature-free asyn-
1984. chronous Byzantine consensus with t < n/3 and o(n 2 ) messages,”
[34] F. B. Schneider, “Implementing fault-tolerant services using the state in Proc. ACM Symp. Principles Distrib. Comput., 2014, pp. 2–9.
machine approach: A tutorial,” ACM Comput. Surveys, vol. 22, no. 4, [61] J. Baek and Y. Zheng, “Simple and efficient threshold cryptosystem
pp. 299–319, 1990. from the gap Diffie–Hellman group,” in Proc. IEEE Glob. Telecommun.
[35] F. Cristian, H. Aghili, R. Strong, and D. Dolev, Atomic Broadcast: From Conf. (GLOBECOM), vol. 3, 2003, pp. 1491–1495.
Simple Message Diffusion to Byzantine Agreement, T. J. Watson, Ed. [62] V. Shoup and R. Gennaro, “Securing threshold cryptosystems against
Yorktown Heights, NY, USA: Int. Bus. Mach., 1986. chosen ciphertext attack,” in Proc. Int. Conf. Theory Appl. Cryptograph.
[36] G. Bracha and S. Toueg, “Asynchronous consensus and broadcast Techn., 1998, pp. 1–16.
protocols,” J. ACM, vol. 32, no. 4, pp. 824–840, 1985. [63] J. Yin, J.-P. Martin, A. Venkataramani, L. Alvisi, and M. Dahlin,
[37] X. Défago, A. Schiper, and P. Urbán, “Total order broadcast and “Separating agreement from execution for Byzantine fault tolerant
multicast algorithms: Taxonomy and survey,” ACM Comput. Surveys, services,” in Proc. ACM SIGOPS Oper. Syst. Rev., vol. 37, 2003,
vol. 36, no. 4, pp. 372–421, 2004. pp. 253–267.
[38] T. D. Chandra and S. Toueg, “Unreliable failure detectors for reliable [64] C. Decker, J. Seidel, and R. Wattenhofer, “Bitcoin meets strong con-
distributed systems,” J. ACM, vol. 43, no. 2, pp. 225–267, 1996.
sistency,” in Proc. 17th Int. Conf. Distrib. Comput. Netw., 2016,
[39] B. M. Oki and B. H. Liskov, “Viewstamped replication: A new pri- p. 13.
mary copy method to support highly-available distributed systems,”
in Proc. 7th Annu. ACM Symp. Principles Distrib. Comput., 1988, [65] Bitcoin Wire Protocol 101. (2019). Bitcoin Developer Network.
pp. 8–17. [Online]. Available: https://bitcoindev.network/bitcoin-wire-protocol/
[40] B. Liskov and J. Cowling, “Viewstamped replication revisited,” [66] Ethereum Wire Protocol. (2019). Ethereum Foundation. [Online].
Comput. Sci. Artif. Intell. Lab., MIT, Cambridge, MA, USA, Rep. Available: https://github.com/ethereum/devp2p/blob/master/caps/eth.
MIT-CSAIL-TR-2012-021, 2012. md
[41] L. Lamport, “The part-time parliament,” ACM Trans. Comput. Syst., [67] K. Wüst and A. Gervais, “Do you need a blockchain?” in Proc. IEEE
vol. 16, no. 2, pp. 133–169, 1998. Crypto Valley Conf. Blockchain Technol. (CVCBT), 2018, pp. 45–54.
[42] L. Lamport, “Paxos made simple,” ACM SIGACT News, vol. 32, no. 4, [68] R. C. Merkle, “A digital signature based on a conventional encryp-
pp. 18–25, 2001. tion function,” in Proc. Conf. Theory Appl. Cryptograph. Techn., 1987,
[43] D. Ongaro and J. K. Ousterhout, “In search of an understandable con- pp. 369–378.
sensus algorithm,” in Proc. USENIX Annu. Tech. Conf. (USENIX ATC), [69] J. Poon and T. Dryja. (2016). The Bitcoin Lightning Network:
2014, pp. 305–319. Scalable Off-Chain Instant Payments. Accessed: Apr. 7, 2020. [Online].
[44] M. Abd-El-Malek, G. R. Ganger, G. R. Goodson, M. K. Reiter, and Available: https://www.bitcoinlightning.com/wp-content/uploads/2018/
J. J. Wylie, “Fault-scalable Byzantine fault-tolerant services,” ACM 03/lightning-network-paper.pdf
SIGOPS Oper. Syst. Rev., vol. 39, no. 5, pp. 59–74, 2005. [70] EIP 1011: Hybrid Casper FFG. Ethereum Improvement Proposals
[45] J. A. Cowling, D. S. Myers, B. Liskov, R. Rodrigues, and L. Shrira, (EIPs). Accessed: Apr. 7, 2019. [Online]. Available: https://eips.
“HQ replication: A hybrid quorum protocol for Byzantine fault tol- ethereum.org/EIPS/eip-1011
erance,” in Proc. 7th Symp. Oper. Syst. Design Implement., 2006, [71] G. Wood, “Ethereum: A secure decentralised generalised transaction
pp. 177–190. ledger,” vol. 151, Zug, Switzerland, Ethereum, Yellow Paper pp. 1–32,
[46] R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong, “Zyzzyva: 2014.
Speculative Byzantine fault tolerance,” ACM SIGOPS Oper. Syst. Rev., [72] Litecoin Official Website. Litecoin Foundation. Accessed: Apr. 7, 2019.
vol. 41, no. 6, pp. 45–58, 2007. [Online]. Available: https://litecoin.org/
[47] J.-P. Martin and L. Alvisi, “Fast Byzantine consensus,” IEEE Trans.
[73] C. Decker and R. Wattenhofer, “Information propagation in the bitcoin
Depend. Secure Comput., vol. 3, no. 3, pp. 202–215, Aug. 2006.
network,” in Proc. IEEE 13th Int. Conf. Peer-to-Peer Computing (P2P),
[48] G. S. Veronese, M. Correia, A. N. Bessani, and L. C. Lung, “Spin
2013, pp. 1–10.
one’s wheels? Byzantine fault tolerance with a spinning primary,”
in Proc. 28th IEEE Int. Symp. Rel. Distrib. Syst. (SRDS), 2009, [74] J. A. Garay, A. Kiayias, and N. Leonardos, “The bitcoin backbone
pp. 135–144. protocol: Analysis and applications,” in Proc. Annu. Int. Conf. Theory
[49] A. Clement, E. L. Wong, L. Alvisi, M. Dahlin, and M. Marchetti, Appl. Cryptograph. Techn., 2015, pp. 281–310.
“Making Byzantine fault tolerant systems tolerate Byzantine faults,” in [75] I. Abraham and D. Malkhi, “The blockchain consensus layer and BFT,”
Proc. NSDI, vol. 9, 2009, pp. 153–168. Bull. EATCS, vol. 3, no. 123, pp. 10–17, 2017.
[50] R. Guerraoui, N. Knežević, V. Quéma, and M. Vukolić, “The next [76] VisaNet: The Technology Behind Visa, Visa Inc. Accessed: Apr. 7,
700 BFT protocols,” in Proc. 5th Eur. Conf. Comput. Syst., 2010, 2019. [Online]. Available: https://usa.visa.com/dam/VCOM/download/
pp. 363–376. corporate/media/visanet-technology/visa-net-booklet.pdf
[51] A. N. Bessani, “(BFT) state machine replication: The hype, the virtue, [77] E. Heilman, A. Kendler, A. Zohar, and S. Goldberg, “Eclipse attacks
and even some practice,” in Proc. EuroSys, 2012, pp. 22–49. [Online]. on bitcoin’s peer-to-peer network,” in Proc. USENIX Security Symp.,
Available: http://www.di.fc.ul.pt/∼bessani/publications/T1-bftsmr.pdf 2015, pp. 129–144.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
1464 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 22, NO. 2, SECOND QUARTER 2020
[78] A. Gervais, G. O. Karame, K. Wüst, V. Glykantzis, H. Ritzdorf, [103] E. Buchman, “TenderMint: Byzantine fault tolerance in the age of
and S. Capkun, “On the security and performance of proof of work blockchains,” Ph.D. dissertation, Eng. Syst. Comput., Univ. Guelph,
blockchains,” in Proc. ACM SIGSAC Conf. Comput. Commun. Security, Guelph, ON, Canada, 2016.
2016, pp. 3–16. [104] Cosmos SDK Documentation—Validators Overview, Tendermint Inc.,
[79] I. Eyal and E. G. Sirer, “Majority is not enough: Bitcoin mining is San Francisco, CA, USA, 2019. [Online]. Available: https://hub.
vulnerable,” in Proc. Int. Conf. Financial Cryptography Data Security, cosmos.network/master/validators/overview.html
2014, pp. 436–454. [105] Tendermint Documentation: Sentry Node, Tendermint Inc.,
[80] A. Sapirshtein, Y. Sompolinsky, and A. Zohar, “Optimal selfish mining San Francisco, CA, USA, 2019. Accessed: Apr. 7, 2019.
strategies in bitcoin,” in Proc. Int. Conf. Financial Cryptography Data [Online]. Available: https://tendermint.com/docs/spec/p2p/node.
Security, 2016, pp. 515–532. html#sentry-node
[81] D. Gutteridge. (2018). Japanese Cryptocurrency Monacoin Hit by [106] Y. Amoussou-Guenou, A. Del Pozzo, M. Potop-Butucaru, and
Selfish Mining Attack. [Online]. Available: https://www.ccn.com/ S. Tucci-Piergiovanni, “Correctness and fairness of TenderMint-core
japanese-cryptocurrency-monacoin-hit-by-selfish-mining-attack/ blockchains,” 2018. [Online]. Available: arXiv:1805.08429.
[82] A. E. Gencer, S. Basu, I. Eyal, R. van Renesse, and E. G. Sirer, [107] V. Zamfir. (2015). Introducing Casper the Friendly Ghost.
“Decentralization in bitcoin and Ethereum networks,” in Proc. [Online]. Available: https://blog.ethereum.org/2015/08/01/
Financial Cryptography Data Security Conf., 2018, pp. 439–457. introducing-casperfriendly-ghost.
[83] D. Kondor, M. Pósfai, I. Csabai, and G. Vattay, “Do the rich get richer? [108] Casper Proof of Stake Compendium, Ethereum Found., Zug,
An empirical analysis of the bitcoin transaction network,” PLoS ONE, Switzerland, 2019. [Online]. Available: https://github.com/ethereum/
vol. 9, no. 2, 2014, Art. no. e86197. wiki/wiki/Casper-Proof-of-Stake-compendium
[84] Y. Sompolinsky and A. Zohar, “Secure high-rate transaction processing [109] Sharding Introduction R&D Compendium, Ethereum Found., Zug,
in bitcoin,” in Proc. Int. Conf. Financial Cryptography Data Security, Switzerland, 2019. [Online]. Available: https://github.com/ethereum/
2015, pp. 507–527. wiki/wiki/Sharding-introduction-R&D-compendium
[85] Wave-NG Protocol, Wave Platform. Accessed: Oct. 14, 2019. [Online]. [110] Bitshares 2.0 Documentation. (2015). The BitShares Organization.
Available: https://docs.wavesplatform.com/en/waves-environment/ [Online]. Available: http://docs.bitshares.org/bitshares/index.html
waves-protocol/waves-ng-protocol.html [111] Liskś Consensus Algorithm. Accessed: Apr. 7, 2019. [Online].
[86] C. Li, P. Li, W. Xu, F. Long, and A. C.-C. Yao, “Scaling Nakamoto Available: https://lisk.io/documentation/lisk-protocol/consensus
consensus to thousands of transactions per second,” 2018. [Online]. [112] D. Larimer. (2018). DPOS BFT—Pipelined Byzantine Fault
Available: arXiv:1805.03870. Tolerance. [Online]. Available: https://medium.com/eosio/
[87] M. K. Reiter, “A secure group membership protocol,” IEEE Trans. dpos-bft-pipelined-byzantine-fault-tolerance-8a0634a270ba
Softw. Eng., vol. 22, no. 1, pp. 31–42, Jan. 1996. [113] J. Martinez. (2018). Understanding Proof of Stake: The Nothing
[88] L. Luu, V. Narayanan, K. Baweja, C. Zheng, S. Gilbert, and at Stake Theory. [Online]. Available: https://medium.com/coinmonks/
P. Saxena. (2015). SCP: A Computationally-Scalable Byzantine understanding-proof-of-stake-the-nothing-at-stake-theory-1f0d71bc027
Consensus Protocol for Blockchains. [Online]. Available: https://www. [114] M. Franklin, “A survey of key evolving cryptosystems,” Int. J. Security
weusecoins.com/assets/pdf/library/SCP Netw., vol. 1, nos. 1–2, pp. 46–53, 2006.
[89] Sharding FAQs: On Sharding Blockchains, Ethereum Foundation. [115] V. Buterin. (2014). Ethereum Foundation. [Online]. Available: https://
Accessed: Oct. 14, 2019. [Online]. Available: https://github.com/ blog.ethereum.org/2014/05/15/long-range-attacks-the-serious-problem-
ethereum/wiki/wiki/Sharding-FAQ with-adaptive-proof-of-work/
[90] E. Kokoris-Kogias, P. Jovanovic, N. Gailly, I. Khoffi, L. Gasser, and [116] P. Gaži, A. Kiayias, and A. Russell, “Stake-bleeding attacks on proof-
B. Ford, “Enhancing bitcoin security and performance with strong con- of-stake blockchains,” in Proc. IEEE Crypto Valley Conf. Blockchain
sistency via collective signing,” in Proc. 25th USENIX Security Symp. Technol. (CVCBT), 2018, pp. 85–92.
(USENIX Security), 2016, pp. 279–296. [117] Grinding Attack on Proof of Stake, Ethereum Found., Zug,
[91] E. Syta et al., “Keeping authorities ‘honest or bust’ with decentralized Switzerland, 2019. Accessed: Apr. 7, 2019. [Online]. Available:
witness cosigning,” in Proc. IEEE Symp. Security Privacy (SP), 2016, https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs#
pp. 526–545. how-does-validator-selection-work-and-what-is-stake-grinding
[92] R. Pass and E. Shi, “Hybrid consensus: Efficient consensus in the per- [118] Aura—Authority Round—WiKi, Parity Tech Documentation. Accessed:
missionless model,” in Proc. 31st Int. Symp. Distrib. Comput. (DISC), Apr. 7, 2019. [Online]. Available: https://wiki.parity.io/Aura
2017, pp. 1–16. [119] Hyperledger Sawtooth Project. (2018). The Linux Foundation. [Online].
[93] R. Pass and E. Shi, “FruitChains: A fair blockchain,” in Proc. ACM Available: https://www.hyperledger.org/projects/sawtooth
Symp. Principles Distrib. Comput., 2017, pp. 315–324. [120] V. Costan and S. Devadas, “Intel SGX explained,” IACR Cryptol. ePrint
[94] J. Long and R. Wei, “Scalable BFT consensus mechanism through Archive, Rep. 2016/086, 2016.
aggregated signature Gossip,” in Proc. IEEE Int. Conf. Blockchain [121] Introducing ARM Trustzone, ARM Ltd., Cambridge, U.K., 2018.
Cryptocurrency (ICBC), 2019, pp. 360–367. [Online]. Available: https://developer.arm.com/technologies/trustzone
[95] A. Poelstra. (2014). Distributed Consensus From Proof of Stake [122] Hyperledger Sawtooth RFC. (2018). The Linux Foundation. [Online].
is Impossible. Accessed: Apr. 7, 2019. [Online]. Available: https:// Available: https://github.com/hyperledger/sawtooth-rfcs/blob/master/
download.wpsoftware.net/bitcoin/old-pos.pdf text/0019-pbft-consensus.md
[96] (2014). NXT Whitepaper Revision 4, NXT Community. [123] F. Brasser et al., “Software grand exposure: SGX cache attacks
[Online]. Available: https://www.dropbox.com/s/cbuwrorf672c0yy/ are practical,” in Proc. 11th USENIX Workshop Offensive Technol.
NxtWhitepaper_v122_rev4.pdf (WOOT), 2017, pp. 4–7.
[97] I. Bentov, C. Lee, A. Mizrahi, and M. Rosenfeld, “Proof of activ- [124] J. Van Bulck et al., “Foreshadow: Extracting the keys to the Intel SGX
ity: Extending bitcoin’s proof of work via proof of stake [extended kingdom with transient out-of-order execution,” in Proc. 27th USENIX
abstract]y,” ACM SIGMETRICS Perform. Eval. Rev., vol. 42, no. 3, Security Symp. (USENIX Security), 2018, pp. 991–1008.
pp. 34–37, 2014. [125] O. Weisse et al., “Foreshadow-NG: Breaking the virtual memory
[98] T. Rabin and M. Ben-Or, “Verifiable secret sharing and multiparty pro- abstraction with transient out-of-order execution,” USENIX Assoc.,
tocols with honest majority,” in Proc. 21st Annu. ACM Symp. Theory Berkeley, CA, USA, Rep. LIRIAS2089352, 2018.
Comput., 1989, pp. 73–85. [126] W. Li, S. Andreina, J.-M. Bohli, and G. Karame, “Securing
[99] S. Micali, M. Rabin, and S. Vadhan, “Verifiable random functions,” in proof-of-stake blockchain protocols,” in Proc. Data Privacy Manag.
Proc. IEEE 40th Annu. Symp. Found. Comput. Sci., 1999, pp. 120–130. Cryptocurrencies Blockchain Technol., 2017, pp. 297–315.
[100] I. Bentov, A. Gabizon, and A. Mizrahi, “Cryptocurrencies without proof [127] S. Andreina, J.-M. Bohli, G. O. Karame, W. Li, and G. A. Marson,
of work,” in Proc. Int. Conf. Financial Cryptography Data Security, “PoTS-a secure proof of TEE-stake for permissionless blockchains,”
2016, pp. 142–157. IACR Cryptol. ePrint Archive, Rep. 2018/1135, 2018.
[101] B. David, P. Gaži, A. Kiayias, and A. Russell, “Ouroboros praos: [128] A. Juels and B. S. Kaliski, Jr., “PORS: Proofs of retrievability for large
An adaptively-secure, semi-synchronous proof-of-stake blockchain,” files,” in Proc. 14th ACM Conf. Comput. Commun. Security, 2007,
in Proc. Annu. Int. Conf. Theory Appl. Cryptograph. Techn., 2018, pp. 584–597.
pp. 66–98. [129] A. Miller, A. Juels, E. Shi, B. Parno, and J. Katz, “Permacoin:
[102] R. Pass and E. Shi, “The sleepy model of consensus,” in Proc. Int. Repurposing bitcoin work for data preservation,” in Proc. IEEE Symp.
Conf. Theory Appl. Cryptol. Inf. Security, 2017, pp. 380–409. Security Privacy (SP), 2014, pp. 475–490.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.
XIAO et al.: A SURVEY OF DISTRIBUTED CONSENSUS PROTOCOLS FOR BLOCKCHAIN NETWORKS 1465
[130] D. Schwartz et al., “The ripple protocol consensus algorithm,” vol. 5, Ning Zhang (Member, IEEE) received the Ph.D.
San Francisco, CA, USA, Ripple Labs Inc., White Paper, 2014. degree from Virginia Tech in 2016. He was
[131] D. Mazieres. (2015). The Stellar Consensus Protocol: A Federated with an industry as a Cyber Engineer and a
Model for Internet-Level Consensus. [Online]. Available: http:// Technical Lead for over ten years. He is cur-
citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.696.93&= rently an Assistant Professor with the Department
&rep=rep1&=&type=pdf of Computer Science and Engineering, Washington
[132] C. Cachin and B. Tackmann, “Asymmetric distributed trust,” 2019. University in St. Louis. His research focus is system
[Online]. Available: arXiv:1906.09314. security, which lies at the intersection of security,
[133] Y. Sompolinsky, Y. Lewenberg, and A. Zohar, “SPECTRE: A fast and embedded systems, and computer architecture and
scalable cryptocurrency protocol,” IACR Cryptol. ePrint Archive, Rep. software.
2016/1159, 2016.
[134] Y. Sompolinsky and A. Zohar, “PHANTOM: A scalable blockDAG
protocol,” IACR Cryptol. ePrint Archive, Rep. 2018/104, 2018.
[135] S. Popov. (2016). The Tangle. [Online]. Available: http://www.
descryptions.com/Iota.pdf Wenjing Lou (Fellow, IEEE) received the Ph.D.
[136] Tangle Tip Selection. IOTA Foundation. Accessed: Apr. 7, 2019. degree in electrical and computer engineering from
[Online]. Available: https://docs.iota.org/docs/the-tangle/0.1/concepts/ the University of Florida in 2003. From 2003 to
tip-selection#in-depth-explanation-of-the-tip-selection-algorithm 2011, she was a Faculty Member with the Worcester
[137] A. Churyumov. (2016). ByteBall: A Decentralized System for Storage Polytechnic Institute. She has been a Professor with
and Transfer of Value. [Online]. Available: https://byteball.org/Byteball. Virginia Tech since 2011. From 2014 to 2017, she
pdf was the Program Director of the U.S. National
[138] C. LeMahieu. (2018). Nano: A Feeless Distributed Cryptocurrency Science Foundation, where she was involved in the
Network. [Online]. Available: https://nano.org/en/whitepaper Networking Technology and Systems Program and
[139] Team Rocket. (2018). Snowflake to Avalanche: A Novel Metastable the Secure and Trustworthy Cyberspace Program.
Consensus Protocol Family for Cryptocurrencies. Accessed: Oct. Her current research interests focus on privacy pro-
14, 2019. [Online]. Available: https://pdfs.semanticscholar.org/85ec/ tection techniques in networked information systems and cross-layer security
19594046bbcfe12137c7c2e3744677129820.pdf enhancement in wireless networks by exploiting intrinsic wireless networking
[140] C. Natoli, J. Yu, V. Gramoli, and P. Esteves-Verissimo, “Deconstructing and communication properties.
blockchains: A comprehensive survey on consensus, membership and
structure,” 2019. [Online]. Available: arXiv:1908.08316.
[141] E. B. Sasson et al., “ZeroCash: Decentralized anonymous pay-
ments from bitcoin,” in Proc. IEEE Symp. Security Privacy, 2014,
pp. 459–474. Y. Thomas Hou (Fellow, IEEE) received the Ph.D.
[142] S. Noether, “Ring signature confidential transactions for Monero,” degree from the NYU Tandon School of Engineering
IACR Cryptol. ePrint Archive, Rep. 2015/1098, 2015. (formerly, Polytechnic University) in 1998. In 2002,
[143] R. Canetti, O. Goldreich, and S. Halevi, “The random oracle method- he joined Virginia Tech, Blacksburg, VA, USA,
ology, revisited,” J. ACM, vol. 51, no. 4, pp. 557–594, 2004. where he is currently a Bradley Distinguished
[144] R. Canetti, “Universally composable security: A new paradigm for Professor of electrical and computer engineer-
cryptographic protocols,” in Proc. 42nd IEEE Symp. Found. Comput. ing. From 1997 to 2002, he was a Member
Sci., 2001, pp. 136–145. of Research Staff with Fujitsu Laboratories of
America, Sunnyvale, CA, USA. He has over 250
papers published in the IEEE/ACM journals and
conferences. He holds five U.S. patents. He has
authored/coauthored two graduate textbooks Applied Optimization Methods
for Wireless Networks (Cambridge University Press, in 2014) and Cognitive
Yang Xiao (Student Member, IEEE) received Radio Communications and Networks: Principles and Practices (Academic
the B.S. degree from the School of Electrical Press/Elsevier, in 2009). His current research focuses on developing innovative
and Information Engineering, Shanghai Jiao Tong solutions to complex science and engineering problems arising from wireless
University and the M.S. degree from the Electrical and mobile networks, and wireless security. His papers were recognized by
Engineering and Computer Science Department, five Best Paper Awards from the IEEE and two Paper Awards from the ACM.
University of Michigan, Ann Arbor. He is cur- He was named an IEEE Fellow for contributions to modeling and optimization
rently pursuing the Ph.D. degree with the Bradley of wireless networks. He was/is on the editorial boards of a number of IEEE
Department of Electrical and Computer Engineering, and ACM Transactions and journals. He is the Steering Committee Chair of
Virginia Tech, supervised by Prof. W. Lou. His the IEEE INFOCOM Conference and a member of the IEEE Communications
research interests lie in network security, blockchain, Society Board of Governors. He is also a Distinguished Lecturer of the IEEE
and IoT security. Communications Society.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on August 10,2023 at 19:01:58 UTC from IEEE Xplore. Restrictions apply.