Distributed computing Raft一致性算法是拜占庭容错(bft)算法吗?

Distributed computing Raft一致性算法是拜占庭容错(bft)算法吗?,distributed-computing,consensus,raft,Distributed Computing,Consensus,Raft,raft共识算法是拜占庭式容错算法吗 需要多少(百分比)节点才能达成一致/共识?否,Raft的初始描述(由Diego Ongaro和John Ousterhout)是不拜占庭式容错的 假设一个节点在给定的期限内投票两次,或者投票给另一个节点,该节点的日志与它自己的日志不一样是最新的,并且该节点成为领导者。这种行为可能导致大脑分裂(两个节点认为自己是领导者的情况)或日志不一致 许多其他场景(如发送虚假但有效的心跳消息)也表明Raft不具备拜占庭式容错能力 然而,有几篇论文介绍了Raft的拜占庭容错

raft共识算法是拜占庭式容错算法吗


需要多少(百分比)节点才能达成一致/共识?

否,Raft的初始描述(由Diego Ongaro和John Ousterhout)是拜占庭式容错的

假设一个节点在给定的期限内投票两次,或者投票给另一个节点,该节点的日志与它自己的日志不一样是最新的,并且该节点成为领导者。这种行为可能导致大脑分裂(两个节点认为自己是领导者的情况)或日志不一致

许多其他场景(如发送虚假但有效的心跳消息)也表明Raft不具备拜占庭式容错能力

然而,有几篇论文介绍了Raft的拜占庭容错版本


要达成共识,Raft需要大多数节点处于活动状态-
>50%

这意味着为了容忍
t
故障,仍然必须有
t+1
节点正常工作


因此,
2t+1
节点需要具有t弹性,这是在存在部分同步的情况下达成共识所需的最小数量的节点,仅允许遗漏故障。

这怎么太广泛了?这是一个肯定或否定的问题。我猜是因为这不是一个单一的问题谢谢!BFT算法的完整列表是什么?Paxos、PBFT等。我刚刚读到tangaroa是bft raft算法。为什么我们需要bft raft算法?使用bft raft,可伸缩性会受到影响吗?@NathanAw这应该作为一个新问题提出,而不是在评论中讨论