中文

RCanopus:使 Canopus 具备故障与拜占庭容错弹性

分布式、并行与集群计算 2019-06-18 v4 网络与互联网体系结构 性能

摘要

分布式共识是许多分布式系统(包括分布式数据库和区块链)的关键赋能技术。Canopus 是一种可扩展的分布式共识协议,确保系统中的存活节点就操作的有序序列(称为事务)达成一致。与大多数先前的共识协议不同,Canopus 不依赖单一领导者。相反,它使用虚拟树覆盖进行消息传播,以限制过度订阅链路上的网络流量。它利用机柜内和网络 fabric 内的硬件冗余,降低协议复杂度和通信开销。这些设计决策使 Canopus 能够支持大规模部署而不会出现显著的性能下降。现有 Canopus 协议在节点和通信故障面前具有弹性,但其主要关注性能,因此对其它类型故障响应不佳。例如,单个服务器机柜的故障会导致所有存活节点停滞。该协议也容易受到拜占庭节点的攻击,这些节点可导致不同存活节点以不同的事务顺序结束协议。在本文中,我们描述了 RCanopus('弹性 Canopus'),它将 Canopus 扩展以在多种故障下尽可能保证存活性,即允许存活节点取得进展。这要求 RCanopus 在使用不可靠故障检测器的情况下准确检测并从故障中恢复,并容忍拜占庭攻击。其次,RCanopus 保证在拜占庭攻击和网络分区存在下的安全性,即存活节点间事务顺序的一致。

关键词

引用

@article{arxiv.1810.09300,
  title  = {RCanopus: Making Canopus Resilient to Failures and Byzantine Faults},
  author = {S. Keshav and W. Golab and B. Wong and S. Rizvi and S. Gorbunov},
  journal= {arXiv preprint arXiv:1810.09300},
  year   = {2019}
}

备注

Pre-print