A Secure Sharding Protocol For Open Blockchains

Cryptocurrencies, such as Bitcoin and 250 similar alt-coins, embody at their core a blockchain protocol --- a mechanism for a distributed network of computational nodes to periodically agree on a set of new transactions. Designing a secure blockchain protocol relies on an open challenge in security, that of designing a highly-scalable agreement protocol open to manipulation by byzantine or arbitrarily malicious nodes. Bitcoin's blockchain agreement protocol exhibits security, but does not scale: it processes 3--7 transactions per second at present, irrespective of the available computation capacity at hand. In this paper, we propose a new distributed agreement protocol for permission-less blockchains called ELASTICO. ELASTICO scales transaction rates almost linearly with available computation for mining: the more the computation power in the network, the higher the number of transaction blocks selected per unit time. ELASTICO is efficient in its network messages and tolerates byzantine adversaries of up to one-fourth of the total computational power. Technically, ELASTICO uniformly partitions or parallelizes the mining network (securely) into smaller committees, each of which processes a disjoint set of transactions (or "shards"). While sharding is common in non-byzantine settings, ELASTICO is the first candidate for a secure sharding protocol with presence of byzantine adversaries. Our scalability experiments on Amazon EC2 with up to $1, 600$ nodes confirm ELASTICO's theoretical scaling properties.

[1]  D. Newman The Double Dixie Cup Problem , 1960 .

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

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

[4]  Sam Toueg,et al.  Fast distributed agreement (preliminary version) , 1985, PODC '85.

[5]  Gabriel Bracha,et al.  An O(log n) expected rounds randomized byzantine generals protocol , 1987, JACM.

[6]  J. D. Veer Perspectives for the CAP , 1987 .

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

[8]  Uriel Feige,et al.  Noncryptographic selection protocols , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

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

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

[11]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[12]  A. Perrig,et al.  The Sybil attack in sensor networks: analysis & defenses , 2004, Third International Symposium on Information Processing in Sensor Networks, 2004. IPSN 2004.

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

[14]  Leslie Lamport,et al.  Fast Paxos , 2006, Distributed Computing.

[15]  Erik Vee,et al.  Towards Secure and Scalable Computation in Peer-to-Peer Networks , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

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

[17]  S. Nakamoto,et al.  Bitcoin: A Peer-to-Peer Electronic Cash System , 2008 .

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

[19]  Jared Saia,et al.  From Almost Everywhere to Everywhere: Byzantine Agreement with Õ(n3/2) Bits , 2009, DISC.

[20]  Christian Scheideler,et al.  Robust random number generation for peer-to-peer systems , 2006, Theor. Comput. Sci..

[21]  Dariusz R. Kowalski,et al.  Distributed agreement with optimal communication complexity , 2010, SODA '10.

[22]  Jared Saia,et al.  Breaking the O(n2) bit barrier: scalable byzantine agreement with an adaptive adversary , 2010, PODC.

[23]  Yawei Li,et al.  Megastore: Providing Scalable, Highly Available Storage for Interactive Services , 2011, CIDR.

[24]  Jared Saia,et al.  Load Balanced Scalable Byzantine Agreement through Quorum Building, with Full Information , 2011, ICDCN.

[25]  Ivan Beschastnikh,et al.  Scalable consistency in Scatter , 2011, SOSP.

[26]  Christopher Frost,et al.  Spanner: Google's Globally-Distributed Database , 2012, OSDI.

[27]  Peter Robinson,et al.  Self-healing Deterministic Expanders , 2012, ArXiv.

[28]  Nancy A. Lynch,et al.  Perspectives on the CAP Theorem , 2012, Computer.

[29]  Stefan Dziembowski,et al.  Proofs of Space , 2015, CRYPTO.

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

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

[32]  Giuseppe Ateniese,et al.  Proofs of Space: When Space Is of the Essence , 2014, SCN.

[33]  Rachid Guerraoui,et al.  Fast byzantine agreement , 2013, PODC '13.

[34]  M. Ferrante,et al.  The Coupon Collector’s Problem , 2014 .

[35]  Pieter Wuille,et al.  Enabling Blockchain Innovations with Pegged Sidechains , 2014 .

[36]  Calvin C. Newport,et al.  Who Are You? Secure Identities in Ad Hoc Networks , 2014, DISC.

[37]  Elaine Shi,et al.  Pseudonymous Secure Computation from Time-Lock Puzzles , 2014, IACR Cryptol. ePrint Arch..

[38]  Marcin Andrychowicz,et al.  Distributed Cryptography Based on the Proofs of Work , 2014, IACR Cryptol. ePrint Arch..

[39]  Matthew Green,et al.  Decentralized Anonymous Credentials , 2014, NDSS.

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

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

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

[43]  Jason Teutsch,et al.  Demystifying Incentives in the Consensus Computer , 2015, CCS.

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

[45]  Matthew Wampler-Doty Notes on Scalable Blockchain Protocols (version 0.3.2) , 2015 .

[46]  Marko Vukolic,et al.  The Next 700 BFT Protocols , 2015, ACM Trans. Comput. Syst..

[47]  E. Shi,et al.  Pseudonymous Broadcast and Secure Computation from Cryptographic Puzzles , 2015 .

[48]  George Danezis,et al.  Centrally Banked Cryptocurrencies , 2015, NDSS.

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

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

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