2
solutions have been proposed to address the blockchain scalability problem [2], [3]. In this report,
we focus on one of the most promising solutions, i.e., sharding [4], [5].
Sharding partitions the network into small, manageable groups, called shards, that run parallel
to one another. The compulsory duplication of three resources (i.e., communication, data storage,
and computation) can now be avoided for each participating node, while these overheads must
be incurred by all full nodes in traditional non-sharded blockchains. Consequently, grouping
(sharding) can be performed in three domains, i.e., computation (block production), network
(communication) and storage. The main focus usually is to shard the computation, however,
other types can also be simultaneously achieved alongside it (e.g., RapidChain [6]). In particular,
computation sharding allows partial transaction processing on a single node, since now each
shard is only responsible for processing the jobs within the group.
Despite the simplicity of this idea, many new problems will arise in sharding since it is
being used in a decentralized system. Main challenges usually are with respect to intra-shard
consensus safety and cross-shard atomicity1[4], [7]. Intra-shard consensus safety stems from the
fact that in sharded networks, attackers can dominate a single shard more easily than dominating
the whole network. Shard takeover, also called 1% attack, is analogous to 51% attack in non-
sharded blockchains where adversary has enough resources to change the state of the system.
The other issue is related to the transactions (TXs) that target multiple shards, leading to cross-
shard transactions. There must be a shard interoperability mechanism in order to communicate
and verify the transactions that are cross-shard. Even so, guaranteeing the system consistency
is a challenge. The occurrence of orphaned blocks as the consequence of fork resolution, can
compromise the validity of system state.
Nevertheless, none of the above challenges concern us here. In this report, we model a
pre-configured sharding scheme using queueing networks (QNs) to derive its maximum sta-
ble throughput. Even so, there can still be many configurations for our sharding scenario. In
particular, sharding domains play a significant role in deriving a proper model. They define
participants responsibilities and thus the measure of their engagement in any of the main tasks,
i.e., block production, relaying and storage. These responsibilities (especially those overlapped
among shards’ participants) will then be used to define system characteristics of our interest.
Thus, it is imperative to know in how many domains and to what extent sharding is applied.
In this report, our main focus will be on a fully sharded scenario. Each node then processes,
relays and stores only the information that are assigned to its exclusive shard. We first introduce
the preliminary characteristics of our sharded blockchain, upon which we present an analytical
model based on a QN to best fit the description. We then obtain a closed-from solution for the
maximum stable throughput of this system, which is the limit before system overloads and delay
goes to infinity. We also briefly introduce and examine a computation sharding scenario without
1. In order to guarantee consistency in the whole system, either all operations in a transaction must complete or none of them.