Load Balancing with In-Protocol/Wallet-Level Account Assignment in Sharded Blockchains


IEICE TRANSACTIONS on Information and Systems   Vol.E105-D    No.2    pp.205-214
Publication Date: 2022/02/01
Publicized: 2021/11/29
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2021BCP0003
Type of Manuscript: Special Section INVITED PAPER (Special Section on Blockchain Systems and Applications)
sharding,  blockchain,  load balancing,  game theory,  heuristics,  simulated annealing,  

Full Text: PDF>>
Buy this Article

Sharding is a solution to the blockchain scalability problem. A sharded blockchain divides consensus nodes (validators) into groups called shards and processes transactions separately to improve throughput and latency. In this paper, we analyze the rational behavior of users in account/balance model-based sharded blockchains and identify a phenomenon in which accounts (users' wallets and smart contracts) eventually get concentrated in a few shards, making shard loads unfair. This phenomenon leads to bad user experiences, such as delays in transaction inclusions and increased transaction fees. To solve this problem, we propose two load balancing methods in account/balance model-based sharded blockchains. Both methods perform load balancing by periodically reassigning accounts: in the first method, the blockchain protocol itself performs load balancing and in the second method, wallets perform load balancing. We discuss the pros and cons of the two protocols, and apply the protocols to the execution sharding in Ethereum 2.0, an existing sharding design. Further, we analyze by simulation how the protocols behave to confirm that we can observe smaller transaction delays and fees. As a result, we released the simulation program as “Shargri-La,” a simulator designed for general-purpose user behavior analysis on the execution sharding in Ethereum 2.0.