论文标题
与拜占庭失败的异步重新配置
Asynchronous Reconfiguration with Byzantine Failures
论文作者
论文摘要
复制的服务本质上容易受到故障和安全漏洞的影响。因此,在长期运行的系统中,保持重新配置机制可以用正确的复制品代替错误的复制品是必不可少的。一个重要的挑战是在不影响复制数据的可用性和一致性的情况下启用重新配置:即使在更新一组服务复制品时,客户也应该能够获得正确的服务。 在本文中,我们解决了在拜占庭失败存在下重新配置的问题:错误的复制品或客户可能会任意偏离其预期行为。我们描述了一种通用技术,用于构建异步和拜占庭缺陷的可重构对象:客户可以操纵对象数据并发出重新配置调用而无需对当前配置达成共识。借助远期安全的数字签名,我们的解决方案确保取代和可能妥协的配置是无害的,不能让慢慢的客户欺骗阅读过时的数据,并且拜占庭客户不能通过通过重新配置请求来淹没系统来否认系统。我们的方法是模块化的,基于动态拜占庭式晶格协议抽象,我们讨论了如何扩展其以实现大量可重复使用的复制服务的拜占庭耐性实现。
Replicated services are inherently vulnerable to failures and security breaches. In a long-running system, it is, therefore, indispensable to maintain a reconfiguration mechanism that would replace faulty replicas with correct ones. An important challenge is to enable reconfiguration without affecting the availability and consistency of the replicated data: the clients should be able to get correct service even when the set of service replicas is being updated. In this paper, we address the problem of reconfiguration in the presence of Byzantine failures: faulty replicas or clients may arbitrarily deviate from their expected behavior. We describe a generic technique for building asynchronous and Byzantine fault-tolerant reconfigurable objects: clients can manipulate the object data and issue reconfiguration calls without reaching consensus on the current configuration. With the help of forward-secure digital signatures, our solution makes sure that superseded and possibly compromised configurations are harmless, that slow clients cannot be fooled into reading stale data, and that Byzantine clients cannot cause a denial of service by flooding the system with reconfiguration requests. Our approach is modular and based on dynamic Byzantine lattice agreement abstraction, and we discuss how to extend it to enable Byzantine fault-tolerant implementations of a large class of reconfigurable replicated services.