字体:大 中 小
护眼
关灯
上一章
目录
下一章
第312章 拜占庭容错算法 (1 / 4)
蔡志远继续解释道:
“比如,现在一共有五名将军,其中两名将军认为应该进攻,而另外两名将军认为应该撤退。
“这时候,第五名将军是个叛徒,他告诉进攻的将军我也会进攻,又告诉撤退的将军我也会撤退。
“于是,想要进攻的将军认为,现在有三支军队同意进攻,超过了半数,所以明天应该进攻。
“而想要撤退的将军认为明天应该撤退。
“最后的结果,就是两个将军进攻,两个将军撤退,导致战争失败。
“这就是去中心化所带来的问题,因为这五个将军都是平级的,没有一个拥有绝对权限的指挥者,所以在互相商量策略的过程中,就会产生这样的问题。”
郑杰恍然点头:“原来如此!那这个办法怎么解决呢?也没办法验证具体是哪个将军在说谎吧?”
蔡志远解释道:“其实要解决这个问题很简单:多问几遍就行了。
“假设我是其中一名将军A,而将军B告诉我他要和我一起进攻。
“如果我信了,那就有可能会被骗,因为将军B有可能是叛徒,他可能只跟我说了进攻,跟别人说了撤退。
“所以,这时候我应该再去问将军C,我问他:‘将军B跟你说的是进攻还是撤退?’
“然后我再去挨个问其他所有的将军,汇总将军B给他们说的所有信息。
“其他将军告诉我的将军B给他们的信息也不一定真实,因为其他将军里面可能也有叛徒,可能存在将军B跟他们说进攻,他们却告诉我将军B说了撤退这种情况。
“所以,我挨个问一遍将军B对你们说了什么,如果进攻比较多,那我就把将军B的意见记为进攻;
“然后再挨个问一遍将军C对你们说了什么,如果撤退比较多,那我就把将军C的意见记为撤退。
内容未完,下一页继续阅读
新笔趣阁阅读网址:wap.xinbiquge.org
上一章
目录
下一章