论文标题
基于共识的负载平衡算法,用于碎片链
A Consensus-Based Load-Balancing Algorithm for Sharded Blockchains
论文作者
论文摘要
公共区块链是分散的网络,每个参与节点都执行相同的决策过程。这种权力下放形式的扩展不佳,因为相同的数据存储在每个网络节点上,并且由于所有节点都必须在确认之前验证每个交易。一种解决方案方法将区块链网络的节点分解为称为“碎片”的子集,每个碎片处理和存储并行的交易的不相交集。为了完全受益于碎片链的并行性,必须均匀分布碎片的处理负载。但是,计算平衡工作负载的问题在理论上很难且在实践中更加复杂,因为在将交易处理时间分配给碎片之前未知。在本文中,我们介绍了一种动态的工作负载平衡算法,在该算法中,根据最近的碎片工作负载历史,定期对交易的分配策略进行了定期调整。我们的算法是对基于共识的负载平衡算法的碎片区块链的改编。它是与基于网络的应用程序(例如区块链)的完全分布式算法。基于模拟报告了一些初步结果,该模拟将三个著名区块链平台的交易碎片交易。
Public blockchains are decentralized networks where each participating node executes the same decision-making process. This form of decentralization does not scale well because the same data are stored on each network node, and because all nodes must validate each transaction prior to their confirmation. One solution approach decomposes the nodes of a blockchain network into subsets called "shards", each shard processing and storing disjoint sets of transactions in parallel. To fully benefit from the parallelism of sharded blockchains, the processing load of shards must be evenly distributed. However, the problem of computing balanced workloads is theoretically hard and further complicated in practice as transaction processing times are unknown prior to be assigned to shards. In this paper we introduce a dynamic workload-balancing algorithm where the allocation strategy of transactions to shards is periodically adapted based on the recent workload history of shards. Our algorithm is an adaptation to sharded blockchains of a consensus-based load-balancing algorithm. It is a fully distributed algorithm inline with network based applications such as blockchains. Some preliminary results are reported based on simulations that shard transactions of three well-known blockchain platforms.