Table of Contents
Fetching ...

Fast Transaction Scheduling in Blockchain Sharding

Ramesh Adhikari, Costas Busch, Miroslav Popovic

TL;DR

This work introduces provably fast batch transaction scheduling for blockchain sharding by formulating centralized, bucketed, and distributed schedulers that coordinate inter-shard subtransactions while avoiding locking. The centralized approach uses greedy coloring to serialize conflicting transactions, achieving tight approximation bounds of $O(kd)$ on general graphs and better results on structured topologies; bucketing and random-access analyses yield further improvements. The distributed scheduler leverages hierarchical shard clustering to preserve locality, attaining a competitive ratio of $O(\mathcal{A}_{CS} \cdot \log d \cdot \log s)$. Across simulations, the proposed schedulers deliver up to 3× lower latency, 2× higher throughput, and substantially fewer messages compared to lock-based methods. These results establish the first formal, scalable scheduling schemes for blockchain sharding with practical performance benefits in IoT/edge/mobile environments.

Abstract

Sharding is a promising technique for addressing the scalability issues of blockchain, and this technique is especially important for IoT, edge, or mobile computing. It divides the $n$ participating nodes into $s$ disjoint groups called shards, where each shard processes transactions in parallel. We examine batch scheduling problems on the shard graph $G_s$, where we find efficient schedules for a set of transactions. First, we present a centralized scheduler where one of the shards is considered as a leader, who receives the transaction information from all of the other shards and determines the schedule to process the transactions. For general graphs, where a 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. Next, we provide a centralized scheduler with a bucketing approach that offers improved bounds for the case where $G_s$ is a line graph, or the $k$ objects are randomly selected. 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(A_{CS} \cdot \log d \cdot \log s)$, where $A_{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. We also present simulation results for our schedulers and compare their performance with a lock-based approach. The results show that our schedulers are generally better with up to 3x lower latency and 2x higher throughput.

Fast Transaction Scheduling in Blockchain Sharding

TL;DR

This work introduces provably fast batch transaction scheduling for blockchain sharding by formulating centralized, bucketed, and distributed schedulers that coordinate inter-shard subtransactions while avoiding locking. The centralized approach uses greedy coloring to serialize conflicting transactions, achieving tight approximation bounds of on general graphs and better results on structured topologies; bucketing and random-access analyses yield further improvements. The distributed scheduler leverages hierarchical shard clustering to preserve locality, attaining a competitive ratio of . Across simulations, the proposed schedulers deliver up to 3× lower latency, 2× higher throughput, and substantially fewer messages compared to lock-based methods. These results establish the first formal, scalable scheduling schemes for blockchain sharding with practical performance benefits in IoT/edge/mobile environments.

Abstract

Sharding is a promising technique for addressing the scalability issues of blockchain, and this technique is especially important for IoT, edge, or mobile computing. It divides the participating nodes into disjoint groups called shards, where each shard processes transactions in parallel. We examine batch scheduling problems on the shard graph , where we find efficient schedules for a set of transactions. First, we present a centralized scheduler where one of the shards is considered as a leader, who receives the transaction information from all of the other shards and determines the schedule to process the transactions. For general graphs, where a transaction and its accessing objects are arbitrarily far from each other with a maximum distance , the centralized scheduler provides approximation to the optimal schedule, where is the maximum number of shards each transaction accesses. Next, we provide a centralized scheduler with a bucketing approach that offers improved bounds for the case where is a line graph, or the objects are randomly selected. 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 , where 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. We also present simulation results for our schedulers and compare their performance with a lock-based approach. The results show that our schedulers are generally better with up to 3x lower latency and 2x higher throughput.
Paper Structure (25 sections, 14 theorems, 13 equations, 7 figures, 1 table, 3 algorithms)

This paper contains 25 sections, 14 theorems, 13 equations, 7 figures, 1 table, 3 algorithms.

Key Result

Lemma 1

For graph $G_s$, the processing time of any schedule for ${\mathcal{T}}$ in a graph $G_{\mathcal{T}}$ is at least $l$, where $l$ is the maximum number of transactions that access any object $o_j\in {\mathcal{O}}$.

Figures (7)

  • Figure 1: Edge, IoT and Mobile devices with blockchain sharding.
  • Figure 2: Simple representation of transaction processing using Algorithm \ref{['alg:centralized-scheduler']}, where (a) represents four shards, each having one pending transaction to process. Figure (b) and (c) represent Phase 1, and Figure (d) represents Phase 2 of the Algorithm \ref{['alg:centralized-scheduler']}.
  • Figure 3: Simulation results of Algorithm \ref{['alg:centralized-scheduler']}. The left bar chart shows the average transaction throughput (in transactions per round) versus the number of shards. The middle line graph shows the average transaction latency (in rounds) versus the number of shards, and the right line graph shows the average number of message exchanges versus the number of shards.
  • Figure 4: Simulation results of Algorithm \ref{['alg:centralized-with-bucket']} for transactions accessing random shards.
  • Figure 5: Simulation result of Algorithm \ref{['alg:centralized-with-bucket']} when transactions access nearby shards.
  • ...and 2 more figures

Theorems & Definitions (16)

  • Example 1
  • Definition 1: Conflict
  • Lemma 1: Lower Bound
  • Lemma 2: Upper Bound
  • Theorem 1
  • Corollary 1
  • Corollary 2
  • Lemma 3: Chernoff bound
  • Lemma 4
  • Lemma 5: Lower Bound
  • ...and 6 more