Performance and Fault Tolerance Trade-offs in Sharded Permissioned Blockchains

Blockchain has become a promising technology in distributed systems in recent years, but scalability remains a major limitation. The traditional approach to scalability, namely sharding, does not solve the problem easily because the process of interleaving blocks stored in different shards to create a unified master ledger is difficult to parallelize effectively. This paper examines two techniques for interleaving the shards of permissioned blockchains, which we refer to as strong temporal coupling and weak temporal coupling. We describe the algorithmic foundations of both techniques, and evaluate their latency-throughput tradeoff experimentally. Strong coupling loses performance when different shards grow unevenly, but outperforms weak coupling in a wide-area environment due to its inherent efficiency. Weak coupling, in contrast, deals naturally with load imbalance across shards and in fact tolerates shard failures without any additional effort, but loses performance when running on a high-latency network due to the additional coordination performed.