Skip to main content


Log in

ByShard: sharding in a Byzantine environment

  • Regular Paper
  • Published:
The VLDB Journal Aims and scope Submit manuscript


The emergence of blockchains has fueled the development of resilient systems that 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 two-phase 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 general-purpose and flexible sharded resilient data management systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others


  1. We provide a practical definition of consensus. In practice, decisions will be made on external requests (guaranteeing non-triviality) if such requests are available to non-faulty replicas (guaranteeing termination). Theoretical definitions typically have more abstract requirements for termination and non-triviality.

  2. The full C++ implementation of these experiments and the raw measurements are available at

  3. The transaction duration includes waiting times (e.g., waiting for locks to be released, waiting for votes to arrive, waiting for a next shard-step to be executed). As many transactions can be active in parallel (even at a single shard due to waiting), the cumulative duration can be much higher than the product of the number of shards and the total runtime.

  4. All other processed transactions are aborted (either due to constraint failure or, when non-blocking locks are used, the inability to acquire locks).

  5. Linear orchestration can only have a single constraint failure per transaction (which will lead to an abort for that transaction), while both centralized and distributed orchestration can have many constraint failures per transaction (which will lead to a single abort for that transaction).


  1. Al-Bassam, M., Sonnino, A., Bano, S., Hrycyszyn, D., Danezis, G.: Chainspace: A sharded smart contracts platform (2017). arxiv:1708.03778

  2. Amiri, M.J., Agrawal, D., El Abbadi, A.: SharPer: sharding permissioned blockchains over network clusters. In: Proceedings of the 2021 International Conference on Management of Data, pp. 76–88. ACM (2021).

  3. Amiri, M.J., Agrawal, D., Abbadi, A.E.: CAPER: a cross-application permissioned blockchain. Proc. VLDB Endow. 12(11), 1385–1398 (2019).

    Article  Google Scholar 

  4. Atluri, V., Bertino, E., Jajodia, S.: A theoretical formulation for degrees of isolation in databases. Inform. Software Tech. 39(1), 47–53 (1997).

    Article  Google Scholar 

  5. Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. SIGMOD Rec. 24(2), 1–10 (1995).

    Article  Google Scholar 

  6. Berger, C., Reiser, H.P.: Scaling byzantine consensus: a broad analysis. In: Proceedings of the 2nd Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers, pp. 13–18. ACM (2018).

  7. Cachin, C., Vukolic, M.: Blockchain consensus protocols in the wild (keynote talk). In: 31st International Symposium on Distributed Computing, vol. 91, pp. 1:1–1:16. Schloss Dagstuhl (2017).

  8. Casey, M., Crane, J., Gensler, G., Johnson, S., Narula, N.: The impact of blockchain technology on finance: a catalyst for change. Tech. Rep., International Center for Monetary and Banking Studies (2018).

  9. Castro, M., Liskov, B.: Practical byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20(4), 398–461 (2002).

    Article  Google Scholar 

  10. Correia, M., Veronese, G.S., Neves, N.F., Verissimo, P.: Byzantine consensus in asynchronous message-passing systems: a survey. Int. J. Crit. Comput.-Based Syst. 2(2), 141–161 (2011)

    Article  Google Scholar 

  11. Dang, H., Dinh, T.T.A., Loghin, D., Chang, E.C., Lin, Q., Ooi, B.C.: Towards scaling blockchain systems via sharding. In: Proceedings of the 2019 International Conference on Management of Data, pp. 123–140. ACM (2019).

  12. Dinh, T.T.A., Liu, R., Zhang, M., Chen, G., Ooi, B.C., Wang, J.: Untangling blockchain: a data processing view of blockchain systems. Trans. Knowl. Data Eng. 30(7), 1366–1385 (2018).

    Article  Google Scholar 

  13. Dolev, D.: Unanimity in an unknown and unreliable environment. In: 22nd Annual Symposium on Foundations of Computer Science, pp. 159–168. IEEE (1981).

  14. Dolev, D.: The byzantine generals strike again. J. Algorithms 3(1), 14–30 (1982).

    Article  MathSciNet  MATH  Google Scholar 

  15. El-Hindi, M., Binnig, C., Arasu, A., Kossmann, D., Ramamurthy, R.: BlockchainDB: a shared database on blockchains. Proc. VLDB Endow. 12(11), 1597–1609 (2019).

  16. Ethereum Foundation: BTC Relay: a bridge between the bitcoin blockchain & ethereum smart contracts (2017).

  17. Gordon, W.J., Catalini, C.: Blockchain technology for healthcare: facilitating the transition to patient-driven interoperability. Comput. Struct. Biotechnol. J. 16, 224–230 (2018).

    Article  Google Scholar 

  18. Gray, J.: Notes on data base operating systems. In: Operating Systems, An Advanced Course, pp. 393–481. Springer-Verlag (1978).

  19. Gupta, S., Hellings, J., Sadoghi, M.: Fault-tolerant distributed transactions on blockchain. In: Synthesis Lectures on Data Management. Morgan & Claypool (2021).

  20. Gupta, S., Rahnama, S., Sadoghi, M.: Permissioned blockchain through the looking glass: architectural and implementation lessons learned. In: 2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS), pp. 754–764. IEEE (2020).

  21. Gupta, S., Rahnama, S., Hellings, J., Sadoghi, M.: ResilientDB: global scale resilient blockchain fabric. Proc. VLDB Endow. 13(6), 868–883 (2020).

    Article  Google Scholar 

  22. Haerder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Comput. Surv. 15(4), 287–317 (1983).

    Article  MathSciNet  Google Scholar 

  23. Hassanzadeh-Nazarabadi, Y., Taheri-Boshrooyeh, S.: a consensus protocol with deterministic finality. In: INFOCOM 2021–IEEE Conference on Computer Communications Workshops, pp. 1–2. IEEE (2021).

  24. Hassanzadeh-Nazarabadi, Y., Küpçü, A., Özkasap, Ö.: LightChain: scalable DHT-based blockchain. Parallel Distrib. Syst. 32(10), 2582–2593 (2021).

    Article  Google Scholar 

  25. Hellings, J., Hughes, D.P., Primero, J., Sadoghi, M.: Cerberus: Minimalistic multi-shard byzantine-resilient transaction processing (2020). arxiv:2008.04450

  26. Hellings, J., Sadoghi, M.: Byzantine cluster-sending in expected constant communication (2021). arxiv:2108.08541

  27. Hellings, J., Sadoghi, M.: The fault-tolerant cluster-sending problem. In: Foundations of Information and Knowledge Systems, pp. 168–186. Springer (2022).

  28. Hellings, J., Sadoghi, M.: Byshard: sharding in a byzantine environment. Proc. VLDB Endow. 14(11), 2230–2243 (2021).

    Article  Google Scholar 

  29. Hentschel, A., Hassanzadeh-Nazarabadi, Y., Seraj, R., Shirley, D., Lafrance, L.: Flow: Separating consensus and compute–block formation and execution (2020). arxiv:2002.07403

  30. Herlihy, M.: Atomic cross-chain swaps. In: Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, pp. 245–254. ACM (2018).

  31. Herlihy, M.: Blockchains from a distributed computing perspective. Commun. ACM 62(2), 78–85 (2019).

    Article  Google Scholar 

  32. Herlihy, M., Liskov, B., Shrira, L.: Cross-chain deals and adversarial commerce. VLDB J. (2021).

    Article  Google Scholar 

  33. Herzog, T.N., Scheuren, F.J., Winkler, W.E.: Data quality and record linkage techniques. Springer (2007).

  34. Kamel Boulos, M.N., Wilson, J.T., Clauson, K.A.: Geospatial blockchain: promises, challenges, and scenarios in health and healthcare. Int. J. Health. Geogr 17(1), 1211–1220 (2018).

    Article  Google Scholar 

  35. Kamilaris, A., Fonts, A., Prenafeta-Boldú, F.X.: The rise of blockchain technology in agriculture and food supply chains. Trends Food Sci. Technol. 91, 640–652 (2019).

    Article  Google Scholar 

  36. Kwon, J., Buchman, E.: Cosmos whitepaper: a network of distributed ledgers (2019).

  37. Lamport, L.: Paxos made simple. ACM SIGACT News 32(4), 51–58 (2001).

    Article  Google Scholar 

  38. Lao, L., Li, Z., Hou, S., Xiao, B., Guo, S., Yang, Y.: A survey of IoT applications in blockchain systems: architecture, consensus, and traffic modeling. ACM Comput. Surv. (2020).

    Article  Google Scholar 

  39. Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system.

  40. Narayanan, A., Clark, J.: Bitcoin’s academic pedigree. Commun. ACM 60(12), 36–45 (2017).

    Article  Google Scholar 

  41. Nathan, S., Govindarajan, C., Saraf, A., Sethi, M., Jayachandran, P.: Blockchain meets database: design and implementation of a blockchain relational database. Proc. VLDB Endow. 12(11), 1539–1552 (2019).

  42. Nawab, F., Sadoghi, M.: Consensus in data management: from distributed commit to blockchain. Found. Trends Datab. 12(4), 221–364 (2023).

    Article  MATH  Google Scholar 

  43. Özsu, M.T., Valduriez, P.: Principles of Distributed Database Systems. Springer (2020).

  44. Pisa, M., Juden, M.: Blockchain and economic development: Hype vs. reality. Tech. rep., Center for Global Development (2017).

  45. Reinsel, D., Gantz, J., Rydning, J.: Data age 2025: the digitization of the world, from edge to core. Tech. rep., IDC (2018).

  46. Skeen, D.: A Quorum-Based Commit Protocol, Tech. rep. Cornell University (1982)

  47. Tel, G.: Introduction to Distributed Algorithms, 2nd edn. Cambridge University Press (2001)

  48. The Hyperledger White Paper Working Group: An introduction to Hyperledger. Tech. rep, The Linux Foundation (2018)

  49. Treiblmaier, H., Beck, R. (eds.): Business Transformation through Blockchain. Springer (2019).

  50. van Steen, M., Tanenbaum, A.S.: Distributed Systems, 3th edn. Maarten van Steen (2017).

  51. Wood, G.: Ethereum: A Secure Decentralised Generalised Transaction Ledger. EIP-150 revision

  52. Wood, G.: Polkadot: vision for a heterogeneous multi-chain framework (2016).

  53. Wu, M., Wang, K., Cai, X., Guo, S., Guo, M., Rong, C.: A comprehensive survey of blockchain: from theory to IoT applications and beyond. Internet Things J. 6(5), 8114–8154 (2019).

  54. Xiao, Y., Zhang, N., Lou, W., Hou, Y.T.: A survey of distributed consensus protocols for blockchain networks. Commun. Surv. Tutor 22(2), 1432–1465 (2020).

  55. Yin, M., Malkhi, D., Reiter, M.K., Gueta, G.G., Abraham, I.: HotStuff: BFT consensus with linearity and responsiveness. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, pp. 347–356. ACM (2019).

  56. Zakhary, V., Agrawal, D., El Abbadi, A.: Atomic commitment across blockchains. Proc. VLDB Endow. 13(9), 1319–1331 (2020).

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Jelle Hellings.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

An extended abstract of this work appeared at the 47th International Conference on Very Large Data Bases (VLDB 2021) [26].

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hellings, J., Sadoghi, M. ByShard: sharding in a Byzantine environment. The VLDB Journal 32, 1343–1367 (2023).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: