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

文档序号:467469 发布日期:2021-12-31 浏览:20次 >En<

阅读说明:本技术 一种区块链中随机数的生成方法、装置及区块链节点 (Generation method and device of random number in block chain and block chain link point ) 是由 黄昊天 于 2021-12-07 设计创作,主要内容包括:本发明提供一种区块链中随机数的生成方法、装置及区块链节点,涉及区块链技术领域。该方法包括:根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;根据所述第一随机因子以及所述第二随机因子,生成第一随机数。本发明的方案,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。解决了随机数生成方法的随机性和公平性不足的问题。(The invention provides a method and a device for generating random numbers in a block chain and block chain link points, and relates to the technical field of block chains. The method comprises the following steps: generating a first random factor according to the stored block information and the number of nodes in the block chain network and broadcasting the first random factor; acquiring a second random factor generated by at least one second node in the block chain network after receiving the first random factor; and generating a first random number according to the first random factor and the second random factor. According to the scheme, the rights of each participating node in the block chain network are the same, the random factors are independently generated through the self state information and the group common information of each node, and random numbers are generated according to the random factors of all participating nodes, so that the randomness, the fairness and the safety of the random number generation method are improved. The problem that the randomness and the fairness of the random number generation method are insufficient is solved.)

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

技术领域

本发明涉及区块链技术领域,特别是指一种区块链中随机数的生成方法、装置及终端设备。

背景技术

在区块链技术中最常用的准入身份信息认证手段就是通过身份认证CA中心颁发给准入的节点证书。随机数作为证书认证过程中的一个重要因素,它的随机性和公平性直接影响了区块链的去中心化程度。

目前的随机数生成方法通常有:让可信第三方为合约提供随机数;参与过程的多个节点预先预设一个随机数,然后将其哈希值递交到区块链上,所有节点都递交完毕后,各方广播自己的随机数,通过将各自的随机数合并产生一个最终的随机数;采用链上的公开信息,比如使用区块的哈希值、时间戳、难度系数等作为随机数源。但每一种随机数生成方法的随机性和公平性不足,无法实现区块链的去中心化。

发明内容

本发明的目的是提供一种区块链中随机数的生成方法、装置及区块链节点,用以解决相关技术中随机数生成方法的随机性和公平性不足,无法实现区块链的去中心化的问题。

为达到上述目的,本发明的实施例提供一种区块链中随机数的生成方法,应用于区块链网络中的第一节点,包括:

根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;

获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;

根据所述第一随机因子以及所述第二随机因子,生成第一随机数;

其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

进一步地,所述根据第一区块信息以及所述区块链网络中节点的数量生成随机因子之前,还包括:

与至少一个第二节点连接生成所述区块链网络;

向所述区块链网络发起身份证书请求。

进一步地,所述生成第一随机数,包括:

对所述第二随机因子进行验证;

在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。

进一步地,所述方法,还包括:

对所述第一随机数进行取模计算,得到所述生成节点的节点编号;

根据所述节点编号获取所述身份证书。

进一步地,所述对所述第一随机数进行取模计算之前,还包括:

广播所述第一随机数;

接收所述第二节点生成的第二随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。

进一步地,所述根据所述节点编号获取所述身份证书,包括:

若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;

若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。

进一步地,所述身份证书的前发信息中包括所述生成节点的区块号。

为达到上述目的,本发明的实施例还提供一种区块链中随机数的生成方法,应用于区块链网络中的目标第二节点,包括:

在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;

根据所述第二随机因子以及目标随机因子,生成第二随机数所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;

其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

进一步地,所述生成第二随机数,包括:

对所述第一随机因子进行验证;

在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。

进一步地,所述方法还包括:

对所述第二随机数进行取模计算,得到所述生成节点的节点编号;

若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。

进一步地,所述对所述第二随机数进行取模计算之前,还包括:

广播所述第二随机数;

接收所述第一节点生成的第一随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第一随机数根据所述第一随机因子和所述第二随机因子生成。

为达到上述目的,本发明的实施例还提供一种区块链中随机数的生成装置,应用于区块链网络中的第一节点,包括:

第一生成模块,用于根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;

第一获取模块,用于获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;

第二生成模块,用于根据所述第一随机因子以及所述第二随机因子,生成第一随机数;

其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

进一步地,所述装置还包括:

连接模块,用于与至少一个第二节点连接生成所述区块链网络;

发起模块,用于向所述区块链网络发起身份证书请求。

进一步地,所述生成模块,还用于:

对所述第二随机因子进行验证;

在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。

进一步地,所述装置还包括:

第一计算模块,用于对所述第一随机数进行取模计算,得到所述生成节点的节点编号;

第二获取模块,用于根据所述节点编号获取所述身份证书。

所述第一计算模块,还用于:

广播所述第一随机数;

接收所述第二节点生成的第二随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。

进一步地,所述第二获取模块,还用于:

若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;

若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。

为达到上述目的,本发明的实施例还提供一种区块链中随机数的生成装置,应用于区块链网络中的目标第二节点,包括:

第三生成模块,用于在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;

第四生成模块,用于根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;

其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

进一步地,所述第四生成模块,还用于:

对所述第一随机因子进行验证;

在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。

进一步地,所述装置还包括:

第二计算模块,用于对所述第二随机数进行取模计算,得到所述生成节点的节点编号;

第五生成模块,用于若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。

进一步地,所述第二计算模块,还用于:

广播所述第二随机数;

接收所述第一节点生成的第一随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第一随机数根据所述第一随机因子和所述第二随机因子生成。

为达到上述目的,本发明的实施例还提供一种区块链节点,包括:第一收发机和第一处理机;

所述第一处理机,用于根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子;

所述第一收发机,用于广播所述第一随机因子;

获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;

所述第一处理机,还用于根据所述第一随机因子以及所述第二随机因子,生成第一随机数;

其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

为达到上述目的,本发明的实施例还提供一种区块链节点,包括:第二收发机和第二处理机;

所述第二收发机,用于接收第一节点广播的第一随机因子;

所述第二处理机,用于在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;

根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;

其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

为达到上述目的,本发明的实施例提供一种终端设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所程序或指令时实现如上所述的区块链中随机数的生成方法。

为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的区块链中随机数的生成方法中的步骤。

本发明的上述技术方案的有益效果如下:

本发明实施例的区块链中随机数的生成方法,通过第一节点根据自身存储的区块信息以及区块链网络中的节点数量生成第一随机因子,并广播第一随机因子;根据第一随机因子和接收到的第二节点生成的第二随机因子生成第一随机数。本发明实施例的区块链中随机数的生成方法,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。

附图说明

图1为本发明实施例的应用于区块链网络中的第一节点的区块链中随机数的生成方法的流程示意;

图2为本发明实施例的以第一节点为身份证书申请节点为例的区块链中随机数生成方法的示意图;

图3为本发明实施例的应用于区块链网络中的目标第二节点的区块链中随机数的生成方法的流程示意;

图4为本发明实施例的应用于区块链网络中的第一节点的区块链中随机数的生成装置的示意图;

图5为本发明实施例的应用于区块链网络中的目标第二节点的区块链中随机数的生成装置的示意图;

图6为本发明实施例的终端设备的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

另外,本文中术语“系统”和“网络”在本文中常可互换使用。

在本申请所提供的实施例中,应理解,“与A 相应的B”表示B 与A 相关联,根据A可以确定B。但还应理解,根据A 确定B 并不意味着仅仅根据A 确定B,还可以根据A 和/或其它信息确定B。

如图1所示,本发明实施例提供一种区块链中随机数的生成方法,应用于区块链网络中的第一节点,包括:

步骤101,根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;

步骤102,获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;

步骤103,根据所述第一随机因子以及所述第二随机因子,生成第一随机数;

其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

需要说明的是,所述第一节点为区块链网络中的任意一个发起证书请求的节点,所述第二节点为所述区块链网络中除了所述第一节点外的节点。

可选地,所述区块信息只包括区块号。

本发明实施例的区块链中随机数的生成方法,通过第一节点根据自身存储的区块信息以及区块链网络中的节点数量生成第一随机因子,并广播第一随机因子;根据第一随机因子和接收到的第二节点生成的第二随机因子生成第一随机数。本发明实施例的区块链中随机数的生成方法,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。

可选地,所述根据第一区块信息以及所述区块链网络中节点的数量生成随机因子之前,还包括:

与至少一个第二节点连接生成所述区块链网络;

向所述区块链网络发起身份证书请求。

本发明一实施例中,多个初始节点直接相互连接组成网络,每个初始节点向网络发起身份证书请求,获得各自的身份证书。需要说明的是,后续要加入网络的节点只需要向已经获得身份证书的初始节点发起证书请求。

本发明实施例的区块链中随机数的生成方法,在初始节点组网后才进行身份证书的生成,且与所述身份证书的生成相关的随机因子由每个节点根据自身的信息生成,提高了身份证书的安全性和可靠性。

可选地,所述生成第一随机数,包括:

对所述第二随机因子进行验证;

在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。

可选地,所述的第一节点根据存储的区块信息对第二随机因子进行验证,并通过验证的第二随机因子进行验证签名。

可选地,所述第一随机数与所述第二随机数均根据所述第一随机因子和所述第二随机因子生成的,所以第一随机数与所述第二随机数相等。因此,可以通过判断所述第二随机数是否等于所述第一随机数来对所述第二随机数进行验证。

可选地,所述方法,还包括:

对所述第一随机数进行取模计算,得到所述生成节点的节点编号;

根据所述节点编号获取所述身份证书。

可选地,对所述第一随机数进行取模计算,得到的计算结果即为生成节点的节点编号,确定所述区块链网络中节点号与所述生成节点的节点编号相同的节点即为所述生成节点,所述生成节点生成所述身份证书。

本发明实施例的区块链中随机数的生成方法,与身份证书的生成节点相关的随机数的确定由区块链网络中的所有参与节点计算的随机因子共同决定,任意一个节点的变化都会造成随机因子变化,从而保证了生成节点的随机性。因此,本发明实施例的方案保证了随机数生成的随机性和安全性,从而提高了生成节点的随机性,保证了区块链网络的去中心化。

可选地,所述对所述第一随机数进行取模计算之前,还包括:

广播所述第一随机数;

接收所述第二节点生成的第二随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。

具体地,所述第一随机数与所述第二随机数均根据所述第一随机因子和所述第二随机因子生成的,所以第一随机数与所述第二随机数相等。因此,可以通过判断所述第以随机数是否等于所述第二随机数来对所述第一随机数进行验证。

本发明实施例的区块链中随机数的生成方法,各个节点在对随机数进行取模之前,对自身生成的随机数与其余节点生成的随机数进行比对验证,避免了在随机因子的传输过程中被恶意篡改而导致生成错误的随机数,提高了确定生成节点的安全性。可选地,所述根据所述节点编号获取所述身份证书,包括:

若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;

若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。

本发明实施例的区块链中随机数的生成方法,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,每个节点都可能作为生成节点,保证了生成节点确定的随机性,提高了区块链中每个节点权利的公平性。

可选地,所述身份证书的前发信息中包括所述生成节点的区块号。

本发明一实施例中,生产节点将自身的区块号以及整数序列号存储于身份证书的前发信息中,并配合身份证书申请节点的节点信息一起验证签名后获得生成的身份证书。

需要说明的是,在生成身份证书时产生新的区块,身份证书生成的过程中的随机因子、随机数以及生成的身份证书都附在新产生的一个区块中,配合身份证书前发信息中记录的区块号,可以正向或反向溯源验证,从而避免了每次验证中需要通过根证书来验证的问题。

本发明实施例的区块链中随机数的生成方法,在每次节点申请身份证书的过程中,只产生一个区块,且不存在伴随节点集多个步骤的时间开销,提高;了证书生成的效率,降低了运算开销。

本发明一实施例的区块链中随机数的生成方法、生成节点确定的方法以及身份证书生成的方法的逻辑:

多个初始节点相互连接组成区块链网络;

每个节点向区块链网络发送身份证书请求;

每个节点根据自身存储的区块信息以及所述区块链网络中节点的数量生成随机因子,并广播生成的随机因子;

对接收到的其他节点的随机因子进行验证;

在接收到区块链网络中其他全部节点的随机因子均通过验证后,生成随机数,并广播生成的随机数;

对接收到的其他节点的随机数进行验证;

在确定接收到的其他节点的随机数与自身生成的随机数相同后,对随机数进行取模运算;

节点号与计算得到的结果相同的节点即为生成节点;

若生成节点为自身,则生成身份证书;若生成节点为其他节点,则接收生成节点生成的身份证书。

如图2所示为以节点1为身份证书申请节点为例的区块链中随机数生成方法的示意图,其中,节点1为第一节点,即身份证书的申请节点,节点2和节点3分别为区块链网络中的除了节点1以外的其他节点。节点1向网络发起身份证书请求,生成自身的随机因子,广播节点1的随机因子,并接收节点2和节点3生成的随机因子,节点1根据自身生成的随机因子以及接收到的节点2和节点3的随机因子,生成随机数。

如图3所示,本发明实施例的一种区块链中随机数的生成方法,应用于区块链网络中的目标第二节点,包括:

步骤301,在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;

步骤302,根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;

其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

本发明一实施例中,在所述随机数生成方法的过程中,参与的所述第二节点只有一个时,所述目标随机因子为所述第一随机因子;

参与的所述第二节点有多个时,所述目标随机数为所述第一随机因子和所述第三随机因子。

本发明实施例的区块链中随机数的生成方法,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。

可选地,所述生成第二随机数,包括:

对所述第一随机因子进行验证;

在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。

本发明实施例的区块链中随机数的生成方法,首先对收到的第一节点的第一随机因子进行验证,并根据自身生成的第二随机因子和第一随机因子生成第二随机数,保证了随机数生成的安全性。

可选地,所述方法还包括:

对所述第二随机数进行取模计算,得到所述生成节点的节点编号;

若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。

本发明实施例的区块链中随机数的生成方法,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,每个节点都可能作为生成节点,保证了生成节点确定的随机性,提高了区块链中每个节点权利的公平性。

可选地,所述对所述第二随机数进行取模计算之前,还包括:

广播所述第二随机数;

接收所述第一节点生成的第一随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第一随机数根据所述第一随机因子和所述第二随机因子生成。

具体地,所述第一随机数与所述第二随机数均根据所述第一随机因子和所述第二随机因子生成的,所以第一随机数与所述第二随机数相等。因此,可以通过判断所述第以随机数是否等于所述第二随机数来对所述第一随机数进行验证。

本发明实施例的区块链中随机数的生成方法,各个节点在对随机数进行取模之前,对自身生成的随机数与其余节点生成的随机数进行比对验证,避免了在随机因子的传输过程中被恶意篡改而导致生成错误的随机数,提高了身份证书的节点确定的安全性。

如图4所示,本发明实施例还提供一种区块链中随机数的生成装置400,应用于区块链网络中的第一节点,包括:

第一生成模块401,用于根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子并广播所述第一随机因子;

第一获取模块402,用于获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子;

第二生成模块403,用于根据所述第一随机因子以及所述第二随机因子,生成第一随机数;

其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

本发明实施例的区块链中随机数的生成装置,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。

可选地,所述装置还包括:

连接模块,用于与至少一个第二节点连接生成所述区块链网络;

发起模块,用于向所述区块链网络发起身份证书请求。

可选地,所述生成模块,还用于:

对所述第二随机因子进行验证;

在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。

可选地,所述装置还包括:

第一计算模块,用于对所述第一随机数进行取模计算,得到所述生成节点的节点编号;

第二获取模块,用于根据所述节点编号获取所述身份证书。

可选地,所述第一计算模块,还用于:

广播所述第一随机数;

接收所述第二节点生成的第二随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第二随机数根据所述第一随机因子和所述第二随机因子生成。

可选地,所述第二获取模块,还用于:

若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;

若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。

如图5所示,本发明实施例还提供一种区块链中随机数的生成装置500,应用于区块链网络中的目标第二节点,包括:

第三生成模块501,用于在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;

第四生成模块502,用于根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;

其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

本发明实施例的区块链中随机数的生成装置,区块链网络中每个参与节点的权利都相同,通过各个节点自身的状态信息和群组共有信息独立产生各自的随机因子,并且根据所有参与节点的随机因子生成随机数,提高了随机数生成方法的随机性、公平性和安全性。

可选地,所述第四生成模块,还用于:

对所述第一随机因子进行验证;

在所述第一随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第二随机数。

可选地,所述装置还包括:

第二计算模块,用于对所述第二随机数进行取模计算,得到所述生成节点的节点编号;

第五生成模块,用于若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。

可选地,所述第二计算模块,还用于:

广播所述第二随机数;

接收所述第一节点生成的第一随机数;

对所述第一随机数和所述第二随机数进行验证;

其中,所述第一随机数根据所述第一随机因子和所述第二随机因子生成。

本发明实施例还提供一种区块链节点,包括:第一收发机和第一处理机;

所述第一处理机,用于根据存储的区块信息以及所述区块链网络中节点的数量生成第一随机因子。

所述第一收发机,用于广播所述第一随机因子。

获取所述区块链网络中的至少一个第二节点在接收到所述第一随机因子之后生成的第二随机因子。

所述第一处理机,还用于根据所述第一随机因子以及所述第二随机因子,生成第一随机数。

其中,所述第一随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

所述第一处理机,还用于与至少一个第二节点连接生成所述区块链网络。

所述第一收发机,还用于向所述区块链网络发起身份证书请求。

所述第一处理机,还用于对所述第二随机因子进行验证;

在所述第二随机因子通过验证后,根据所述第一随机因子以及所述第二随机因子生成所述第一随机数。

所述第一处理机,还用于对所述第一随机数进行取模计算,得到所述生成节点的节点编号;

根据所述节点编号获取所述身份证书。

所述第一处理机,还用于若所述生成节点的节点编号与所述第一节点的节点号相同,则生成所述身份证书;

所述第一收发机,还用于若所述生成节点的节点编号与所述第一节点的节点号不同,则获取所述生成节点生成的所述身份证书。

本发明实施例还提供一种区块链节点,包括:第二收发机和第二处理机;

所述第二收发机,用于接收第一节点广播的第一随机因子;

所述第二处理机,用于在接收到第一节点广播的第一随机因子后,根据存储的区块信息以及所述区块链网络中节点的数量生成第二随机因子;

根据所述第二随机因子以及目标随机因子,生成第二随机数;所述目标随机因子包括所述第一随机因子或第一随机因子和第三节点广播的第三随机因子;

其中,所述第三节点为所述区块链网络中除了所述第一节点和所述第二目标节点之外的节点;所述第二随机数为与生成节点相关的随机数,所述生成节点为生成所述第一节点的身份证书的节点。

所述第二处理机,还用于对所述第一随机因子进行验证;

在所述第一随机因子通过验证后,根据所述第一随机因子以及所述目标随机因子生成所述第二随机数。

所述第二处理机,还用于对所述第二随机数进行取模计算,得到所述生成节点的节点编号;

若所述生成节点的节点编号与所述第二节点的节点号相同,则生成所述身份证书。

本发明另一实施例的一种终端设备,如图6所示,包括收发机610、处理器600、存储器620及存储在所述存储器620上并可在所述处理器600上运行的程序或指令;所述处理器600执行所述程序或指令时实现上述应用于区块链中随机数的生成方法。

所述收发机610,用于在处理器600的控制下接收和发送数据。

其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。

处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。

本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的区块链中随机数的生成方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。

进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。

本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。

实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。

在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。

上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种开发管理方法、平台及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类