将随机数加入其中:为何链上生成随机数如此困难却如此重要

古代中国人用蓍草占卜,预测人们的未来命运。自那时以来,人类一直对可靠随机数来源进行探寻。如今,随机数是用编程方式来生成的,要么通过测量自然随机性的来源,要么通过生成伪随机数的数学算法。尽管相比人类祖先的原始技术而言我们有了巨大进展,但是,距离新一代的随机数生成方式,仍需更进一步。区块链应用程序,如模拟技术,博彩类dApp以及敏感数据加密等,需要既高效又去中心化的随机数生成器(RNG, random number generator)。

TRNGs 和 PRNGs

1951年,阿兰·图灵(Alan Turing) 为Ferranti Mark 1 设计随机数特性时,他收集了电子噪音用于产生20位的长随机数。作为真随机数生成器(TRNG)的例子之一,Ferranti Mark 1 的内置随机数生成器也能够通过测量其他的物理现象来产生随机数,如大气噪声,热力学噪声或放射衰减等。然而,如果开发者所得到随机数的方式若想能够得到其他人的验证,就需要通过可以重复且具备一致性的系统来实现。伪随机数生成器(PRNG) 是基于具体数学的函数来产生一系列随机数字的系统,在相同的初始条件或者说”种子”条件下运行时,能够得到相同的结果。开发者能够以具有高度一致性的方式进行模拟再现。

随机数是必不可少的

虽然古代文化会把偶然性与个人和国家的命运相关联,但现代随机数生成器的应用领域更为广泛。在数字化博彩、数据加密和计算机模拟等领域,随机数生成器(RNG)都是必不可少的。


博彩: 21点(blackjack)、扑克和轮盘赌(roulette)等数字博彩游戏需要依赖可靠稳定的随机数来源,以确保每一轮或每一手的结果的公平,确保没有玩家能够通过提前预测结果而获得不公平的优势。

数据加密:如果不首先加密,医疗和财务记录等敏感数据就无法保存在透明的区块链上。成功的加密方法需要一个安全的随机源,以便生成密钥,使用该密钥,具有正确权限的用户可以对数据进行初始加密,然后解密。

计算机模拟:今天的科学家利用模拟的方法,得到关于所有可能结果集的统计结论。蒙特卡罗实验(Monte Carlo experiments)是一套应用广泛的方法,依赖于对数据点的重复随机抽样,这些方法用于对金融衍生品建模、预测天气和预测风力发电场的能源产量等。

链上随机数 — — 为何如此困难?

无论是用于在医疗应用中加密患者数据,还是作为赌博应用程序的基础,有效的随机数必须具有某些特定的属性,以确保生成过程的质量。

首先,生成的数字必须是不可预测的,并且必须包含不相关的序列,这样就不能使用给定长度的数字来预测任何后续的数字。

此外,基于区块链的RNG (随机数生成器)不应该损害它们所在应用程序的去中心化特性。中心化的RNG,无论是依赖于自然现象的真随机数生成器,还是利用数学算法的伪随机数生成器,都依赖于单一的实体,这会给去信任的系统中引入依赖信任的因素。随机数生成时将多个实体参与其中,这样的多方参与的RNG 方案对于维护去中心化应用的特性而言至关重要。

最古老的一对骰子发现于中东的某处洞穴中,可以追溯到公元前24 世纪。自那时以来,人类的随机数生成方案得到了跨跃式发展。计算机使我们能够捕捉自然过程中固有的不可预测性,从而推导出真实的随机数,并通过种子数学算法(seeding mathematical algorithms)来模拟随机性,从而生成伪随机数。

然而,为了让随机数生成器(RNG)能够进入区块链时代,必须通过去中心化方式来增强现有技术,以确保dApps的完整性不受损害。在TRNG(真随机数生成器)和PRNG(伪随机数生成器)中所生成的随机数中加入去信任化的特性,将提升游戏中的信任度,赋能去信任化的计算机模拟方案,并首次允许私有加密数据存储于区块链之上。

DAPP网络利用DAPP 服务提供商所提供的分布式生态系统,为开发EOS 应用程序的开发者提供重要的实用工具。

加入【LiquidApps中文电报群】(https://t.me/LiquidApps_community_China),看看DSP是如何赋能下一代随机数生成器(RNG)。

你可能感兴趣的:(将随机数加入其中:为何链上生成随机数如此困难却如此重要)