BSP:一文读懂可验证随机函数 VRF

原文标题:《Verifiable Random Function (VRF)》

撰文:Chainlink

在密码学中,可验证随机函数(VRF)是一种随机数生成器(RNG),可以通过加密手段来验证随机性。可验证的随机数对许多区块链应用来说都是不可或缺的要素,因为这类随机数具有防篡改性和不可预测性,可以用来打造刺激的游戏体验,铸造罕见的 NFT,并保障公平的结果。

本文将讨论什么是可验证随机函数,研究随机数在区块链上的应用,以及智能合约开发者如何利用 Chainlink 可验证随机函数(VRF)在 dApp 中获得安全的随机数来源。

可验证随机函数是一种加密函数,基于数据输入生成伪随机数并附上一份证明,任何人都可以对其进行验证。

VRF 的数据输入通常包含一对公钥和私钥(也称为「verification key」和「secret key」)以及一个 seed。公钥和私钥是生成的,而 seed 则是选择的。将这些数值一起输入 VRF,用私钥和 seed 来生成随机数。然后,VRF 会生成一个随机数以及一份证明。最关键的一步是生成证明,因为用户可以通过证明来验证函数。而将私钥保密则可以确保随机数无法被预测。

可验证随机函数的关键特质都写在了它的名字里:?

可验证——任何人都可以验证 VRF 生成的随机数是否有效,只需要查看证明并验证哈希计算结果是否正确即可。只有持有 VRF 私钥的人才能进行哈希运算,而任何持有公钥的人都可以验证哈希运算结果。?

随机——对于不知道 seed 或不持有私钥的人来说,VRF 输出的结果完全不可预测且概率均匀分布,没有任何规律可循。VRF 输出的每个结果都拥有同样的概率,并使用 seed 和私钥,以独特的方式生成随机数。?

函数——VRF 使用数学算法来生成随机数以及证明。VRF 将 seed 隐藏起来,以保障其不可预测性;同时,将随机数证明公开,以供所有人查看和验证。?

可验证随机函数这个概念是在 1999 年由知名计算机科学家和数学家 Silvio Micali、Michael Rabin 以及 Salil Vadhan 在论文中提出的。值得一提的是,Silvio Micali 后来创建了 Algorand 区块链,Algorand 在共识机制中也使用了 VRF。

之后,VRF 技术出现了一系列关键突破。2005 年,Yevgeniy Dodis 和 Aleksandr Yampolskiy 使用了抗碰撞哈希函数实现了更短的证明和密钥,因此提升了 VRF 的效率,并推动了这项技术的发展。2015 年,Dennis Hofheinz 和 Tibor Jager 使用椭圆曲线加密技术开发了可验证安全性的 VRF。2019 年,Nir Bitansky 提出了 VRF 可以用一般原语构造,而不用简单的代数构造。如今许多 VRF 方案都建立在这些创新之上。

2020 年,研究者提出了一种使用 Lattice 加密的 VRF 方案。这个方案的安全性足以抵御量子计算机发起的攻击,这意味着 VRF 将在未来仍是一项重要技术。

大多数 RNG 都无法生成可以通过加密技术进行验证的随机数,因此这类 RNG 容易受到操纵,导致其应用场景受限。VRF 如果能保障随机数的安全性,就可以解锁一系列关键的用例,其中包括:?

网络安全——使用 VRF 保障域名系统(DNS)消息传输的安全性。?

零知识技术——VRF 可以用来打造零知识证明和零知识数据库。?

非交互式抽奖系统——VRF 可以为抽奖游戏保障公平、可验证且高效的结果。?

可验证的交易托管机制——VRF 可以支持自动托管服务,保障用户的匿名性。?

区块链和智能合约——VRF 已经成为了去中心化协议和应用重要的组成部分。?

包括 Algorand、Cardano、Internet Computer 和 Polkadot 在内的许多 L1 区块链都在共识机制中使用了 VRF 来随机选择出块节点。

另外,区块链智能合约开发者在开发应用时也需要随机数。然而,由于区块链网络具有高确定性,链上应用往往无法获得安全的随机数生成器。使用链上区块哈希生成随机数有可能被区块链矿工 / 验证者操控,他们可以放弃对他们不利的区块,重新「掷色子」,以改变随机数。而链下随机数则缺乏透明性,而且无法验证随机数是否公正且没有受到数据源或节点的操控。

可以利用链上生成随机数方案的漏洞谋取私利

稳健的随机数生成方案意味着随机数的公平性可以得到验证,所有参与者都拥有同样的概率,并且攻击者不太可能通过预测随机数来操纵智能合约。

Chainlink VRF 是公平、可验证的 RNG,可以满足上述需求,为智能合约提供具有加密证明的安全随机数,无法被预言机节点、用户或开发团队篡改。

视频相见:https://blog.chain.link/verifiable-random-function-vrf/

Chainlink VRF 可以为开发者带来以下好处:?

不可预测性——Chainlink VRF 无法被预测。由于在请求随机数时无法得知区块数据,因此任何人都无法通过预测随机数来提高自己的成功概率。

公平性——Chainlink VRF 非常公平公正,因为随机数是均匀分布的,所有数字都有同样的概率被选中。

随机性——Chainlink VRF 的随机性可以得到验证,因为其使用区块哈希作为 seed 来生成随机数,而区块哈希无法提前预知。

防篡改性——Chainlink VRF 具有防篡改性,任何人,包括预言机、外部方或开发团队,都无法操纵随机数生成流程。?

Chainlink VRF 是用户和区块链之间的抽象层,可以帮助智能合约开发者访问安全的随机数来源。

Chainlink VRF 采用了开源代码和加密技术,生成防篡改的随机数,用户可以验证随机数的真实性

Chainlink VRF 采用了 Goldberg 的可验证随机函数(VRF),详情请查看这篇论文。Chainlink VRF 会针对每一个随机数请求生成一个或多个随机数,并附上一份随机数的加密证明。这份证明会被发布到链上并在链上得到验证,验证通过后才会使用随机数。

Chainlink VRF 目前正在为 Web3 生态中的众多应用提供安全的链上随机数来源,其中包括 GameFi、DeFi 以及 NFT 等项目。

Chainlink VRF 的应用场景包括:

为 NFT 分配随机属性——Chainlink VRF 可以用来铸造特殊的 NFT。比如,Axie Infinity 使用 Chainlink VRF 为每个 Origin Axie 赋予随机属性。

公平地分配罕见 NFT——Chainlink VRF 可以证明 NFT 是公平分配的,且证明可以得到验证。比如,Bored Ape Yacht Club(BAYC)?使用 Chainlink VRF 向 BAYC NFT 持有者随机分配变异血清 NFT。

游戏结果无法预测——开发者可以利用随机数打造出更好玩的区块链游戏。比如,Blockmine 使用 Chainlink VRF 在 Next Card 游戏中随机抽取卡牌。?

公平地选出参与者——发放热门活动门票,抽取奢侈品预售的买家,以及选出热门公开发售活动的参与者。比如,Centaur 使用 Chainlink VRF 选出链上公开发售活动的参与者。

随机选出中奖者——Chainlink VRF 可以让用户验证中奖者的筛选流程是否公平公正。比如,PoolTogether 是一个无损储蓄游戏,将用户存款放在一个资金池中,并每天和每周展开抽奖,将池子的收益随机分配给中奖者。

PoolTogether 利用 Chainlink VRF 随机选出无损储蓄游戏的中奖者

Chainlink VRF 是区块链行业领先的安全随机数生成器(RNG),为智能合约和链下系统提供可验证且防篡改的随机数来源。

Chainlink VRF 通过加密技术为开发者保障随机数的安全性和可验证性,帮助他们打造出更加开放、可访问且防篡改的系统。Chainlink VRF 和智能合约将实现区块链的最终愿景,基于加密事实打造出更加强大的算法系统,取代当前基于信任的薄弱系统。

Chainlink预言机

个人专栏

阅读更多

金色早8点

Bress

链捕手

财经法学

PANews

成都链安

Odaily星球日报

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

链链资讯

[0:15ms0-2:979ms