第313章 拜占庭容错算法 青衫取醉
「这是最简单的一种情况,如果将军的数量变多,比如同时有7个将军,其中有2个是叛徒的话,情况会变得复杂很多,要套娃很多次才能最终得到结论。
「所以我才说,这种问题不需要自己真的推算,只要记住结论就行了。
「结论就是,当叛徒人数达到三分之一或者更多时,这个问题就不可解。
「反过来说,想要让这个问题可解,就要把叛徒人数控制在少于三分之一的情况。
「套一下三个房间的人数,就一目了然了。
「『4人房间』,3人答题,所以只要有1名恶意自由人,这个问题就不可解。
「『8人房间』,7人答题,在房间中有3名恶意自由人的情况下,不可解。
「『13人房间』,12人答题,在房间中有4名恶意自由人的情况下不可解。」
郑杰恍然大悟:「原来如此!
「所以蔡哥你用这个公式套了一下,立刻就知道『8人房间』其实是最安全的,因为我们只需要进入1名己方的自由人占位置,这个问题就一定可解。」
秦瑶还是没明白:「等一下,虽然我听得还是不太明白,但这个公式我记住了。
「我现在的疑问是,这个拜占庭问题,具体是怎么套到游戏规则里的?」
郑杰自告奋勇地说道:「我来解释吧!
「在第二阶段进入房间之后,实际上是『答题人』和『出题人』之间的博弈。
「比如说,我们在『8人房间』开黑店,那就是我们来扮演『答题人』,而其他社区后进入房间的玩家扮演『出题人』。
「我们『答题人』一方的目标是,达成一致选项,这样就能拿到额外奖励,从『出题人』身上赚签证时间;
「而反过来,『出题人』一方的目标是,让我们无法达成一致选项。
「比较简单的方法是,『出题人』一方的普通玩家,只要故意跟我们选择不同选项就可以了。
「所以,我们才需要设置房间规则,强制这些玩家必须提交多数派选项。
「『提交建议』这个功能,实际上就是在模拟『拜占庭容错算法』的运算过程,每个玩家都必须强制发送当前的多数派建议,但是会有一定的时间间隔。
「所以在一遍一遍地发送之后,除自由人以外,所有普通答题人的建议会变成同一个选项。
「之后,游戏规则会强制这些玩家提交这个选项,就达成了『全员一致』的目标。
「但就像蔡哥说的,『提交建议』的模拟过程,本身需要『多数派建议达到一定数量』之后才能成立。
「『自由人』玩家,实际上扮演了『恶意节点』和『叛徒』,他们会不断发送少数派建议,来扰乱运算。
「假设这些恶意的『自由人』比较多的话,就可能出现这样的情况:
「此时本来是a选项建议比较多,但突然出现了很多b选项建议反超了,导致一些玩家改成了b选项建议,然后又突然出现了一些a选项建议……
「这会导致玩家们提交的建议一直在变,始终无法固定下来,那么当『提交建议』功能截止的时候,有些玩家提交的是a,有些玩家提交的是b,大
章节内容不完整,请退出阅读模式查看完整内容!