There is a resurgence of interest in Byzantine fault-tolerant (BFT) systems due to blockchains. However, leader-based BFT consensus protocols used by permissioned blockchains have limited scalability and robustness. To alleviate the leader bottleneck in BFT consensus, we introduce Stratus, a robust shared mempool protocol that decouples transaction distribution from consensus. Our idea is to have replicas disseminate transactions in a distributed manner and have the leader only propose transaction ids. Stratus uses a provably available broadcast (PAB) protocol to ensure the availability of the referenced transactions. We implemented and evaluated Stratus by integrating it with state-of-the-art BFT-based blockchain protocols and evaluated these protocols in both LAN and WAN settings. Our results show that Stratus-based protocols achieve up to $5\sim20\times$ more throughput than their native counterparts in a network with hundreds of replicas. In addition, the performance of Stratus degrades gracefully in the presence of network asynchrony, Byzantine attackers, and unbalanced workloads. Our design provides easy-to-use APIs so that other BFT systems suffering from leader bottlenecks can use Stratus.
翻译:对Byzantine断层容错(BFT)系统的兴趣因块链而重新抬头。 但是,通过允许的块链,基于领导人的BFT共识协议的可缩放性和稳健性有限。为了减轻BFT共识中领先方的瓶颈,我们引入了Stratus,这是一个强有力的共同的Mempool协议,将交易分配从共识中分离出来。我们的想法是复制以分布方式传播交易,并且领导者只提出交易代号。Stratus使用一个可辨别的现有广播协议,以确保提供被引用的交易。我们实施和评估了Stratus,将它与最新技术的BFT链协议结合起来,并在局域和广域网环境中评价了这些协议。我们的结果表明,Stratus协议在拥有数百个复制品的网络中比本地对应方高出5sim20美元。此外,Stratus的性能在网络中优雅地降解(PBBBBBBBB)交易。我们的设计工作能够轻松地利用A-FAT系统来提供其他痛苦的系统。