[发明专利]随机数生成和应用方法及装置有效
申请号: | 201710305618.2 | 申请日: | 2017-05-03 |
公开(公告)号: | CN107301546B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 李鑫;陈姝;卢小明 | 申请(专利权)人: | 北京众享比特科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 北京志霖恒远知识产权代理事务所(普通合伙) 11435 | 代理人: | 陈姗姗 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 生成 应用 方法 装置 | ||
1.一种随机数生成和应用方法,其特征在于,包括:
根据各节点所接收需要产生随机数的交易请求,将各节点接收时刻的时间戳作为初始随机数;
根据所述初始随机数参与当前区块链网络中的共识,得到当前节点的共识结果作为所产生的随机数;
根据所产生的随机数完成所述交易,并将交易结果存入当前节点的区块;
其中,所述根据所述初始随机数参与当前区块链网络中的共识,得到当前节点的共识结果作为所产生的随机数包括:
在当前区块链网络中广播所述初始随机数,并接收当前区块链网络中其它节点所广播的初始随机数;
定时根据所持有的各初始随机数进行投票筛选,并在未获得共识结果时广播当前节点筛选出的本轮投票结果并接收其它节点所广播的本轮投票结果以继续投票,直至获得共识结果;
其中,投票筛选包括:
对所持有的各初始随机数进行预处理,并判断占比最大的初始随机数的占比是否超过预设阈值:
是,则将所述占比最大的初始随机数确定为共识结果;
否,则将所述占比最大的初始随机数确定为当前节点的本轮投票结果。
2.根据权利要求1所述的方法,其特征在于,所述投票筛选还包括:
判断是否已进行预设轮数的投票:是,则将本轮投票结果确定为共识结果。
3.根据权利要求2所述的方法,其特征在于,通过广播当前节点的共识结果和接收当前区块链网络中其它节点广播的共识结果,验证当前节点的共识结果是否与当前区块链网络中大多数节点一致,若不一致,则通过同步区块获得生成的随机数。
4.一种随机数生成和应用装置,配置在区块链网络的验证节点中,其特征在于,包括:
初始随机数生成单元,配置用于根据各节点所接收需要产生随机数的交易请求,将各节点接收时刻的时间戳作为初始随机数;
共识单元,配置用于根据所述初始随机数参与当前区块链网络中的共识,得到当前节点的共识结果作为所产生的随机数;
交易单元,配置用于根据所产生的随机数完成所述交易,并将交易结果存入当前节点的区块;
其中,共识单元包括:
广播子单元,配置用于在当前区块链网络中广播所述初始随机数和投票子单元筛选出的本轮投票结果,接收当前区块链网络中其它节点所广播的初始随机数和本轮投票结果;
投票子单元,配置用于定时根据所持有的各初始随机数进行投票筛选,得到共识结果或当前节点的本轮投票结果;
其中,投票子单元进一步配置用于对所持有的各初始随机数进行预处理,并判断占比最大的初始随机数的占比是否超过预设阈值:
是,则将所述占比最大的初始随机数确定为共识结果;
否,则将所述占比最大的初始随机数确定为当前节点的本轮投票结果。
5.根据权利要求4所述的装置,其特征在于,所述投票子单元进一步配置用于判断是否已进行预设轮数的投票:是,则将本轮投票结果确定为共识结果。
6.根据权利要求5所述的装置,其特征在于,所述广播子单元进一步配置用于广播当前节点的共识结果和接收当前区块链网络中其它节点广播的共识结果;
所述装置还包括:
共识结果验证单元,配置用于验证当前节点的共识结果是否与当前区块链网络中大多数节点一致,若不一致,则通过同步区块获得生成的随机数。
7.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-3中任一项所述的方法。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京众享比特科技有限公司,未经北京众享比特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710305618.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于时间戳的交易验证方法
- 下一篇:指纹认证系统和方法