一种区块链中随机数的生成方法、装置及区块链节点制造方法及图纸

技术编号:31679459 阅读:15 留言:0更新日期:2022-01-01 10:24
本发明专利技术提供一种区块链中随机数的生成方法、装置及区块链节点,涉及区块链技术领域。该方法包括:根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;根据所述第一随机因子以及所述第二随机因子,生成第一随机数。本发明专利技术的方案,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。解决了随机数生成方法的随机性和公平性不足的问题。生成方法的随机性和公平性不足的问题。生成方法的随机性和公平性不足的问题。

【技术实现步骤摘要】
一种区块链中随机数的生成方法、装置及区块链节点


[0001]本专利技术涉及区块链
,特别是指一种区块链中随机数的生成方法、装置及终端设备。

技术介绍

[0002]在区块链技术中最常用的准入身份信息认证手段就是通过身份认证CA中心颁发给准入的节点证书。随机数作为证书认证过程中的一个重要因素,它的随机性和公平性直接影响了区块链的去中心化程度。
[0003]目前的随机数生成方法通常有:让可信第三方为合约提供随机数;参与过程的多个节点预先预设一个随机数,然后将其哈希值递交到区块链上,所有节点都递交完毕后,各方广播自己的随机数,通过将各自的随机数合并产生一个最终的随机数;采用链上的公开信息,比如使用区块的哈希值、时间戳、难度系数等作为随机数源。但每一种随机数生成方法的随机性和公平性不足,无法实现区块链的去中心化。

技术实现思路

[0004]本专利技术的目的是提供一种区块链中随机数的生成方法、装置及区块链节点,用以解决相关技术中随机数生成方法的随机性和公平性不足,无法实现区块链的去中心化的问题。
[0005]为达到上述目的,本专利技术的实施例提供一种区块链中随机数的生成方法,应用于区块链网络中的第一节点,包括:根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;根据所述第一随机因子以及所述第二随机因子,生成第一随机数;其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。
[0006]进一步地,所述根据第一区块信息以及所述区块链网络中节点的数量生成随机因子之前,还包括:与至少一个第二节点连接生成所述区块链网络;向所述区块链网络发起身份证书请求。
[0007]进一步地,所述生成第一随机数,包括:对所述第二随机因子进行验证;在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。
[0008]进一步地,所述方法,还包括:
对所述第一随机数进行取模计算,得到所述生成节点的节点编号;根据所述节点编号获取所述身份证书。
[0009]进一步地,所述对所述第一随机数进行取模计算之前,还包括:广播所述第一随机数;接收所述第二节点生成的第二随机数;对所述第一随机数和所述第二随机数进行验证;其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。
[0010]进一步地,所述根据所述节点编号获取所述身份证书,包括:若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。
[0011]进一步地,所述身份证书的前发信息中包括所述生成节点的区块号。
[0012]为达到上述目的,本专利技术的实施例还提供一种区块链中随机数的生成方法,应用于区块链网络中的目标第二节点,包括:在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;根据所述第二随机因子以及目标随机因子,生成第二随机数所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。
[0013]进一步地,所述生成第二随机数,包括:对所述第一随机因子进行验证;在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。
[0014]进一步地,所述方法还包括:对所述第二随机数进行取模计算,得到所述生成节点的节点编号;若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。
[0015]进一步地,所述对所述第二随机数进行取模计算之前,还包括:广播所述第二随机数;接收所述第一节点生成的第一随机数;对所述第一随机数和所述第二随机数进行验证;其中,所述第一随机数根据所述第一随机因子和所述第二随机因子生成。
[0016]为达到上述目的,本专利技术的实施例还提供一种区块链中随机数的生成装置,应用于区块链网络中的第一节点,包括:第一生成模块,用于根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;
第一获取模块,用于获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;第二生成模块,用于根据所述第一随机因子以及所述第二随机因子,生成第一随机数;其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。
[0017]进一步地,所述装置还包括:连接模块,用于与至少一个第二节点连接生成所述区块链网络;发起模块,用于向所述区块链网络发起身份证书请求。
[0018]进一步地,所述生成模块,还用于:对所述第二随机因子进行验证;在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。
[0019]进一步地,所述装置还包括:第一计算模块,用于对所述第一随机数进行取模计算,得到所述生成节点的节点编号;第二获取模块,用于根据所述节点编号获取所述身份证书。
[0020]所述第一计算模块,还用于:广播所述第一随机数;接收所述第二节点生成的第二随机数;对所述第一随机数和所述第二随机数进行验证;其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。
[0021]进一步地,所述第二获取模块,还用于:若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。
[0022]为达到上述目的,本专利技术的实施例还提供一种区块链中随机数的生成装置,应用于区块链网络中的目标第二节点,包括:第三生成模块,用于在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;第四生成模块,用于根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。
[0023]进一步地,所述第四生成模块,还用于:对所述第一随机因子进行验证;
在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。
[0024]进一步地,所述装置还包括:第二计算模块,用于对所述第二随机数进行取模计算,得到所述生成节点的节点编号;第五生成模块,用于若所述生成节点的节点编号与所述第二节点的节点号相同,则生本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链中随机数的生成方法,应用于区块链网络中的第一节点,其特征在于,包括:根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;根据所述第一随机因子以及所述第二随机因子,生成第一随机数;其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。2.根据权利要求1所述的区块链中随机数的生成方法,其特征在于,所述根据第一区块信息以及所述区块链网络中节点的数量生成随机因子之前,还包括:与至少一个第二节点连接生成所述区块链网络;向所述区块链网络发起身份证书请求。3.根据权利要求1所述的区块链中随机数的生成方法,其特征在于,所述生成第一随机数,包括:对所述第二随机因子进行验证;在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。4.根据权利要求1所述的区块链中随机数的生成方法,其特征在于,所述方法,还包括:对所述第一随机数进行取模计算,得到所述生成节点的节点编号;根据所述节点编号获取所述身份证书。5.根据权利要求4所述的区块链中随机数的生成方法,其特征在于,所述对所述第一随机数进行取模计算之前,还包括:广播所述第一随机数;接收所述第二节点生成的第二随机数;对所述第一随机数和所述第二随机数进行验证;其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。6.根据权利要求5所述的区块链中随机数的生成方法,其特征在于,所述根据所述节点编号获取所述身份证书,包括:若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。7.根据权利要求5所述的区块链中随机数的生成方法,其特征在于,所述身份证书的前发信息中包括所述生成节点的区块号。8.一种区块链中随机数的生成方法,应用于区块链网络中的目标第二节点,其特征在于,包括:在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随
机因子;其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。9.根据权利要求8所述的区块链中随机数的生成方法,其特征在于,所述生成第二随机数,包括:对所述第一随机因子进行验证;在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。10.根据权利要求8所述的区块链中随机数的生成方法,其特征在于,所述方法还包括:对所述第二随机数进行取模计算,得到所述生成节点的节点编号;若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。11.根据权利要求10所述的区块链中随机数的生成方法,其特征在于,所述对所述第二随机数进行取模计算之前,还包括:广播所述第二随机数;接收所述第一节点生成的第一随机数;对所述第一随机数和所述第二随机数进行验证;其中,所述第一随机数根据所述第一随机因子和所述第二随机因子生成。12.一种区块链中随机数的生成装置,应用于区块链网络中的第一节点,其特征在于,包括:第一生成模块,用于根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;第一获取模块,用于获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;第二生成模块,用于根据所述第一随机因子以及所述第二随机因子,生成第一随机数;其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。13.根据权利要求12所述的区块链中随机数的生成装置,其特征在于,所述装置还包括:连接模块,用于与至少一个第二节点连接生成所述区块链网络;发起模块,用于向所述区块链网络发起身份证书请求。14.根据权利要求12所述的区块链中随机数的生成装置,其特征在于,所述生成模块,还用于:对所述第二随机因子进行验证;在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第...

【专利技术属性】
技术研发人员:黄昊天
申请(专利权)人:中移智行网络科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1