Load Balancing in Sharded Blockchains

Load Balancing in Sharded Blockchains
复制标题

分片区块链中的负载均衡

DOI:
10.1007/978-3-030-54455-3_36
复制
发表时间:
2020
期刊:
Workshop on Trusted Smart Contracts (in Financial Cryptography), Springer-Verlag
影响因子:
--
通讯作者:
and Takashi Nishide
and Takashi Nishide
中科院分区:
--
文献类型:
--
作者:
Naoya Okanami;Ryuya Nakamura;and Takashi Nishide

文献摘要

相似文献

分片是一种设计高度可扩展的区块链的方法。分片区块链通过将共识节点(验证器)划分为称为分片的组并让它们在每个分片中处理不同的交易来实现并行性。在本文中,我们经济地分析了分片区块链上的用户行为,并发现用户的帐户和智能合约最终集中在少数分片中的现象,从而导致分片负载不公平。这种现象会导致糟糕的用户体验,例如交易包含延迟和交易费用增加。为了解决上述问题,我们提出了一种分片区块链的负载均衡框架,其​​中账户和合约经常被重新分配给分片,以减少分片之间的负载差异。我们将合同重新分配表述为一个优化问题,并提出了解决它的算法。此外,我们将该框架应用于现有的分片设计(以太坊2.0)并修改协议以进行负载平衡。最后,我们模拟该协议并观察到较小的交易延迟和费用。
Sharding is an approach to designing a highly scalable blockchain. A sharded blockchain achieves parallelism by dividing consensus nodes (validators) into groups called shards and making them process different transactions in each shard. In this paper, we economically analyze users’ behavior on sharded blockchains and identify a phenomenon that users’ accounts 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 the above problem, we propose a load balancing framework in sharded blockchains in which accounts and contracts are frequently reassigned to shards to reduce the difference of loads between shards. We formulate the contract reassignment as an optimization problem and present the algorithm to solve it. Further, we apply the framework to an existing sharding design (Ethereum 2.0) and modify the protocol to do load balancing. Finally, we simulate the protocol and observe smaller transaction delays and fees.