Abstract
Blockchain is a disruptive technology that will revolutionize the Internet and our way of living, working, and trading. However, the consensus protocols of most blockchain-based public systems show vulnerabilities and performance limitations that hinder the mass adoption of blockchain. This paper presents and compares the main proof-based consensus protocols, focusing on the security and performance of each consensus protocol. Proof-based protocols use the probabilistic consensus model and are more suitable for public environments with many participants, such as the Internet of Things (IoT). We highlight the centralization tendency and the main vulnerabilities of Proof of Work (PoW), Proof of Stake (PoS), and their countermeasures. We also analyze and compare alternative proof-based protocols, such as Proof of Elapsed Time (PoET), Proof of Burn (PoB), Proof of Authority (PoA), and Delegated Proof of Stake (DPoS). Finally, we analyze the security of the IOTA consensus protocol, a DAG-based platform suited for the IoT environment.
Similar content being viewed by others
Notes
Satoshi Nakamoto is a pseudonym used by the creator or creators of the Bitcoin cryptocurrency. The real identity is unknown.
The network nodes are identified by an asymmetric key pair, that provides a some level of anonymity. However, curious nodes can infer identity information based on blockchain history.
This paper considers the terms nodes, pair, computer, component and process as synonyms for a consensus participant.
The terms \( \hat {x} \) and \( \hat {y} \) refer to the local values of the consensus participant p and the terms x and y refer to the values as seen by an agent outside the system.
A correct consensus participant is a participant that is not in a failed state.
Some authors refer to crash faults as fail-stop failures. We consider both terms equivalent.
FLP is an acronym in honor of its authors: Michael J. Fischer, Nancy Lynch, and Mike Paterson.
The name “miner” derives from the difficulty and enormous work required to overcome the mathematical challenge.
Available at https://btc.com/stats/pool. Accessed 15th March 2021.
The Bitcoin Gold cryptocurrency, at the time the 26a largest currency, suffered a 51% attack in May 2018. The attackers double-spent for several days and stole more than US$18 million in Bitcoin Gold.
The Krypton and Shift blockchains suffered 51% attacks in August 2016.
Conflicting paths are paths that start from the same source block and have the same height and, therefore, it is not enough to apply Nakamoto’s rule of the largest chain [63].
Finalizing a path means considering it as the correct path between conflicting paths.
Altruistic participants are participants who preserve the proper functioning of the system, validating only one of the possible paths
PoET is the main consensus protocol used in the Hyperledger Sawtooth platform, which is maintained by the Linux Foundation.
Z-score measures how much the winning rate deviates from the expected mean.
Over 2,100 bitcoins were burned, which exceeds 109 million dollars today’s price, to create XCP in January 2014.
Some authors refer to Algorand’s consensus protocol as Pure Proof of Stake (PPoS).
Available at https://geth.ethereum.org/. Accessed 15th March 2021.
Available at https://www.parity.io/ethereum/. Accessed 15th March 2021.
Available at https://openethereum.github.io/Aura. Accessed 15th March 2021.
The number of delegates, size of time windows, and total received time are optimized by Dan Larimer for the EOSIO implementation. The optimal values may change in different environments.
In the current implementation of IOTA, the number of confirmations required to add a transaction to the network is exactly two.
References
Alvarenga ID, Rebello GAF, Duarte OCMB (2018) Securing configuration management and migration of virtual network functions using blockchain. In: IEEE/IFIP NOMS 2018, Pp. 1–9
Taaki A et al (2014) OpenBazaar. https://openbazaar.org/
Angelis SD, Aniello L, Baldoni R, Lombardi F, Margheri A, Sassone V (2018) PBFT vs proof-of-authority: applying the CAP theorem to permissioned blockchain. In: Italian Conference on Cyber Security (06/02/18). https://eprints.soton.ac.uk/415083/
Attiya H, Bar-Noy A, Dolev D (1995) Sharing memory robustly in message-passing systems. Journal of the ACM (JACM) 42(1):124–142
Bahack L (2013) Theoretical Bitcoin attacks with less than half of the computational power (draft). arXiv preprint arXiv:1312.7013
Bano S et al (2017) Consensus in the age of blockchains. CoRR abs/1711.03936. 1711.03936
Bessani A, Sousa J, Alchieri EEP (2014) State machine replication for the masses with BFT-SMART. In: 2014 44Th annual IEEE/IFIP international conference on dependable systems and networks, pp 355–362. https://doi.org/10.1109/DSN.2014.43
BitcoinWiki (2019) Bitcoin scalability. https://en.bitcoin.it/wiki/Scalability
Bonneau J, Felten EW, Goldfeder S, Kroll JA, Narayanan A (2016) Why buy when you can rent?. In: ICFCDS, pp 19–26. Springer
Bravo-Marquez F, Reeves S, Ugarte M (2019) Proof-of-learning: a blockchain consensus mechanism based on machine learning competitions. In: International conference on decentralized applications and infrastructures (DAPPCON), pp 119–124. IEEE
Brown-Cohen J, Narayanan A, Psomas A, Weinberg SM (2019) Formal barriers to longest-chain proof-of-stake protocols. In: Proceedings of the 2019 ACM Conference on Economics and Computation, pp 459–473
Bu G, Gürcan Ö, Potop-Butucaru M (2019) G-IOTA: Fair and confidence aware tangle. In: IEEE INFOCOM WKSHPS, pp 644–649
Buterin V (2019) Proof-of-Stake FAQ. https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ
Camilo GF, Rebello GAF, de Souza LAC, Duarte OCMB (2020) A secure personal-data trading system based on blockchain, trust, and reputation. In: 2020 IEEE International conference on blockchain (blockchain), pp 379–384. https://doi.org/10.1109/Blockchain50366.2020.00055
Camilo GF, Rebello GAF, de Souza LAC, Duarte OCMB (2020) Autavailchain: Automatic and secure data availability through blockchain. In: IEEE GLOBECOM, pp 1–6
Carrara GR, Burle LM, Medeiros DS, de Albuquerque CVN, Mattos DM (2020) Consistency, availability, and partition tolerance in blockchain: a survey on the consensus mechanism over peer-to-peer networking. Ann Telecommun, pp 1–12
Castro M, Liskov B (1999) Practical byzantine fault tolerance. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99. USENIX Association, USA, pp 173–186
Chen L, Xu L, Shah N, Gao Z, Lu Y, Shi W (2017) On security analysis of proof-of-elapsed-time (poET). In: International symposium on stabilization, safety, and security, pp 282–297. Springer
Clark J, Essex A (2012) Commitcoin: Carbon dating commitments with bitcoin. In: International conference on financial cryptography and data security, pp 390–398. Springer
Conti M, Kumar ES, Lal C, Ruj S (2018) A survey on security and privacy issues of Bitcoin. IEEE Communications Surveys & Tutorials 20(4):3416–3452
Costa LHMK, Fdida S, Duarte OCMB (2006) Incremental service deployment using the hop-by-hop multicast routing protocol. IEEE/ACM Trans Networking 14(3):543–556
Costan V, Devadas S (2016) Intel SGX explained. IACR Cryptol. ePrint Arch. 2016(86):1–118
Coulouris G, Dollimore J, Kindberg T, Blair G (2011) Distributed systems: Concepts and design. 5th. USA: Addison-Wesley Publishing Company 662:665–668
cryptoID (2021) Slimcoin Blockchain Explorer. https://chainz.cryptoid.info/slm/
Dang H, Dinh A, Chang EC, Ooi BC (2018) Chain of trust:, Can trusted hardware help scaling blockchains? arXiv preprint arXiv:1804.00399
Decentralized Web (2017) Slimcoin: First Proof of Burn currency. https://bitcointalk.org/index.php?topic=1141676.1915;wap2
Deirmentzoglou E, Papakyriakopoulos G, Patsakis C (2019) A survey on long-range attacks for proof of stake protocols. IEEE Access 7:28712–28725
Dermody R., Krellenstein A., Slama O. (2014) Counterparty. https://counterparty.io/
Digiconomist (2020) Bitcoin Energy Consumption Index. https://digiconomist.net/bitcoin-energy-consumption/
Dinh TTA, Wang J, Chen G, Liu R, Ooi BC, Tan KL (2017) BLOCKBENCH: A Framework for Analyzing Private Blockchains. In: Proceedings of the 2017 ACM International Conference on Management of Data, SIGMOD ’17, pp 1085–1100. Association for Computing Machinery, New York, NY, USA. https://doi.org/10.1145/3035918.3064033
Dong Y, Boutaba R (2019) Elasticoin: Low-volatility cryptocurrency with proofs of sequential work. In: 2019 IEEE International conference on blockchain and cryptocurrency (ICBC), pp 205–209. IEEE
Ekparinya P, Gramoli V, Jourjon G (2019) The attack of the clones against proof-of-authority. arXiv preprint arXiv:1902.10244
Eyal I, Sirer EG (2018) Majority is Not Enough: Bitcoin Mining is Vulnerable. Commun. ACM 61(7):95–102. https://doi.org/10.1145/3212998
Finney H (2011) Best practice for fast transaction acceptance-how high is the risk?. https://bitcointalk.org/index.php?topic=3441.msg48384#msg48384
Fischer MJ, Lynch NA, Paterson MS (1985) Impossibility of distributed consensus with one faulty process. JACM 32(2):374–382
Gervais A, Karame GO, Wüst K, Glykantzis V, Ritzdorf H, Capkun S (2016) On the security and performance of proof of work blockchains. In: ACM SIGSAC, pp 3–16
Gilad Y, Hemo R, Micali S, Vlachos G, Zeldovich N (2017) Algorand: Scaling byzantine agreements for cryptocurrencies. In: Proceedings of the 26th Symposium on Operating Systems Principles, pp 51–68
Hadzilacos V, Toueg S (1994) A Modular Approach to the Specification and Implementation of Fault-Tolerant Broadcasts. Tech. rep., Department of Computer Science, Cornell University, New York - USA
Heilman E, Kendler A, Zohar A, Goldberg S (2015) Eclipse attacks on bitcoin’s peer-to-peer network. In: USENIX Security’15, pp 129–144
Hoang VH, Lehtihet E, Ghamri-Doudane Y (2020) Privacy-preserving blockchain-based data sharing platform for decentralized storage systems. In: 2020 IFIP Networking conference (networking), pp 280–288. IEEE
Stewart I (2012) Proof of Burn. https://en.bitcoin.it/wiki/Proof_of_burn
Stewart I (2012) Proof of burn - a potential alternative to proof of work and proof of stake. https://bitcointalk.org/index.php?topic=131139.msg1404195
InfStones (2018) The Economics of EOS Blockchain. https://medium.com/infstones/the-economics-of-eos-blockchain-621d5d1e45b8
Ismail L, Materwala H (2019) A review of blockchain architecture and consensus protocols: Use cases, challenges, and solutions. Symmetry 11(10):1198
Johnson B, Laszka A, Grossklags J, Vasek M, Moore T (2014) Game-theoretic analysis of DDos attacks against Bitcoin mining pools. In: ICFCDS, pp 72–86
Joshi AP, Han M, Wang Y (2018) A survey on security and privacy issues of blockchain technology. MFC 1(2):121
Karame GO, Androulaki E, Capkun S (2012) Double-spending fast payments in bitcoin. In: ACM CCS 2012, Pp. 906–917
Karantias K, Kiayias A, Zindros D (2020) Proof-of-burn. In: International conference on financial cryptography and data security, pp 523–540. Springer
Kiayias A, Russell A, David B, Oliynykov R (2017) Ouroboros: a provably secure proof-of-stake blockchain protocol. In: CRYPTO, pp 357–388
King S, Nadal S (2012) PPCOin: Peer-to-peer crypto-currency with proof-of-stake. self-published paper, August 19
Kwon J (2014) Tendermint: Consensus without mining. Draft v. 0.6 fall 1(11)
Kwon J, Buchman E (2019) Cosmos whitepaper
Lamport L (1998) The part-time parliament. ACM Transactions Computer Systems 16(2):133–169
Lamport L, Shostak R, Pease M (1982) The Byzantine Generals Problem. ACM TOPLAS 4(3):382–401. https://doi.org/10.1145/357172.357176
Larimer D (2017) DPoS Consensus Algorithm - The Missing White Paper. https://steemit.com/dpos/@dantheman/dpos-consensus-algorithm-this-missing-white-paper
Larimer D (2017) EOS.IO White Paper. https://developers.eos.io/-welcome/latest/protocol/consensus_protocol
Larimer D et al (2018) EOS.IO Technical White Paper v2. https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md
Li K, Li H, Hou H, Li K, Chen Y (2017) Proof of vote: a high-performance consensus protocol based on vote mechanism amp; consortium blockchain. In: 2017 IEEE 19Th international conference on high performance computing and communications; IEEE 15th international conference on smart city; IEEE 3rd international conference on data science and systems (HPCC/smartcity/DSS), pp 466–473. https://doi.org/10.1109/HPCC-SmartCity-DSS.2017.61
Li W, Andreina S, Bohli JM, Karame G (2017) Securing proof-of-stake blockchain protocols. In: DPM/CBT, pp 297–315. Springer
Li X, Jiang P, Chen T, Luo X, Wen Q (2020) A survey on the security of blockchain systems. FGCS 107:841–853
Lunardi RC, Michelin RA, Neu CV, Zorzo AF (2018) Distributed access control on IoT ledger-based architecture. In: NOMS 2018-2018 IEEE/IFIP Network operations and management symposium, pp 1–7. IEEE
Mossé D, Pötter H, Lee S (2020) Maintaining privacy and utility in IoT system analytics. In: 2020 Second IEEE international conference on trust, privacy and security in intelligent systems and applications (TPS-ISA), pp 157–164. IEEE
Nakamoto S (2008) Bitcoin: A peer-to-peer electronic cash system. https://bitcoin.org/bitcoin.pdf
Natoli C, Yu J, Gramoli V, Esteves-Verissimo P (2019) Deconstructing blockchains: A comprehensive survey on consensus, membership and structure. arXiv preprint arXiv:1908.08316
Nguyen DC, Pathirana PN, Ding M, Seneviratne A (2020) Blockchain and edge computing for decentralized emrs sharing in federated healthcare. In: GLOBECOM 2020-2020 IEEE Global communications conference, pp 1–6. IEEE
Nguyen DC, Pathirana PN, Ding M, Seneviratne A (2020) Blockchain for 5g and beyond networks: a state of the art survey. Journal of Network and Computer Applications p 102693
NXT community (2014) Nxt whitepaper. https://nxtwiki.org/wiki/Whitepaper:Nxt
Oliveira MT, et al. (2019) Towards a performance evaluation of private blockchain frameworks using a realistic workload. In: ICIN, pp 180–187. IEEE
de Oliveira MT, et al. (2020) Blockchain reputation-based consensus: a scalable and resilient mechanism for distributed mistrusting applications. Computer Networks p 107367
Olson K, Bowman M, Mitchell J, Amundson S, Middleton D, Montgomery C (2018) Sawtooth: an introduction linux foundation
P4Titan (2014) Slimcoin a peer-to-peer crypto-currency with proof-of-burn “Mining without Powerful Hardware”. https://github.com/slimcoin-project/slimcoin-project.github.io/raw/master/whitepaperSLM.pdf
Popov S (2017) The Tangle. cit. on p. 131. http://www.descryptions.com/Iota.pdf
Praveen G, Anand M, Singh PK, Ranjan P (2020) An overview of blockchain consensus and vulnerability. In: International conference on information and communication technology for intelligent systems, pp 459–468. Springer
Rebello GAF, Alvarenga ID, Sanz IJ, Duarte OCM (2019) BSEc-NFVO: A blockchain-based security for network function virtualization orchestration. In: IEEE ICC, pp 1–6
Rebello GAF, Camilo GF, Guimarães LCB, de Souza LAC, Duarte OCMB (2020) On the security and performance of proof-based consensus protocols. In: 2020 4Th conference on cloud and internet of things (CIot), pp 67–74. https://doi.org/10.1109/CIoT50422.2020.9244295
Rebello GAF, et al. (2019) Providing a sliced, secure, and isolated software infrastructure of virtual functions through blockchain technology. In: IEEE HPSR, pp 1–6
van Schaik S, Kwong A, Genkin D, Yarom Y (2020) SGAxe: How SGX fails in practice
Schwartz D, Youngs N, Britto A (2014) The ripple protocol consensus algorithm. Ripple Labs Inc White Paper. https://ripple.com/files/ripple_consensus_whitepaper.pdf
de Souza LAC, Rebello GAF, Camilo GF, Guimarães LC, Duarte OCM (2020) DFEdforest: decentralized federated forest. In: 2020 IEEE International conference on blockchain (blockchain), pp 90–97. IEEE
Wang W et al (2018) A survey on consensus mechanisms and mining management in blockchain networks. CoRR abs/1805.02707. 1805.02707
Wood G (2014) Ethereum: A secure decentralised generalised transaction ledger. http://bitcoinaffiliatelist.com/wp-content/uploads/ethereum.pdf
Xiao Y, Zhang N, Lou W, Hou YT (2020) Modeling the impact of network connectivity on consensus security of proof-of-work blockchain. arXiv preprint arXiv:2002.08912
Xiao Y, Zhang N, Lou W, Hou YT (2020) A survey of distributed consensus protocols for blockchain networks. IEEE Communications Surveys & Tutorials 22(2):1432–1465
Xu B, Luthra D, Cole Z, Blakely N (2018) EOS: An architectural, performance, and economic analysis. Retrieved June 11, 2019
Yu B, Liu J, Nepal S, Yu J, Rimba P (2019) Proof-of-qos: Qos based blockchain consensus protocol. Computers & Security 87:101580
Zhang P, Zhou M (2020) Security and trust in blockchains: Architecture, key technologies, and open issues. IEEE TCSS 7(3):790–801
Funding
This work was financed by CNPq, CAPES, FAPERJ, and FAPESP (2018/23292-0, 15/24485-9, 14/50937-1).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Rebello, G.A.F., Camilo, G.F., Guimarães, L.C.B. et al. A security and performance analysis of proof-based consensus protocols. Ann. Telecommun. 77, 517–537 (2022). https://doi.org/10.1007/s12243-021-00896-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12243-021-00896-2