月亮链 月亮链
Ctrl+D收藏月亮链

NULS:VOICE商业 | NULS王志坚:如何生成安全又公平的随机数?_DAPP币

作者:

时间:1900/1/1 0:00:00

出品/CoinVoice

文/Daisy

据福布斯报道,近日区块链和加密货币的坚定支持者、前比特币基金会主管BrockPierce对2019年的区块链和加密货币做了一些预测。Pierce认为,2019年将有多个DAPP的用户达到100万。

然而,令人担忧的是,随着DAPP应用和数量的不断增长,多个EOS和以太坊平台DApp因为随机数生成漏洞被黑客攻击的情况也层出不穷。比如此前EOS的Luckyos、EOS.Win、EosDice以及以太坊上的Fomo3D等被攻击事件。该类事件对公链的应用探索和推广造成了一定的冲击。

针对这种情况,近期CoinVoice邀请到了NULS核心团队技术产品部负责人王志坚,作为COINVOICE商业第五期公开课的嘉宾,听他讲述为Dapp而生的公链底层随机数机制是什么样的。

NULS是一个提供可定制化服务的区块链基础设施,采用微服务思想,实现高度模块化的底层架构,运用模块仓库、智能合约和跨链等技术,同时结合链工厂快速搭链的能力,降低区块链开发成本,推动区块链商业应用落地。

Block.one 推出的NFT平台 Voice 新增跨链功能,后续将支持以太坊侧链:2月17日消息,NFT平台 Voice 宣布将新增多链支持功能,该功能上线后,用户只需点击几下即可将 NFT 发送到单独的链,并在该链上进行交易。?Voice 架构副总裁 Rick Whitner称,届时最初将支持基于 EOSIO 的区块链网络跨链,未来将转向以太坊侧链。“我们不直接针对以太坊的原因是,因为它是一个工作量证明(PoW)平台,而我们非常注重环保。”他称。

此前报道,Voice 由EOS开发公司Block.one 于2020年7月宣布推出,最初定位为去中心化社交媒体应用,去年转型为NFT创作和交易平台。目前Voice仍处在测试阶段,尚未发布正式版。[2022/2/17 9:57:09]

本期COINVOICE商业公开课的直播嘉宾王志坚拥有10年的编程经验,长期从事应用研究和开发,精通区块链、大数据,精通大型并发系统架构,目前是NULS主网的核心设计者、开发者。

以下为直播分享实录:

大家好,我是NULS王志坚,很高兴可以借助CoinVoice的渠道给大家分享下NULS的技术细节,在NULS最近的一个1.2.0版本中,我们做了一项底层协议升级,增加了一种随机数支持机制。这个随机数支持机制是为了解决DApp中随机数安全与公平的行业问题而提出的,下面我就详细的说一下这个机制。

部分Voice钓鱼账号已非法获利9,044个EOS:近日,PeckShield态势感知平台监测到,EOS主网存在大量带诱导性memo交易信息,经核查为冒充Voice官方账号的钓鱼网站,目前已经发现voiceechange、airdropvoice等多个账号,共计钓鱼获利9,044个EOS。PeckShield在此建议,用户应警惕memo出现Voice代币领取的虚假信息,不可轻信,或者可通过查看钓鱼账号的资金转移情况来分辨真假,经统计,这些钓鱼账号采取的是撒网式的钓鱼方式,目前已经覆盖了73,874个EOS账号。[2020/4/17]

当前行业的问题

随着DAPP越来越受到开发者和用户们的青睐,运行在区块链上的DAPP越来越多,不可避免的暴露出一些问题,比如很多、游戏、抽奖活动、密码应用项目中,虽然标榜自己的去中心化特性,但实际上是不是真的安全、公平,并不能百分之百地保证,核心问题就是去中心化随机数问题。

目前大部分用到随机数的DAPP中,使用的随机数都不能做到既保证公平,又能让黑客无法根据随机过程提前预测或者控制随机结果。

那么可能很多人就会问,就一个随机数而已,能有多困难?计算机行业发展这么长时间又不是没有用过随机数?怎么突然就成了一个难题了。

实际上随机数从来都是计算机行业中一个重要的领域,对随机数的研究很早就开始而且从没有停止过。传统的随机数一般是从CPU获取内存地址等处获取随机种子,使用特定的随机算法生成结果,这种方式叫做伪随机数。

独家 | EOS社区意见领袖梓岑:Voice的竞争对手是Twitter这样的媒体社交巨头:在今日金色财经直播的OKEx矿池第二期AMA中,对于OKEx矿池的负责人Alina的提问“Voice的竞争对手是哪些?Voice靠什么挑战他们呢?”EOS社区意见领袖梓岑表示Voice的竞争对手,是Twitter这样的媒体社交巨头。Voice需要这些:测试版和冷启动期间靠Blockone团队的直接驱动和社区的共同助力。我们已经在EOS主网启动这件事情上亲历过,知道这个社区的热情和能量。高速发展期,靠Token经济模型和早期红利的造富效应,吸引大量用户带着FOMO情绪疯狂涌入。这一点,我们已经在Steemit上亲历过了。幸运的是,现在Voice面临的市场环境比Steemit启动的时代更繁荣和健康、基础用户规模更大、社区也更健壮。Blockone团队的实力更强、能量更大、资源更广。而到了最后成熟期,靠DAC(Distributed Autonomous Corporation,分布式自治系统)的自动运行、自我治理和自然进化能力。这一点很重要。我们过去常常听到一个声音,认为传统互联网巨头杀入区块链行业,将会是降维打击。但我的态度刚好相反,互联网巨头做不了纯正的区块链项目。[2020/2/14]

可能有人就要问了,伪随机数听起来就不怎么好,那真随机数呢?计算机的世界里就没有真随机数,什么是真随机数?

独家 | EOS社区意见领袖Saro:Voice必须符合用户所在的每个司法管辖区的法规:在今日金色财经直播的OKEx矿池第二期AMA中,对于OKEx矿池的负责人Alina的提问“?Blockone特别重视Voice的合规,这是为什么呢?”EOS社区意见领袖、eosDAC核心成员Saro表示Block One宣布第一阶段推广仅针对美国公民。监管因国家而异,因此通过确保遵守美国法规,他们可以解决可能在全球范围内发生的所有监管问题,而不必事后进行交火。 此外,对Voice的合规性是9月SEC解决方案的一部分。Voice的核心功能是身份验证,关于证券监管,可以有效隔离美国用户。

关于银行法规,Voice与用户互动的方式已包含AML / KYC要求关于确保遵守美国证券法,B1考虑到两个方面:

该代币不是“投资合同”。 Voice和大多数项目的目的不是将其作为投资合同(即用户购买以获得收益的东西),而是将代币计为具有特定用途的实际加密货币。但是SEC最近一直将大多数加密货币解释为一种证券。

Voice固有的身份特征使其可以将美国人排除在拥有代币之外,或者按照他们的提议在地理上逐步推广。由于大多数加密项目无论如何都必须从用户那里获取KYC信息,因此设计整个项目以便利用身份识别是很明智的,这也是B1对Voice所做的。Voice必须符合用户所在的每个司法管辖区的法规。[2020/2/14]

举个例子,当人不知道走哪个方向的时候,朝天上扔一只鞋,然后鞋尖指着哪个方向就往哪里走,这就是真随机数,但是在计算机行业中,这个在计算机中是做不到的。

动态 | B1 正陆续向申请 Voice 测试的用户发送确认邮件:据MEET.ONE报道,今日,多位在 voice.com 递交申请参与 Voice 测试版的社区成员已陆续收到了 B1 的确认邮件(发件人 noreply@block.one) ,该邮件中提到,恭喜您成功迈出了体验 Voice 的第一步。 预估 B1 将根据 voice.com 网站递交信息的时间分批发送该确认邮件,但目前 Voice 测试版尚未上线,提醒社区成员在未来一段时间内警惕钓鱼邮件。[2019/6/8]

虽然伪随机数解决了计算机随机数的问题,但和区块链结合起来就不行了,区块链的特点决定了其并不能简单的使用传统的随机数,这个特点就是分布式共识,需要在多个不同的机器中得到相同的结果,这就是它最大的难点。

当前行业的解决方案

虽然是难点,但不是没有解决的道路。针对这一情况NULS团队成员调研了当前行业中的大部分解决方案,总结了下面几种运用最广泛的区块链随机数使用方式:

1、使用链上数据作为随机种子

主要是使用区块hash、时间、交易时间、交易hash、交易数量等等内容,采用公开的,所有节点认可的算法,将链上数据聚合为随机种子,再通过约定好的算法生成最终随机数。

2、中心化的随机数服务

区块链上的应用通过访问中心化的服务获取随机数,代表:以太坊上的Oraclize。

3、多方参与的随机数生成器

确定一个随机数生成周期,然后每个参与方提交最终结果的一部分,最后通过一种算法生成一个随机种子。参与者随时可以退出和加入。

4、交互式的随机数生成机制

所有使用同一个随机数的用户,都提交一个密钥,在第一次提交时,提交密钥加密后的密文,在业务完成后提交密钥的明文。这样最终的结果通过所有提交的密钥生成随机种子,在根据随机种子生成最终的随机数。

其他的方式也基本是这四种方式的变种或者优化版本,下面我就说一下这几种方式的优缺点:

1、使用链上数据作为随机种子

这种方式的优点就是简单,只要拿到链上数据通过算法计算就可以了,缺点:这种方式有两种使用方式,一种是使用已打包的区块中的数据,另一种是使用未来块中的数据。

第一种情况因为已经出块,那么只要知道了随机数的计算函数,就可以提前预知最终的随机数结果,第二种情况,以为区块尚未打包,那么就可以在打包时候对其结果进行控制,可以通过各种手段使其最终生成的结果更符合攻击者的预期。

2、中心化的随机数服务

这种方式很显然,它是违背区块链思想的,至少是违背一条公链的思想的,而且也不能保证服务提供者一定是诚实、公正的。

3、多方参与的随机数生成器

这种方式理论上是可行的,首先它是去中心化的、公开的,是符合区块链思维的,但是在实际场景中却不容易实施。

首先参与者需要有利益才会提供服务,没有利益没有参与者就违背了去中心化的设计初衷,如果对参与者给与奖励就需要有奖励提供者,表面看使用者提供费用是可行的,但实际又增加了使用者的成本。所以方法是很好的方法,但实际使用还是有非常大的限制。

4、交互式的随机数生成机制

这种方式看起来也很好,很公平。但放在实际使用场景中就会发现,用户使用这种方式的话,需要每个用户对随机数做两次操作,这是非常不友好的行为,很可能招致用户的厌烦。

针对上面的调研情况,NULS团队讨论了几种机制解决这些问题,最终采用的方案是由团队的高级架构师周利均提出来的,下面我就仔细说说NULS的随机数机制。

NULS的解决方案

NULS采用POC共识,参与共识的节点在满足条件的前提下,是持续参与网络维护的,并且参与出块的节点中绝大部分都被认为是诚实可信的,我们可以利用这个优势,制定一个随机种子生成机制,服务于在NULS上搭建的DAPP。

此随机种子需要满足随机性、不可预测性,做到既保证公平公正,又能让黑客无法根据随机过程提前预测或者控制随机结果。

机制内容

我们的设计的实现方式是基于POC共识的两段式提交的随机种子生成机制。即每个节点在出块的同时生成一个随机种子,并对该随机种子进行加密处理,将生成的密文包含在区块头中,同时获取该节点上次出块时生成的随机种子,将该种子的明文包含在区块头中。

如此这般每个节点生成的随机种子都由前一个本节点出的块进行确认,确保不可随意篡改。

这样做的效果就是每个块中都有一个256位的明文随机种子,同时对于出块的节点来说,还把未来自己打包的下一块的随机种子提前做了确定,这样其他人是不知道未来的随机数种子是什么的,但不影响未来其他节点可以对随机数种子进行验证,这就保证了没有人可以控制随机种子的生成。

从使用者的角度来看,NULS底层只是在每个块中包含一个256位的随机种子,使用者可以不去考虑随机种子是否值得信任,是否可能被操控,因为这是底层机制保证的。

如何使用

NULS底层提供了多个接口,可以获取不同高度不同数量的随机种子,也可以通过制定的几个算法,获取若干个随机种子合并生成的256位随机数,当然也可以把这个结果当成一个随机种子再通过不同的方式进行计算获得最终需要的结果。

具体的随机数使用文档可以参考NULS的文档库,查找rpd接口和智能合约接口的使用文档:http://docs.nuls.io/

机制优点

本方案的优点:

1、更公平,基于底层共识实现,全部共识节点参与,串联难度大。

2、更安全,种子Hash与明文种子两段式提交,提交Hash时不能计算结果,提交结果时不能篡改。底层直接提供接口获取随机种子,随时可以根据参数进行验证。

3、更灵活,随机种子计算方法支持多种算法,增加随机算法复杂度,提高作恶成本。

4、更方便,底层直接提供接口获取随机种子,应用端使用时方便获取,安全、高效。在提供智能合约SDK接口的同时,还提供RPC接口的访问方式,不限制应用的使用场景。

5、不影响扩展性,NULS这是提供了这样的机制,并不限制应用一定要使用或者如何使用,NULS上搭建的DAPP一样可以用其他随机数获取方案。

任何一个机制或者方案,总是会有它合适的使用场景和不合适的使用场景,那我说一下NULS这个机制适合在什么场景下使用。

最适用场景

未来结果型场景,指定未来高度为n附近的随机种子,合并生成最终的结果。这种场景使用NULS底层随机种子,最多可以让全部共识节点参与其中,可以说完全保证了算法的安全性和公平性。

比如近年来政府推广的双随机系统,在区块链中实现的话就可以使用NULS的机制,首先输入待选定的资料库,指定结果生成高度,在指定高度根据随机种子计算出最终需要的结果,不可操控,不可篡改,非常完美的解决了当前一些系统可操纵,可篡改的问题,真正做到使用区块链让世界更美好。

机制不是万能的,使用者很重要

任何机制都不是万能的,使用者如何使用才是安全、公平的关键。不论是智能合约还是其他方式的链上应用,都应该谨慎选择自己的随机数机制,考虑到各种不同的情境下的安全问题,

只要所有开发者都认证起来,任何问题都可以解决。

以上就是NULS最近升级的底层随机数机制,感谢!

本文为CoinVoice优质原创内容,CoinVoice是领先的全球化区块链媒体,专注原创、深度、优质的区块链内容,致力于链接全球范围内的区块链创新者。

标签:NULS区块链DAPPNULS币是什么币区块链工程专业学什么区块链存证怎么弄区块链技术发展现状和趋势DAPP价格DAPP币

币安app官网下载热门资讯
USDT:4月将有潜力起飞的加密货币!抓住暴富机会!_USD价格SDT币

随着市场波动的持续,比特币(BTC)和领先的加密货币项目的关键水平是多少?山寨币的预期价格走势是什么? 比特币(BTC) 多头试图在4月5日将比特币推回29,000美元以上.

1900/1/1 0:00:00
MAGIC:重新定义GameFi,TreasureDAO将成为加密世界的「任天堂」?_MAGIC币是什么币AGI价格

作者:DanielLi 出品:CoinVoice Treasure是区块链游戏领域的现象级项目,旗下已经孵化出了10余款游戏,包括最近在社交媒体突然走红的TheBeacon.

1900/1/1 0:00:00
比特币:即将到来的14亿美金GBTC解锁可能会使比特币崩溃?_GBT比特币中国官网联系方式

撰文:MR.Whale,加密分析师 编译:Lemon 由于比特币在5月份价格大幅下跌后在30,000美元至32,000美元的范围内挣扎,另一个重大的看跌事件笼罩着比特币.

1900/1/1 0:00:00
YGG:游戏公会:元宇宙迁徙必经之路_YGG价格NFT价格

作者|ACCapitalResearch 边玩边赚:时间货币化,游戏金融化过去50年,游戏产业发生翻天覆地巨大变化.

1900/1/1 0:00:00
TVL:Messari:DeFi 投资者应该关注哪些数据指标?_Compound币是什么币DEX币

虽然DeFi在过去一年才刚刚繁荣起来,但基本面投资者已经越来越多地从单纯的MEME驱动转向对链上数据进行分析。然而,虽然数据描绘了行业的现状,但并不清楚哪些指标会影响价格变动.

1900/1/1 0:00:00
NUM:比特币:在过去两周的损失之后你应该看涨吗?_比特币NUM币

对价格走势的分析表明,尽管最近有很大的抛售压力,但多头在市场上仍有实力。21.6万美元至22万美元区域的支撑汇合突显了整个市场价格反弹的可能性.

1900/1/1 0:00:00