A Taxonomy of Blockchain Consensus Methods
Abstract
:1. Introduction
2. Consensus
- Safety
- means that two processors will agree on the same value, in addition to the value having been proposed by one of the processors. Agreement is sometimes referred to as consistency, and a processor proposing a value as validity. Valid means the processor decided on a value and proposed it, although it does not necessarily need to be correct.
- Liveness
- is the property that any sent message is eventually delivered. A system that has stalled waiting for a message is “dead” because it cannot make progress. This can be thought of as “eventually something good happens”, where eventually is loosely defined as finite [4].
3. Methodology and Initial Results
- Papers focussed on blockchain applications including, but not limited to finance and internet of things (IoT) as these did not analyse methods themselves, rather their applicability to the chosen application;
- Papers that did not address blockchain consensus or were inconsistent;
- Papers proposing new algorithms (primary research).
Po | Proof-of— | PoET | Proof of Elapsed Time |
PoW | Proof-of-Work | BFT | Byzantine Fault Tolerant |
PoS | Proof-of-Stake | SMaRt | State Machine Replication |
PBFT | Practical Byzantine Fault Tolerant | DAG | Directed Acyclic Graph |
FBA | Federated Byzantine Agreement | 2PC | Two-Phase Commit |
DPoS | Delegated Proof-of-Stake |
- Step 1
- Derive the principal meta-characteristic for categorisation; the methodology for maintaining a distributed ledger at a high-level. Characteristics, similar to deterministic finality, or committee-based voting, are included in this category.
- Step 2
- An inductive approach that determines which characteristics may be grouped into dimensions empirically by identifying characteristics within the meta-characteristic and subsequently selecting dimensions to group them together [30]. The conceptual-to-empirical approach provides the opportunity to hypothesise about new dimensions that can be tested with data.
- Step 3
- Checks whether there are characteristics left unresolved or uncategorised and iterates if necessary, back to either an empirical-to-conceptual or conceptual-to-empirical strategy.
4. Taxonomy
4.1. Derivation of Categories
4.2. Derivation of Dimensions
- Clock-cycles have non-zero cost, meaning the computational work done to find a hash value that is subject to a target requirement. The computational work cannot be recovered or undone. A cryptographic requirement is that the hash function is one-way, so the originating data cannot be inferred, but is easily verifiable.
- Tokens held by a user may be committed to maintaining a protocol. PoS allocates users a stake in the system proportionate to their number of tokens. In general, tokens that are held as stake cannot be used in transactions. Honesty is encouraged by both advantaging nodes that validate transactions and create blocks at the risk of forfeiting their stake (slashing) for dishonest behaviour. A variation, DPoS, hands block production responsibility to a set of validators, or delegates, which are a subset of the network. Often the validators must be known to the network and thus subject to ridicule if they behave maliciously as in proof-of-authority.
- Votes are used to determine a majority and is a common method for gaining consensus with nearly half of the methods in Table 3 employing votes as the scarce resource. A BFT system must determine consensus by the replicas voting on the state. Votes have no tradable value and generally a node is permitted one vote per round, although an additional vote may be permitted in each subsequent round. Classical consensus methods that maintain state in a non-blockchain system, such as PBFT, use voting or a round-robin style to elect leaders.
- Bits represent the state of a transistor and occupy a finite amount of space in storage. PoCapacity methods allocate a user some stake in the system by requiring that a proportion of storage is kept aside. If the computer is a blockchain node, the allocation cannot be used for other purposes. PoMemory requires access to volatile storage; Ethash (Ethereum) commits a pseudorandom dataset to a DAG which grows linearly resulting in access that is limited by the memory bandwidth [18]. Storage volumes tend to scale more slowly than computer processor clock-cycles and can reduce the domination of performance-enhanced processor architectures, such as Application Specific Integrated Circuits (ASICs).
- Time is independent of computing advances. As clock-cycles and read/write times reduce, blockchains secured by these resources may be exposed to unforeseen factors. Thus, PoET processors provide additional execution environments or enclaves, that cannot be accessed by the system. These modules can return a random delay to a process that can then be used to assign block proposers.
- Biometrics are a range of indicators that can verify identity or life. Similar to a PoW hash function requiring a known average number of clock-cycles, a blockchain based on proof-of-biometrics can require a unique biological solution. While biometrics are typically understood to be consistent parameters, such as facial, iris, voice, and fingerprint recognition systems, other systems may include affordances available only to humans or to specific humans. To be successful, such a system must be easy to use, require minimal input, and validate or authenticate rapidly. For example, the Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) system is easy for humans to solve but difficult for a computer.
5. Taxonomy Evaluation
6. Discussion
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 6 May 2020).
- Bano, S.; Sonnino, A.; Al-Bassam, M.; Azouvi, S.; McCorry, P.; Meiklejohn, S.; Danezis, G. SoK: Consensus in the Age of Blockchains. Available online: https://arxiv.org/pdf/1711.03936.pdf (accessed on 6 May 2020).
- Lindsay, B.G.; Selinger, P.G.; Galtieri, C.; Gray, J.N.; Lorie, R.; Price, T.G.; Putzolu, F.; Traiger, I.L.; Wade, B.W. Notes on Distributed Databases; Technical Report RJ2571; IBM: San Jose, CA, USA, 1979. [Google Scholar]
- Attiya, H.; Welch, J. Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd ed.; John Wiley & Sons, Inc.: New York, NY, USA, 2004. [Google Scholar] [CrossRef]
- Gray, J.N. Notes on Data Base Operating Systems. In Operating Systems: An Advanced Course; Springer: Berlin/Heidelberg, Germany, 1978; pp. 393–481. [Google Scholar] [CrossRef]
- Oki, B.M.; Liskov, B.H. Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems. In Proceedings of the Annual ACM Symposium on Principles of Distributed Computing, Toronto, ON, Canada, 15–17 August 1988; pp. 8–17. [Google Scholar] [CrossRef]
- Lamport, L. The part-time parliament. ACM Trans. Comput. Syst. 1998, 16, 133–169. [Google Scholar] [CrossRef]
- Lamport, L.; Shostak, R.; Pease, M. The Byzantine Generals Problem. ACM Trans. Program. Lang. Syst. 1982, 4, 382–401. [Google Scholar] [CrossRef] [Green Version]
- Pease, M.; Shostak, R.; Lamport, L. Reaching Agreement in the Presence of Faults. J. Assoc. Comput. Mach. 1980, 27, 228–234. [Google Scholar] [CrossRef] [Green Version]
- Fischer, M.J.; Lynch, N.A.; Paterson, M.S. Impossibility of Distributed Consensus with One Faulty Process. ACM 1985, 32, 374–382. [Google Scholar] [CrossRef]
- Castro, M.; Liskov, B. Practical Byzantine Fault Tolerance. In Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, LA, USA, 22–25 February 1999; Volume 99, pp. 173–186. [Google Scholar]
- Cachin, C. State Machine Replication with Byzantine Faults. In Lecture Notes in Computer Science; Charron-Bost, B., Pedone, F., Schiper, A., Eds.; Replication; Springer: Heidelberg, Germany, 2010; Volume 5959. [Google Scholar] [CrossRef] [Green Version]
- Dwork, C.; Naor, M. Pricing Via Processing or Combatting Junk Mail. In Proceedings of the 12th CRYPTO ’92 Annual International Cryptology Conference on Advances in Cryptology, Santa Barbara, CA, USA, 16–20 August 1992; p. 11. [Google Scholar]
- Back, A. Hashcash—A Denial of Service Counter-Measure. Available online: http://www.hashcash.org/ (accessed on 6 May 2020).
- Schär, F. Blockchain Forks: A Formal Classification Framework and Persistency Analysis; World Scientific Europe: London, UK, 2020. [Google Scholar] [CrossRef]
- Nickerson, R.C.; Varshney, U.; Muntermann, J. A Method for Taxonomy Development and Its Application in Information Systems. Eur. J. Inf. Syst. 2013, 22, 336–359. [Google Scholar] [CrossRef]
- Szopinski, D.; Schoormann, T.; Kundisch, D. Because Your Taxonomy Is Worth It: Towards a Framework for Taxonomy Evaluation. In Proceedings of the 27th European Conference on Information Systems (ECIS), Uppsala, Sweden, 8–14 June 2019; pp. 1–19. [Google Scholar]
- Wang, W.; Hoang, D.T.; Hu, P.; Xiong, Z.; Niyato, D.; Wang, P.; Wen, Y.; Kim, D.I. A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks. IEEE Access 2019, 7, 22328–22370. [Google Scholar] [CrossRef]
- Xiao, Y.; Zhang, N.; Lou, W.; Hou, Y.T. A Survey of Distributed Consensus Protocols for Blockchain Networks. Available online: http://arxiv.org/abs/1904.04098 (accessed on 6 May 2020).
- Dinh, T.T.A.; Liu, R.; Zhang, M.; Chen, G.; Ooi, B.C.; Wang, J. Untangling Blockchain: A Data Processing View of Blockchain Systems. IEEE Trans. Knowl. Data Eng. 2018, 30, 1366–1385. [Google Scholar] [CrossRef] [Green Version]
- Cachin, C.; Vukolic, M. Blockchain Consensus Protocols in the Wild. Available online: http://arxiv.org/pdf/1707.01873v2.pdf (accessed on 6 May 2020).
- Chalaemwongwan, N.; Kurutach, W. State of the art and challenges facing consensus protocols on blockchain. In Proceedings of the 2018 IEEE International Conference on Information Networking (ICOIN), Chiang Mai, Thailand, 10–12 January 2018; pp. 957–962. [Google Scholar] [CrossRef]
- Bach, L.; Mihaljevic, B.; Zagar, M. Comparative Analysis of Blockchain Consensus Algorithms. In Proceedings of the 2018 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, 21–25 May 2018; pp. 1545–1550. [Google Scholar] [CrossRef]
- Chaudhry, N.; Yousaf, M.M. Consensus Algorithms in Blockchain: Comparative Analysis, Challenges and Opportunities. In Proceedings of the 2018 12th International Conference on Open Source Systems and Technologies (ICOSST), Lahore, Pakistan, 19–21 December 2018; pp. 54–63. [Google Scholar] [CrossRef]
- Tasca, P.; Tessone, C. Taxonomy of Blockchain Technologies. Principles of Identification and Classification. Ledger 2019, 1, 1–39. [Google Scholar] [CrossRef]
- Glaser, F.; Bezzenberger, L. Beyond Cryptocurrencies—A Taxonomy of Decentralized Consensus Systems. In Proceedings of the 23rd European Conference on Information Systems (ECIS), Münster, Germany, 26–29 May 2015; pp. 1–18. [Google Scholar] [CrossRef]
- Xu, X.; Weber, I.; Staples, M.; Zhu, L.; Bosch, J.; Bass, L.; Pautasso, C.; Rimba, P. A Taxonomy of Blockchain-Based Systems for Architecture Design. In Proceedings of the 2017 IEEE International Conference on Software Architecture, ICSA 2017, Gothenburg, Sweden, 3–7 April 2017; pp. 243–252. [Google Scholar] [CrossRef]
- Wieninger, S.; Schuh, G.; Fischer, V. Development of a Blockchain Taxonomy. In Proceedings of the 2019 IEEE International Conference on Engineering, Technology and Innovation (ICE/ITMC), Sophia Antipolis, France, 17–19 June 2019; pp. 1–9. [Google Scholar] [CrossRef]
- Garay, J.A.; Kiayias, A. SoK: A Consensus Taxonomy in the Blockchain Era. Available online: https://eprint.iacr.org/2018/754.pdf (accessed on 6 May 2020).
- Bailey, K.D. Typologies and Taxonomies: An Introduction to Classification Techniques. In Quantitative Applications in the Social Sciences; Sage Publications: Newbury Park, CA, USA, 1994; pp. 7–102. [Google Scholar]
- Eyal, I.; Sirer, E.G. Majority Is not Enough: Bitcoin Mining Is Vulnerable. Financ. Cryptogr. Data Secur. 2014, 436–454. [Google Scholar] [CrossRef]
- Buterin, V.; Griffith, V. Casper the Friendly Finality Gadget. Available online: http://arxiv.org/abs/1710.09437 (accessed on 6 May 2020).
- Garay, J.; Kiayias, A.; Leonardos, N. Full Analysis of Nakamoto Consensus in Bounded-Delay Networks. Available online: https://eprint.iacr.org/2020/277.pdf (accessed on 19 November 2020).
- Miller, A.; Xia, Y.; Croman, K.; Shi, E.; Song, D. The Honey Badger of BFT Protocols. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security—CCS’16, Vienna, Austria, 24–28 October 2016; ACM Press: New York, NY, USA, 2016; pp. 31–42. [Google Scholar] [CrossRef] [Green Version]
- Rocket, T. Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies. Available online: https://ipfs.io/ipfs/QmUy4jh5mGNZvLkjies1RWM4YuvJh5o2FYopNPVYwrRVGV (accessed on 25 October 2020).
- Pass, R.; Shi, E. Thunderella: Blockchains with Optimistic Instant Confirmation. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics; Springer: Berlin/Heidelberg, Germany, 2018; pp. 3–33. [Google Scholar] [CrossRef]
- Baudet, M.; Ching, A.; Chursin, A.; Danezis, G.; Garillot, F.; Li, Z.; Malkhi, D.; Naor, O.; Perelman, D.; Sonnino, A. State Machine Replication in the Libra Blockchain. Available online: https://developers.libra.org/docs/state-machine-replication-paper (accessed on 6 May 2020).
- The Gemini Dollar: A Regulated Stable Value Coin. Available online: https://gemini.com/static/dollar/gemini-dollar-whitepaper.pdf (accessed on 6 May 2020).
- Bessani, A.; Sousa, J.A.J.; Alchieri, E.E.P. State Machine Replication for the Masses with BFT-SMART. In Proceedings of the 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Atlanta, GA, USA, 23–26 June 2014; pp. 355–362. [Google Scholar] [CrossRef] [Green Version]
- Park, S.; Alwen, J.; Fuchsbauer, G.; Gazi, P.; Pietrzak, K. SpaceMint: A Cryptocurrency Based on Proofs of Space. Available online: https://eprint.iacr.org/2015/528.pdf (accessed on 6 May 2020).
- Benet, J.; Greco, N. Filecoin: A Decentralized Storage Network. Available online: https://filecoin.io/filecoin.pdf (accessed on 6 May 2020).
Name | Consensus Family | [21] | [2] | [20] | [22] | [23] | [24] | [25] | [18] | [19] |
---|---|---|---|---|---|---|---|---|---|---|
PoW (Bitcoin) | PoW | • | • | • | • | • | • | • | • | • |
Bitcoin NG | PoW | • | • | • | ||||||
PoBurn | PoW | • | • | |||||||
Decor + hop | PoW | • | ||||||||
Ghost | PoW | • | ||||||||
Scratch-off puzzles | PoW | • | ||||||||
PoParticipation and Fees | PoW | • | ||||||||
Spectre | PoW | • | ||||||||
PoPublication | PoW | • | ||||||||
PeerCensus | PoW | • | • | |||||||
ColorCoin | PoW | • | ||||||||
Counterparty | PoW | • | ||||||||
Hyperspace (prev. Synereo) | PoW | • | ||||||||
Multichain | PoW | • | ||||||||
NameCoin | PoW | • | ||||||||
Omni Layer (prev. MasterCoin) | PoW | • | ||||||||
Po eXercise | PoW | • | • | |||||||
PoUseful Work | PoW | • | ||||||||
PoStake | PoS | • | • | • | • | • | • | • | • | |
Algorand | PoS | • | • | • | ||||||
Ouroboros ( + Praos) | PoS | • | • | • | ||||||
PoActivity | PoS | • | • | • | ||||||
Snow White | PoS | • | • | • | ||||||
Casper | PoS | • | • | |||||||
NXT (Ardor) | PoS | • | • | |||||||
Chain of Activity | PoS | • | ||||||||
PoStake Velocity | PoS | • | ||||||||
Hyperledger | PBFT | • | • | • | • | • | • | |||
Implicit Consensus | PBFT | • | ||||||||
Iroha | PBFT | • | ||||||||
Kadena (Juno) | PBFT | • | • | |||||||
Honeybadger | PBFT | • | • | • | ||||||
Hybrid Consensus | PBFT + PoW | • | ||||||||
Omni Ledger | PBFT + PoW | • | ||||||||
ByzCoin | PBFT + PoW | • | • | |||||||
Solidus | PBFT + PoW | • | ||||||||
Elastico | PBFT | • | • | |||||||
Chainspace | PBFT | • | ||||||||
Ripple | FBA | • | • | • | • | • | • | • | ||
Stellar | FBA | • | • | • | • | |||||
Chain | FBA | • | ||||||||
DelegatedPoStake | DPoS | • | • | • | • | • | ||||
PoAuthority | DPoS | • | • | • | ||||||
PoImportance | DPoS | • | • | |||||||
Dfinity | DPoS | • | ||||||||
PoVote | DPoS | • | ||||||||
Sawtooth Lake | PoET | • | • | • | • | • | • | |||
PoLuck | PoET | • | • | |||||||
Resource Efficient Mining | PoET | • | • | |||||||
PoOwnership | PoET | • | ||||||||
Raft | Raft | • | • | |||||||
PoTrust | Raft | • | ||||||||
Quorum (JPMorgan) | Raft | • | ||||||||
Tendermint | BFT | • | • | • | • | • | • | |||
Cosmos | BFT | • | ||||||||
Corda (& Enterprise) | BFT SMaRt + Raft | • | • | |||||||
BFT SMaRt | BFT SMaRt | • | • | |||||||
Symbiont Assembly | BFT SMaRt | • | ||||||||
PoCapacity | PoCapacity | • | • | • | • | |||||
IOTA | Hash DAG | • | • | |||||||
Hashgraph (Swirlds) | Hash DAG | • | ||||||||
Paxos | Paxos | • | ||||||||
PoHumanWork | PoBiometrics | • | ||||||||
PoMemory (memory-hard) | PoMemory | • | ||||||||
Ethash | PoMemory | • | ||||||||
PoSpace | PoSpace | • | • | • | • | • | ||||
Filecoin | PoSpaceTime | • | ||||||||
Peercoin | PoS + Coin Age | • | • | |||||||
RSCoin | 2PC | • |
Consensus Method | Occurrences | (Continued) | |
---|---|---|---|
PoW | 33 | BFT SMaRt | 4 |
PoS | 27 | PoCapacity | 4 |
PBFT | 20 | Hash DAG | 3 |
FBA | 13 | Honeybadger | 3 |
DPoS | 12 | PoCoinAge | 2 |
PoET | 11 | PoMemory | 2 |
Raft | 8 | 2PC | 1 |
Tendermint (BFT) | 7 | Paxos | 1 |
PoSpace | 5 | PoBiometrics | 1 |
PoSpaceTime | 1 |
Scarce Resource | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Consensus Method | bits | time | clock-cycles | tokens | biology | votes | Fault Tolerance | Transaction Finality | Network Timing | Block Proposal | Network Accessibility | Network Comm. | Example Blockchain |
PBFT | • | 3f+1 | D | partial | election | public/private | trusted | Hyperledger Sawtooth | |||||
BFT-SMaRt | • | 3f+1 | D | partial | election | private | trusted | R3 Corda | |||||
Federated BA | • | 5f+1 to 3f+1 | D | partial | committee | consortium | both | Stellar, Ripple | |||||
Honeybadger | • | 3f+1 | P | async. | random | public/private | both | POA Network | |||||
2PC | • | 2c+1 | D | async. | none | private | trusted | RSCoin | |||||
Paxos | • | 2c+1 | D | async. | election | private | trusted | none | |||||
Raft | • | 2c+1 | D | async. | election | private | trusted | Quorum | |||||
Hashgraph | • | 3f+1 | P | async. | none | private | p2p | Hashgraph, IOTA | |||||
DPoS | • | • | 3f+1 to 2f+1 | P | synch. | committee | all | trusted | Steemit, EOS, Bitshares | ||||
PoS | • | 3f+1 | P | s,p | committee | all | trusted | Ethereum, Decred | |||||
Tendermint | • | 3f+1 | D | partial | election | private | both | Cosmos | |||||
PoW | • | 50% | P | synch. | random | public | p2p | Bitcoin | |||||
PoCoinAge | • | • | 50% | P | synch. | random | public | p2p | Peercoin/Ppcoin | ||||
PoElapsedTime | • | 2c+1 | P | synch. | random | public | trusted | Hyperledger Sawtooth | |||||
PoRetrievability | • | 50% | P | synch. | random | public | p2p | Permacoin (PoR) | |||||
PoSpace | • | 50% | P | synch. | random | public | p2p | Spacemint | |||||
PoSpaceTime | • | • | 50% | P | synch. | random | public | p2p | Filecoin | ||||
PoMemory | • | • | 50% | P | synch. | random | public | p2p | Zcash, Beam | ||||
PoHumanWork | • | • | - | - | - | - | - | - | none |
Case | SR | FT | BP | TF | NT | NA | NC |
---|---|---|---|---|---|---|---|
Avalanche | votes | none | probabalistic | S | public | p2p | |
Thunderella | cc, votes | 25%–50% | election | deterministic | A , S | public, private | p2p, trusted |
LibraBFT | votes | committee | deterministic | P | consortium | trusted | |
Gemini | cc | 50% | random | probabalistic | S | public | trusted |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Nijsse, J.; Litchfield, A. A Taxonomy of Blockchain Consensus Methods. Cryptography 2020, 4, 32. https://doi.org/10.3390/cryptography4040032
Nijsse J, Litchfield A. A Taxonomy of Blockchain Consensus Methods. Cryptography. 2020; 4(4):32. https://doi.org/10.3390/cryptography4040032
Chicago/Turabian StyleNijsse, Jeff, and Alan Litchfield. 2020. "A Taxonomy of Blockchain Consensus Methods" Cryptography 4, no. 4: 32. https://doi.org/10.3390/cryptography4040032
APA StyleNijsse, J., & Litchfield, A. (2020). A Taxonomy of Blockchain Consensus Methods. Cryptography, 4(4), 32. https://doi.org/10.3390/cryptography4040032