IBM发布的PBFT白皮书中谈到从三个将军中识别叛徒的公式是如何来的?

IBM发布的PBFT白皮书中如下内容:如果系统中有3f+1个节点,那么PBFT可以容忍拜占庭服务器不超过f个。简单解释一下原因:假设有三个将军, 只有一个叛徒。如果A是叛徒,那么A可能会给B发出进攻,然后给C发出撤退的命令。当B和C互相同步信息的时候他们会发现两个不一致的信息。但是B...显示全部

IBM发布的PBFT白皮书中如下内容:如果系统中有3f+1个节点,那么PBFT可以容忍拜占庭服务器不超过f个。简单解释一下原因:假设有三个将军, 只有一个叛徒。如果A是叛徒,那么A可能会给B发出进攻,然后给C发出撤退的命令。当B和C互相同步信息的时候他们会发现两个不一致的信息。但是B和C谁也无法判断谁是叛徒,比如从B的角度来看,他无法判断A是叛徒或者C是叛徒。所以三个将军里有一个叛徒是无法解决的。为了确保正确,PBFT两两交互确定交集后才能确定一个非叛徒:因此由-(N-f)+(N-f)-N>=f+1推导出N>=3f+1。

(N-f)+(N-f)-N>=f+1    这个公式怎么来的?能否解释下?

收起
参与11

查看其它 2 个回答eecszhu的回答

eecszhueecszhu系统架构师IBM

拜占庭算法的本质是三阶段提交,具体步骤如下图

2.jpg


互联网服务 · 2016-11-23
浏览3196

回答者

eecszhu
系统架构师IBM
擅长领域: 分布式系统区块链服务器

eecszhu 最近回答过的问题

回答状态

  • 发布时间:2016-11-23
  • 关注会员:4 人
  • 回答浏览:3196
  • X社区推广