Gosig: Scalable Byzantine Consensus on Adversarial Wide Area Network for Blockchains

Existing Byzantine fault tolerance (BFT) protocols face significant challenges in the consortium blockchain scenario. On the one hand, we can make little assumptions about the reliability and security of the underlying Internet. On the other hand, the applications on consortium blockchains demand a system as scalable as the Bit-coin but providing much higher performance, as well as provable safety. We present a new BFT protocol, Gosig, that combines crypto-based secret leader selection and multi-round voting in the protocol layer with implementation layer optimizations such as gossip-based message propagation. In particular, Gosig guarantees safety even in a network fully controlled by adversaries, while providing provable liveness with easy-to-achieve network connectivity assumption. On a wide area testbed consisting of 140 Amazon EC2 servers spanning 14 cities on five continents, we show that Gosig can achieve over 4,000 transactions per second with less than 1 minute transaction confirmation time.

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

[2]  Joshua A. Kroll,et al.  perspectives on Bitcoin and second-generation cryptocurrencies , 2015 .

[3]  Zibin Zheng,et al.  Blockchain challenges and opportunities: a survey , 2018, Int. J. Web Grid Serv..

[4]  Tyler Moore,et al.  Empirical Analysis of Denial-of-Service Attacks in the Bitcoin Ecosystem , 2014, Financial Cryptography Workshops.

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

[6]  Scott Shenker,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

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

[8]  Doug Terry,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

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

[10]  Sangmin Lee,et al.  Upright cluster services , 2009, SOSP '09.

[11]  Flaviu Cristian,et al.  Atomic Broadcast: From Simple Message Diffusion to Byzantine Agreement , 1995, Inf. Comput..

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

[13]  Christian Decker,et al.  Bitcoin meets strong consistency , 2014, ICDCN.

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

[15]  Margo I. Seltzer,et al.  Network Coordinates in the Wild , 2007, NSDI.

[16]  Ye Guo,et al.  Blockchain application and outlook in the banking industry , 2016, Financial Innovation.

[17]  Hovav Shacham,et al.  Short Signatures from the Weil Pairing , 2001, J. Cryptol..

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

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

[20]  Anne-Marie Kermarrec,et al.  Probabilistic Reliable Dissemination in Large-Scale Systems , 2003, IEEE Trans. Parallel Distributed Syst..

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

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

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

[24]  Tal Rabin,et al.  Asynchronous secure computations with optimal resilience (extended abstract) , 1994, PODC '94.

[25]  Christian Cachin,et al.  Architecture of the Hyperledger Blockchain Fabric , 2016 .

[26]  Hovav Shacham,et al.  Aggregate and Verifiably Encrypted Signatures from Bilinear Maps , 2003, EUROCRYPT.

[27]  David Wolinsky,et al.  Keeping Authorities "Honest or Bust" with Decentralized Witness Cosigning , 2015, 2016 IEEE Symposium on Security and Privacy (SP).

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

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

[30]  Paul Francis,et al.  Chunkyspread: Heterogeneous Unstructured Tree-Based Peer-to-Peer Multicast , 2006, Proceedings of the 2006 IEEE International Conference on Network Protocols.

[31]  Kenneth P. Birman,et al.  Bimodal multicast , 1999, TOCS.

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

[33]  Miguel Correia,et al.  Spin One's Wheels? Byzantine Fault Tolerance with a Spinning Primary , 2009, 2009 28th IEEE International Symposium on Reliable Distributed Systems.

[34]  André Schiper,et al.  Bounded Delay in Byzantine-Tolerant State Machine Replication , 2013, 2013 IEEE 32nd International Symposium on Reliable Distributed Systems.

[35]  Björn Scheuermann,et al.  Bitcoin and Beyond: A Technical Survey on Decentralized Digital Currencies , 2016, IEEE Communications Surveys & Tutorials.

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

[37]  Angelo De Caro,et al.  jPBC: Java pairing based cryptography , 2011, 2011 IEEE Symposium on Computers and Communications (ISCC).

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

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

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

[41]  Jae Kwon,et al.  Tendermint : Consensus without Mining , 2014 .

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

[43]  Anne-Marie Kermarrec,et al.  Lightweight probabilistic broadcast , 2003, TOCS.

[44]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[45]  Richard M. Karp,et al.  Randomized rumor spreading , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

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

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