IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 入局链上随机数赛道-zkRandom -> 正文阅读

[区块链]入局链上随机数赛道-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。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 11:57:00  更:2021-09-03 11:58:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 11:15:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计