Causal ordering in an asynchronous system has many applications in distributed computing, including in replicated databases and real-time collaborative software. Previous work in the area focused on ordering point-to-point messages in a fault-free setting, and on ordering broadcasts under various fault models. To the best of our knowledge, Byzantine fault-tolerant causal ordering has not been attempted for point-to-point communication in an asynchronous setting. In this paper, we first show that existing algorithms for causal ordering of point-to-point communication fail under Byzantine faults. We then prove that it is impossible to causally order messages under point-to-point communication in an asynchronous system with one or more Byzantine failures. We then present two algorithms that can causally order messages under Byzantine failures, where the network provides an upper bound on the message transmission time. The proofs of correctness for these algorithms show that it is possible to achieve causal ordering for point-to-point communication under a stronger asynchrony model where the network provides an upper bound on message transmission time. We also give extensions of our two algorithms for Byzantine fault-tolerant causal ordering of multicasts.
翻译:自动同步系统中的断层命令在分布式计算中有许多应用,包括在复制的数据库和实时协作软件中。 该地区以前的工作重点是在无故障环境下订购点对点信息,以及按各种故障模式命令广播。 据我们所知, Byzantine 错误容忍因果命令没有在无同步环境下试图进行点对点通信。 在本文中,我们首先显示,在Byzantine 断层下,点对点通信的因果排序现有算法在点对点通信的因果排序失败。 然后,我们证明不可能在一个有一次或多次Byzantine故障的无序系统中以点对点通信进行因果排序。 然后,我们提出两种可以因果排序信息在Byzantine 失败情况下的因果通信的算法,因为网络提供了电文传输时间的上限。 这些算法的正确性证明表明,在更强的断点通信模式下,在点对点对点通信的因果排序是可能的。 我们还提出了两个逻辑,我们用网络对信息传输时间进行上限控制。