[发明专利]一种基于区块链的随机数产生方法及系统在审
申请号: | 201710676105.2 | 申请日: | 2017-08-09 |
公开(公告)号: | CN107392770A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 亓兵 | 申请(专利权)人: | 北京云知科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/38;H04L9/08;G06F7/58 |
代理公司: | 北京中政联科专利代理事务所(普通合伙)11489 | 代理人: | 陈超 |
地址: | 100094 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 随机数 产生 方法 系统 | ||
技术领域
本发明涉及随机数发生器技术领域,特别涉及一种基于区块链的随机数产生方法及系统。
背景技术
真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等,这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。在实际应用中往往使用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征,这样的发生器叫做伪随机数发生器。
伪随机数产生的方法通过伪随机数发生器实现。伪随机数产生器中最基础的思想是均匀分布。一般来说,主流的编程语言中使用的随机数函数基本采用这种均匀分布思想,而其中最常用的算法就是"线性同余法"。
线性同余法基于如下线性同余方程组
ax+by=m
用于产生均匀型伪随机数的线性同余产生器(与上面的方程符号没有对应关系)
xn=(axn-1+b)mod(m)
其中,a为"乘数",b为"增量",m为"模数",x0为"种子数"。
如果产生的是区间实在(0,1)之间的,则只需要每个数都除以m即可,即取
ζn=xn/m
在实现本发明的过程中,发明人发现至少存在如下问题:
随机数发生器产生的伪随机数是按照一定算法模拟产生的,其结果是确定的,是可见的,这个可预见的结果其出现的概率是100%。
随机数发生器基于各种函数实现,因此人为因素对随机数发生器有着非常大的影响,操作者对函数进行更改就可以达到修改随机数产生结果的目的,在一些需要用到随机数的场景中这种人为的影响有很大的不公平性和风险性。
发明内容
本发明的目的是,通过在区块链中预定一个未产生的区块为目标区块,当目标区块生成后,提取目标区块中的信息,利用提取出的信息通过预设的哈希函数输出一个符合预定固定长度的输出结果,这个输出结果就是随机数。
根据本发明实施例的一个方面,一种基于区块链的随机数产生方法,包括:在区块链网络中选择任一区块链;将所选区块链中的任一未封装区块作为目标区块;当所述目标区块在所述区块链网络中生成后,提取所述目标区块中的哈希值和交易数据;将所述交易数据和哈希值进行拼接以得出随机数。
进一步,在所述得出随机数的步骤之后,还包括:将所述随机数通过哈希运算得到预定长度的商用随机数。
进一步,提取所述目标区块中的哈希值和至少部分交易数据的步骤包括:提取所述目标区块中的完整哈希值;按照预设长度,提取所述目标区块中交易数据的任意部分,得到至少部分交易数据。
进一步,按照预设长度,提取所述目标区块中交易数据的任意部分的步骤包括:按照预设长度,提取所述目标区块中交易数据的数字部分。
进一步,将所选区块链中的任一未封装区块生成为目标区块的步骤包括:以当前时间对应的区块为起点,设定从当前时间对应的区块起第k个区块为目标区块,k为大于0的整数。
根据本发明实施例的另一个方面,一种基于区块链的随机数产生系统,包括:区块链选择模块,用于在区块链网络中选择任一区块链;目标区块确定模块,用于将所选区块链中的任一未封装区块作为目标区块;提取模块,用于当所述目标区块在所述区块链网络中生成后,提取所述目标区块中的哈希值和交易数据;拼接模块,用于将所述交易数据和哈希值进行拼接以得出随机数。
进一步,该随机数产生系统,还包括:哈希运算模块,用于将所述随机数通过哈希运算得到预定长度的商用随机数。
进一步,提取模块包括:哈希值提取单元,用于提取所述目标区块中的完整哈希值;交易数据提取单元,用于按照预设长度,提取所述目标区块中交易数据的任意部分,得到至少部分交易数据。
进一步,所述交易数据提取单元包括:交易数据提取子单元,用于按照预设长度,提取所述目标区块中交易数据的数字部分。
进一步,目标区块确定模块包括:目标区块确定单元,用于以当前时间对应的区块为起点,设定从当前时间对应的区块起第k个区块为目标区块,k为大于0的整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京云知科技有限公司,未经北京云知科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710676105.2/2.html,转载请声明来源钻瓜专利网。