随机数生成器(RNG)实际上是如何工作的
RNG是任何数字游戏的核心:它决定鼓上会掉下哪个符号,虚拟甲板上会挂上哪个卡,奖金是否起作用等。诚实,操作员的声誉以及"随机性"的全部含义取决于其质量。在没有传说的情况下进行处理:产生什么,如何验证以及最常发生误解的地方。
1) RNG在插槽和数字游戏中究竟在做什么
每个事件对应一个数字范围。例如,该插槽从一个巨大的范围(约为0……2 ³² -1)中请求一个数字,然后通过对应表"mapit"将其调到鼓/字符位置。
每个请求都是独立的。1000号旋转的总数独立于999号旋转;过去的失败不是在下一轮"增加机会"。
随机性是长分布的均匀性。在短路上,"运气/运气"簇是可能的,但是在距离上,它们倾向于给定模型。
2)生成器的类型: 伪随机和"真正随机"
PRNG(伪随机):确定性,但偶然"看起来"。家族的例子是Xoshiro/PCG,AES-CTR DRBG,HMAC-DRBG,不太常见-像乱伦中的Mersenne Twister这样的过时(通常由于加密而避免)。
CSPRNG(加密持久性):即使部分了解输出(实际上是行业标准),也具有不可预测性的PRNG。
HRNG/TRNG(硬件):从物理学(二极管噪声,无线电,节拍抖动,雪崩噪声等)获取熵。通常结合使用:TRNG →"播种"CSPRNG,然后快速而持久地运行。
为什么不仅仅是"铁"?TRNG不稳定,速度较慢;在生产中,通常是: "收集熵→可靠地播种DRBG →快速工作并进行检查。"
3)Sid,熵和旋转: 如何避免可预测性
Sid(种子)是RNG的开始秘密。它来自几种熵来源:系统池,计时,硬件噪声,安全传感器。
重新粉刷并搅拌。在时间表和事件中(启动/重新启动/更新),生成器以"喂养"新熵。
分离线程。不同的游戏/桌子都有自己独立的RNG状态,以消除交叉效果。
4)RNG和RTP: 诚实在哪里,"支付数学在哪里"
RNG负责每个步骤的结果的随机性。
RTP(返回到玩家)是支付表和组合概率。开发人员调整数学,使长期平均回报率达到96%。
公平的比赛≠高的RTP。RNG在90%或99%的RTP中是完美的--这些只是不同的游戏。诚实=正确的随机性+对应于声明的数学。
一个简单的心理公式是:- 诚实=独立的RNG+正确概率表(审计)+透明的获胜计数规则。
5)RNG"居住"地点: 客户端,服务器,工作室
在线插槽:RNG通常位于服务器/提供程序端。客户端(浏览器/应用程序)获取结果并渲染动画。
Live Games:轮盘赌是轮子物理学;在卡片中-真正的甲板和自动操纵器。RNG用于次要任务(副业余,演出游戏中的奖励扇区选择等)。
混合格式:核心中的"实例游戏",碰撞游戏,彩票产品(通常是完全数字的,RNG)。
6)随机性测试: 如何验证所有
Statpackets:NIST SP800-22,Diehard/Dieharder,TestU01(SmallCrush/Crush/BigCrush)。他们测试均匀性,相关性,周期性和"位模式"。
长跑。数十亿个样本,不同的切片和窗户,可销售的监控(异常情况下的差异)。
Mapping进入事件。不仅要测试"原始数字",还要测试mapping后的字符/组合分布-以匹配游戏模型。
7)认证和审计: 谁说"信任"
独立实验室对RNG代码和游戏数学进行白盒/黑盒审核,将声称的RTP与长跑经验进行比较。
日志(日志)。每次旋转/分发都在不变的日志中,以便在争议中复制状态并证明正确性。
发行控制。RNG版本和游戏参数是固定的;任何更改→重新验证。
(将省略特定实验室的名称-原则很重要: 独立验证代码,统计数据和生命周期。)
8)"几乎胜利"和"热机": 为什么大脑有这样的感觉
模式错觉。随机序列中的簇是正常的。大脑看到没有的模式。
近似小姐(近乎获胜)是显示戏剧,但游戏数学严格记录了其份额和行为。RNG没有"抱怨"或"后悔"-它给出了数字,UI讲述了这个故事。
9)"提供者可以卷曲吗?"-可能的边缘在哪里
如果RNG和表是诚实且固定的,则无法更改单个旋转的结果"按玩家"。
您可以发布具有不同设置(波动,RTP)的不同版本的游戏-但这些都是带有其证书的独立产品。
您可以在不接触RNG的情况下更改限制,奖励术语和UX(这通常也是如此)。这就是为什么阅读规则很重要的原因。
10)Provably Fair在加密赌场: 有什么不同
Commit复兴计划。操作员在回合之前发布服务器座椅哈希。玩家贡献客户端sid;回合之后,服务器会显示sid,任何人都可以验证哈希是否匹配,并且结果是根据记录的公式计算的(通常:HMAC/AES+nonce)。
另外:每个玩家的透明可验证性。
减:这证明了序列的诚实,但不负责公式本身的善良和真实的UX数学(仍然需要理解)。
11)典型故障和保护
苹果酒初始化不良。解决方案:多种熵源,在开始时进行验证,定期进行交替。
状态重用。解决方桉:严格管理线程和非线程,冲突测试。
客户端泄漏。解决方桉:所有逻辑都在服务器上,通信加密,响应签名。
弱的PRNG。解决方案:CSPRNG标准,定期审核和发行测试。
12)对玩家在实践中很重要
1.独立的RNG和认证是诚实而不是"彩带历史"的主要标准。
2.RTP和波动性-关于游戏支付的"频率和部分",而不是关于"子程序"。
3.许可证和规则-付款,限额,奖金条款取决于它们。
4.风险管理:时间/银行限制比"时间"和"接受"更重要。
简而言之: 如何用一个句子来解释RNG
RNG是可验证且正确的"播种"数字流,可平等地将结果分布在游戏数学中。他没有"记住"过去,没有"感觉"玩家,诚实由独立审计,随机性测试和透明文档提供。
现代行业的随机性不是魔术,而是工程:耐密码发生器,苹果酒操作学科,测试(NIST/Dieharder),代码审核和日志记录。RNG不会增加失败后的机会,也不喜欢"爱"或"爱"特定玩家。它只是实现概率模型,这意味着正念,了解RTP/波动性和操作员规则-这是您对游戏体验的真正控制所在。