Online Payments by Merely Broadcasting Messages (Extended Version)

We address the problem of online payments, where users can transfer funds among themselves. We introduce Astro, a system solving this problem efficiently in a decentralized, deterministic, and completely asynchronous manner. Astro builds on the insight that consensus is unnecessary to prevent double-spending. Instead of consensus, Astro relies on a weaker primitive---Byzantine reliable broadcast---enabling a simpler and more efficient implementation than consensus-based payment systems. In terms of efficiency, Astro executes a payment by merely broadcasting a message. The distinguishing feature of Astro is that it can maintain performance robustly, i.e., remain unaffected by a fraction of replicas being compromised or slowed down by an adversary. Our experiments on a public cloud network show that Astro can achieve near-linear scalability in a sharded setup, going from $10K$ payments/sec (2 shards) to $20K$ payments/sec (4 shards). In a nutshell, Astro can match VISA-level average payment throughput, and achieves a $5\times$ improvement over a state-of-the-art consensus-based solution, while exhibiting sub-second $95^{th}$ percentile latency.

[1]  David D. Clark,et al.  The design philosophy of the DARPA internet protocols , 1988, SIGCOMM '88.

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

[3]  Rachid Guerraoui,et al.  State Machine Replication Is More Expensive Than Consensus , 2018, DISC.

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

[5]  Michel Raynal,et al.  DBFT: Efficient Leaderless Byzantine Consensus and its Application to Blockchains , 2018, 2018 IEEE 17th International Symposium on Network Computing and Applications (NCA).

[6]  George Danezis,et al.  Chainspace: A Sharded Smart Contracts Platform , 2017, NDSS.

[7]  Michael K. Reiter,et al.  A high-throughput secure reliable multicast protocol , 1996, Proceedings 9th IEEE Computer Security Foundations Workshop.

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

[9]  Stefano Tessaro,et al.  Asynchronous verifiable information dispersal , 2005, 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05).

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

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

[12]  Hao Wang,et al.  Monoxide: Scale out Blockchains with Asynchronous Consensus Zones , 2019, NSDI.

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

[14]  Alysson Neves Bessani,et al.  Efficient and Modular Consensus-Free Reconfiguration for Fault-Tolerant Storage , 2016, OPODIS.

[15]  Jon Howell,et al.  Slicer: Auto-Sharding for Datacenter Applications , 2016, OSDI.

[16]  John Lane,et al.  Prime: Byzantine Replication under Attack , 2011, IEEE Transactions on Dependable and Secure Computing.

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

[18]  Stephen B. Wicker,et al.  Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-Things , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[19]  Gabriel Bracha,et al.  Asynchronous Byzantine Agreement Protocols , 1987, Inf. Comput..

[20]  Michael K. Reiter,et al.  Byzantine quorum systems , 1997, STOC '97.

[21]  Avishai Wool,et al.  Probabilistic Quorum Systems , 2001, Inf. Comput..

[22]  Emin Gün Sirer,et al.  Teechain: a secure payment network with asynchronous blockchain access , 2017, SOSP.

[23]  Kartik Nayak,et al.  Solida: A Blockchain Protocol Based on Reconfigurable Byzantine Consensus , 2016, OPODIS.

[24]  Miguel Correia,et al.  On the Efficiency of Durable State Machine Replication , 2013, USENIX Annual Technical Conference.

[25]  Leslie Lamport,et al.  Vertical paxos and primary-backup replication , 2009, PODC '09.

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

[27]  Christopher D. Clack,et al.  Smart Contract Templates: foundations, design landscape and research directions , 2016, ArXiv.

[28]  Rachid Guerraoui,et al.  The consensus number of a cryptocurrency , 2019, Distributed Computing.

[29]  Saurabh Gupta A Non-Consensus Based Decentralized Financial Transaction Processing Model with Support for Efficient Auditing , 2016 .

[30]  André Schiper,et al.  A Leader-Free Byzantine Consensus Algorithm , 2010, ICDCN.

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

[32]  Marko Vukolic,et al.  A Byzantine Fault-Tolerant Ordering Service for the Hyperledger Fabric Blockchain Platform , 2018, DSN.

[33]  Michael K. Reiter,et al.  How to securely replicate services , 1992, TOPL.

[34]  Marko Vukolic,et al.  Can 100 Machines Agree? , 2019, ArXiv.

[35]  Rachid Guerraoui,et al.  Scalable Byzantine Reliable Broadcast (Extended Version) , 2019, DISC.

[36]  Sam Toueg,et al.  Asynchronous consensus and broadcast protocols , 1985, JACM.

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

[38]  Feng Hao,et al.  Towards Bitcoin Payment Networks , 2016, ACISP.

[39]  Paulo Esteves-Verissimo,et al.  RepuCoin: Your Reputation Is Your Power , 2019, IEEE Transactions on Computers.

[40]  Haibin Zhang,et al.  BEAT: Asynchronous BFT Made Practical , 2018, CCS.

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

[42]  Ramakrishna Kotla,et al.  Revisiting Fast Practical Byzantine Fault Tolerance , 2017, ArXiv.

[43]  Dahlia Malkhi,et al.  Secure reliable multicast protocols in a WAN , 2000, Distributed Computing.

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

[45]  Miguel Correia,et al.  Low complexity Byzantine-resilient consensus , 2005, Distributed Computing.

[46]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

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

[48]  Rachid Guerraoui,et al.  Dynamic Byzantine Reliable Broadcast [Technical Report] , 2020, ArXiv.

[49]  Rachid Guerraoui,et al.  AT2: Asynchronous Trustworthy Transfers , 2018, ArXiv.

[50]  John Lane,et al.  Byzantine replication under attack , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[51]  Robbert van Renesse,et al.  Chain Replication for Supporting High Throughput and Availability , 2004, OSDI.

[52]  Marcos K. Aguilera,et al.  Reconfiguring Replicated Atomic Storage: A Tutorial , 2013, Bull. EATCS.

[53]  Philipp Jovanovic,et al.  OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[54]  Pierre Sutra,et al.  On the correctness of Egalitarian Paxos , 2019, Inf. Process. Lett..

[55]  Anne-Marie Kermarrec,et al.  Atum: Scalable Group Communication Using Volatile Groups , 2016, Middleware.

[56]  Christian Scheideler,et al.  How to spread adversarial nodes?: rotate! , 2005, STOC '05.

[57]  Mahadev Konar,et al.  ZooKeeper: Wait-free Coordination for Internet-scale Systems , 2010, USENIX ATC.

[58]  Michael J. Cahill Serializable isolation for snapshot databases , 2009, TODS.

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

[60]  Leslie Lamport,et al.  Brief Announcement: Leaderless Byzantine Paxos , 2011, DISC.

[61]  David G. Andersen,et al.  There is more consensus in Egalitarian parliaments , 2013, SOSP.

[62]  Christian Cachin,et al.  Secure INtrusion-Tolerant Replication on the Internet , 2002, Proceedings International Conference on Dependable Systems and Networks.

[63]  Alan Fekete,et al.  The Cost of Serializability on Platforms That Use Snapshot Isolation , 2008, 2008 IEEE 24th International Conference on Data Engineering.

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

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

[66]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[67]  Alysson Neves Bessani,et al.  State Machine Replication for the Masses with BFT-SMART , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.