第312章 拜占庭容错算法 (3 / 6)
“假设3名将军里面,将军C是叛徒,故意传递错误的信息。
“将军A会首先向将军B和C说进攻。
“但是将军B接到命令之后无法确认将军A是不是叛徒,所以他要先问将军C,将军A给你的命令是什么,而将军C是叛徒,所以会故意说将军A给我的命令是撤退。
“因为只有三个将军,所以将军B就无法判断将军A和将军C到底哪个是叛徒,因为进攻和撤退的命令各一票,无法形成多数。
“同理,将军B在执行这个策略的时候,也没法判断将军A和将军C哪个是叛徒。
“这是最简单的一种情况,如果将军的数量变多,比如同时有7个将军,其中有2个是叛徒的话,情况会变得复杂很多,要套娃很多次才能最终得到结论。
“所以我才说,这种问题不需要自己真的推算,只要记住结论就行了。
“结论就是,当叛徒人数达到三分之一或者更多时,这个问题就不可解。
“反过来说,想要让这个问题可解,就要把叛徒人数控制在少于三分之一的情况。
“套一下三个房间的人数,就一目了然了。
“4人房间,3人答题,所以只要有1名恶意自由人,这个问题就不可解。
内容未完,下一页继续阅读