SoK: A Consensus Taxonomy in the Blockchain Era

Consensus is arguably one of the most fundamental problems in distributed computing, playing also an important role in the area of cryptographic protocols as the enabler of a secure broadcast functionality. While the problem has a long and rich history and has been analyzed from many different perspectives, recently, with the advent of blockchain protocols like Bitcoin, it has experienced renewed interest from a much wider community of researchers and has seen its application expand to various novel settings.

[1]  Jonathan Katz,et al.  Adaptively secure broadcast, revisited , 2011, PODC '11.

[2]  Baruch Awerbuch,et al.  Verifiable secret sharing and achieving simultaneity in the presence of faults , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[3]  Avi Wigderson,et al.  Completeness theorems for non-cryptographic fault-tolerant distributed computation , 1988, STOC '88.

[4]  Silvio Micali,et al.  Proofs that yield nothing but their validity and a methodology of cryptographic protocol design , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[5]  Danny Dolev,et al.  Byzantine Agreement with Optimal Early Stopping, Optimal Resilience and Polynomial Complexity , 2015, STOC.

[6]  Ran Canetti,et al.  Fast asynchronous Byzantine agreement with optimal resilience , 1993, STOC.

[7]  Yoram Moses,et al.  Fully Polynomial Byzantine Agreement for n > 3t Processors in t + 1 Rounds , 1998, SIAM J. Comput..

[8]  Matthew K. Franklin,et al.  Reliable Communication over Partially Authenticated Networks , 1999, Theor. Comput. Sci..

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

[10]  Ran Canetti,et al.  Studies in secure multiparty computation and applications , 1995 .

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

[12]  Arpita Patra,et al.  Error-free Multi-valued Broadcast and Byzantine Agreement with Optimal Communication Complexity , 2011, OPODIS.

[13]  Eli Upfal,et al.  Fault Tolerance in Networks of Bounded Degree , 1988, SIAM J. Comput..

[14]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[15]  Silvio Micali,et al.  How to play any mental game, or a completeness theorem for protocols with honest majority , 2019, Providing Sound Foundations for Cryptography.

[16]  Jared Saia,et al.  Byzantine Agreement in Expected Polynomial Time , 2016, J. ACM.

[17]  Birgit Pfitzmann,et al.  Unconditional Byzantine Agreement for any Number of Faulty Processors , 1992, STACS.

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

[19]  Alysson Neves Bessani,et al.  Byzantine Consensus with Unknown Participants , 2008, OPODIS.

[20]  Aggelos Kiayias,et al.  Proofs of Work for Blockchain Protocols , 2017, IACR Cryptol. ePrint Arch..

[21]  Hovav Shacham,et al.  Advances in Cryptology – CRYPTO 2017 , 2017, Lecture Notes in Computer Science.

[22]  Yehuda Lindell,et al.  On the composition of authenticated byzantine agreement , 2002, STOC '02.

[23]  Mihir Bellare,et al.  Random oracles are practical: a paradigm for designing efficient protocols , 1993, CCS '93.

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

[25]  Matthias Fitzi,et al.  Efficient player-optimal protocols for strong and differential consensus , 2003, PODC '03.

[26]  Piotr Berman,et al.  Bit optimal distributed consensus , 1992 .

[27]  Nir Bitansky,et al.  Time-Lock Puzzles from Randomized Encodings , 2016, IACR Cryptol. ePrint Arch..

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

[29]  George Danezis,et al.  Consensus in the Age of Blockchains , 2017, ArXiv.

[30]  Moni Naor,et al.  Adaptively secure multi-party computation , 1996, STOC '96.

[31]  Aggelos Kiayias,et al.  Ouroboros Praos: An Adaptively-Secure, Semi-synchronous Proof-of-Stake Blockchain , 2018, EUROCRYPT.

[32]  Victor Shoup,et al.  Secure and Efficient Asynchronous Broadcast Protocols , 2001, CRYPTO.

[33]  Silvio Micali,et al.  Optimal algorithms for Byzantine agreement , 1988, STOC '88.

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

[35]  Brian A. Coan,et al.  Extending Binary Byzantine Agreement to Multivalued Byzantine Agreement , 1984, Inf. Process. Lett..

[36]  C. Pandu Rangan,et al.  Asynchronous Byzantine Agreement with optimal resilience , 2014, Distributed Computing.

[37]  Jonathan Katz,et al.  On expected constant-round protocols for Byzantine agreement , 2006, J. Comput. Syst. Sci..

[38]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[39]  Martin Hirt,et al.  Constant-Round Asynchronous Multi-Party Computation Based on One-Way Functions , 2016, ASIACRYPT.

[40]  Joseph J. LaViola,et al.  Byzantine Consensus from Moderately-Hard Puzzles : A Model for Bitcoin , 2014 .

[41]  Jeffrey Considine,et al.  Byzantine Agreement Given Partial Broadcast , 2005, Journal of Cryptology.

[42]  Danny Dolev,et al.  Shifting gears: changing algorithms on the fly to expedite Byzantine agreement , 1987, PODC '87.

[43]  Marcin Andrychowicz,et al.  PoW-Based Distributed Cryptography with No Trusted Setup , 2015, CRYPTO.

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

[45]  Victor Shoup,et al.  Optimistic Asynchronous Atomic Broadcast , 2005, ICALP.

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

[47]  Yehuda Lindell,et al.  Secure Computation on the Web: Computing without Simultaneous Interaction , 2011, IACR Cryptol. ePrint Arch..

[48]  David Chaum,et al.  Multiparty Unconditionally Secure Protocols (Abstract) , 1987, CRYPTO.

[49]  Ashish Choudhury,et al.  Almost-Surely Terminating Asynchronous Byzantine Agreement Revisited , 2018, IACR Cryptol. ePrint Arch..

[50]  Danny Dolev,et al.  An almost-surely terminating polynomial protocol for asynchronous byzantine agreement with optimal resilience , 2008, PODC '08.

[51]  Juan A. Garay,et al.  A Continuum of Failure Models for Distributed Computing , 1992, WDAG.

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

[53]  Ran Canetti,et al.  Universally composable security: a new paradigm for cryptographic protocols , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.

[54]  Arpita Patra,et al.  Broadcast Extensions with Optimal Communication and Round Complexity , 2016, PODC.

[55]  Andrew Chi-Chih Yao,et al.  Protocols for Secure Computations (Extended Abstract) , 1982, FOCS.

[56]  J. Aspnes,et al.  Exposing Computationally-Challenged Byzantine Impostors , 2005 .

[57]  Danny Dolev,et al.  Authenticated Algorithms for Byzantine Agreement , 1983, SIAM J. Comput..

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

[59]  Aggelos Kiayias,et al.  Bootstrapping the Blockchain, with Applications to Consensus and Fast PKI Setup , 2018, Public Key Cryptography.

[60]  Eli Upfal Tolerating linear number of faults in networks of bounded degree , 1992, PODC '92.

[61]  Moni Naor,et al.  Universal one-way hash functions and their cryptographic applications , 1989, STOC '89.

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

[63]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[64]  Nancy A. Lynch,et al.  A Lower Bound for the Time to Assure Interactive Consistency , 1982, Inf. Process. Lett..

[65]  Christian Grothoff,et al.  Byzantine set-union consensus using efficient set reconciliation , 2016, 2016 11th International Conference on Availability, Reliability and Security (ARES).

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

[67]  David Chaum,et al.  Untraceable electronic mail, return addresses, and digital pseudonyms , 1981, CACM.

[68]  Matthias Fitzi,et al.  Generalized communication and security models in Byzantine agreement , 2002 .

[69]  Uwe Nestmann,et al.  Distributed Consensus, revisited , 2007, Acta Informatica.

[70]  Danny Dolev,et al.  Early stopping in Byzantine agreement , 1990, JACM.

[71]  Piotr Berman,et al.  Optimal Early Stopping in Distributed Consensus (Extended Abstract) , 1992, WDAG.

[72]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

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

[74]  Jing Chen,et al.  Algorand: A secure and efficient distributed ledger , 2019, Theor. Comput. Sci..

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

[76]  Ran Canetti,et al.  Asynchronous secure computation , 1993, STOC.

[77]  Ran Canetti,et al.  Security and Composition of Multiparty Cryptographic Protocols , 2000, Journal of Cryptology.

[78]  Donald Beaver,et al.  Correlated pseudorandomness and the complexity of private computations , 1996, STOC '96.

[79]  Gabriel Bracha,et al.  An asynchronous [(n - 1)/3]-resilient consensus protocol , 1984, PODC '84.

[80]  C. Moler,et al.  Advances in Cryptology , 2000, Lecture Notes in Computer Science.

[81]  Avi Wigderson,et al.  Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract) , 1988, STOC.

[82]  Martin Hirt,et al.  Adaptively Secure Broadcast , 2010, EUROCRYPT.

[83]  Nancy A. Lynch,et al.  Easy impossibility proofs for distributed consensus problems , 1985, PODC '85.

[84]  Cynthia Dwork,et al.  Randomization in Byzantine Agreement , 1989, Adv. Comput. Res..

[85]  Benny Pinkas,et al.  SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains , 2018, ArXiv.

[86]  Ravi Montenegro,et al.  Near Optimal Bounds for Collision in Pollard Rho for Discrete Log , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[87]  Rafail Ostrovsky,et al.  Round Complexity of Authenticated Broadcast with a Dishonest Majority , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[88]  Ueli Maurer,et al.  Bitcoin as a Transaction Ledger: A Composable Treatment , 2017, CRYPTO.

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

[90]  Sandro Coretti,et al.  Probabilistic Termination and Composability of Cryptographic Protocols , 2016, Journal of Cryptology.

[91]  Ran El-Yaniv,et al.  Resilient-optimal interactive consistency in constant time , 2003, Distributed Computing.

[92]  Aggelos Kiayias,et al.  Bootstrapping the Blockchain - Directly , 2016, IACR Cryptol. ePrint Arch..

[93]  David Chaum,et al.  Multiparty Unconditionally Secure Protocols (Extended Abstract) , 1988, STOC.

[94]  Brian A. Coan,et al.  Modular construction of nearly optimal Byzantine agreement protocols , 1989, PODC '89.

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

[96]  Ilias Diakonikolas,et al.  Testing for Concise Representations , 2007, FOCS 2007.

[97]  Matthias Fitzi,et al.  Optimally efficient multi-valued byzantine agreement , 2006, PODC '06.

[98]  Martin Hirt,et al.  Multi-valued Byzantine Broadcast: The t < n Case , 2014, ASIACRYPT.

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

[100]  Nancy A. Lynch,et al.  Easy impossibility proofs for distributed consensus problems , 1985, PODC '85.

[101]  Michael Okun Agreement Among Unacquainted Byzantine Generals , 2005, DISC.

[102]  Malte Borcherding,et al.  Levels of authentication in distributed agreement , 1996 .

[103]  Vincent Rijmen,et al.  Advances in Cryptology – EUROCRYPT 2018 , 2018, Lecture Notes in Computer Science.

[104]  Oded Goldreich,et al.  The Foundations of Cryptography - Volume 1: Basic Techniques , 2001 .

[105]  Rachid Guerraoui,et al.  Introduction to Reliable and Secure Distributed Programming , 2011 .

[106]  Abhi Shelat,et al.  Cryptography from Sunspots: How to Use an Imperfect Reference String , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[107]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[108]  Shmuel Zaks,et al.  Distributed algorithms : 6th International Workshop, WDAG '92, Haifa, Israel, November 2-4, 1992 : proceedings , 1992 .

[109]  Silvio Micali,et al.  An Optimal Probabilistic Protocol for Synchronous Byzantine Agreement , 1997, SIAM J. Comput..

[110]  Aggelos Kiayias,et al.  Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic Availability , 2018, IACR Cryptol. ePrint Arch..

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

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

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