Chainlink VRF v2正式在主网上线,为NFT和游戏dApp提供可扩展、可灵活配置且gas费更低的链上随机数

过去一年中,Chainlink可验证随机函数(VRF)成为了行业标准的随机数生成器(RNG)解决方案,为智能合约以及链下系统提供随机数,并保障其加密安全性、透明性以及可验证的公平性。

Chainlink VRF自发布以来,已完成了三百多万次请求,目前覆盖以太坊、Polygon和币安智能链等多个区块链网络,为超过2300个智能合约提供可验证的随机数。Chainlink VRF采用了高级的加密提交机制,为dApp提供了防篡改的链上随机数,为NFT的铸造和发行保障安全性,为区块链游戏保障公平的结果,并实现了DeFi和DAO治理等一系列丰富的应用场景。

Chainlink VRF经过了广泛深入的研究,并获得了众多用户的反馈。在此,我们非常高兴地宣布Chainlink VRF v2正式上线。Chainlink VRF v2在目前广泛使用的RNG方案上进行了改进,是全新升级的版本。它为智能合约开发者提供了更强大的随机数解决方案。开发者可以更加轻松地配置并扩展随机数请求。另外,请求交易的成本可以降低60%之多。Chainlink VRF v2的发布标志着Chainlink去中心化服务朝着自助式开发、访问和管理模式迈出了第一步。

Chainlink VRF v2目前已在以太坊主网(开发者文档链接)上线,并计划部署至其他已经接入或即将接入Chainlink的主流区块链。部署后将实现一系列全新的区块链游戏、NFT以及链下应用场景,并为用户带来公平、安全和新奇的体验。本文将探讨Chainlink VRF v2的主要优势,并分享可验证随机数实现的部分用例。

Chainlink VRF v2的五大优势

1.扩大按需付费规模:提升随机数请求的成本效益

Chainlink VRF v2首次推出了订阅管理智能合约应用(subscription management app),智能合约可以提前充值,随机数请求的费用可以统一从LINK通证余额中扣除。用户无需每次请求都发送一次LINK通证,因此VRF请求的gas费最多可以降低60%。

以太坊上收到可验证的随机数后,会计算响应交易所需的gas费(ETH),使用LINK/ETH的Chainlink Price Feed将 ETH兑换成LINK,并充值订阅合约,且每次请求的费用固定不变。因此,用户只需将LINK通证一次性地充值到订阅智能合约中即可,提升了流畅性并降低了成本。对于高频交易的应用来说,这样做尤为必要。

Chainlink VRF v2 subscription management app.
订阅管理智能合约让用户可以为VRF v2请求提前充值。

2.灵活设置随机数回调的gas费上限:开发者拥有更大的灵活性

Chainlink VRF v2的用户可以灵活设置可验证随机数传回智能合约应用的gas费上限。这样一来,智能合约应用就可以在收到可验证随机数的同一笔交易中执行更复杂的代码逻辑。因此,即使在网络极其拥堵的情况下也可以执行关键的随机数任务,这将为dApp开发者带来更高的稳定性和灵活性。

gas费上限最高可以设为200万个gas,这比VRF v1的上限高了十倍。这个功能是基于充值订阅模式实现的,每次随机数调用花费的LINK会随着gas费上涨而灵活变动。这个参数也会根据Chainlink VRF所部署的底层区块链而相应变化。

3.可以灵活配置:用户拥有更多权限定义安全参数

Chainlink VRF v2的用户可以自行定义在发起请求交易后必须确认多少个区块,才能生成可验证随机数并发送至链上。这个参数最小为3个区块,最大为200个区块,并覆盖所有测试网和主网。而在Chainlink VRF v1中,以太坊上的参数固定为10个区块。

开发团队灵活配置区块确认参数,可以完美平衡安全性和性能,既能避免区块重组,又能降低请求响应延迟,因此可以满足每个开发团队具体的应用需求。更多关于该参数配置的信息,请查看《安全事项文档》

4.单次能请求更多随机数:单次请求可以生成多个随机数结果

Chainlink VRF v2改进了VRF协调智能合约,用户可以在一笔链上交易中请求多个随机数(multi-word),因此体验流畅且成本更低。另外,多个随机数也可以在一笔交易中发回至链上,进一步降低成本和响应延时。

用户将多个请求和响应打包至一笔交易中,可以大幅削减gas费。这对于部署在高成本区块链上的高频交易应用来说尤为关键。

5.统一计费:一个订阅合约绑定多个地址

Chainlink VRF v2允许最多100个智能合约地址向同一个LINK订阅合约充值并支付随机数请求。订阅余额由订阅合约管理员统一管理。

因此,开发者如果管理着多个需要输入随机数的智能合约,就可以简化付款流程并降低gas费。随着Chainlink VRF不断降低成本并提升定制化程度,开发者可以跨越众多顶尖的区块链打造出成本效益更高的高级用例。

Shared LINK subscription balance in Chainlink VRF v2.
一个LINK订阅合约可以绑定多个智能合约。

Chainlink VRF常见用例

如果想要了解如何使用全新版本的Chainlink VRF,请查看我们近期的博客文章《Chainlink VRF的35个区块链随机数生成器(RNG)用例》。下文将简要介绍Chainlink VRF最常见的一些用例。

公平地铸造NFT

越来越多的NFT创作者开始使用Chainlink VRF作为公平铸造NFT的行业标准,尤其是针对拥有不同特征、属性和稀缺性的NFT。Chainlink VRF可以为所有人保障公平获得具有升值潜力的罕见NFT的机会。

Polychain Monsters use Chainlink VRF to assign traits to its NFTs.
每个Polychain Monster NFT都具有三个特征,每个特征的属性都基于Chainlink VRF的随机数分配。

随机空投NFT和宝箱

创作者和游戏开发者还可以使用Chainlink VRF空投艺术收藏品和游戏物品的NFT。Chainlink VRF可以决定用户在空投中获得哪些NFT,任何人都无法影响或篡改空投机制。

Axie Infinity used Chainlink VRF to mint provably rare Origin Axie NFTs.
Axie Infinity集成Chainlink VRF铸造可验证的罕见初始Axie NFT。

抽奖和社区赠品

各类彩票、抽奖和赠品活动都使用了Chainlink VRF,从众多合格参与者中选出中奖者。Chainlink VRF可以为中奖者筛选流程保障前所未有的透明性,因为传统的抽奖流程都是密不透风的。

A diagram showing how Chainlink VRF powers PoolTogether with verifiable randomness.PoolTogether集成Chainlink VRF每周随机选出中奖用户。

PVP对战

开发者在游戏或NFT大逃杀竞赛中利用Chainlink VRF配对玩家,并且决定对战中暴击的效力。Chainlink VRF可以保障游戏的公平性和不可篡改性,这对于Play-to-earn类游戏来说尤其重要,因为赢家会获得经济回报。

A diagram showing Chainlink VRF enables input/output randomness for more competitive and transparent gameplay.Chainlink VRF可以输入/输出随机数,提升游戏的竞争性和透明性。

排序

智能合约正集成Chainlink VRF公平地决定游戏、销售、活动或任何轮流制中的先后顺序,这个顺序会对结果产生影响。Chainlink VRF可以有效确保任何玩家都不能因其身份或财富而得到特殊待遇。

Chainlink VRF brings transparency to previously opaque selection processes.Chainlink VRF可以为审计流程带来前所未有的透明性。

使用Chainlink VRF开发应用

Chainlink VRF v2可以大幅提升成本效益和可用性,因此开发者可以更加轻松地打造高级智能合约应用,保障游戏结果无法预测且公平公正。上文只是抛砖引玉,分享了可验证随机数可以实现的部分用例。我们相信还有无数潜在的用例有待探索。

如果你是一名开发者,并希望快速将应用连接至Chainlink VRF,请查看开发者文档并加入我们在Discord上的技术讨论群。如果你希望透过电话深入讨论集成事宜,请联系Chainlink专家

我们希望各位开发者将Chainlink VRF v2与其他Chainlink去中心化服务一起集成至应用中。开发者可以使用Chainlink Automation基于预定义条件自动执行链上交易,如:在具体时间点开始/结束游戏;使用Chainlink Price Feeds决定游戏资产当前的市场价值;使用Chainlink Data Feeds基于外部事件提升游戏体验,如:基于当前天气或体育比赛结果来更新NFT;并利用即将发布的跨链互操作性协议(CCIP)将资产跨链并打造跨链智能合约。

我们想感谢以下所有参与了VRF v2 beta版本测试的项目:

Mechanized Abstractions, Polyroll, Decentral Games, Aavegotchi, Coin98, PolyWantsACracker, Gains Farm, PoolTogether, Yarloo, BetSwirl, Magic Beasties, Fantasy Arena, Black Eye Galaxy, Crypto Unicorns, JayPigs, Elemon, 0xCord, DigiBudz, BiFrost, PolyFight, DogeVille, MGG, Ridotto, LuckyChip, DexKit, HexTech, InuWars, DestinyDAO

Need Integration Support?
Talk to an expert
Faucets
Get testnet tokens
Read the Docs
Technical documentation