ByShard: Sharding in a Byzantine Environment

The emergence of blockchains has fueled the development of resilient systems that can deal with Byzantine failures due to crashes, bugs, or even malicious behavior. Recently, we have also seen the exploration of sharding in these resilient systems, this to provide the scalability required by very large data-based applications. Unfortunately, current sharded resilient systems all use system-specific specialized approaches toward sharding that do not provide the flexibility of traditional sharded data management systems. To improve on this situation, we fundamentally look at the design of sharded resilient systems.We do so by introducing ByShard, a unifying framework for the study of sharded resilient systems. Within this framework, we show how two-phase commit and twophase locking—two techniques central to providing atomicity and isolation in traditional sharded databases—can be implemented efficiently in a Byzantine environment, this with a minimal usage of costly Byzantine resilient primitives. Based on these techniques, we propose eighteen multi-shard transaction processing protocols. Finally, we practically evaluate these protocols and show that each protocol supports high transaction throughput and provides scalability while each striking its own trade-off between throughput, isolation level, latency, and abort rate. As such, our work provides a strong foundation for the development of ACID-compliant generalpurpose and flexible sharded resilient data management systems. PVLDB Reference Format: Jelle Hellings and Mohammad Sadoghi. ByShard: Sharding in a Byzantine Environment. PVLDB, 14(11): 2230–2243, 2021. doi:10.14778/3476249.3476275 PVLDB Artifact Availability: The source code, data, and/or other artifacts have been made available at https://www.jhellings.nl/projects/byshard/.

[1]  Carsten Binnig,et al.  BlockchainDB - A Shared Database on Blockchains , 2019, Proc. VLDB Endow..

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

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

[4]  Miguel Correia,et al.  Byzantine consensus in asynchronous message-passing systems: a survey , 2011, Int. J. Crit. Comput. Based Syst..

[5]  Mohammad Sadoghi,et al.  Fault-Tolerant Distributed Transactions on Blockchain , 2021, Synthesis Lectures on Data Management.

[6]  Christian Catalini,et al.  Blockchain Technology for Healthcare: Facilitating the Transition to Patient-Driven Interoperability , 2018, Computational and structural biotechnology journal.

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

[8]  Maurice Herlihy,et al.  Blockchains from a distributed computing perspective , 2019, Commun. ACM.

[9]  Faisal Nawab,et al.  Blockplane: A Global-Scale Byzantizing Middleware , 2019, 2019 IEEE 35th International Conference on Data Engineering (ICDE).

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

[11]  Marko Vukolic,et al.  Blockchain Consensus Protocols in the Wild (Keynote Talk) , 2017, DISC.

[12]  DR. Gavin Wood POLKADOT: VISION FOR A HETEROGENEOUS MULTI-CHAIN FRAMEWORK , 2016 .

[13]  Kevin A Clauson,et al.  Geospatial blockchain: promises, challenges, and scenarios in health and healthcare , 2018, International Journal of Health Geographics.

[14]  Divyakant Agrawal,et al.  Atomic commitment across blockchains , 2019, Proc. VLDB Endow..

[15]  Hans P. Reiser,et al.  Scaling Byzantine Consensus: A Broad Analysis , 2018, SERIAL@Middleware.

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

[17]  Ning Zhang,et al.  A Survey of Distributed Consensus Protocols for Blockchain Networks , 2019, IEEE Communications Surveys & Tutorials.

[18]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[19]  Gang Chen,et al.  Untangling Blockchain: A Data Processing View of Blockchain Systems , 2017, IEEE Transactions on Knowledge and Data Engineering.

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

[21]  Yuanyuan Yang,et al.  A Survey of IoT Applications in Blockchain Systems , 2020, ACM Comput. Surv..

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

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

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

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

[26]  Senthil Nathan,et al.  Blockchain Meets Database: Design and Implementation of a Blockchain Relational Database , 2019, Proc. VLDB Endow..

[27]  Liuba Shrira,et al.  Cross-chain deals and adversarial commerce , 2019, The VLDB Journal.

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

[29]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

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

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

[32]  Matt Juden Blockchain and Economic Development : Hype vs . Reality , 2017 .

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

[34]  Jan Top,et al.  Blockchain for agriculture and food: Findings from the pilot study , 2017 .

[35]  Jeremy Clark,et al.  Bitcoin's academic pedigree , 2017, ACM Queue.

[36]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[37]  Blockchain in Europe : Closing the Strategy Gap , 2018 .

[38]  Maurice Herlihy,et al.  Atomic Cross-Chain Swaps , 2018, PODC.

[39]  Proceedings of the Thirteenth EuroSys Conference , 2018 .

[40]  Jelle Hellings,et al.  Brief Announcement: The Fault-Tolerant Cluster-Sending Problem , 2019, DISC.

[41]  Elisa Bertino,et al.  A theoretical formulation for degrees of isolation in databases , 1997, Inf. Softw. Technol..