Hyperledger fabric 每个备份/节点如何在PBFT中获得2f回复?
在实际的拜占庭容错(PBFT)中,之所以需要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(不包括它们自己的消息)。那么,他们如何能够
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最低要求的?因为从论文来看,似乎有两个独立的组