Chain:一文读懂随机数对于Web3的重要意义

“随机性”指没有规律或不可预测的状态。比如扔硬币、指纹图案以及雪花的形状都是不可预测的。大自然中充满了随机性,但在计算机环境中却并非如此。计算机的一大特点是确定性,因此仅靠一组算法可能无法实现真正的随机性。

另外,虽然单个随机事件无法预测,但反复发生的事件出现不同结果的概率却是可以预测的。比如,掷一次色子的结果无法预测,但掷100次色子出现不同结果的概率是几乎可以准确计算出来的。

过去几十年中,随着互联网上经济、社会和文化活动日益频繁,有越来越多人呼吁在网上模拟出真实世界的不可预测性,并为数字化系统生成不可预测的结果。要实现不可预测性,就必须人为制造稀缺性,打造更稳健的安全机制,并执行完全中立的决策流程。

本文将详细阐述随机数的概念和类型,并探讨随机数对区块链和Web3带来的挑战。

随机数真的是随机的吗?

首先,我们要定义什么是随机数列。要实现随机数列,就必须满足以下条件:

不可预测——提前无法得知结果。

公正——每个结果出现的概率都必须相同。

伊朗建立专门平台使用加密货币支付进口费用:5月3日消息,伊朗贸易促进组织 (TPO) 表示,伊朗当局正在采取措施,使在受制裁国家进口商品的公司更容易进行加密支付;其已经建立了一个专门的平台,允许本地企业为跨境结算目的转移加密货币。政府机构负责人Alireza Peymanpak表示,伊朗中央银行(CBI)已批准在进口商品结算中使用加密货币。(news.bitcoin)[2023/5/3 14:40:24]

可验证——结果必须可以独立验证。

防篡改——创建随机数的流程无法被任何一方操纵。

无法复现——创建随机数的流程无法复现,除非原始数列保留。

计算机是可预测的环境,由预设的电路、元件以及预定义的代码和算法组成,因此在特定条件下是有可能预测出计算机创建的随机数或随机数列的。计算机永远都能基于一个输入生成特定输出,这就好像你在计算器里输入22,结果永远都是4。因此,计算机无法生成真正的随机数。

为了解决这一问题,随机数生成器通常会采用seed作为计算的初始值,并用来生成计算结果。这个seed可以基于任何难以复现的信息创建,比如照片中捕捉的数据、一天中的时间点、用户鼠标移动轨迹或熔岩灯的运动轨迹。

DefiLlama推出ARB空投一键领取交易功能:3月23日消息,链上数据分析网站Defi Llama推出ARB空投一键领取交易功能,用户可以预先进行合约授权、申领ARB空投并一键卖出所有ARB,其中将通过Llama Zip兑换节省Gas成本。

该页面已针对高达1.1万枚ARB的小额交易进行了优化,对于更大量的交易建议前往swap页面实现最佳交易执行。[2023/3/23 13:21:24]

然而,即使我们说随机数生成过程很难复现,也不意味着技术上完全没办法复现。如果使用多个难以复现的seed作为初始值来生成随机数,那么最终结果会相对更可靠,但仍有理由相信这些seed最终还是可能被破解。即使使用同样的算法来生成不同seed,结果仍然无法完全保障随机性。那么问题就来了:什么才是真正的随机数?

伪随机数生成器VS真随机数生成器

通常我们可以将随机数生成器分为两类,即:伪随机数生成器和真随机数生成器。PRNG采用数学算法来生成随机值,而TRNG则采用环境噪音等物理数据来生成随机数。

PRNG底层是一组算法,应用数学共识创建随机数列,来模拟真正的随机数。由于计算机是独特的系统,因此这些数字对人来说确实看上去像是随机数,但实际上它们可能存在某些不易察觉的规律,而通过大量统计分析就可能发现这些规律。

亚马逊将在今年春天推出一项NFT计划:金色财经报道,Blockworks援引四位熟悉该计划的消息人士报道称,亚马逊正在计划一项使用不可替代代币的新计划,该计划可能会在春季推出。Blockworks 表示,这家科技巨头有十几个合作伙伴排队参与该项目,该项目专注于游戏。一个例子可能涉及推动让亚马逊客户玩加密游戏并领取免费 NFT。

据报道,这项工作仍在进行中,可能会在 4 月份启动。两位消息人士告诉 Blockworks,该平台将由亚马逊而非 AWS 或亚马逊的子公司亚马逊网络服务运行。[2023/1/27 11:31:38]

TRNG采用不可预测的物理数据,比如宇宙噪音、同位素放射性衰变以及无线电波中的静电,基于自然现象生成随机数。TRNG从物理现象中“提取”随机数,因此这种随机数生成方案被认为比计算机更加稳健且不可预测。但即使如此,TRNG使用的数据仍然有可能具有确定性。如果有人监测TRNG扫描的物理环境,那么他们也可以捕捉到同样的信号,并破解随机数列。

TRNG生成的随机数被破解的概率相对较小,但这种方案的成本也相对较高,因此无法大规模应用。PRNG相比TRNG还有一个优势,那就是可以复现。观察者如果知道数列的起始点,就可以复现同一个随机数列,因此就可以验证随机数的生成过程,这对于使用随机数的Web3应用来说非常有帮助。

Circle政府关系负责人发布19项稳定币监管原则,支持非银行机构发行美元稳定币:7月19日消息,稳定币USDC发行公司Circle政府关系负责人Dante Disparte发布一套19项稳定币监管原则,其中包括支持非银行金融机构参与发行美元数字货币。他称希望帮助制定美国稳定币政策,解决稳定币出现的明显风险,同时建立明确的规则,使美元继续作为互联网的主要数字货币,以提高美国的领导地位和经济竞争力。[2022/7/19 2:22:22]

随机数对区块链有哪些重要价值?

安全的随机数是区块链加密技术的基础,加密哈希函数是cryptocurrency钱包创建私钥的关键要素,保障任何人都无法破解钱包的私钥。据估计,比特币协议使用的哈希函数SHA-256中可能的私钥组合接近可观测宇宙中的原子数量。

分布式共识在底层受到了吞吐量和延迟的限制。吞吐量指一段时间内可以发送的消息数量;延迟指网络发送一条消息所需要的时间。一条公链上有几千个分布式的节点共同达成共识,要每个节点都向所有其他节点发送消息是不现实的。为了尽量减少达成共识所需的消息数量,比特币采用了工作量证明作为随机数来源,决定哪个节点可以向区块链添加新区块。矿工需要解开高难度的计算题,才能成功向区块链添加新区块,因此多个节点在同一时间解出计算题的概率非常低,这样将降低网络达成共识所需发送的消息数量。

比特币全网算力跌破200 EH/s,30天下挫超26%:7月10日消息,比特币全网算力已从6月8日历史高点下滑到当前的200 EH/s下方,今日触及178.44 EH/s低点,跌幅达到26.56%。虽然比特币价格反弹至22,000美元区间,但近期网络难度并没有复苏迹象,自2022年3月3日以来,比特币网络难度有过4次上升,但下调却达到6次,目前距离下次难度调整还有约11天,预计预计可能会再次降低0.13%。(news.bitcoin)[2022/7/10 2:02:57]

权益证明系统中通常也使用随机数,以公平且不可预测的方式分配验证节点的任务。如果恶意攻击者可以操纵筛选流程中使用的随机数,那么就可以提高自己被选中的几率,并因此威胁整个网络的安全性。

由于区块链是公开透明的,所有参与者都可以看到所有输入和输出,因此也可能预测出随机生成的数列。比如,一些生成链上随机数的方案存在明显的安全漏洞。如果矿工或验证节点想要操纵随机数,就可以选择不发布对他不利的区块,从而影响随机数生成。这样做基本上等于不断重新掷色子,直到最终结果对自己有利为止。

而另一方面,链下RNG解决方案缺乏透明性,用户只能相信中心化的数据提供商不会操纵结果,而且无法判断随机数的真伪。随着RNG解决方案保障的价值越来越高,这两种方案都越来越令人担忧。

Web3的随机数

当谈到区块链游戏、NFT项目或数字艺术时,人们可能不会意识到随机数的重要性。Web3需要安全的随机数来源来实现公平且不可预测的结果,比如决定元宇宙里游戏道具的摆放位置;在生成式艺术的算法中添加变量;创建宝箱内容;铸造NFT;为赢家发放奖励;验证活动门票;或定期为DAO治理委员会选出成员。

视频详情:https://youtu.be/DvBVlOLpPNg

这些系统都具有极大的实际价值,如果因为随机数方案存在漏洞而导致结果被操纵,那么一部分参与者将因为信息不对称而遭到不公平对待。这往往会导致恶性循环,最终导致经济活动和社会协调的底层经济机制和博弈机制完全崩溃。

要获得完全防篡改、不可预测且所有人都可以验证的随机数并非易事。然而,Web3行业本着提升公平性和透明性的初心,推出了许多应用和协议,并超越了Web2同类应用。随机数可以保障公平和公正性,并且可以安全地进行验证,这解锁了一系列创新应用,包括区块链游戏、NFT、去中心化治理、Web3社交媒体、慈善募款以及社交通证等。

ChainlinkVRF

Chainlink可验证随机函数?为RNG解决方案建立了行业标准,智能合约和链下系统可以利用链下计算和加密技术获得可验证的随机数来源。VRF将区块数据与预言机节点预先提交的私钥结合,生成随机数以及加密证明。应用只接受附加了有效加密证明的随机数,而只有防篡改的VRF流程才能生成有效的加密证明。

ChainlinkVRF采用链下计算和加密技术,打造防篡改的随机数来源。

ChainlinkVRF自发布以来已经完成了650多万次请求,输出公平公正的随机数。目前,ChainlinkVRF为Avalanche、BNBChain、以太坊和Polygon等各个区块链上超过3400个智能合约提供可验证的随机数。

ChainlinkVRF拥有以下特质,因此得以成为行业标准:

不可预测——任何人都无法预测ChainlinkVRF生成的随机数,因为在请求随机数时无法得知区块数据。

公平公正——基于均匀分布生成随机数,也就是说所有数字都有同样的选中概率。

可验证——用户可以在链上验证ChainlinkVRF的加密证明,以保障接入ChainlinkVRF应用的安全性。

防篡改——任何人,包括预言机、外部方或开发团队,都无法操纵随机数生成过程。如果VRF流程被操纵,节点就无法创建有效的加密证明,智能合约因此也不会接受随机数输入。

公开透明——由于代码是开源的,因此用户可以验证随机数生成过程。

ChainlinkVRF不仅拥有上述特质,还建立了一系列安全机制,并基于用户反馈持续改进。正因如此,接入ChainlinkVRF的应用可以利用防篡改的RNG生成可验证公平性且不可预测的随机结果,并解锁丰富的功能和体验。

如果你是一名开发者,并希望快速将智能合约连接至ChainlinkVRF,请查看开发者文档并加入我们在Discord上的技术讨论群。如果你希望安排一次电话会议具体讨论集成细节,请点击此处联系我们。

更多关于这个主题的文章

《ChainlinkVRF的35个区块链随机数生成器用例》

《使用Solidity语言的随机数生成》

《如何在NFT中获得随机数》

《如何在Polygon上获得随机数》

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:818ms