Scalable and Probabilistic Leaderless BFT Consensus through Metastability

This paper introduces a family of leaderless Byzantine fault tolerance protocols, built around a metastable mechanism via network subsampling. These protocols provide a strong probabilistic safety guarantee in the presence of Byzantine adversaries while their concurrent and leaderless nature enables them to achieve high throughput and scalability. Unlike blockchains that rely on proof-of-work, they are quiescent and green. Unlike traditional consensus protocols where one or more nodes typically process linear bits in the number of total nodes per decision, no node processes more than logarithmic bits. It does not require accurate knowledge of all participants and exposes new possible tradeoffs and improvements in safety and liveness for building consensus protocols. The paper describes the Snow protocol family, analyzes its guarantees, and describes how it can be used to construct the core of an internet-scale electronic payment system called Avalanche, which is evaluated in a large scale deployment. Experiments demonstrate that the system can achieve high throughput (3400 tps), provide low confirmation latency (1.35 sec), and scale well compared to existing systems that deliver similar functionality. For our implementation and setup, the bottleneck of the system is in transaction verification.

[1]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

[2]  On the absorption probabilities and absorption times of finite homogeneous birth-death processes. , 1976, Biometrics.

[3]  Tang Wy On the absorption probabilities and absorption times of finite homogeneous birth-death processes. , 1976 .

[4]  Vasek Chvátal,et al.  The tail of the hypergeometric distribution , 1979, Discret. Math..

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

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

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

[8]  B. Dickinson,et al.  Stochastic models of interacting systems , 1984, The 23rd IEEE Conference on Decision and Control.

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

[10]  N. Fisher,et al.  Probability Inequalities for Sums of Bounded Random Variables , 1994 .

[11]  Adi Shamir,et al.  PayWord and MicroMint: Two Simple Micropayment Schemes , 1996, Security Protocols Workshop.

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

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

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

[15]  James Aspnes,et al.  Randomized protocols for asynchronous consensus , 2002, Distributed Computing.

[16]  Emin Gün Sirer,et al.  KARMA : A Secure Economic Framework for Peer-to-Peer Resource Sharing , 2003 .

[17]  Donald F. Towsley,et al.  The effect of network topology on the spread of epidemics , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

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

[19]  Michael K. Reiter,et al.  Fault-scalable Byzantine fault-tolerant services , 2005, SOSP '05.

[20]  Laurent Massoulié,et al.  Thresholds for virus spread on networks , 2006, valuetools '06.

[21]  Liuba Shrira,et al.  HQ replication: a hybrid quorum protocol for byzantine fault tolerance , 2006, OSDI '06.

[22]  Brett D. Fleisch,et al.  The Chubby lock service for loosely-coupled distributed systems , 2006, OSDI '06.

[23]  Bobby Bhattacharjee,et al.  Large-scale byzantine fault tolerance: safe but not always live , 2007 .

[24]  M. Keeling,et al.  Modeling Infectious Diseases in Humans and Animals , 2007 .

[25]  Ramakrishna Kotla,et al.  Zyzzyva , 2007, SOSP.

[26]  Petr Kuznetsov,et al.  Zeno: Eventually Consistent Byzantine-Fault Tolerance , 2009, NSDI.

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

[28]  Mahadev Konar,et al.  ZooKeeper: Wait-free Coordination for Internet-scale Systems , 2010, USENIX Annual Technical Conference.

[29]  Srinath T. V. Setty,et al.  Depot: Cloud Storage with Minimal Trust , 2010, TOCS.

[30]  Johannes Behl,et al.  CheapBFT: resource-efficient byzantine fault tolerance , 2012, EuroSys '12.

[31]  Anne-Marie Kermarrec,et al.  Highly dynamic distributed computing with byzantine failures , 2013, PODC '13.

[32]  Sanjay Shakkottai,et al.  Epidemic thresholds with external agents , 2013, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

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

[34]  R. V. Renesse,et al.  Fireflies: A Secure and Scalable Membership and Gossip Service , 2015, ACM Trans. Comput. Syst..

[35]  David Mazières The Stellar Consensus Protocol: A Federated Model for Internet-level Consensus , 2015 .

[36]  Aviv Zohar,et al.  Secure High-Rate Transaction Processing in Bitcoin , 2015, Financial Cryptography.

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

[38]  Ethan Buchman,et al.  Tendermint: Byzantine Fault Tolerance in the Age of Blockchains , 2016 .

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

[40]  Elaine Shi,et al.  FruitChains: A Fair Blockchain , 2017, IACR Cryptol. ePrint Arch..

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

[42]  Yoad Lewenberg,et al.  SPECTRE: A Fast and Scalable Cryptocurrency Protocol , 2016, IACR Cryptol. ePrint Arch..

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

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

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

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

[47]  Bryan Ford,et al.  Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing , 2016, USENIX Security Symposium.

[48]  Caroline Geck,et al.  The World Factbook , 2017 .

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

[50]  Iddo Bentov,et al.  Tortoise and Hares Consensus: the Meshcash Framework for Incentive-Compatible, Scalable Cryptocurrencies , 2017, IACR Cryptol. ePrint Arch..

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

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

[53]  Kartik Nayak,et al.  Efficient Synchronous Byzantine Consensus , 2017, 1704.02397.

[54]  Kartik Nayak,et al.  Practical Synchronous Byzantine Consensus , 2017, IACR Cryptol. ePrint Arch..

[55]  Ethan Buchman,et al.  The latest gossip on BFT consensus , 2018, ArXiv.

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

[57]  Aviv Zohar,et al.  PHANTOM: A Scalable BlockDAG Protocol , 2018, IACR Cryptol. ePrint Arch..

[58]  Ittai Abraham,et al.  HotStuff: BFT Consensus in the Lens of Blockchain , 2018, 1803.05069.

[59]  Wei Xu,et al.  Scaling Nakamoto Consensus to Thousands of Transactions per Second , 2018, ArXiv.

[60]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.

[61]  Kartik Nayak,et al.  Sync HotStuff: Simple and Practical Synchronous State Machine Replication , 2020, 2020 IEEE Symposium on Security and Privacy (SP).