Revisiting Practical Byzantine Fault Tolerance Through Blockchain Technologies

The connection between Byzantine fault tolerance and cryptocurrencies, such as Bitcoin, may not be apparent immediately. Byzantine fault tolerance is intimately linked to engineering and design challenges of developing long-running and safety-critical technical systems. Its origins can be traced back to the question of how to deal with faulty sensors in distributed systems and the fundamental insight that majority voting schemes may be insufficient to guarantee correctness if arbitrary, or so-called Byzantine failures, can occur. However, achieving resilience against Byzantine failures has its price, both in terms of the redundancy required within a system and the incurred communication overhead. Together with the complexity of correctly implementing Byzantine fault-tolerant (BFT) protocols, it may help to explain why BFT systems have not yet been widely deployed in practice, even though practical designs exist for almost 20 years. On the other hand, asking anyone about Bitcoin or blockchain 10 years ago would have only raised quizzical looks. Since then, the ecosphere surrounding blockchain technologies has grown from the pseudonymously published proposal for a peer-to-peer electronic cash system into a multi-billion-dollar industry. At the heart of this success story lies not only the technical innovations presented by Bitcoin but a colorful and diverse community that has succeeded in bridging gaps and bringing together various disciplines from academia and industry alike. Bitcoin reinvigorated interest in the topic of BFT as it was arguably the first system that achieved a practical form of Byzantine fault tolerance with a large and changing number of participants. Research into the fundamental principles and mechanisms behind the underlying blockchain technology of Bitcoin has since helped advance the field and state of the art regarding BFT protocols. This chapter will outline how these modern blockchain technologies relate to the field of Byzantine fault tolerance and outline advantages and disadvantages in their design decisions and fundamental assumptions. Thereby, we highlight that Byzantine fault tolerance should be considered a practical and fundamental building block for modern long-running and safety critical systems and that the principles, mechanisms, and blockchain technologies themselves could help improve the security and quality of such systems.

[1]  J. Goldberg,et al.  SIFT: Design and analysis of a fault-tolerant computer for aircraft control , 1978, Proceedings of the IEEE.

[2]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[3]  John R. Douceur,et al.  The Sybil Attack , 2002, IPTPS.

[4]  Jeremy Clark,et al.  SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies , 2015, 2015 IEEE Symposium on Security and Privacy.

[5]  Qian Wang,et al.  USENIX Association Proceedings of FAST ’ 03 : 2 nd USENIX Conference on File and Storage Technologies , 2003 .

[6]  Christian Decker,et al.  Information propagation in the Bitcoin network , 2013, IEEE P2P 2013 Proceedings.

[7]  Silvio Micali,et al.  Algorand: Scaling Byzantine Agreements for Cryptocurrencies , 2017, IACR Cryptol. ePrint Arch..

[8]  Aleksander Berentsen Aleksander Berentsen Recommends “Bitcoin: A Peer-to-Peer Electronic Cash System” by Satoshi Nakamoto , 2019, 21st Century Economics.

[9]  Ittai Abraham,et al.  Hot-Stuff the Linear, Optimal-Resilience, One-Message BFT Devil , 2018, ArXiv.

[10]  Robert Griesemer,et al.  Paxos made live: an engineering perspective , 2007, PODC '07.

[11]  Carlos V. Rozas,et al.  Intel® Software Guard Extensions (Intel® SGX) Support for Dynamic Memory Management Inside an Enclave , 2016, HASP 2016.

[12]  Eli Ben-Sasson,et al.  Zerocash: Decentralized Anonymous Payments from Bitcoin , 2014, 2014 IEEE Symposium on Security and Privacy.

[13]  Abhi Shelat,et al.  Analysis of the Blockchain Protocol in Asynchronous Networks , 2017, EUROCRYPT.

[14]  Prateek Saxena,et al.  A Secure Sharding Protocol For Open Blockchains , 2016, CCS.

[15]  Christian Decker,et al.  Have a snack, pay with Bitcoins , 2013, IEEE P2P 2013 Proceedings.

[16]  Edgar R. Weippl,et al.  Merged Mining: Curse or Cure? , 2017, DPM/CBT@ESORICS.

[17]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[18]  Silvio Micali,et al.  ALGORAND: The Efficient and Democratic Ledger , 2016, ArXiv.

[19]  Marko Vukolic,et al.  The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication , 2015, iNetSeC.

[20]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[21]  Aggelos Kiayias,et al.  The Bitcoin Backbone Protocol: Analysis and Applications , 2015, EUROCRYPT.

[22]  Elaine Shi,et al.  On Scaling Decentralized Blockchains - (A Position Paper) , 2016, Financial Cryptography Workshops.

[23]  Emin Gün Sirer,et al.  Bitcoin-NG: A Scalable Blockchain Protocol , 2015, NSDI.

[24]  Norman Meuschke,et al.  Decentralized Trusted Timestamping using the Crypto Currency Bitcoin , 2015, ArXiv.

[25]  Miguel Castro,et al.  Practical byzantine fault tolerance and proactive recovery , 2002, TOCS.

[26]  Arvind Narayanan,et al.  Bitcoin and Cryptocurrency Technologies - A Comprehensive Introduction , 2016 .

[27]  Marko Vukolic,et al.  XFT: Practical Fault Tolerance beyond Crashes , 2015, OSDI.

[28]  Laura Ricci,et al.  Blockchain Based Access Control , 2017, DAIS.

[29]  Fergal Reid,et al.  An Analysis of Anonymity in the Bitcoin System , 2011, 2011 IEEE Third Int'l Conference on Privacy, Security, Risk and Trust and 2011 IEEE Third Int'l Conference on Social Computing.

[30]  Miguel Correia,et al.  Highly-Resilient Services for Critical Infrastructures , 2009 .

[31]  Marko Vukolic,et al.  The next 700 BFT protocols , 2010, EuroSys '10.

[32]  Miguel Correia,et al.  Efficient Byzantine Fault-Tolerance , 2013, IEEE Transactions on Computers.

[33]  Elaine Shi,et al.  Snow White: Provably Secure Proofs of Stake , 2016, IACR Cryptol. ePrint Arch..

[34]  Vitalik Buterin,et al.  Casper the Friendly Finality Gadget , 2017, ArXiv.

[35]  Elaine Shi,et al.  Thunderella: Blockchains with Optimistic Instant Confirmation , 2018, IACR Cryptol. ePrint Arch..

[36]  Paulo Veríssimo,et al.  Meeting the Challenges of Critical and Extreme Dependability and Security , 2017, 2017 IEEE 22nd Pacific Rim International Symposium on Dependable Computing (PRDC).

[37]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[38]  Marko Vukolic,et al.  The byzantine empire in the intercloud , 2010, SIGA.

[39]  Louise E. Moser,et al.  The SecureRing protocols for securing group communication , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[40]  Adam Back,et al.  Hashcash - A Denial of Service Counter-Measure , 2002 .

[41]  Aggelos Kiayias,et al.  Speed-Security Tradeoffs in Blockchain Protocols , 2015, IACR Cryptol. ePrint Arch..

[42]  Jonathan Katz,et al.  Byzantine Agreement with a Rational Adversary , 2012, ICALP.

[43]  Pawel Szalachowski,et al.  (Short Paper) Towards More Reliable Bitcoin Timestamps , 2018, 2018 Crypto Valley Conference on Blockchain Technology (CVCBT).

[44]  Michael Bedford Taylor,et al.  Bitcoin and the age of Bespoke Silicon , 2013, 2013 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

[45]  Yalin Chen,et al.  Improved on an efficient user authentication scheme for heterogeneous wireless sensor network tailored for the Internet of Things environment , 2016, IACR Cryptol. ePrint Arch..

[46]  Stefan Savage,et al.  A fistful of bitcoins: characterizing payments among men with no names , 2013, Internet Measurement Conference.

[47]  David Schwartz,et al.  The Ripple Protocol Consensus Algorithm , 2014 .

[48]  Elaine Shi,et al.  The Honey Badger of BFT Protocols , 2016, CCS.

[49]  Ghassan O. Karame,et al.  Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin , 2012, IACR Cryptol. ePrint Arch..

[50]  Wenchi Shou,et al.  The outlook of blockchain technology for construction engineering management , 2017 .

[51]  Stanislaw Jarecki,et al.  An Efficient Micropayment System Based on Probabilistic Polling , 1997, Financial Cryptography.

[52]  Bruno Dutertre,et al.  Intrusion-tolerant Enclaves , 2002, Proceedings 2002 IEEE Symposium on Security and Privacy.

[53]  Aggelos Kiayias,et al.  The Bitcoin Backbone Protocol with Chains of Variable Difficulty , 2017, CRYPTO.

[54]  Elaine Shi,et al.  Hybrid Consensus: Efficient Consensus in the Permissionless Model , 2016, DISC.

[55]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[56]  Aviv Zohar,et al.  Accelerating Bitcoin's Transaction Processing. Fast Money Grows on Trees, Not Chains , 2013, IACR Cryptol. ePrint Arch..

[57]  A. Juels,et al.  PROOFS OF WORK AND BREAD PUDDING PROTOCOLS (EXTENDED ABSTRACT) , 1999 .

[58]  Primavera De Filippi,et al.  The Invisible Politics of Bitcoin: Governance Crisis of a Decentralized Infrastructure , 2016 .

[59]  Rachid Guerraoui,et al.  Encapsulating Failure Detection: From Crash to Byzantine Failures , 2002, Ada-Europe.

[60]  Michael O. Rabin,et al.  Randomized byzantine generals , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[61]  Michael Dahlin,et al.  Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults , 2009, NSDI.

[62]  Wenbing Zhao,et al.  Byzantine fault tolerant collaborative editing , 2013 .

[63]  Beng Chin Ooi,et al.  BLOCKBENCH: A Framework for Analyzing Private Blockchains , 2017, SIGMOD Conference.

[64]  Stefan Dziembowski,et al.  PERUN: Virtual Payment Channels over Cryptographic Currencies , 2017, IACR Cryptol. ePrint Arch..

[65]  Srinivas Devadas,et al.  Intel SGX Explained , 2016, IACR Cryptol. ePrint Arch..

[66]  Elaine Shi,et al.  The Sleepy Model of Consensus , 2017, ASIACRYPT.

[67]  David Chaum,et al.  Blind Signatures for Untraceable Payments , 1982, CRYPTO.

[68]  Marko Vukolic,et al.  Eventually Returning to Strong Consistency , 2016, IEEE Data Eng. Bull..

[69]  Douglas M. Blough,et al.  An approach for fault tolerant and secure data storage in collaborative work environments , 2005, StorageSS '05.

[70]  Iddo Bentov,et al.  Proof of Activity: Extending Bitcoin's Proof of Work via Proof of Stake [Extended Abstract]y , 2014, PERV.

[71]  Marko Vukolic,et al.  Blockchain Consensus Protocols in the Wild , 2017, DISC.

[72]  Victor Shoup,et al.  Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography , 2000, Journal of Cryptology.

[73]  Leslie Lamport,et al.  Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. , 1984, TOPL.

[74]  Edmund L. Wong,et al.  BFT: the time is now , 2008, LADIS '08.

[75]  Moni Naor,et al.  Pricing via Processing or Combatting Junk Mail , 1992, CRYPTO.

[76]  Jaap-Henk Hoepman,et al.  Distributed Double Spending Prevention , 2007, Security Protocols Workshop.

[77]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[78]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

[79]  Aggelos Kiayias,et al.  Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol , 2017, CRYPTO.

[80]  Michael Dahlin,et al.  BAR gossip , 2006, OSDI '06.

[81]  Maurice Herlihy,et al.  How to Make Replicated Data Secure , 1987, CRYPTO.

[82]  Markus Jakobsson,et al.  Proofs of Work and Bread Pudding Protocols , 1999, Communications and Multimedia Security.

[83]  Adi Shamir,et al.  Quantitative Analysis of the Full Bitcoin Transaction Graph , 2013, Financial Cryptography.

[84]  Sunny King,et al.  PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake , 2012 .

[85]  Michael Dahlin,et al.  BAR fault tolerance for cooperative services , 2005, SOSP '05.

[86]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[87]  Ze Wang,et al.  Blockchain-Based Certificate Transparency and Revocation Transparency , 2018, IEEE Transactions on Dependable and Secure Computing.

[88]  Hubert Ritzdorf,et al.  On the Security and Performance of Proof of Work Blockchains , 2016, IACR Cryptol. ePrint Arch..

[89]  Edgar R. Weippl,et al.  Agreement with Satoshi - On the Formalization of Nakamoto Consensus , 2018, IACR Cryptol. ePrint Arch..