[发明专利]一种区块链中可信随机数序列的生成方法在审
| 申请号: | 201910160320.6 | 申请日: | 2019-03-04 |
| 公开(公告)号: | CN109934583A | 公开(公告)日: | 2019-06-25 |
| 发明(设计)人: | 杨智 | 申请(专利权)人: | 安徽高山科技有限公司 |
| 主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
| 代理公司: | 绍兴市寅越专利代理事务所(普通合伙) 33285 | 代理人: | 郭云梅 |
| 地址: | 230088 安徽省合肥市高新区创新*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 哈希 区块 随机数序列 可信 随机数 二值化处理 分割处理 平均分布 权威机构 产生源 第三方 二值化 正奇数 中心化 调用 | ||
本发明公开了一种区块链中可信随机数序列的生成方法,包括:正奇数的选取;调用合约接口;合约判断流程是否继续;获取连续的哈希;对哈希进行计数;二值化处理;分割处理。本发明没有依赖中心权威机构,避免了中心化嫌疑,不依赖第三方协助,实现起来简单方便,本发明是从区块链中选取连续的区块哈希作为随机数的产生源,避免了只取一个哈希的时候可能带来的作假行为,在本发明中,从哈希值转变为随机数的过程中,对哈希进行计数再进行二值化的逻辑属于完全平均分布,可以产生可信的随机数序列。
技术领域
本发明属于随机数生成领域,尤其涉及一种区块链中可信随机数序列的生成方法。
背景技术
区块链技术最近日渐火热,从技术的角度上来讲,各种区块链技术实现的都是一个去中心化的,或者说是分布式的数据库系统。该系统的特点是有很多个分处与世界各地的节点,每个节点都会维护一套相同的数据库。这就导致了恶意篡改数据极其困难,数据丢失极为罕见,从而实现了一个公平透明,解决信任危机的平台。
区块链技术中的区块是用来打包交易的,每个区块中会包含若干交易,且每个区块也会有个唯一标识(通过哈希算法得出)。这个标示是与该块内部的交易相关的,交易变则标识变。由于现实中的交易是发生在世界各地的,涉及到的内容以及发送者更是不计其数。由此我们可以看出,在某个特定的区块内包含的交易内容将会是随机的,由此,区块的唯一标识也会是随机的。本方案就是以这一特点为基础,来实现随机数的生成。
目前已知的区块链中的随机数的选取方案较多,综合目前的方案,主要存在以下几点弊端:
1、随机数的选取依赖的是一个中心权威机构,而不是一种确定的算法,不能完全确保公正性;
2、一个随机数的产生需要用到手续费,并且还需要一堆的协助者来进行配合,操作太复杂;
3、区块的哈希生成是存在时间先后关系的,最后生成的区块哈希是能直接决定异或运算的结果的,作弊者控制该区块哈希后等同于获取到了全部区块哈希的控制权,在这种情况下,方案就被退化成了只取一个区块哈希的模式,很容易被作弊者利用。
发明内容
本发明的目的在于克服现有技术存在的以上问题,提供一种区块链中可信随机数序列的生成方法,实现方便,不依赖第三方,可以产生可信的随机数序列。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种区块链中可信随机数序列的生成方法,包括如下步骤:
第一步,进入区块链中的一个区块,记录当前所在区块的区块号n1;
第二步,任意选取一个正奇数k,并规定可以获取最终结果的终区块号为区块号n1的k个区块之后,终区块号记为ne;
第三步,等待区块链上连续产生k个区块,直至区块链上产生第k+1个区块,此时发起交易,当前交易所在区块的区块号为获取最终结果的终区块号ne,调用合约接口,触发随机数的生成流程;
第四步,合约自动判断终区块号ne与选取k时的区块号n1的差值是否大于k,如果是,则流程继续,进入下一步,如果否,则获取失败,流程结束;
第五步,从当前区块的上一个区块起,连续取k个区块的哈希,分别记为H1、H2、H3…Hk;
第六步,对H1、H2、H3…Hk中每个为1的位进行计数操作,产生一个计数数组A,数组A的长度等于哈希的位数;
第七步,对数组A进行二值化处理,逻辑为对于数组A中的每个元素x,判断x是否大于k/2,如果是,则记为1,如果否,则记为0,二值化处理后产生一个和哈希位数相同的二进制数字R;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽高山科技有限公司,未经安徽高山科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910160320.6/2.html,转载请声明来源钻瓜专利网。





