在这一页
骰子(加密版)
在这一页
简介
本页面介绍一种名为“骰子”的游戏,这种游戏常见于使用加密货币进行投注和交易的互联网赌场。该游戏与六面骰子无关,但输赢基于 0 到 10,000 之间的随机数。请勿将其与其他名为“骰子”的游戏混淆。
规则
- 与游戏名称相反,胜利和失败是基于 0 到 10,000 之间(包括 0 和 10,000)随机选择的整数。
- 玩家将能够确定获胜目标或获胜赔率(例如 2 比 1)。
- 获胜的目标是“掷出”一个高于某个指定阈值的数字或低于另一个阈值的数字。
- 如果玩家调整赌注的一个要素(获胜目标或赔率),那么另一个要素也会进行调整,使得获胜赔率与获胜概率成反比,确保所有可能的赌注都具有相同的庄家优势。
例子
假设一款游戏的回报率设定为 99%。如果玩家将中奖概率配置为 2 赔 1,那么游戏会将玩家的中奖概率调整为 0.99/2 = 49.5%。实现这一目标的目标如下:
- 超过 5050
- 4950以下
玩家可以选择自己喜欢的目标。
假设玩家将中奖赔率调整为1赔3。那么游戏会将中奖概率调整为0.99/3=33%。实现这一目标的目标是:
- 超过 6700
- 3300以下
我不知道当获胜目标是整数时如何处理平局。平局的赌场优势比输局的赌场优势低0.01%。
下表显示了根据赔率为 2 比 1 的投注的玩家回报率 (RTP) 得出的获胜目标。例如,如果获胜目标低于 4975,则玩家回报率为 99.5%。
返回玩家指南
返回 给玩家 | 可能性 获胜 | 在下面 | 超过 |
---|---|---|---|
99.5% | 49.75% | 4,975 | 5,025 |
99.4% | 49.70% | 4,970 | 5,030 |
99.3% | 49.65% | 4,965 | 5,035 |
99.2% | 49.60% | 4,960 | 5,040 |
99.1% | 49.55% | 4,955 | 5,045 |
99.0% | 49.50% | 4,950 | 5,050 |
98.9% | 49.45% | 4,945 | 5,055 |
98.8% | 49.40% | 4,940 | 5,060 |
98.7% | 49.35% | 4,935 | 5,065 |
98.6% | 49.30% | 4,930 | 5,070 |
98.5% | 49.25% | 4,925 | 5,075 |
上图中,赔率为 2 赔 1 的投注金额低于 49,600,高于 53,999。上表显示,回报率为 99.2%。也可以简单计算为 2*(49600/100000) = 99.2%。
可证明公平
假设艾米和鲍勃想在远程且不信任的情况下玩一场石头剪刀布的游戏。该怎么做呢?
这可以通过加密动作轻松实现。网上有很多加密程序,例如miniwebtool.com上的程序。例如,假设 Amy 想玩剪刀。她可以加密“剪刀”,并得到以下加密消息,即哈希值。
17f174ce4953e98e7418d22b29f7569505e4bcc39859e7825500d43a5ec1b87d d521d508d6ece5397021013c0c561bcd9ba947f1f40ac1a2f3a670b485b0aff6
然后,她可以在鲍勃行动之前将其发送给他,以证明她的行动是命中注定的。假设鲍勃随后宣布他的行动是纸牌。艾米可以宣布胜利,并通过告诉鲍勃加密消息“剪刀”来证明这一点,鲍勃将看到这条消息的哈希值与艾米在他行动之前发送给他的哈希值完全相同。
然而,鲍勃知道只有三种可能的结果,他可能会用哈希程序计算“剪刀”的结果,并得到上述结果,然后选择“石头”。为了防止这种情况发生,艾米应该添加一些其他文本,例如随机字符,以确保鲍勃无法解密她的哈希值。例如,她可以加密“b980Cql98lbaj -- 剪刀”,并得到以下不同的哈希值。
5e4c68f7b35503c79b1aa31df87c6043bd30a1cff28b8431394cbbb829c90d4d51dec1b25ac5be44873572dbabd735c41006c83aff59ce06d3efe86513a57108
请注意,哈希值中只有 16 个可能的字符,即 0 到 9 和字母 a 到 f。整个哈希值实际上是一个数字,不是以十进制表示,而是以十六进制表示,即十六进制。
这一概念在“可能公平”游戏中也适用。然而,它增加了一层额外的安全保障,允许玩家对赌注结果产生影响。否则,赌场可能会作弊。例如,赌场注意到玩家通常在骰子游戏中押“大于”,然后给他一个较小的数字作为游戏结果,即使这个数字是加密的。
用简单易懂的英语来说,它的工作原理如下:
- 赌场选择一串随机字符(称为种子),将其加密为哈希值,然后将该哈希值提供给玩家,以证明赌场对结果的贡献是注定的。
- 玩家选择自己的种子。
- 玩家下注。
- 两个字符串连接在一起(任意顺序)。
- 步骤 5 中的组合字符串被加密为哈希值。
- 哈希值的某些部分从 16 进制转换为 10 进制。
- 将 6 的部分结果(可能是最后六位)映射到 0 到 999,999 之间的某个数字。这便是游戏结果。
- 下注结束时,赌场会显示自己的种子,玩家可以验证该种子是否加密为下注前提供的哈希值。这表明,一旦玩家选择了自己的种子,结果就已注定。
尽管如此,赌场仍然可以作弊。其中一种作弊方式是通过默认玩家种子。如果玩家进入公平游戏界面,他会看到一个默认玩家种子。玩家可以点击选择不同的种子,也可以输入自己的种子,但我怀疑很多玩家不会介意。作弊的赌场可能会精心选择默认玩家种子和赌场种子,然后进行哈希运算,最终导致玩家输钱。
赌场作弊的另一种方式是简单地选择一个赌场种子,该种子经过哈希运算后会导致输钱,即使它与玩家下注前提供的结果并无关联。我在Wixiplay玩游戏时就遇到过这种情况。如果您发现赌场的种子/哈希值不匹配,该怎么办?如果您指控他们作弊,他们要么会不加评论地否认,要么干脆忽略指控。当我被 Wixiplay 欺骗时,他们最初不理我。后来,我向库拉索博彩管理委员会投诉,却连一点回复都没有。
公平公正的赌场
Bonus Code
游戏成果计划
完成上述所有步骤来确定游戏结果是否公平相当耗时。为了简化流程,我用 PHP 编写了一个程序,它可以根据玩家和赌场的种子轻松确定游戏结果。该程序只有在游戏结果如下确定的情况下才能正常工作:
- 加入服务器和客户端种子,先加入服务器种子。
- 生成步骤 1 中字符串的 SHA-512 哈希值。
- 将哈希的前五个字符从十六进制转换为十进制。
- 如果步骤 3 的结果超过 999,999,则将哈希值前进 5 位并返回步骤 3。否则,转到步骤 5。
- 取步骤 3 中的最后五位数字。这就是游戏结果。
此脚本适用于 Crypto.Games 的骰子游戏。其他赌场可能会采用其他方式确定随机六位数,或使用 SHA-512 以外的哈希算法。
要使用我的程序,请转到此PHP 沙盒,按照顶部注释中的说明进入,然后单击“执行代码”。游戏结果和合法服务器种子的确认将显示在代码下方的结果框中。
作为备份,下面的按钮将显示我的代码。
[剧透=骰子公平游戏代码]
// Crypto.Games 的骰子游戏转换 // 要使用,请在第 5 行输入客户端种子,在第 6 行输入服务器种子,在第 7 行输入下一个服务器种子的哈希值。 $client_seed =“f0g9s8f7g097sdfg098sd7f0g87s0fg897”; $server_seed =“SxG74IkdDRmWh0jT015TCA01fUoCA0lI2N3KxS8L”; $next_hash = “1c42ef7fcbb94c2841d4ee88467c13813c30f5f774260f1a308b960884a7fd8b”; $server_seed_hash = hash('sha256',"$server_seed"); $combined_seed = $server_seed.$client_seed; echo "组合种子 = $combined_seed\n"; $combined_hash = hash('sha512', $combined_seed); echo“组合种子的哈希值=$combined_hash\n”; $位置=0; $first_five=substr($combined_hash,$position,5); // echo "前五个字符,从位置 $position = $first_five\n 开始"; 做 { $hex_to_dec=hexdec($first_five); $位置+=5; } 当 ($hex_to_dec > 999999) 时; // echo "转换为十进制 = $hex_to_dec\n"; $mod5=$hex_to_dec%100000; echo "\n游戏结果 = $mod5\n"; 如果 ($server_seed_hash == $next_hash) { echo "服务器种子匹配.\n"; } 别的 { echo“服务器种子不匹配!\n”; echo "服务器种子 =\t$server_seed\n"; echo“服务器种子哈希=\t$server_seed_hash\n”; echo“所谓的下一个哈希=\t$next_hash\n”; } // 程序 // 1. 加入服务器和客户端种子,首先加入服务器种子。 // 2. 生成步骤 1 中字符串的 SHA-512 哈希值。 // 3. 将哈希的前五个字符从十六进制转换为十进制。 // 4. 如果步骤 3 的结果超过 999,999,则将哈希值前进 5 位并返回步骤 3。否则,转到步骤 5。 // 5. 取出步骤 3 中的最后五位数字。这将是游戏结果。 ?>[剧透]
关于公平博彩的最终建议
如果你不想费心验证游戏结果是否公平,至少要让赌场看起来你正在核实结果,以维护其诚信。赌场会知道你是否点击“公平游戏”来验证结果。如果他们有作弊倾向,那么常识告诉我们,他们更有可能欺骗那些不核实结果的顾客。
如果您确实点击了“公平游戏”,请在客户端种子的某个位置至少添加几个随机字符。这将阻止赌场提供奖励客户端种子,从而避免赌场想要的结果。
如果您发现赌场作弊,请给我提供一些证据。我很乐意核实,并警告其他玩家不要在那里玩,我会把他们添加到我的赌场黑名单中。