基于区块链的随机数生成方法、装置、设备、介质及产品制造方法及图纸

技术编号:39247510 阅读:19 留言:0更新日期:2023-10-30 11:59
本申请的实施例揭示了一种基于区块链的随机数生成方法、装置、设备、介质及产品,该方法包括:执行节点通过业务方所触发的随机数生成事件确定用于提供种子源的第二执行节点,从确定的第二执行节点处获取随机种子,并根据获取到的随机种子生成随机数,得到随机数生成结果,进而生成验证请求;验证节点通过验证请求对随机数生成结果进行验证,之后由执行节点基于随机数生成结果和验证节点验证通过时所触发的签名生成上链证据,从而通过区块链网络将上链证据发送给业务方。本申请实施例的技术方案保证了随机数生成过程的安全性。案保证了随机数生成过程的安全性。案保证了随机数生成过程的安全性。

【技术实现步骤摘要】
基于区块链的随机数生成方法、装置、设备、介质及产品


[0001]本申请涉及计算机及通信
,具体而言,涉及一种基于区块链的随机数生成方法、基于区块链的随机数生成装置、基于区块链的随机数验证装置、电子设备、计算机可读存储介质及计算机程序产品。

技术介绍

[0002]相关技术中区块链的随机数的生成方案包括链上生成方案,即依赖区块链实现随机性的智能合约,以当前最新区块hash(哈希)作为种子生成随机数,但由于过度依赖区块hash,区块链节点可能会有选择性地发布对他们有利的区块,导致生成的随机数的安全性低。

技术实现思路

[0003]为解决上述技术问题,本申请的实施例提供了一种基于区块链的随机数生成方法、基于区块链的随机数生成装置、基于区块链的随机数验证装置、电子设备、计算机可读存储介质及计算机程序产品,保证了随机数生成过程的安全性。
[0004]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0005]根据本申请实施例的一个方面,提供了一种基于区块链的随机数生成方法,包括:检测业务方所触发的随机数生成事件,根据所述随机数生成事件确定用于提供种子源的第二执行节点;从确定的第二执行节点处获取随机种子,并根据获取到的所述随机种子生成随机数,得到随机数生成结果;根据所述随机数生成结果生成针对所述随机数生成结果的验证请求,将所述验证请求发送给验证节点,以使所述验证节点对所述验证请求中包含的随机数生成结果进行验证;接收所述验证节点针对所述随机数生成结果验证成功时所触发的签名;根据所述验证节点的签名和所述随机数生成结果生成上链证据,将所述上链证据发送至区块链网络,以通过所述区块链网络将所述上链证据发送给所述业务方。
[0006]根据本申请实施例的一个方面,还提供了一种基于区块链的随机数生成方法,包括:接收来自执行节点的验证请求;所述验证请求中携带有所述执行节点基于生成的随机数所得到的随机数生成结果,所述随机数是所述执行节点在检测业务方所触发的随机数生成事件,根据所述随机数生成事件确定用于提供种子源的第二执行节点之后,从确定的第二执行节点处获取随机种子,并根据获取到的所述随机种子生成的;对所述验证请求中包含的随机数生成结果进行验证;若对所述随机数生成结果验证成功,则对所述随机数生成结果进行签名;将所述签名发送给所述执行节点,以使所述执行节点根据所述签名和所述随机数生成结果生成上链证据,并将所述上链证据通过区块链网络发送给业务方。
[0007]根据本申请实施例的一个方面,提供了一种随机数生成装置,所述装置包括:检测与确定模块,用于检测业务方所触发的随机数生成事件,根据所述随机数生成事件确定用于提供种子源的第二执行节点;结果生成模块,用于从确定的第二执行节点处获取随机种
子,并根据获取到的所述随机种子生成随机数,得到随机数生成结果;生成与发送模块,用于根据所述随机数生成结果生成针对所述随机数生成结果的验证请求,将所述验证请求发送给验证节点,以使所述验证节点对所述验证请求中包含的随机数生成结果进行验证;第一接收模块,用于接收所述验证节点针对所述随机数生成结果验证成功时所触发的签名;所述生成与发送模块还用于:根据所述验证节点的签名和所述随机数生成结果生成上链证据,将所述上链证据发送至区块链网络,以通过所述区块链网络将所述上链证据发送给所述业务方。
[0008]在本申请的一实施例中,所述随机数生成事件包括用于生成随机数的第一执行节点的节点标识、至少一个第二执行节点的节点标识;所述检测与确定模块包括确定单元,确定单元用于若确定本地节点标识与所述随机数生成事件中的第一执行节点的节点标识相匹配,则根据所述至少一个第二执行节点的节点标识确定对应的第二执行节点;所述结果生成模块具体用于根据所述随机数、所述本地节点标识和所述至少一个第二执行节点的节点标识生成所述随机数生成结果。
[0009]在本申请的一实施例中,所述随机数生成事件包括验证节点列表,所述验证节点列表中包括至少两个指定的验证节点标识;所述生成与发送模块包括发送单元,所述发送单元用于将所述验证请求发送至验证节点集群中与所述至少两个指定验证节点标识相匹配的验证节点。
[0010]在本申请的一实施例中,所述随机数生成事件包括验证节点数量,所述验证节点数量为至少两个;所述生成与发送模块包括发送单元,所述发送单元用于从验证节点集群中选择出与所述验证节点数量相匹配的验证节点,并将所述验证请求发送至选择出的验证节点。
[0011]在本申请的一实施例中,所述随机数生成事件包括验证节点数量,所述验证节点数量为至少两个;所述生成与发送模块包括发送单元,所述发送单元用于将所述验证节点数量和所述验证请求发送至节点分配方,以使所述节点分配方从验证节点集群中选择与所述验证节点数量相匹配的验证节点,并将所述验证请求转发给选择出的验证节点。
[0012]在本申请的一实施例中,所述生成与发送模块包括生成单元,所述生成单元用于若接收到的签名的数量超过预设数量阈值,则将所述验证节点的签名和所述随机数生成结果进行封装处理,并对封装后得到的数据进行签名得到所述上链证据。
[0013]在本申请的一实施例中,所述装置还包括第一部署模块,所述第一部署模块用于接收所述业务方发送的生成服务部署请求,所述生成服务部署请求携带有种子源服务标识、随机数生成服务标识、与所述种子源服务标识对应的待部署执行节点标识列表,以及与所述随机数生成服务标识对应的待部署执行节点标识列表;若与所述种子源服务标识对应的待部署执行节点标识列表中包含本地节点标识,则部署与所述种子源服务标识对应的种子源服务;其中,所述种子源服务用于提供随机种子;若与所述随机数生成服务标识对应的待部署执行节点标识列表中包含本地节点标识,则部署与所述随机数生成服务标识对应的随机数生成服务;其中,所述随机数生成服务用于根据随机种子生成随机数。
[0014]在本申请的一实施例中,所述装置还包括第一质押模块,所述第一质押模块用于第一部署模块在部署所述种子源服务和所述随机数生成服务中的至少一个服务时,向虚拟资源处理方质押虚拟资源,以使所述虚拟资源处理方将所质押的虚拟资源发送给所述区块
链网络进行存储;若需要取消已部署的随机数生成服务和已部署的种子源服务中的至少一个服务,则向所述虚拟资源处理方申请退还质押的虚拟资源,以使其他执行节点对所述至少一个服务在本地的执行过程进行挑战;若在挑战期内其他执行节点未挑战成功,则接收所述虚拟资源处理方通过所述区块链网络退还的虚拟资源。
[0015]在本申请的一实施例中,所述生成与发送模块包括发送单元,所述发送单元用于若查询所述区块链网络中不存在已部署的证据合约,则在所述区块链网络中部署证据合约;若所述区块链网络中存储已部署的证据合约,则将所述上链证据发送至所述区块链网络中的证据合约,以使所述证据合约存储所述上链证据,并根据所述业务方的回调信息将所述上链证据发送给所述业务方。
[0016]在本申请的一实施例中,所述生成与发送模块包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的随机数生成方法,其特征在于,所述方法包括:检测业务方所触发的随机数生成事件,根据所述随机数生成事件确定用于提供种子源的第二执行节点;从确定的第二执行节点处获取随机种子,并根据获取到的所述随机种子生成随机数,得到随机数生成结果;根据所述随机数生成结果生成针对所述随机数生成结果的验证请求,将所述验证请求发送给验证节点,以使所述验证节点对所述验证请求中包含的随机数生成结果进行验证;接收所述验证节点针对所述随机数生成结果验证成功时所触发的签名;根据所述验证节点的签名和所述随机数生成结果生成上链证据,将所述上链证据发送至区块链网络,以通过所述区块链网络将所述上链证据发送给所述业务方。2.根据权利要求1所述的方法,其特征在于,所述随机数生成事件包括用于生成随机数的第一执行节点的节点标识、至少一个第二执行节点的节点标识;所述根据所述随机数生成事件确定用于提供种子源的第二执行节点,包括:若确定本地节点标识与所述随机数生成事件中的第一执行节点的节点标识相匹配,则根据所述至少一个第二执行节点的节点标识确定对应的第二执行节点;所述根据获取到的所述随机种子生成随机数,得到随机数生成结果,包括:根据所述随机数、所述本地节点标识和所述至少一个第二执行节点的节点标识生成所述随机数生成结果。3.根据权利要求1所述的方法,其特征在于,所述随机数生成事件包括验证节点列表,所述验证节点列表中包括至少两个指定的验证节点标识;所述将所述验证请求发送给验证节点,包括:将所述验证请求发送至节点集群中与所述至少两个指定验证节点标识相匹配的验证节点。4.根据权利要求1所述的方法,其特征在于,所述随机数生成事件包括验证节点数量,所述验证节点数量为至少两个;所述将所述验证请求发送给验证节点,包括:从验证节点集群中选择出与所述验证节点数量相匹配的验证节点,并将所述验证请求发送至选择出的验证节点。5.根据权利要求1所述的方法,其特征在于,所述随机数生成事件包括验证节点数量,所述验证节点数量为至少两个;所述将所述验证请求发送给验证节点,包括:将所述验证节点数量和所述验证请求发送至节点分配方,以使所述节点分配方从验证节点集群中选择与所述验证节点数量相匹配的验证节点,并将所述验证请求转发给选择出的验证节点。6.根据权利要求1所述的方法,其特征在于,所述根据所述验证节点的签名和所述随机数生成结果生成上链证据,包括:若接收到的签名的数量超过预设数量阈值,则将所述验证节点的签名和所述随机数生成结果进行封装处理,并对封装后得到的数据进行签名得到所述上链证据。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述业务方发送的生成服务部署请求,所述生成服务部署请求携带有种子源服务标识、随机数生成服务标识、与所述种子源服务标识对应的待部署执行节点标识列表,以及
与所述随机数生成服务标识对应的待部署执行节点标识列表;若与所述种子源服务标识对应的待部署执行节点标识列表中包含本地节点标识,则部署与所述种子源服务标识对应的种子源服务;其中,所述种子源服务用于提供随机种子;若与所述随机数生成服务标识对应的待部署执行节点标识列表中包含本地节点标识,则部署与所述随机数生成服务标识对应的随机数生成服务;其中,所述随机数生成服务用于根据随机种子生成随机数。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在部署所述种子源服务和所述随机数生成服务中的至少一个服务时,向虚拟资源处理方质押虚拟资源,以使所述虚拟资源处理方将所质押的虚拟资源发送给所述区块链网络进行存储;若需要取消已部署的随机数生成服务和已部署的种子源服务中的至少一个服务,则向所述虚拟资源处理方申请退还质押的虚拟资源,以使其他执行节点对所述至少一个服务在本地的执行过程进行挑战;若在挑战期内其他执行节点未挑战成功,则接收所述虚拟资源处理方通过所述区块链网络退还的虚拟资源。9.根据权利要求1所述的方法,其特征在于,所述将所述上链证据发送至区块链网络,包括:若查询所述区块链网络中不存在已部署的证据合约,则在所述区块链网络中部署证据合约;若所述区块链网络中存在已部署的证据合约,则将所述上链证据发送至所述区块链网络中的证据合约,以使所述证据合约存储所述上链证据,并根据所述业务方的回调信息将所述上链证据发送给所述业务方。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述根据所述随机数生成结果生成针对所述随机数生成结果的验证请求,包括:对所述随机数生成结果进行签名,并将所述签名和所述随机数生成结果进行封装处理,以生成所述验证请求。11.一种基于区块链的随机数生成方法,其特征在于,所述方法包括:接收来自执行节点的验证请求;所述验证请求...

【专利技术属性】
技术研发人员:梁作栋
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1