量子力学告诉我们,看似高度可预测且有序的宇宙是建立在一个不可预测且纯粹概率的世界之上的。虽然量子世界看起来很奇怪,但它是可以理解的,甚至可以用于半导体、LED 和量子密码学等技术。关于虚拟宇宙中的随机性也可以说类似的事情。看起来像是建立在随机数生成器 (RNG) 生成的随机值之上的系统,实际上是基于程序,其背后有一种可以理解的方法——无论好坏。
随机数的关键作用
随机数在许多应用程序中非常重要,包括游戏、安全系统、去中心化自治组织 (DAO)治理和不可替代令牌 (NFT)生成。如果您的游戏无法访问随机生成的数字,您的开始将变得重复且陈旧。如果您的安全系统依赖于容易猜到的身份验证代码,那么它并不能提供太多的安全性。如果任何需要多样性的系统无法实现这一点,那么它就不会非常有效。
即使这些系统看起来不是随机的,它们也依赖于随机生成的值来执行重要的操作。如果没有随机性,精心规划的系统就无法运行。然而,这些系统所依赖的随机数并不总是像看起来那样随机。
事实上,许多 RNG 都是伪 RNG(PRNG)。它们不是产生随机输出,而是提供固定方程的结果。输出值是通过该方程运行起始值(通常称为“种子”)得出的。然后输出被用作新的种子,并且该过程再次开始。虽然结果不是随机的,但对于外部观察者来说,它肯定会显得随机。
对于许多应用程序来说,这是有效的。并非每个应用都需要真正的随机性。例如,在具有随机遭遇的视频游戏中,游戏在任何给定时间可能只能采取有限数量的动作。提供给定范围之外的值的 PRNG 不会有太大用处。当风险较低时,技术要求通常会匹配。然而,PRNG 的质量可能差异很大。对于风险较高的应用程序、许多人依赖它们或各种用例来说,这可能是一个问题。
一些 PRNG 依赖于简单的方程,这些方程可以在短时间内重复出现。这种重复会产生可预测性。其他的可能会受到外部因素的影响。这会导致篡改。此外,许多 PRNG 不提供确定所提供的数字是否为预期值的方法。缺乏验证为篡改打开了另一扇大门,并可能导致用户指责依赖这些数字的应用程序被有偏见的输出操纵。
虽然能够验证一个明显随机的数字是否是 RNG 想要的数字可能看起来很愚蠢,但这并不是一件好笑的事情。许多区块链系统的精神是基于透明度和去信任性。无法确认给定的数字确实是随机产生的,这触及了这些理想的核心。当这些数字发挥作用时,例如提供游戏奖金或加强安全性,无法证明这些数字没有被篡改可能会严重影响社区信心。
此外,并非每个 PRNG 都适合所有可能的应用。有些是为某些 Web3 功能而设计的。这些并不普遍适用。

追求真正的随机性
然而,这些系统也有缺陷。它们通常是高度中心化的,这可能再次导致任何有权访问机器的人进行篡改。真正的随机性通常比高质量 PRNG 的服务价格要高得多。最后,这些设备所依赖的集中化意味着,如果出现任何问题,就会导致整个系统停机。
去中心化和可靠性的必要性
使用不能满足应用程序的去中心化、验证或安全需求的 RNG 可能会带来灾难性的后果。正如 Axie Infinity 因安全漏洞而崩溃所证明的那样,即使是拥有最强大用户群的**应用程序,技术故障也会产生重大影响。鉴于 RNG 对于使用它们的应用程序有多么重要,必须使用最适合当前任务的 RNG。
完美的 RNG 应该是不可预测的、防篡改的、可验证的、去中心化的和持续可用的。如果您选择 RNG,请询问:
- 它是否提供了足够的随机性?
- 输出结果可以验证吗?
- 它能防止篡改吗?
- 是否去中心化以避免单点故障?
随着区块链开发人员不断扩展他们的视野,突破其应用程序的界限,并为公众提供越来越多的机会来参与该技术,为其应用程序提供尽可能**的支持势在必行。