为什么pbft算法要求N>=3f + 1?
为什么pbft算法要求N>=3f + 1?
或者说 当primary 节点是fault节点的话 会发生什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
为什么pbft算法要求N>=3f + 1?
或者说 当primary 节点是fault节点的话 会发生什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
由于消息到达顺序,可能会产生这样的情况,f个问题节点比f个正常节点先返回消息,但是要保证正常接收到的消息数比有问题的多,所以需要满足 N-f-f>f => N>3f,所以至少 3f+1 个节点。
Pbft算法容忍拜占庭节点和故障节点,拜占庭节点就是可能伪造消息的节点。
Pbft算法本身是多数一致性算法,就是大多数节点认为打成一致就认为是正确的。
假定f个节点是故障节点,f个节点是拜占庭节点,那么达成一致需要的正确节点最少就是f+1个,当然这是最坏的情况,如果故障节点集合和拜占庭节点集合有重复,可以不需要f+1个正确节点,但是为了保证最坏的情况算法还能正常运行,所以必须保证正确节点数量是f+1个。
而集群节点总数是3f+1个。