RingBFT: Resilient Consensus over Sharded Ring Topology

The recent surge in federated data-management applications has brought forth concerns about the security of underlying data and the consistency of replicas in the presence of malicious attacks. A prominent solution in this direction is to employ a permissioned blockchain framework that is modeled around traditional Byzantine Fault-Tolerant (Bft) consensus protocols. Any federated application expects its data to be globally scattered to achieve faster access. But, prior works have shown that traditional Bft protocols are slow and this led to the rise of sharded-replicated blockchains. Existing Bft protocols for these sharded blockchains are efficient if client transactions require access to a single-shard, but face performance degradation if there is a cross-shard transaction that requires access to multiple shards. However, cross-shard transactions are common, and to resolve this dilemma, we present RingBFT, a novel meta-Bft protocol for sharded blockchains. RingBFT requires shards to adhere to the ring order, and follow the principle of process, forward, and re-transmit while ensuring the communication between shards is linear. Our evaluation of RingBFT against state-of-the-art sharding Bft protocols illustrates that RingBFT achieves up to 25× higher throughput, easily scales to nearly 500 globally distributed nodes, and achieves a peak throughput of 1.2 million txns/s.

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

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

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

[4]  Suyash Gupta,et al.  Brief Announcement: Revisiting Consensus Protocols through Wait-Free Parallelization , 2019, DISC.

[5]  Johannes Behl,et al.  Hybrids on Steroids: SGX-Based High Performance BFT , 2017, EuroSys.

[6]  Michael Stonebraker,et al.  An Evaluation of Distributed Concurrency Control , 2017, Proc. VLDB Endow..

[7]  Jelle Hellings,et al.  ResilientDB: Global Scale Resilient Blockchain Fabric , 2020, Proc. VLDB Endow..

[8]  Roberto Baldoni,et al.  A Prototype Evaluation of a Tamper-Resistant High Performance Blockchain-Based Transaction Log for a Distributed Database , 2017, 2017 13th European Dependable Computing Conference (EDCC).

[9]  Christian Heipke,et al.  Integration of heterogeneous geospatial data in a federated database , 2007 .

[10]  Michael K. Reiter,et al.  Secure and scalable replication in Phalanx , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

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

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

[13]  Mohammad Sadoghi,et al.  EasyCommit: A Non-blocking Two-phase Commit Protocol , 2018, EDBT.

[14]  David Mazières,et al.  Fast and secure global payments with Stellar , 2019, SOSP.

[15]  Michael K. Reiter,et al.  Backoff protocols for distributed mutual exclusion and ordering , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[16]  Carsten Binnig,et al.  The End of a Myth: Distributed Transaction Can Scale , 2016, Proc. VLDB Endow..

[17]  Thomas Redman,et al.  The impact of poor data quality on the typical enterprise , 1998, CACM.

[18]  Rodrigo Rodrigues,et al.  Byzantine Clients Rendered Harmless , 2005, DISC.

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

[20]  Gadi Taubenfeld,et al.  Possibility and impossibility results in a shared memory environment , 1989, Acta Informatica.

[21]  Suyash Gupta,et al.  Proof-of-Execution: Reaching Consensus through Fault-Tolerant Speculation , 2019, EDBT.

[22]  Divyakant Agrawal,et al.  The Challenges of Global-Scale Data Management , 2016, 2017 IEEE 33rd International Conference on Data Engineering (ICDE).

[23]  Daniel J. Abadi,et al.  Calvin: fast distributed transactions for partitioned database systems , 2012, SIGMOD Conference.

[24]  Dan Suciu,et al.  The Myria Big Data Management and Analytics System and Cloud Services , 2017, CIDR.

[25]  Yan Zhang,et al.  Blockchain and Federated Learning for Privacy-Preserved Data Sharing in Industrial IoT , 2020, IEEE Transactions on Industrial Informatics.

[26]  Shlomo Moran,et al.  Extended Impossibility Results for Asynchronous Complete Networks , 1987, Inf. Process. Lett..

[27]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[28]  Mohammad Sadoghi,et al.  RCC: Resilient Concurrent Consensus for High-Throughput Secure Transaction Processing , 2020, 2021 IEEE 37th International Conference on Data Engineering (ICDE).

[29]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[30]  Suyash Gupta,et al.  Permissioned Blockchain Through the Looking Glass: Architectural and Implementation Lessons Learned , 2019, ArXiv.

[31]  Philip A. Bernstein,et al.  Concurrency Control in Distributed Database Systems , 1986, CSUR.

[32]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[33]  Scott Shenker,et al.  Attested append-only memory: making adversaries stick to their word , 2007, SOSP.

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

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

[36]  Kun Ren SLOG : Serializable , Low-latency , Geo-replicated Transactions , 2019 .

[37]  Amr El Abbadi,et al.  SharPer: Sharding Permissioned Blockchains Over Network Clusters , 2019, ArXiv.

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

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

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

[41]  Miguel Correia,et al.  EBAWA: Efficient Byzantine Agreement for Wide-Area Networks , 2010, 2010 IEEE 12th International Symposium on High Assurance Systems Engineering.

[42]  Danny Dolev,et al.  Unanimity in an unknown and unreliable environment , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

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

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

[45]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[46]  Joseph M. Hellerstein,et al.  Decoupled query optimization for federated database systems , 2002, Proceedings 18th International Conference on Data Engineering.

[47]  Craig Freedman,et al.  Hekaton: SQL server's memory-optimized OLTP engine , 2013, SIGMOD '13.

[48]  Danny Dolev,et al.  The Byzantine Generals Strike Again , 1981, J. Algorithms.

[49]  Dale Skeen,et al.  A Quorum-Based Commit Protocol , 1982, Berkeley Workshop.

[50]  Jonathan Kirsch,et al.  Scaling Byzantine Fault-Tolerant Replication toWide Area Networks , 2006, International Conference on Dependable Systems and Networks (DSN'06).

[51]  Thomas Haynes,et al.  Network File System (NFS) Version 4 Protocol , 2003, RFC.

[52]  Wolfgang Lehner,et al.  SAP HANA database: data management for modern business applications , 2012, SGMD.

[53]  Jelle Hellings,et al.  Cerberus: Minimalistic Multi-shard Byzantine-resilient Transaction Processing , 2020, Journal of Systems Research.

[54]  Benny Pinkas,et al.  SBFT: A Scalable and Decentralized Trust Infrastructure , 2018, 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[55]  Jelle Hellings,et al.  Scalable, resilient, and configurable permissioned blockchain fabric , 2020, Proc. VLDB Endow..

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

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

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

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

[60]  Ee-Chien Chang,et al.  Towards Scaling Blockchain Systems via Sharding , 2018, SIGMOD Conference.

[61]  Divyakant Agrawal,et al.  CAPER: A Cross-Application Permissioned Blockchain , 2019, Proc. VLDB Endow..

[62]  Mariana Raykova,et al.  RapidChain: Scaling Blockchain via Full Sharding , 2018, CCS.

[63]  Nancy A. Lynch,et al.  Cryptographic protocols , 1982, STOC '82.

[64]  Ralph C. Merkle,et al.  A Digital Signature Based on a Conventional Encryption Function , 1987, CRYPTO.

[65]  Mohammad Sadoghi,et al.  Blockchain Transaction Processing , 2021, Encyclopedia of Big Data Technologies.

[66]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[67]  Mohammad Sadoghi,et al.  ByShard: Sharding in a Byzantine Environment , 2023, Proc. VLDB Endow..

[68]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

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

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

[71]  Jelle Hellings,et al.  Building high throughput permissioned blockchain fabrics , 2020, Proc. VLDB Endow..

[72]  Mukesh K. Mohania,et al.  Research Directions in Blockchain Data Management and Analytics , 2018, EDBT.

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

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

[75]  Miguel Correia,et al.  How to tolerate half less one Byzantine nodes in practical distributed systems , 2004, Proceedings of the 23rd IEEE International Symposium on Reliable Distributed Systems, 2004..

[76]  Jelle Hellings,et al.  The fault-tolerant cluster-sending problem , 2019, FoIKS.

[77]  Miguel Correia,et al.  Efficient Byzantine Fault-Tolerance , 2013, IEEE Transactions on Computers.