Hyperledger fabric 每个备份/节点如何在PBFT中获得2f回复?

Hyperledger fabric 每个备份/节点如何在PBFT中获得2f回复?,hyperledger-fabric,blockchain,fault-tolerance,Hyperledger Fabric,Blockchain,Fault Tolerance,在实际的拜占庭容错(PBFT)中,之所以需要3f+1,我的理解是考虑到最坏的情况,其中: 1. f+1 nodes are normal 2. f nodes are unresponsive 3. f nodes are faulty 因此,在PREPARE阶段,每个节点如何可能从其他节点接收2f类似的PREPARE消息以启动COMMIT阶段 由于只有f+1节点可以可靠地发送相同的PREPARE消息,因此每个节点应该只接收相同PREPARE消息的f(不包括它们自己的消息)。那么,他们如何能够

在实际的拜占庭容错(PBFT)中,之所以需要
3f+1
,我的理解是考虑到最坏的情况,其中:

1. f+1 nodes are normal
2. f nodes are unresponsive
3. f nodes are faulty
因此,在
PREPARE
阶段,每个节点如何可能从其他节点接收
2f
类似的
PREPARE
消息以启动
COMMIT
阶段


由于只有
f+1
节点可以可靠地发送相同的
PREPARE
消息,因此每个节点应该只接收相同
PREPARE
消息的
f
(不包括它们自己的消息)。那么,他们如何能够接收
2f
准备
消息以启动仲裁并进入下一阶段呢?

以下断言不正确

1. f+1 nodes are normal
2. f nodes are unresponsive
3. f nodes are faulty
3f+1表示PBFT仅容忍多达f故障节点,其中故障表示不可用、无响应或恶意

PBFT专注于满足安全性(结果在所有节点上都有效且相同)和活跃性(不失败的节点总是产生结果)属性

要实现活跃性,必须有一个未失败的仲裁(Q)。因此,给定N个节点和f个故障节点,最终

qf=>N+f<2Q(因为所有f节点都可能是恶意的) 回忆活力Q f=>N>3f

假设N=3f+1,再次假设活跃度N+f<2Q=> (3f+1)+f<2Q,这意味着拜占庭案例中安全的最小仲裁大小现在是2f+1。由于仲裁必须在存在f个故障节点(2f+1+f)的情况下可用,因此可以得到3f+1


有更多正式的方法来证明证据,但希望这会有所帮助。

如果是这样,他们是如何得出3f+1最低要求的?因为从论文来看,似乎有两个独立的组