基于区块链的随机数生成方法及装置制造方法及图纸

技术编号:31928311 阅读:26 留言:0更新日期:2022-01-15 13:15
本说明书实施例提供了基于区块链的随机数生成方法及装置,其中,一种基于区块链的随机数生成方法应用于区块链节点,所述方法包括:接收携带有生成随机数请求的交易,所述生成随机数请求携带有随机数种子;基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约,该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令;获取多个参与方响应所述签名指令以对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。个聚合签名生成随机数。个聚合签名生成随机数。

【技术实现步骤摘要】
基于区块链的随机数生成方法及装置


[0001]本文件涉及区块链
,尤其涉及一种基于区块链的随机数生成方法及装置。

技术介绍

[0002]区块链是一种数据以区块为单位进行存储,并按照时间顺序收尾相连形成链式结构,同时通过密码学保证不可篡改、不可伪造以及数据传输访问安全的去中心化分布式账本。由于区块链技术具有去中心化、各计算节点可以参与数据记录、并且各计算节点之间可以快速的进行数据同步的特性,使得区块链在众多的领域中广泛的进行应用。

技术实现思路

[0003]本说明书一个或多个实施例提供了一种基于区块链的随机数生成方法,应用于区块链节点,所述方法包括:接收携带有生成随机数请求的交易,所述生成随机数请求携带有随机数种子。基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约。该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令;获取多个参与方响应所述签名指令以对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。
[0004]本说明书一个或多个实施例提供了一种基于区块链的随机数生成装置,运行于区块链节点,所述装置包括:交易接收模块,被配置为接收携带有生成随机数请求的交易,所述生成随机数请求携带有随机数种子。智能合约调用模块,被配置为基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约,该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令。获取多个参与方响应所述签名指令以对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。
[0005]本说明书一个或多个实施例提供了一种基于区块链的随机数生成设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器:接收携带有生成随机数请求的交易,所述生成随机数请求携带有随机数种子。基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约。该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令。获取多个参与方响应所述签名指令以对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。
[0006]本说明书一个或多个实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:接收携带有生成随机数请求的交易,所述生成随机数请求携带有随机数种子。基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约。该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令。获取多个参与方响应所述签名指令以
对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。
附图说明
[0007]为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;图1为本说明书一个或多个实施例提供的一种基于区块链的随机数生成方法处理流程图;图2为本说明书一个或多个实施例提供的一种应用于抽签场景的基于区块链的随机数生成方法处理流程图;图3为本说明书一个或多个实施例提供的一种基于区块链的随机数生成装置示意图;图4为本说明书一个或多个实施例提供的一种基于区块链的随机数生成设备的结构示意图。
具体实施方式
[0008]为了使本
的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
[0009]本说明书提供的一种基于区块链的随机数生成方法实施例:本实施例提供的基于区块链的随机数生成方法,从进行随机数生成的交易出发,调用相应的智能合约,并通过执行智能合约进行随机数生成,以此借助区块链达成多方协同生成随机数的共识,具体通过对随机数种子进行多方协同签名生成聚合签名,在聚合签名的基础上进行随机数生成,使参与随机数生成的多方达成对聚合签名的共识,确保在聚合签名基础上生成的随机数同样经过多方共识,从而提升了随机数生成的正确性,同时,通过执行智能合约进行随机数生成,提升了随机数生成过程的可追溯性。
[0010]参照图1,本实施例提供的基于区块链的随机数生成方法,应用于区块链节点,具体包括步骤S102至步骤S104。
[0011]步骤S102,接收携带有生成随机数请求的交易。
[0012]具体实施时,携带所述生成随机数请求的交易,可由可信执行环境发送,比如可信执行环境在接收到客户端提交的生成随机数请求之后,针对该生成随机数请求生成随机数种子,并向区块链节点发送生成随机数请求中携带随机数种子的交易;除此之外,也可由区块链节点连接的客户端发送携带所述生成随机数请求的交易。所述生成随机数请求携带有随机数种子,所述随机数种子,是指用于生成随机数的基准数据。为保证随机数种子的随机性,可选的,所述随机数种子由可信执行环境针对所述生成随机数请求生成。
[0013]步骤S104,基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约。
[0014]本实施例中,所述该智能合约包括实际上可以理解为该智能合约所包含的合约逻辑,或者执行该智能合约所实现的业务流程。具体的,所述该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令;获取多个参与方响应所述签名指令以对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。
[0015]其中,所述多方协同签名,是指参与随机数生成的多个参与方,分别对随机数种子进行签名得到的随机数签名,并将自身签名获得的随机数签名与其余参与方签名获得的随机数签名进行聚合得到聚合签名的过程。
[0016]本实施例中,参与随机数生成的参与方为多方,可选的,参与随机数生成的多个参与方均为区块链节点,在随机数生成过程中,每个参与方(区块链节点)执行的处理过程是相同的,下述以多个参与方中的任意一个参与方在随机数生成过程中的处理为例,对多个参与方参与的随机数生成过程进行说明,该参与方之外的其余参与方进行随机数生成的过程,参照下述提供的任意一个参与方在随机数生成过程中的处理过程即可,此处不再一一赘述。
[0017]此外,参与随机数生成的参与方还可不为区块链节点,在这种情况下,要实现多方协同生成随机数的共识,参与随机数生成的多个参与方还需本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的随机数生成方法,应用于区块链节点,所述方法包括:接收携带有生成随机数请求的交易,所述生成随机数请求携带有随机数种子;基于所述交易调用相应的智能合约,并通过虚拟机执行该相应的智能合约,该智能合约包括:生成用于触发参与随机数生成的多个参与方对所述随机数种子进行多方协同签名的签名指令;获取多个参与方响应所述签名指令以对所述随机数种子进行多方协同签名得到的聚合签名,并基于获取到的多个聚合签名生成随机数。2.根据权利要求1所述的基于区块链的随机数生成方法,所述随机数种子由可信执行环境针对所述生成随机数请求生成。3.根据权利要求2所述的基于区块链的随机数生成方法,所述智能合约还包括:验证所述随机数种子的真实性;在验证通过后生成用于触发参与随机数生成的参与方对所述随机数种子进行多方协同签名的签名指令。4.根据权利要求3所述的基于区块链的随机数生成方法,所述生成随机数请求携带的随机数种子具有由所述可信执行环境进行签名获得的私钥签名,所述验证所述随机数种子的真实性包括采用所述可信执行环境的私钥对应的公钥进行签名验证。5.根据权利要求1所述的基于区块链的随机数生成方法,所述基于获取到的多个聚合签名生成随机数包括:当获取到的多个聚合签名中相同的数量达到一定的条件时,将该相同的聚合签名作为目标签名,基于该目标签名生成随机数。6.根据权利要求1所述的基于区块链的随机数生成方法,所述智能合约还包括:采用共享公钥验证所述多个聚合签名,所述共享公钥由所述多个参与方基于分布式密钥协议预先协同生成;在验证通过后基于所述多个聚合签名生成所述随机数。7.根据权利要求1所述的基于区块链的随机数生成方法,所述智能合约还包括:根据所述生成随机数请求中携带的标识,记录所述随机数并作为所述标识对应的随机数,针对所述生成随机数请求返回携带所述随机数的请求响应。8.根据权利要求1所述的基于区块链的随机数生成方法,所述多个参与方均为区块链节点。9.根据权利要求1至8任意一项所述的基于区块链的随机数生成方法,所述多个参与方中任意一个或多个参与方响应所述签名指令以对所述随机数种子...

【专利技术属性】
技术研发人员:赵文强冯禺豪李彤李艳鹏陆旭明
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1