Sharding is proposed to enhance blockchain scalability. However, a size-security dilemma where every shard must be large enough to ensure its security constrains the efficacy of individual shards and the degree of sharding itself. Most existing sharding solutions therefore rely on either weakening the adversary or making stronger assumptions on network links. This paper presents Arete, an optimally scalable blockchain sharding protocol designed to resolve the dilemma based on an observation that if individual shards can tolerate a higher fraction of (Byzantine) faults, we can securely create smaller shards in a larger quantity. The key idea of Arete, therefore, is to improve the security resilience/threshold of shards by dividing the blockchain's State Machine Replication (SMR) process itself. Similar to modern blockchains, Arete first decouples SMR in three steps: transaction dissemination, ordering, and execution. However, unlike other blockchains, for Arete, a single ordering shard performs the ordering task while multiple processing shards perform the dissemination and execution of blocks. As processing shards do not run consensus, each of those can tolerate up to half compromised nodes. Moreover, the SMR process in the ordering shard is lightweight as it only operates on the block digests. Second, Arete considers safety and liveness against Byzantine failures separately to improve the safety threshold further while tolerating temporary liveness violations in a controlled manner. Apart from the creation of more optimal-size shards, such a deconstructed SMR scheme also empowers us to devise a novel certify-order-execute architecture to fully parallelize transaction handling, thereby improving the performance of sharded blockchain systems. We implement Arete and evaluate it on a geo-distributed AWS environment, showing that Arete outperforms the state-of-the-art sharding protocol.
翻译:分片技术被提出以提升区块链的可扩展性。然而,每个分片必须足够大以确保其安全性的"规模-安全困境"制约了单个分片的效能与分片程度本身。因此,现有大多数分片方案要么依赖于削弱敌手假设,要么需要对网络链路做出更强假设。本文提出Arete协议——一种基于以下观察设计的最优可扩展区块链分片协议:若单个分片能容忍更高比例的(拜占庭)故障,我们就能安全地创建更小规模且数量更多的分片。Arete的核心思想是通过解构区块链的状态机复制过程来提升分片的安全弹性/阈值。与现代区块链类似,Arete首先将SMR解耦为三个步骤:交易传播、排序与执行。但与其他区块链不同,Arete采用单个排序分片执行排序任务,而多个处理分片负责区块的传播与执行。由于处理分片无需运行共识算法,每个处理分片可容忍高达半数的故障节点。此外,排序分片中的SMR过程是轻量级的,因其仅处理区块摘要。其次,Arete分别考虑针对拜占庭故障的安全性与活性,在受控容忍临时活性违规的同时进一步提升安全阈值。除了创建更优规模的分片外,这种解构式SMR方案还使我们能够设计新颖的"认证-排序-执行"架构,实现交易处理的完全并行化,从而提升分片区块链系统的性能。我们在跨地域AWS环境中实现并评估Arete,结果表明其性能优于当前最先进的分片协议。