Fast Transaction Scheduling in Blockchain Sharding

Ramesh Adhikari,Costas Busch,Miroslav Popovic
2024-05-24
Abstract:Sharding is a promising technique for addressing the scalability issues of blockchain. It divides the $n$ participating nodes into $s$ disjoint groups called shards, where each shard processes transactions in parallel. We investigate scheduling algorithms for the blockchain sharding systems, where each transaction resides in a shard of the communication graph and attempts to access accounts at possibly remote shards. We examine batch scheduling problems on the shard graph $G_s$, where given a set of transactions, we aim to find efficient schedules to execute them as fast as possible. First, we present a centralized scheduler where one of the shards has global knowledge of transactions to be processed. For general graphs, where the transaction and its accessing objects are arbitrarily far from each other with a maximum distance $d$, the centralized scheduler provides $O(kd)$ approximation to the optimal schedule, where $k$ is the maximum number of shards each transaction accesses. Consequently, for a Clique graph where shards are at a unit distance from each other, we obtain $O(k)$ approximation to the optimal schedule. We also get $O(k \log s)$ approximation for Hypercube, Butterfly, and $g$-dimensional Grid, where $g=O(\log s)$. Next, we provide a centralized scheduler with a bucketing approach that offers improved bounds for special cases. Finally, we provide a distributed scheduler where shards do not require global transaction information. We achieve this by using a hierarchical clustering of the shards and using the centralized scheduler in each cluster. We show that the distributed scheduler has a competitive ratio of $O(\mathcal{A_\mathcal{CS}} \log ^2 s)$, where $\mathcal{A_\mathcal{CS}}$ is the approximation ratio of the centralized scheduler. To our knowledge, we are the first to give provably fast transaction scheduling algorithms for blockchain sharding systems.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?
### Problems Addressed by the Paper The paper primarily aims to solve the problem of fast transaction scheduling in Blockchain Sharding systems. Specifically, it investigates how to efficiently schedule transactions in a blockchain sharding system to achieve the fastest possible execution speed. #### Main Research Content: 1. **Centralized Scheduler**: A centralized scheduling algorithm is proposed, where one shard node possesses global transaction information. For general graphs, this algorithm provides a near-optimal scheduling solution; for special graph structures such as complete graphs, hypercube graphs, butterfly graphs, and grid graphs, corresponding near-optimal scheduling solutions are also provided. 2. **Bucketed Centralized Scheduler**: A bucketed centralized scheduling algorithm is further proposed, which groups transactions based on their distance to the target shard, thereby improving scheduling performance in specific scenarios. For example, better approximation ratios are achieved in general graphs with randomly selected access objects and in linear graphs. 3. **Distributed Scheduler**: A distributed scheduling algorithm is designed, allowing each shard node to schedule transactions without global transaction information. Through hierarchical clustering techniques, each shard cluster can independently schedule transactions, thereby improving the overall system's scalability and performance. ### Summary The main contribution of this paper is the proposal of efficient transaction scheduling algorithms for blockchain sharding systems, addressing the low scheduling efficiency issues present in existing sharding protocols. Detailed theoretical analysis is conducted on different types of network topologies. These algorithms not only effectively handle transaction conflicts but also improve system throughput while ensuring consistency.