法是,‘出题人’一方的普通玩家,只要故意跟我们选择不同选项就可以了。
“所以,我们才需要设置房间规则,强制这些玩家必须提交多数派选项。
“‘提交建议’这个功能,实际上就是在仿真‘拜占庭容错算法’的运算过程,每个玩家都必须强制发送当前的多数派建议,但是会有一定的时间间隔。
“所以在一遍一遍地发送之后,除自由人以外,所有普通答题人的建议会变成同一个选项。
“之后,游戏规则会强制这些玩家提交这个选项,就达成了‘全员一致’的目标。
“但就象蔡哥说的,‘提交建议’的仿真过程,本身需要‘多数派建议达到一定数量’之后才能成立。
“‘自由人’玩家,实际上扮演了‘恶意节点’和‘叛徒’,他们会不断发送少数派建议,来扰乱运算。
“假设这些恶意的‘自由人’比较多的话,就可能出现这样的情况:
“此时本来是a选项建议比较多,但突然出现了很多b选项建议反超了,导致一些玩家改成了b选项建议,然后又突然出现了一些a选项建议……
“这会导致玩家们提交的建议一直在变,始终无法固定下来,那么当‘提交建议’功能截止的时候,有些玩家提交的是a,有些玩家提交的是b,大家就没法达成一致。
“‘答题人’一方无法稳定地强制‘出题人’连庄,无法稳定地获得收益,那就相当于,黑店被拆掉了。”
蔡志远点了点头:“是的,所以只要通过公式确定‘拜占庭容错’成立的条件,再比对各个房间能够进入的自由人数量,就能确定进入房间的策略。
“‘8人房间’,允许进入3名‘自由人’,这个问题会在出现3个叛徒时不可解。所以,我们只需要确保房间内有1名己方的‘自由人’占住位置,就安全了。
“当然,这名己方的‘自由人’必须是善意的,也就是他会主动执行‘发送多数建议’的策略。
“‘13人房间’,允许进入6名自由人,这个问题会在出现4个叛徒时不可解,所以王卫东就必须确保最后进入‘13人房间’的恶意自由人低于4人。
“所以,他们需要用于占位的‘善意自由人’要更多一些。
“如果他们意识不到这一点的话,我们也可以选择主动进攻。但既然王卫东意识到了,并做出了防守,再强行进攻就意义不大了。
“所以我换了一种思路,也就是利用这游戏的‘违心惩罚’,针对王卫东的特点提出一些可能会让他在社区内身败名裂的问题,从而强迫他取消房间规则。”