区块链技术硬核产品——HPB芯链硬件真随机数

Posted 黑侠BlackMask

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链技术硬核产品——HPB芯链硬件真随机数相关的知识,希望对你有一定的参考价值。


导语:HPB芯链在随机数产品的研发上很有看点,随机数作为一项重要的技术,可以被用于区块链游戏、抽奖、密码学、银行业等。一般的随机数都是由中心化的软硬件创造而出,无法得到人们的足够信任,而HPB则用区块链技术打造出真随机数。


计算机中的随机数,只是伪随机而已


在区块链市场,除了非常火爆的币圈之外,还有很多正在构建区块链底层技术的项目。这类项目一般都不会得到市场的追捧,因为市场上的大多数投资者只想“一夜暴富”或者在投机心理的驱使下,去了解那些处于行业热潮中的概念。而对于在其他领域默默努力的技术团队和公司来说,这样其实倒也好,可以抛开虚浮的炒作,真正专心于研发。


今天要讲的是区块链的一个技术名词——随机数。其实随机数的概念很好理解,它就是一个随机生成的数字,在编程领域很常见。在目前比较热门的编程语言python中,可以用random 模块的 randint() 函数来生成随机数。但是,需要注意的是,这种随机数其实是伪随机数,“计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可预见的,并不是真的随机。”


目前在市场上,有很多随机数其实都是伪随机数,其数值早已经被程序或者代码预测到了,然后随机选择一个呈现出来。这种就属于中心化的随机数方案,随机数的最终结果有很大风险会被开发者所操控——通过修改后台核心代码来改变随机数的生成。


HPB芯链——真随机数解决方案


那么,如何寻求一种真正意义上的随机数呢?专注于全新的区块链软硬件体系架构的HPB芯链就给出了自己的真随机数解决方案,可以从源头上保障随机数的公平性并实现链上验证,给用户提供安全保障,防止随机数被操纵或篡改。


       

HPB的随机数产品设计的很完善,从技术原理到实现过程都有完整的流程。


本项目提出了一种基于硬件随机种子与区块链共识算法的高效多方随机数生产方案,该方案允许多个随机数生产者参与,并在一定周期内共同生成随机数。
此随机数既兼具了传统硬件随机数的不可控、不可预知等优点,又兼具了可验证性,不可伪造,不可否认性等特点。 更具体地说,独立的随机数生产者通过电压生成随机种子并提交至区块内,并通过区块链共识算法的将多个随机种子按照固定规则生成周期内产生最终的随数。


HPB随机数和其各类型节点本身也有很大的关系,在HPB随机数产品的设计中,一共有三层原理,从最底层往上排序,分别是随机数发生层、随机数计算层、随机数调用层。HPB中的高性能节点负责随机数的发生层,提供最底层的服务,即随机数种子生产者,从另一个方面来说,高性能节点也就代表矿机,为HPB随机数提供硬件支持。

       区块链技术硬核产品——HPB芯链硬件真随机数       

HPB的验证节点负责随机数产品计算层的验证流程,验证随机数的正确性,当随机数被多数验证节点通过时,才会被系统认为是有效的随机数。最上层的调用层由同步节点负责,向外提供随机数服务和调用接口。


HPB随机数生产过程一共有四个角色参与,除上述的高性能节点、验证节点、同步节点外,还有一个关键的角色,那就是随机数的消费者,此类消费者一般都是钱包客户端和各类外部系统服务者。


如何做到真随机数?


上面介绍了伪随机数和HPB随机数产品的技术层面,那么,HPB如何做到真随机数呢?现在,我们就来探究一下。


因为从软件层面,随机数始终是能够被算法预测出来的,这么说可能很多人不理解。简单点说,就是软件创造出的随机数,是在已经被确定的数字范围之内随机选一个出来,比如,从1-9中间,随机选择一个作为随机数。


这是在已有结果上进行的随机选择,而不是真正的去生成一个随机数。真随机数代表的是软件、硬件等均无法预料随机数的数值,只有在产生之后才能知晓的。HPB在这方面的解决方案是:


硬件产生随机数种子的过程如下:从芯片内部电压 ADC 中获取当前电压量化值,内部 ADC 为 10bit 量化,取最低位并定时采样移位,满 256bit 后输出一组随机数种子。

       

......


下面还有几个步骤,我先省略了。纯技术可能会让读者们有些迷茫,我用我的理解给大家分享一下。HPB的随机数种子是从芯片内部电压的当前电压量化值为标准来产生的,也就是依靠硬件上的电压量化值的不确定性来为随机数生产种子。


随机数种子是后续生成随机数的关键因素,确保了随机数种子的可靠性,就能在源头上真正做到真随机数。


随机数产品的应用途径


随机数在很多领域都有用处,这里以游戏为例,传统游戏中有很多数值设定都会使用到随机数,但是由于中心化的游戏,道具爆率、活动开宝箱、抽奖等规则都是不透明的,开发者可以随意在后台修改这些物品的概率。


而如果使用HPB随机数产品,则可以在源头上杜绝传统游戏作弊的现象。在一款世界级竞技游戏《英雄联盟》中,官方经常会推出充值点数来开箱的活动,宝箱里有各种等级的英雄皮肤。在《英雄联盟》的这种活动中,也会经常使用随机数来为宝箱设计大概的掉率。

              图:英雄联盟星穹耀夜抽奖活动


但是,这种随机毕竟是中心化的,可操控的(只是有被操控的风险,有些开发者还是有职业操守的),具备中心化作恶的风险。而使用以区块链技术为标准的真随机数,则可以让玩家放心的去抽奖抽皮肤,因为玩家知道,不论他抽到好皮肤还是差的,都真的是随机产生的,而不是由开发者后台设置的掉率操控。


不光是游戏,HPB的随机数产品还可用于密码学一提到密码学,多数人先想到加密算法还有密钥这两个概念。因为算法不同,决定了安全强度不同,而密钥更是安全的核心关键。但除此之外,还有一个因素对密码学至关重要——随机数。随机数在密码学中分为伪随机数和真随机数。伪随机数又分为弱伪随机数和强伪随机数。


除了密码学之外,HPB随机数产品还可以应用到统计学当中,比如:


1、在从统计总体中抽取有代表性的样本的时候;

2、在将实验动物分配到不同的试验组的过程中;

3、在进行蒙特卡罗模拟法计算的时候等等。


实际生活中,这些随机数起着很大的作用,所以很多人会专门去寻找随机数生成器,而HPB的真随机数产品则可以在以下场景对用户提供非常大的帮助。


1.对银行来说,银行的ID和密码非常脆弱。如果有随机数表,就可以防备此类事件。随机数表是指为每个客户指定各不相同的数字列表,申请时将该随机数表分配给客户,而不是按照一定的规律给出,这就安全很多; 


2.要考察某公司的牛奶产品质量,想从800袋牛奶中抽取60袋,就可以在随机数表中选中一数,并用向上、下、左、右不同的读法组成60个数,并按牛奶的标号进行检测,虽然麻烦,但很常用; 


3.企业要调查消费者对某产品的需求量,要从很多消费者中抽选一定数量的样本调查。


HPB真随机数产品,在努力中前行


通过以上的内容,我们大致了解了HPB真随机数的技术原理以及实现过程,从上述的使用场景我们可以知道,随机数这类技术是十分重要的,虽然它从表面上看对我们的生活影响不大,但是它在提高数字社会的可信度方面,有其独特的价值和发展空间。


HPB芯链的随机数产品,总体来说值得关注,未来还有很多应用场景可以拓展,尤其是游戏领域,非常值得发展。游戏的赛道体量很大,且有很广阔的市场前景。


针对市面上的伪随机数,HPB芯链的真随机数技术显得弥足珍贵,后续有时间继续为大家深入分析HPB随机数的两种生成版本和其他技术细节。


以上是关于区块链技术硬核产品——HPB芯链硬件真随机数的主要内容,如果未能解决你的问题,请参考以下文章

以太坊源码之 POA区块生成机制

芯链科技完成首款Hash算法ASIC芯片问世

区块链技术工坊 - 线下区块链技术分享

区块链知识系列 - Oracle预言机

区块链知识系列 - Oracle预言机

区块链运作的7个核心技术,你知道几个?