fairnessdiceexplainer
几乎总是不会。那些让人觉得被做了手脚的点数,通常是经由人类记忆读出来的诚实随机:对子每六掷来一次,连号很正常,而输棋会留下、赢棋会淡去。更硬的真相在底下。面对一款封闭的应用,上面这些你一条也验证不了,所以真正的问题不是应用会不会作弊,而是应用能不能证明自己没有作弊。
每一款双陆棋应用都会听到同样两句抱怨,而自从有人开始掷骰子,玩家就一直这么说。对手的对子太多了。对手总能找到他需要的那个点数。骰子还是骨头做的、桌子还是木头做的年代,伊斯坦布尔的咖啡馆里,输的人就是这么说的。这值得一个认真的回答,而不是耸耸肩。这就是那个回答。
应用为什么掷出这么多对子
因为对子本来就常见,而击败你的那些对子最容易被记住。两颗骰子有 36 种落法。其中六种是对子。每六掷就有一掷成对,而单单这一个分数,就撑起了几乎整条抱怨。
- 一局棋两边合计通常掷 50 到 60 次。桌上出现八到十次对子不是手气爆棚,那就是一局棋的平均水平。
- 连着两掷对子,是 36 次里出现一对。一个晚上下几局,你应该不止见到一次。
- 连着三掷对子,是 216 次里出现一串。经常下棋你就会遇到。这是算术,不是故障。
- 对手需要的任何一个特定数字,至少在一颗骰子上会出现 36 次中的 11 次,接近三分之一的机会。
栏也讲着同样的故事。把自家内区封上两点,对手仍然大约九次里能进来八次。把一枚孤子留在直接射程内,打中它的点数在组合点数还没算进来之前,大约三次里就落一次。当他们需要的数字这么容易拿到时,所谓他们总能掷出想要的,不过是公平骰子从输棋那一侧看过去的样子。
为什么只有输的时候才觉得骰子不公
因为记忆记的是一本歪账。心理学家测了几十年:一次失败的分量,大约是一次同等胜利的两倍。所以那记扫掉你长墙的 6-6 会跟着你一个星期,而你自己那记 6-6 当时只觉得是天理,晚饭前就忘了。没人记得骰子平平无奇的那个晚上,也没人为此发帖。所以每一个关于骰子做手脚的帖子读起来都一个样,而几乎没有一个附上统计。
这不是你的缺陷。注意力保存下改变了棋局的那一掷,丢掉了没有改变棋局的那五十掷。骰子还是从骨头上削出来的时候,玩家就在指责它们背叛。应用在画出第一枚棋子的那天,就继承了这份怀疑。
双陆棋应用真的能作弊吗
能,而诚实要求把这句话说明白。屏幕上翻滚的立方体是动画。数字来自你看不见的服务器上的代码,没有任何物理约束它们。多数工作室并没有动机,因为一款被做了手脚的游戏,是一份等着浮出水面的死掉的声誉;而当玩家在大应用上跑统计时,总数通常都很平常。但大概不会是信任,不是证明。面对封闭的应用,你跑不出任何一个能了结这个问题的实验,因为架构把骰子放在够不着的地方。所以诚实的分界线不在作弊的应用与诚实的应用之间。它在你能核对的骰子与你只能凭信心接受的骰子之间。
感觉没法审计。收据可以。
怎么自己检验骰子
在动用密码学之前,先做那个纸笔检验。它一个晚上就能了结大多数怀疑。
先把期望写下来. 在开局之前写下公平应该是什么样:每六掷一次对子,双方都是。等输了之后再决定什么算可疑,正是偏见取胜的方式。
去数,别去记. 整整一场对局里,把每一掷和每一次对子都数下来,你的和对手的都数。纸胜过记忆,因为一开始报错数的那台仪器,恰恰就是记忆。
像统计学家那样读结果. 120 掷里,预期大约 20 次对子。从十几到二十七八都属于寻常波动。只有能挺过很多场对局的大幅偏离,才说明得了什么。
玩家真的跑完这个检验时,会发生两件事。第一,对手的对子几乎总是落在基准值附近。第二,也更重要的是,这个检验暴露了方法本身的边界:即便是无可挑剔的统计,也分不出诚实的服务器和那种只在决定性时刻每一百掷掰一次的服务器。稀疏而精准的做手脚,统计抓不住。抓得住它的是密码学。
应用应该拿出什么来代替承诺
一张属于每一局棋的收据。Orion 就是这么造的:第一掷之前,服务器公布对一枚秘密种子的 SHA-256 承诺值,每一掷都由它经 HMAC-SHA256 推导,最后种子被揭示。用任何浏览器打开 orion.arthea.ai/verify,输入对局编号,页面就会在本地把一切重算一遍。无需账号,无需安装,而我们的说法不参与这次核对。