为什么在Web3中真正的随机性很重要

新手Jan 26, 2024
本文介绍了什么是随机性,了解其类型,并探讨它给区块链和 Web3 生态系统带来的挑战。
为什么在Web3中真正的随机性很重要

简介:

本文介绍了什么是随机性,了解其类型,并探讨它给区块链和 Web3 生态系统带来的挑战。

“随机性”指的是缺乏模式或可预测性。硬币投掷的结果、指纹的图案、雪花的形状都被认为是不可预测的。虽然在自然界中不可预测的结果很常见,但计算机生成的随机性却不尽相同。由于计算机是确定性设备,仅通过一套计算机算法可能无法生成真正随机的数字。

此外,虽然单个随机事件被认为是不可预测的,但在重复事件中不同结果的频率可以是可预测的。例如,虽然任何单次掷骰子的结果都是不可预测的,但在100次掷骰子中结果的概率可以高度确定。

随着经济、社会和文化互动越来越多地发生在互联网上,过去几十年里对模仿自然界的不可预测性并创建包含不可预测结果的数字系统的需求不断增长。这种不可预测性的用途包括引入人为稀缺性、构建更强大的安全机制和促进可信中立的决策过程。

在本文中,我们将分析随机性是什么,了解随机性的类型,并探索随机性在区块链和Web3生态系统中带来的挑战。

随机性真的是随机的吗?

首先,我们需要定义一组使序列随机的原则。如果一个序列被识别为随机,它必须具有以下特质:

  • 不可预测——结果必须提前无法知道。
  • 无偏见——每个结果必须同样可能。
  • 可证明——结果必须独立可验证。
  • 防篡改——生成随机性的过程必须对任何实体的操纵具有抵抗力。
  • 不可复制——生成随机性的过程不能复制,除非保留原始序列。

计算机是一个可预测的设备,它具有预设的电路、组件以及定义好的代码和算法。这使得在特定条件下,我们能够预测计算机生成的随机数输出或序列。就像一个功能正常的计算器总是产生2+2等于4的输出一样,计算机在给定相同的输入情况下应该总是产生相同的输出。因此,计算机可能无法生成真正的偶然条件和真正的随机数。

为了克服这个限制,随机数生成器(RNGs)使用种子,这是计算生成输出所依赖的起始值或输入。这个种子可以基于各种难以复制的事物生成,从捕获的照片数据、一天中的时间、用户的鼠标移动,甚至是熔岩灯的状态等等。

然而,尽管生成随机数的过程本身难以复制,但这并不意味着技术上不可能复制。即使假设这些种子最终可能会随着时间的推移被揭示出来,但如果在生成不同的种子时使用相同的数学方法,生成的结果就不会是真正的随机。这引出了一个关键问题:什么类型的随机性可以被认为是真正的随机?

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

通常情况下,我们可以将随机数生成器分为两类:伪随机数生成器(PRNGs)和真随机数生成器(TRNGs)。PRNGs使用数学算法来生成随机值,而TRNGs则利用物理现象,例如大气噪声来产生随机数。

PRNGs是一组使用数学公式的算法,它们生成似乎随机的数字序列。由于计算机是确定性系统,这些数字看起来可能是随机的,但实际上它们可能包含可通过统计分析揭示的模式。

TRNGs则依赖于不可预测的物理来源,例如宇宙噪声、同位素的放射性衰变或空气中的静电。它们利用自然发生的现象生成随机数。由于TRNGs的随机性基于物理现象,因此它们被认为比计算机生成的随机数更具强大的随机性(更不可预测)。然而,即使使用TRNGs,如果有人干预生成过程,可能会捕获相同的信号,并准确知道生成的数字序列。

虽然TRNGs能够生成随机序列,但它们的成本较高,因此在一般情况下不适合常见的使用场景。与TRNGs相比,PRNGs有一个重要的优势,即可重现性。如果知道序列的起始点,可以重现相同的数字序列,这使得验证随机数生成过程成为可能,对于许多需要随机性的Web3应用程序而言,这是一个有用的特性。

为什么随机性对于区块链很重要

安全随机性在区块链中扮演着至关重要的角色,它是密码学的基础。加密哈希函数是加密货币钱包生成私钥的重要组成部分,它确保了猜测特定钱包的私钥非常困难。据估计,SHA-256(比特币协议中使用的哈希函数)可能产生的私钥组合数量接近可观宇宙中原子的数量。

分布式共识在很大程度上受到两个关键因素的限制:消息吞吐量和消息传播延迟。在公共区块链中,有数千个分布式参与者需要达成协议,要求每个节点向所有其他节点发送消息是不现实的。为了限制达成共识所需的消息数量,比特币引入了工作量证明(PoW)作为随机性来源,以确定哪个区块将被添加到区块链中。由于矿工需要竞相解决难题,同时解决难题的概率很低,因此消息数量得以控制,这限制了网络达成共识所需的消息数量。

随机性也在权益证明(PoS)系统中广泛使用,以支持验证者职责的公平和不可预测的分配。如果恶意行为者能够影响随机性的选择过程,他们就可以增加被选中的机会,从而威胁到网络的安全性。

然而,由于区块链的透明性,所有输入和输出都对系统参与者可见,这可能导致随机生成的序列变得可预测。例如,一些链上随机数生成方法(如块哈希)存在容易被利用的安全漏洞。如果矿工或验证者对特定结果的随机生成感兴趣,块生产者可以通过不发布不利于他们的块来影响随机序列的生成,实质上是不断重复掷骰子,直到获得有利的结果。

另一方面,链下随机数生成(RNG)解决方案不透明,需要用户信任中心化数据提供者不会出于自身利益而操纵结果。用户无法区分真正的随机性和被操纵的随机性之间的区别。随着RNG解决方案所提供价值的增加,这两种解决方案都引发了越来越多的担忧。

Web3 中的随机性

当人们思考区块链游戏、NFT项目或数字艺术时,他们往往未充分考虑到随机性在决定结果中的关键作用。不论是确定元宇宙中游戏资产的位置、为生成艺术算法增加多样性、生成战利品箱的内容、铸造NFT、分配奖品给获胜者、验证活动门票,还是定期选择DAO参与者担任特定治理角色,Web3应用都必须依赖安全的随机性来源,以确保结果的公平性和不可预测性。

由于这些系统可能涉及大量真实世界的价值,不完善的随机性解决方案可能导致信息不对称和某些参与者不公平地获得优势。这种情况通常会导致负面反馈循环,造成权力不平衡,最终破坏了旨在促进经济活动和社会协调的经济和博弈机制。

要访问一个不可篡改、不可预测且所有参与者都能审计的随机性来源并不容易。然而,对公平性和透明度的追求已经在Web3行业中催生了许多出色的应用和协议,这些应用和协议在与Web2同行相比具有显著的优势。能够以可验证和安全的方式访问公平无偏见的随机性来源,为区块链游戏、NFT、去中心化治理、Web3社交媒体、筹款和慈善、社交代币等领域带来了众多新的用途和可能性。

Chainlink VRF

Chainlink 可验证随机函数(VRF)是业界标准的随机数生成(RNG)解决方案。它使智能合约和链下系统能够通过链下计算和加密技术访问可验证的随机性源。VRF 将块数据与预言机节点的预先提交的私钥组合在一起,以生成随机数和密码证明。只有在具有有效密码证明的情况下,消费应用程序才会接受随机数输入。而且,只有在 VRF 过程经过防篡改的情况下,才能生成有效的密码证明。

Chainlink VRF 使用链外计算和加密技术来创建防篡改的随机源。

Chainlink VRF使用链外计算和加密技术,创建了一个不容篡改的随机性来源。自推出以来,Chainlink VRF已经完成了超过650万个公平无偏见的随机数请求,目前为超过3400个独特智能合约提供可验证的随机性,这些智能合约分布在Avalanche、BNB Chain、Ethereum和Polygon等多个区块链网络上。

Chainlink VRF具备许多关键特性,使其成为行业标准,其中包括:

  1. 不可预测性 - 由于在随机性请求时块数据是未知的,没有人能够预测Chainlink VRF生成的随机性。

  2. 公平/无偏见 - 生成的随机数基于均匀分布,意味着在指定范围内的所有数字都具有相同的被选中机会。

  3. 可验证性 - 用户可以通过链上验证加密证明来验证依赖Chainlink VRF随机输入的应用程序的完整性。

  4. 防篡改 - 没有人,包括预言机、外部实体或开发团队,能够干预随机数生成过程。如果VRF过程受到干扰,节点将无法生成有效的加密证明,智能合约也将拒绝随机数输入。

  5. 透明性 - 由于代码是开源的,用户可以验证随机性来源过程。

凭借这些独特特性、强大的内置安全技术以及基于用户反馈的持续改进,由Chainlink VRF驱动的应用程序能够产生可证明的、公平且不可预测的结果,从而通过防篡改的随机数生成器实现了有意义且令人兴奋的功能和体验。

如果您是开发者,并希望将您的应用程序快速连接到Chainlink VRF,请访问开发者文档并加入Discord中的技术讨论。如果您希望安排电话讨论更深入的集成,请通过提供的联系方式与我们联系。

声明:

  1. 本文转载自[chain.link],著作权归属原作者[Chainlink],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!
アカウント作成