http://www.7klian.com

拜占庭将军问题深入探讨

![](https://img.chainnews.com/material/images/7f7c38dc-a65e-5097-8c9b-527bceb027be.png)

2.1. 拜占庭将军问题实质

这意味着,忠诚的将军并不必然利用 i 将军送来的信息作为 vi,i 将军也大概是叛徒。可是仅靠这个条件,忠诚的将军的信息送来的信息也大概被修改,这将影响到正确性。

接下来,我们可以接头拜占庭将军问题的算法了,这个算法只要可以或许满意 IC1 和 IC2,就代表这个算法可以切实有效的办理拜占庭将军问题。

更多出色内容,存眷7kLian.com ChainNews 公家号(id:chainnewscom),可能来微博 **@ 7kLian.com ChainNews**与我们互动!转载请注明版权和原文链接!

那么,口头协议算法又是怎么实现叛徒数少于 1/3 即可容错的呢?下面,笔者将先容 Lamport 在其论文中提出的口头协议 OM(m) 算法。笔者将会逐一先容口头协议算法的具体内容、实例推演及证明,这一部门将会需要您花一些时间来思考。

**2.2. 形式化条件的推演

(1) m=0,而将军是忠诚的,直接满意 IC2;

A2:信息吸收者知道是谁发送的动静

(2) choice(o)=RETREAT,个中 o 是空集

而假如司令是叛徒,两个副官忠诚,司令会发送两个差异的呼吁。当两个副官比较呼吁时,他们又缭乱了,无法判定司令是叛徒可能对方是叛徒,从而又无法判定。这个景象很是浅易的说明白三模冗余是无法动态容错的。(2) m=1,n=4 的景象 n=4,意味着一个司令发送呼吁给三个副官,m=1 意味着他们中有一个叛徒。 首先思量司令忠诚而副官 3 是叛徒的环境。
书面协议的本质就是引入了签名系统,这使得所有动静都可追本溯源。这一优势,大大节减了本钱,他化解了口头协议中 1/3 要求,只要回收了书面协议,忠诚的将军就可以到达一致(实现 IC1 和 IC2)。这个结果是惊人的,相较之下口头协议则明明有一些缺陷。

如图,我们就可以获得副官 1 的 v1~v6 向量为 (A,R,A,R,A,A),操作 majority 函数,副官 1 最终回收的动作会是 A。雷同的,我们可以发明忠诚的副官 1~ 副官 5 获得的动静向量都是 (A,R,A,R,A,A),最终他们回收的动作城市是 A (满意了 IC1),而司令是叛徒不需要满意 IC2。值得提醒的是,若副官 6 通报的是 (R,A,R,A,R),那么他们所有人获得的动静向量都是 (A,R,A,R,A,R),此时 A 和 R 数量一样多,这并不代表 majority 不起浸染了,他将回收默认值 R (回首前文:majority(v1,…,vn-1) 代表了大大都人的呼吁,若不存在则默认为后退呼吁),所有人的动作城市回收 R,这同样是满意的。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

相关文章阅读