随机数是彩票的本质
关于随机数发生器在现代彩票操作中的作用
对公众来说,经典的彩票球不倒翁已成为象征。当人们想到“彩票”时——除了赢得巨额头奖——人们通常会想象电视上的每周抽奖,经典的滚球机连续旋转和反流五到七个编号的球。这已成为一种熟悉且值得信赖的仪式,抽签的完整性很少受到质疑。玩家对经典的彩票抽奖感到满意,因为该过程在很大程度上是透明的,并且可以让他们看到机会的发生。
如今,我们经常谈论技术如何改变彩票和游戏行业。在过去十年中,互联网和移动设备都极大地改变了玩家与彩票互动的方式。在彩票业务中发挥越来越重要作用的一项技术是电子绘图系统或 EDS。越来越多的,我们看到经典的球滴式拉丝机被电子版所取代。除了极少数人之外,EDS 是一个被技术术语和专业语言所笼罩的神秘实体。更神秘的是,电子抽奖通常在严密的安全措施下发生在闭门造车的情况下。因此,电子绘图系统几乎无法确保满足持怀疑态度的批评者所需的透明度。不难看出为什么有些玩家对电子抽奖持谨慎态度。
通常,EDS 与游戏系统一起运行,无论是用于彩票游戏还是娱乐场游戏。EDS 的核心是一个随机数生成器 (RNG)。EDS 具有游戏代码,该代码使用游戏参数来缩放由 RNG 生成的随机 0 和 1 的字符串,以满足特定的游戏要求,并将此缩放的数据提供给游戏系统。
随机数生成器(RNG)
一般来说,随机数的生成在许多重要领域都起着至关重要的作用——密码学、统计学,当然还有彩票和游戏行业。但究竟什么是随机数,我们在随机数生成中寻找什么?出于本文的目的,我将说随机数是由一个过程生成的数字,其结果本质上是不可预测的,并且不能可靠地重复。理想情况下,RNG 应提供符合此定义的结果。
根据美国国家标准技术研究院 (NIST) 的说法,随机比特序列可以解释为硬币翻转的结果,硬币的两面标记为“0”和“1”,每次翻转的概率为 50%产生“0”或“1”。此外,抛硬币是相互独立的——也就是说,之前任何一次抛硬币的结果都不会影响以后的抛硬币。因此,抛硬币是完美的随机比特流生成器,因为“0”和“1”值将随机分布。序列的所有元素都是相互独立生成的,无论已经产生了多少元素,都无法预测序列中下一个元素的值。
显然,使用硬币生成随机比特序列是不切实际的。然而,这种真正随机序列的理想化生成器的假设输出可以作为评估 RNG 的基准。
在抽奖方面,随机数的可能组合几乎是无限的。这包括按正确数字顺序排列的序列。尽管序列 1-2-3-4-5-6 似乎不如序列 10-21-35-59-2 随机,但它与任何其他序列一样可能出现在抽奖中。
伪随机数生成器(PRNG)
如前所述,RNG 通常与 EDS 紧密结合使用。它是通过随机过程产生一系列随机数的设备或程序。RNG 有两个主要分类,伪随机数生成器 (PRNG) 和真随机数生成器 (TRNG)。
PRNG 是软件驱动的和确定性的。因此,它们产生模拟随机性而不是实际随机性,因此称为伪随机数生成器。
该软件包含一个算法,其中一些初始值(称为种子)被输入。通过一个迭代过程,它产生一个伪随机数序列。
种子指定计算机生成随机数序列的起点;这可以是任何给定的数字。许多 PRNG 使用计算机系统时钟上的秒数。计算机从 1970 年 1 月 1 日开始计算秒数——一个称为 Unix 时间的系统。例如,在撰写本文时,现在是 2022 年 6 月 17 日 22:25 CET,即 1970 年 1 月 1 日之后的 1,655,030,004 秒。给定范围在这提供的整数中(0 到 十亿),您两次获得相同种子的概率相当低。其他系统使用 Microsoft 的 CryptoAPI,这是一种提供数字签名的 Windows 操作系统工具。数字签名非常适合用作 RNG 种子,因为它们具有强大的加密能力。
PRNG 的数字序列完全由种子决定:因此,如果 PRNG 用相同的种子重新初始化,它将产生相同的数字序列。由于序列是可重复的,重要的是要选择好种子并保持安全,以防止其滥用。如果检测到种子生成过程的任何元素,则存在可能出于欺诈目的预测或操纵随机数生成过程的危险。
相比之下,一些现代 PRNG 系统应用了“通过隐晦不保证安全”的方法,由此公开了所使用的种子生成方法和算法。这种方法的支持者认为,PRNG 算法和播种方法应该在公共领域,这样过程的安全性就不必依赖可能泄漏和滥用的专有信息。这种系统依赖于检测可能影响随机数生成完整性的因素的方法,例如篡改、硬件退化和软件故障。理想情况下,人们应该始终能够检测到系统是否被内部人员或外部人员破坏,或者硬件问题或软件故障是否导致了可疑的结果。也就是说,PRNG每次生成随机数,种子的创建方式应首先确保 RNG 结果仍然不可预测,可以检测到任何对系统的破坏,并且可以识别硬件或软件故障的任何问题。同样重要的是,种子不能通过其生成的值进行逆向工程。种子与其值之间没有明显的相关性。
真随机数发生器(TRNG)
PRNG 采用有限的随机种子并通过计算过程利用它,而 TRNG 采用熵的物理源——它产生一个低水平的、统计上随机的“噪声”信号——作为种子并通过计算过程对其进行扩展。熵是无序的度量,或能量随机分布的度量。熵源的特性是一个 TRNG 与另一个 TRNG 的区别,例如,基于经典物理学的熵源与基于量子物理学的熵源。在生成随机数的过程中,我们本质上是在尝试获取一块熵并将其转化为可以理解的东西。TRNG 采用熵的物理源——如果你愿意,也可以是随机性——将其数字化,并将其作为种子应用于其算法。
基于经典物理学的 TRNG 使用真实世界的随机事件(例如大气噪声或在给定时间段内访问计算机硬盘的次数)来生成完全随机数或比特流。基于量子物理学的 TRNG 依赖于量子力学的预测——例如原子的核衰变——这是真正随机的。事实上,直到最近,唯一的量子随机数发生器 (QRNG) 都是基于对给定元素的放射性衰变的观察。为了更详细地说明,放射性物质的每个原子在给定的时间间隔内都有一定的衰变概率。但具体的衰变时间无法预测,因此被认为是随机的。可以通过使用盖革计数器记录放射性衰变时间,并将其用作熵源。
今天,基于光学系统的更简单、更安全的 QRNG 开始出现。这些光学 QRNG 基于易于监控的简单且基本随机的过程。光学 QRNG 使用指向部分透明镜子的单个光子光源。光子以 50% 的可测量速率穿过镜子。也就是说,每个光子通过镜子或被镜子反射的机会均等。单个光子是穿过镜子还是被镜子反射,取决于量子力学,无法测量预测,就像抛硬币无法测量一样。光学 QRNG 的优点是整体设置简单、易于理解且更安全,因为它们不涉及使用放射性物质。
如今,大多数使用 RNG 的彩票操作都采用 TRNG – PRNG 混合组合。也就是说,TRNG 用于从物理过程生成种子,并输入 PRNG 以生成随机数和缩放结果。
Average Rating