Cover photo

可验证随机函数(VRF)的介绍

在密码学中,可验证随机函数(VRF)是一种可以通过加密的方式验证随机性的随机数生成器(RNG)。可验证的随机数对于许多区块链应用程序是必不可少的,因为它们具有防篡改和不可预测性。这些可用于创造令人兴奋的游戏体验、生产稀有的 NFT 并确保公平的结果。

什么是可验证随机函数(VRF)?

可验证随机函数是一种加密函数,它根据数据输入生成伪随机数,并附加任何人都可以验证的证明。

VRF 的数据输入通常包括一对公钥和私钥(也称为“验证密钥”和“秘密密钥”)以及种子。公钥和私钥是在选择种子时生成的。该信息被输入 VRF,VRF 使用私钥和种子生成随机数。然后,VRF 产生一个随机数和相应的证明。这里的关键步骤是生成这个证明,因为用户可以使用它来验证该函数。对私钥保密可确保随机数无法预测。

可验证随机函数的关键特征都在其名称中:

  • 可验证——任何人都可以通过检查证明并验证哈希计算结果是否正确来验证 VRF 生成的随机数是否有效。只有持有 VRF 私钥的人才能执行哈希运算,而拥有公钥的任何人都可以验证哈希运算的结果。

  • 随机——对于那些不知道种子或没有私钥的人来说,VRF 的输出是完全不可预测的,并且具有均匀分布,没有可辨别的模式。VRF 传递的每个结果都具有相同的概率,并使用种子和私钥以独特的方式生成随机数。

  • 功能 - VRF 使用数学算法生成随机数和证明。VRF 隐藏种子以确保不可预测性。同时,它使随机性证明可以公开供每个人查看和验证。

VRF的应用

大多数 RNG 无法生成可以通过密码验证且可以轻松操纵的随机数,从而限制了它们的用例。然而,如果 VRF 能够确保随机数的安全性,它就可以解锁一系列关键用例,包括:

  • 网络安全 – VRF 保障域名系统 (DNS) 消息传输的安全。

  • 零知识技术——VRF可用于开发零知识证明和数据库。

非交互式彩票系统 – VRF 确保彩票游戏的公平、可验证和高效结果。

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

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

包括 Algorand、Cardano、Internet Computer 和 Polkadot,许多 L1 区块链在其共识机制中使用 VRF 来随机选择区块生产者。

此外,区块链智能合约开发人员在开发应用程序时需要随机性。然而,由于区块链网络的高度确定性,基于链的应用程序通常无法访问安全的随机数生成器。使用链块哈希来生成随机数可能会受到区块链矿工/验证者的控制,他们可以放弃对他们不利的区块并重新掷骰子来改变随机性。链下随机性缺乏透明度,无法验证随机数是否公平且不受数据源或节点操纵。

鲁棒的随机性生成解决方案意味着随机性的公平性可以得到验证,每个参与者都有相同的概率,攻击者不太可能通过预测随机性来操纵智能合约。

WINkLink 的随机数服务

VRF(可验证随机函数),可以产生安全可靠的随机数。随机性由用户提供的种子、nonce(VRFCoordinator合约的私有状态)、请求所属的区块哈希以及随机数生成节点的私钥决定,节点无法作弊。这个随机数在返回给用户Dapp之前经过验证,保证了这个随机数的安全。

随机数生成过程如下:

  1. 用户合约在链上发出请求以生成随机数。

  2. 一旦节点监听到请求,它就会在链外生成随机数和证明,然后在链上合约内做出响应。

  3. 链上合约验证生成的随机数,验证成功后,通过回调函数向用户 DApp 提供反馈。

它可用于任何需要可靠随机数的应用:

  • 区块链游戏和 NFT

  • 职责和资源的随机分配(例如,法官随机分配案件)

  • 共识机制代表性样本的选择