入局链上随机数赛道-zkRandom

Posted Joker时代

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入局链上随机数赛道-zkRandom相关的知识,希望对你有一定的参考价值。

大家好!

我是Nulls.network团队的发起人之一,five。Nulls.network团队是一个对Web3.0充满热情的技术团队,旨在通过技术,让世界是它本来应该有的样子,规则就是规则,不能因为是规则的设计者就能随意的改变规则,更不能使它变为谋求利益的工具,世间的美好在于它对每一个人和事,都是公平的、干净的、充满美好的。

zkRandom的诞生

Axie Infinity 等相关NFT游戏的爆火,让我们看到了市场的巨大潜力,这种Paly-to-earn的经济生态机制,让玩家不仅仅是体验了游戏本身的魅力,也让玩家拥有了一个谋生的工具,疫情的蔓延和恐慌,也让Axie Infinity在沉寂了三年之后终于突出重围,实现了人气的迅速增长和市场的认可。

模式本身是美好的,但Axie Infinity的内在运行逻辑和机制与传统游戏无异,同样是一个基于中心化服务器运作的游戏。一个真正符合Web3.0规范的游戏不该是Axie那样,于是我们有计划创造一款真实的链游,面临的第一个问题便是链上随机数的生成。

经过一系列对链上随机数解决方案的调研后,我们决定自己开发一款随机数生成引擎。zkRandom由此诞生,zkRandom全称Zero-Knowledge Random,基于可验证的随机数(VRF)的基础理论实现的一套零知识证明随机数引擎。

现有的随机数生成方案

ChainLink-VRF的方案

ChainLink是在本身的节点网络上进行扩展的,使用VRF保证产生的随机数结果不确定性及可验证性,为有链上随机数需求的Dapp提供了非常好的基础支撑,这是一个非常优秀的链上随机数解决方案。但这个方案有几个问题仍然值得探讨:

1. 使用成本偏高。ChainLink的VRF方案最少需要与链交互两次,用户一次,向oracle喂入随机数一次。除了两笔链上手续费外,还需要跟项目方额外收取相应的Link。

2. 时效性。由于交易是异步完成的,需要通过多笔交易完成随机数的使用,至少需要在两个区块后才可以完成业务。

3. 作弊的可能性。当节点和用户是同一身份时,存在作弊的可能性,用户即掌握了seed也掌握了签名秘钥。可以根据接入方的逻辑,提前预知结果,在知道结果的前提下,作为用户时,选择性提交结果。

zkRandom的解决方案

针对ChainLink的不足,nulls.network基于VRF的随机数生成方案的基础上,我们遵循了VRF的理论基础,在技术实现上,我们区别于ChainLink VRF的方案,尤其针对使用成本和时效性进行了较大的改进。而在作弊的风险上,通过项目方规则约束和平台技术约束降低作弊的可能性,极大的提高了作弊成本。详细方案:

1. 通过合约实现可验证的随机函数(即Verifiable Random Functions),在此基础上,开发可验证函数的区块浏览器,对业务数据的验证环境提供便捷的支撑;可以以第三方的角色对项目方进行约束和监督;

2. 在实现上,zkRandom的第一个版本将随机数生成的权力交给项目方,但项目方生成随机数的种子由用户提供(此处缺陷同ChainLink的缺陷一样),项目方仅有选择是否将请求上链的权力,没有修改随机数结果的能力;

3. 与ChainLink VRF的方案不同,由于生成随机数上链这个环节由项目方操作,就意味着,随机数的产生仅需要与链交互一次,项目方则可以在一个区块中完成对随机数的使用,极大的缩短反馈时间,提高了效率,降低成本。

zkRandom的基础设施包含随机数的生成及验证合约和随机数行为浏览器。随机数种子生成工作交给链下服务去做,链下服务根据用户的请求内容生成随机数种子,链上随机数引擎负责对数据进行验证并公开,并利用随机数种子生成最终的随机数。这里的随机数种子虽然交给了链下服务生成,但并不意味着生成随机数种子的链下服务可以左右最终的随机数结果,这是因为其必须通过链上合约中的随机数签名合约的审查,在这个验证函数的约束下即保证了随机性且不可被用户预测的同时,又能防止服务商作弊。

zkRandom的现状和未来计划

Nulls.network成立之初,收到了来自新加坡Picasso先生的天使投资,第一轮天使投资金额为200万美元。该笔资金将用于Nulls.network团队的日常支出、新项目研发、以及对zkRandom完全免费的、技术服务的维护。

zkRandom作为Nulls.network的第一个项目,将以完全免费的方式推向社区,为Dapp开发者提供免费的可验证随机数服务,降低Dapp开发者在随机数服务上的使用成本,希望借此成为使用智能合约使用随机数的新标准和规范。

zkRandom已经完成了第一期的内部测试,如果你是区块链开发者,并对使用链上随机数有需求,或者希望了解更多关于zkRandom的信息,可以通过Nulls.network的官方网站联系我们。

由于只是做了理论验证,在规范的制定上,我们还需要更多的场景支撑,故此篇文章并未全面的说明zkRandom的工作机制,后续将会逐步介绍zkRandom的工作流程、随机数计算算法、抗攻击、防作弊机制等,让大家真正了解zkRandom。

以上是关于入局链上随机数赛道-zkRandom的主要内容,如果未能解决你的问题,请参考以下文章

NFT游戏赛道再添竞争者 APENFTWINkLink携手入局

互联网巨头纷纷入局新能源车,盛世昊通如何驰骋新赛道

陌陌推出“树莓”APP入局种草赛道,如何避免碰瓷“小红薯”?

入局二手奢侈品赛道,考拉海购想象力几何?

js中如何利用循环数组得到一个随机的图片

我们如何在以太坊中生成多个随机数?