一种区块链数据处理方法、装置和电子设备制造方法及图纸

技术编号:25276388 阅读:20 留言:0更新日期:2020-08-14 23:07
本发明专利技术提供了一种区块链数据处理方法、装置和电子设备,在执行与第三方相关的智能合约的过程中,预言机仅对预言机公钥和随机数公钥进行广播,根据第一节点和第二节点分别发送的合约公钥和签名公钥生成该两个节点各自的智能合约,以及向第一节点和第二节点发送由所述最终变化结果得的预言机签名公钥,而具体的事件执行结果的判断过程交由第一节点和第二节点各自的智能合约完成,能够减少预言机与节点的交互次数,降低了预言机的工作量,提高了预言机的执行效率和安全性。

【技术实现步骤摘要】
一种区块链数据处理方法、装置和电子设备
本专利技术涉及计算机
,具体而言,涉及一种区块链数据处理方法、装置和电子设备。
技术介绍
目前,预言机是处理区块链系统中和第三方相关智能合约的较佳选择,而预言机在处理智能合约时,需要频繁的和区块链节点进行交互,使得交互的信息量很大,执行效率可能变低,同时预言机也可能被贿赂,影响智能合约执行的安全性。
技术实现思路
为解决上述问题,本专利技术实施例的目的在于提供一种区块链数据处理方法、装置和电子设备。第一方面,本专利技术实施例提供了一种区块链数据处理方法,包括:预言机将生成的预言机公钥和随机数公钥在区块链上广播,使得区块链上的节点接收并存储所述预言机公钥和所述随机数公钥;当检测到区块链中的第一节点和第二节点需要部署条件相同但结果相反的智能合约时,接收所述第一节点发送的第一合约公钥和第一签名公钥,以及所述第二节点发送的第二合约公钥和第二签名公钥;利用所述第一合约公钥和所述第二签名公钥组成第一智能合约,利用所述第二合约公钥和所述第一签名公钥组成第二智能合约,将所述第一智能合约发送给所述第一节点,将所述第二智能合约发送给所述第二节点,从而部署所述第一智能合约和所述第二智能合约,执行所述第一智能合约和所述第二智能合约的上链操作;获取外部数据,分别执行所述第一智能合约和所述第二智能合约。第二方面,本专利技术实施例还提供了一种区块链数据处理装置,包括:广播模块,用于将生成的预言机公钥和随机数公钥在区块链上广播,使得区块链上的节点接收并存储所述预言机公钥和所述随机数公钥;接收模块,用于检测到区块链中的第一节点和第二节点需要部署条件相同但结果相反的智能合约时,接收所述第一节点发送的第一合约公钥和第一签名公钥,以及所述第二节点发送的第二合约公钥和第二签名公钥;发送模块,用于利用所述第一合约公钥和所述第二签名公钥组成第一智能合约,利用所述第二合约公钥和所述第一签名公钥组成第二智能合约,将所述第一智能合约发送给所述第一节点,将所述第二智能合约发送给所述第二节点,从而部署所述第一智能合约和所述第二智能合约,执行所述第一智能合约和所述第二智能合约的上链操作;处理模块,用于获取外部数据,分别执行所述第一智能合约和所述第二智能合约。第三方面,本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法的步骤。第四方面,本专利技术实施例还提供了一种电子设备,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行上述第一方面所述的方法的步骤。本专利技术实施例上述第一方面在至第四方面提供的方案中,在执行与第三方相关的智能合约的过程中,预言机仅对预言机公钥和随机数公钥进行广播,根据第一节点和第二节点分别发送的合约公钥和签名公钥生成该两个节点各自的智能合约,以及向第一节点和第二节点发送由所述最终变化结果得的预言机签名公钥,而具体的事件执行结果的判断过程交由第一节点和第二节点各自的智能合约完成,与相关技术中确定两个节点得到的结果中的正确的结果的过程全部由预言机完成的方式相比,能够减少预言机与节点的交互次数,降低了预言机的工作量,提高了预言机的执行效率和安全性,而且,分别由节点的智能合约对节点自身的结果是否正确进行判断,避免由于预言机被贿赂导致的判断结果不正确的情况出现。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本专利技术实施例1所提供的一种区块链数据处理方法的流程图;图2示出了本专利技术实施例2所提供的一种区块链数据处理装置的结构示意图;图3示出了本专利技术实施例3所提供的一种电子设备的结构示意图。具体实施方式目前,预言机是处理区块链系统中和第三方相关智能合约的较佳选择,而预言机在处理智能合约时,需要频繁的和区块链节点进行交互,使得交互的信息量很大,执行效率可能变低,同时预言机也可能被贿赂,影响智能合约执行的安全性。基于此,本实施例提出一种区块链数据处理方法、装置和电子设备,在执行与第三方相关的智能合约的过程中,预言机仅对预言机公钥和随机数公钥进行广播,根据第一节点和第二节点分别发送的合约公钥和签名公钥生成该两个节点各自的智能合约,以及向第一节点和第二节点发送由所述最终变化结果得的预言机签名公钥,而具体的结果的判断过程交由第一节点和第二节点各自的智能合约完成,能够减少预言机与节点的交互次数,提高了预言机的执行效率和安全性,而且,分别由节点的智能合约对节点自身的结果是否正确进行判断,避免由于预言机被贿赂导致的判断结果不正确的情况出现。在通过以下各实施例对本申请提出的区块链数据处理方法、装置和电子设备之前,先对本申请各实施例提出的一种区块链数据处理方法、装置和电子设备的应用场景进行描述:该应用场景中,包括:预言机和能够分别与预言机进行交互的区块链上的节点。所述预言机和区块链上的节点,可以采用现有技术中任何能够执行区块链技术的计算设备,这里不再一一赘述。所述预言机,可以对区块链上的节点的操作进行监控。在以下各实施例中描述的加减乘运算,都是属于椭圆加密算法中规定的加减乘运算,与普通的数值上的加减乘运算并不一致。通过以下内容,对本申请中区块链中的第一节点和第二节点处理第三方相关智能合约的内容进行说明:所述第三方相关智能合约,可以是对区块链中的第一节点和第二节点分别在第三方机构执行同一事件时需要处理的智能合约。在一个实施方式中,所述第三方相关智能合约,可以是第一节点和第二节点分别在第三方机构购买机票时针对是否执行购买延误险这一同一事件时需要处理的智能合约,也可以是第一节点和第二节点分别在第三方机构购买车险时针对是否执行购买不计免赔险这一同一事件时需要处理的智能合约。其中,第一节点购买了延误险,从而得到了用于表示购买延误险的第一结果;而第二节点未购买延误险,从而得到了用于表示未购买延误险的第二结果。从而针对执行同一事件(购买延误险这件事)得到了结果相反的第一结果和第二结果。为了确定针对同一事件(购买延误险这件事)第一节点得到的第一结果与第二节点得到的第二结果中哪个结果是正确的,需要在第一节点与第二节点中部署条件相同但结果相反的智能合约。所述智能合约能够对第一节点得到的第一结果与第二节点得到的第二结果中哪个结果是正确的结果进行判断。所以,在本申请以下各实施例中,所述智能合约,用于对第一节点和第二节点分别执行条件相同但结果相本文档来自技高网...

【技术保护点】
1.一种区块链数据处理方法,其特征在于,包括:/n预言机将生成的预言机公钥和随机数公钥在区块链上广播,使得区块链上的节点接收并存储所述预言机公钥和所述随机数公钥;/n当检测到区块链中的第一节点和第二节点需要部署条件相同但结果相反的两个智能合约时,接收所述第一节点发送的第一合约公钥和第一签名公钥,以及所述第二节点发送的第二合约公钥和第二签名公钥;/n利用所述第一合约公钥和所述第二签名公钥组成第一智能合约,利用所述第二合约公钥和所述第一签名公钥组成第二智能合约,将所述第一智能合约发送给所述第一节点,将所述第二智能合约发送给所述第二节点,从而部署所述第一智能合约和所述第二智能合约,执行所述第一智能合约和所述第二智能合约的上链操作;/n获取外部数据,分别执行所述第一智能合约和所述第二智能合约。/n

【技术特征摘要】
1.一种区块链数据处理方法,其特征在于,包括:
预言机将生成的预言机公钥和随机数公钥在区块链上广播,使得区块链上的节点接收并存储所述预言机公钥和所述随机数公钥;
当检测到区块链中的第一节点和第二节点需要部署条件相同但结果相反的两个智能合约时,接收所述第一节点发送的第一合约公钥和第一签名公钥,以及所述第二节点发送的第二合约公钥和第二签名公钥;
利用所述第一合约公钥和所述第二签名公钥组成第一智能合约,利用所述第二合约公钥和所述第一签名公钥组成第二智能合约,将所述第一智能合约发送给所述第一节点,将所述第二智能合约发送给所述第二节点,从而部署所述第一智能合约和所述第二智能合约,执行所述第一智能合约和所述第二智能合约的上链操作;
获取外部数据,分别执行所述第一智能合约和所述第二智能合约。


2.根据权利要求1所述的方法,其特征在于,还包括:
当获取到所述第一节点发送的结果判断正确信息时,向所述第一节点发送奖励数量的资源信息;
当获取到所述第二节点发送的结果判断正确信息时,向所述第二节点发送奖励数量的资源信息。


3.根据权利要求1所述的方法,其特征在于,还包括:
当与所述区块链内的第二节点执行同一事件,得到第一结果时,所述第一节点通过以下公式计算得到第一预测值:
第一预测值=R-H(m1,R)*V
其中,R表示随机数公钥,m1表示第一结果,V表示预言机公钥,H()表示哈希计算;
利用第一签名私钥得到所述第一签名公钥,并通过所述第一签名公钥和所述第一预测值计算得到第一合约公钥;
将计算得到的所述第一合约公钥和所述第一签名公钥发送给所述预言机,并接收所述预言机发送的第一智能合约。


4.根据权利要求3所述的方法,其特征在于,所述分别执行所述第一智能合约和所述第二智能合约,包括:第一节点的所述第一智能合约,对所述第一结果是否正确进行判断,所述第二节点的所述第二智能合约,对第二结果是否正确进行判断;
所述第一节点的所述第一智能合约,对所述第一结果是否正确进行判断,包括:
当接收到所述预言机发送的预言机签名公钥时,所述第一节点执行所述第一智能合约,所述第一智能合约利用第一合约公钥减去所述第一签名公钥,得到所述第一预测值;
当确定所述第一预测值与所述预言机签名公钥相同时,确定所述第一结果正确,并获取第一节点自身在上述区块链的账户上存储的预设数量的资源信息;
向所述预言机发送结果判断正确信息,并根据所述预设数量生成资源信息转移指令和第一智能合约中携带的第二签名公钥生成资源信息转移指令,并将生成的资源信息转移指令发送给所述第二节点;
接收所述第二节点发送的所述预设数量的资源信息。


5.根据权利要求4所述的方法,其特征在于,所述第一节...

【专利技术属性】
技术研发人员:向舜
申请(专利权)人:卓尔智联武汉研究院有限公司
类型:发明
国别省市:湖北;42

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

1