区块链随机数生成方法、装置、设备及计算机存储介质制造方法及图纸

技术编号:28033799 阅读:21 留言:0更新日期:2021-04-09 23:15
本发明专利技术涉及金融科技(Fintech)技术领域,并公开了一种区块链随机数生成方法,该方法包括:对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组;控制各服务节点对区块链中智能合约发送的随机数请求对应的请求参数进行解析,以确定随机数请求对应的所有目标服务节点;根据随机数服务提供组和各目标服务节点计算最终随机数,并根据最终随机数和各服务节点确定最终签名结果;基于最终签名结果将最终随机数作为目标随机数回写到区块链中的用户合约。本发明专利技术还公开了一种区块链随机数生成装置、设备和一种计算机存储介质。本发明专利技术实现了区块链获取随机数不受单个节点限制,可以获取到适用多数场景的随机数。

【技术实现步骤摘要】
区块链随机数生成方法、装置、设备及计算机存储介质
本专利技术涉及金融科技(Fintech)
,尤其涉及区块链随机数生成方法、装置、设备及计算机存储介质。
技术介绍
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对区块链获取随机数技术提出了更高的要求。目前区块链获取随机数的方式是通过预言机服务获取随机数,包括中心化预言机和去中心化预言机,中心化预言机获取随机数是通过链下API(ApplicationProgrammingInterface,应用程序接口)获取随机数,然后通过中心化预言机服务方把随机数上链,但这种方式获取的随机数容易受到各种攻击。去中心化预言机是通过用户生成随机数种子,预言机服务节点提供私钥,产生可验证随机数,但会碰到网络故障和节点故障不响应的情况。并且去中心化预言机采用的staking(权益质押)机制下,节点不响应后者网络不稳定这种行为将被罚款,而且问题节点之后会从随机数生成者名单中被移除,并且低质量或违规的预言机服务节点将遭受巨大的短期和长期经济损失,并不适合很多场景,如联盟链等。因此如何使区块链获取随机数不受单个节点限制,可以获取到适用多数场景的随机数成为了目前急需解决的问题。
技术实现思路
本专利技术的主要目的在于提出一种区块链随机数生成方法、装置、设备及计算机存储介质,旨在解决如何使区块链获取随机数不受单个节点限制,可以获取到适用多数场景的随机数的技术问题。为实现上述目的,本专利技术提供一种区块链随机数生成方法,所述区块链随机数生成方法包括如下步骤:对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组;控制各所述服务节点对所述区块链中智能合约发送的随机数请求对应的请求参数进行解析,以确定所述随机数请求对应的所有目标服务节点;根据所述随机数服务提供组和各所述目标服务节点计算最终随机数,并根据所述最终随机数和各所述服务节点确定最终签名结果;基于所述最终签名结果将所述最终随机数作为目标随机数回写到所述区块链中的用户合约。可选地,对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组的步骤,包括:获取区块链中所有服务节点的随机数组,并根据预设的密钥分发函数和各所述随机数组计算各所述服务节点的密钥交换内容;若各所述密钥交换内容全部合法,则根据各所述密钥交换内容计算各所述服务节点的私钥和公钥,并将各所述服务节点的私钥和公钥作为随机数服务提供组。可选地,根据所述随机数服务提供组和各所述目标服务节点计算最终随机数的步骤之前,包括:依次遍历各所述目标服务节点,根据所述随机数服务提供组确定遍历的目标服务节点的私钥;根据所述私钥和预设的随机数算法进行哈希计算,以获取所述遍历的目标服务节点对应的节点随机数和随机数结果。可选地,根据所述随机数服务提供组和各所述目标服务节点计算最终随机数的步骤,包括:若各所述目标服务节点均能正常响应,则获取各所述目标服务节点对应的随机数结果,并计算各所述随机数结果的平均值,将所述平均值作为最终随机数。可选地,根据所述最终随机数和各所述服务节点确定最终签名结果的步骤,包括:根据各所述目标服务节点的私钥对所述最终随机数进行签名,以获取各所述目标服务节点对应的节点签名;若各所述节点签名均为有效签名,则对各所述节点签名进行相加,以获取最终签名结果。可选地,基于所述最终签名结果将所述最终随机数回写到所述区块链中的用户合约的步骤之前,包括:确定各所述目标服务节点的节点数量,并根据所述最终随机数对搜索节点数量进行取余计算,根据所述取余计算结果确定所述区块链的上链节点,其中,所述上链节点将所述最终随机数和所述最终签名结果上传至所述区块链。可选地,基于所述最终签名结果将所述最终随机数回写到所述区块链中的用户合约的步骤,包括:根据所述区块链启动预设的配对函数,并根据所述配对函数对所述最终签名结果和所述最终随机数进行校验,若所述校验的校验结果是校验通过,则将所述最终随机数回写到所述区块链中的用户合约。此外,为实现上述目的,本专利技术还提供一种区块链随机数生成装置,所述区块链随机数生成装置包括:获取模块,用于对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组;解析模块,用于控制各所述服务节点对所述区块链中智能合约发送的随机数请求对应的请求参数进行解析,以确定所述随机数请求对应的所有目标服务节点;计算模块,用于根据所述随机数服务提供组和各所述目标服务节点计算最终随机数,并根据所述最终随机数和各所述服务节点确定最终签名结果;回写模块,用于基于所述最终签名结果将所述最终随机数作为目标随机数回写到所述区块链中的用户合约。此外,为实现上述目的,本专利技术还提供一种区块链随机数生成设备,所述区块链随机数生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链随机数生成程序,所述区块链随机数生成程序被所述处理器执行时实现如上所述的区块链随机数生成方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机存储介质,所述计算机存储介质上存储有区块链随机数生成程序,所述区块链随机数生成程序被处理器执行时实现如上所述的区块链随机数生成方法的步骤。本专利技术通过对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组;控制各所述服务节点对所述区块链中智能合约发送的随机数请求对应的请求参数进行解析,以确定所述随机数请求对应的所有目标服务节点;根据所述随机数服务提供组和各所述目标服务节点计算最终随机数,并根据所述最终随机数和各所述服务节点确定最终签名结果;基于所述最终签名结果将所述最终随机数作为目标随机数回写到所述区块链中的用户合约。通过对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组,并控制各个服务节点对随机数请求进行解析,以确定所有目标服务节点,再根据随机数服务提供组和各个目标服务节点计算最终随机数,并根据最终签名结果将最终随机数作为目标随机数会写到用户合约,从而避免了现有技术中区块链获取随机数时由于节点不响应或网络不稳定导致随机数的可用性受到影响的现象发生,实现了区块链获取随机数不受单个节点限制,可以获取到适用多数场景的随机数。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的区块链随机数生成设备结构示意图;图2为本专利技术区块链随机数生成方法第一实施例的流程示意图;图3为本专利技术区块链随机数生成装置的装置模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,图1本文档来自技高网...

【技术保护点】
1.一种区块链随机数生成方法,其特征在于,所述区块链随机数生成方法包括如下步骤:/n对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组;/n控制各所述服务节点对所述区块链中智能合约发送的随机数请求对应的请求参数进行解析,以确定所述随机数请求对应的所有目标服务节点;/n根据所述随机数服务提供组和各所述目标服务节点计算最终随机数,并根据所述最终随机数和各所述服务节点确定最终签名结果;/n基于所述最终签名结果将所述最终随机数作为目标随机数回写到所述区块链中的用户合约。/n

【技术特征摘要】
1.一种区块链随机数生成方法,其特征在于,所述区块链随机数生成方法包括如下步骤:
对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组;
控制各所述服务节点对所述区块链中智能合约发送的随机数请求对应的请求参数进行解析,以确定所述随机数请求对应的所有目标服务节点;
根据所述随机数服务提供组和各所述目标服务节点计算最终随机数,并根据所述最终随机数和各所述服务节点确定最终签名结果;
基于所述最终签名结果将所述最终随机数作为目标随机数回写到所述区块链中的用户合约。


2.如权利要求1所述的区块链随机数生成方法,其特征在于,所述对区块链中所有服务节点的随机数组进行分布式密钥初始化,以获取随机数服务提供组的步骤,包括:
获取区块链中所有服务节点的随机数组,并根据预设的密钥分发函数和各所述随机数组计算各所述服务节点的密钥交换内容;
若各所述密钥交换内容全部合法,则根据各所述密钥交换内容计算各所述服务节点的私钥和公钥,并将各所述服务节点的私钥和公钥作为随机数服务提供组。


3.如权利要求1所述的区块链随机数生成方法,其特征在于,所述根据所述随机数服务提供组和各所述目标服务节点计算最终随机数的步骤之前,包括:
依次遍历各所述目标服务节点,根据所述随机数服务提供组确定遍历的目标服务节点的私钥;
根据所述私钥和预设的随机数算法进行哈希计算,以获取所述遍历的目标服务节点对应的节点随机数和随机数结果。


4.如权利要求1所述的区块链随机数生成方法,其特征在于,所述根据所述随机数服务提供组和各所述目标服务节点计算最终随机数的步骤,包括:
若各所述目标服务节点均能正常响应,则获取各所述目标服务节点对应的随机数结果,并计算各所述随机数结果的平均值,将所述平均值作为最终随机数。


5.如权利要求1所述的区块链随机数生成方法,其特征在于,所述根据所述最终随机数和各所述服务节点确定最终签名结果的步骤,包括:
根据各所述目标服务节点的私钥对所述最终随机数进行签名,以获取各所述目标服务节点对应的节点签名;
若各所...

【专利技术属性】
技术研发人员:何硕彦袁鸿彬周禄张开翔范瑞彬黎宁
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1