我一直在深入研究许可区 block 链中一些最常用的共识算法,但我遇到了困难。
我了解到 BFT(拜占庭容错)是某些算法的属性,而 pBFT 本身就是一种算法。是对的吗?
这个网络中 2/3 的节点足以达成共识的规则,是适用于所有 BFT 算法还是仅适用于 pBFT?
请问拜占庭协议(protocol)和 BFT 有什么区别?
如果您能提供可靠的信息来源,我将不胜感激。
最佳答案
I understood that BFT (Byzantine Fault Tolerance) is a property of some algorithms and pBFT is an algorithm itself. Is that right?
是的。
This rule that 2/3 of the nodes in the network are enough to reach consensus, is it for all BFT algorithms or just pBFT?
拜占庭协议(protocol)的算法最多可以容忍 3f+1
个节点中的 f
个故障,但它们甚至可能无法容忍那么多。原因是,如果拜占庭节点停止参与,那么n-f
个节点必须能够达成共识,但如果消息延迟暂时隐藏f
个好的节点,那么剩下的好的节点应该占多数(所以 n-f >= 2f+1
,并且 n >= 3f+1
)。
Also what is the difference between Byzantine Agreement and BFT?
前者是分布式计算问题,更多时候被称为共识。后者是协议(protocol)的属性。
关于algorithm - BFT与PBFT与BA共识算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54932868/