智能合约的执行方法、装置、终端设备及计算机介质制造方法及图纸

技术编号:36202133 阅读:49 留言:0更新日期:2023-01-04 11:56
本发明专利技术公开了一种智能合约的执行方法、装置、终端设备及计算机介质,涉及区块链技术领域,包括:获取区块链内各参与节点各自对应的目标输入参数,并对各目标输入参数进行加密得到各加密目标参数;将各加密目标参数通过区块链内的目标智能合约进行公开得到各公开目标参数,并调用目标智能合约对各公开目标参数进行计算得到第一计算结果;调用区块链内各管理节点对各目标输入参数进行离线计算得到第二计算结果,并由各管理节点生成与第二计算结果对应的零知识证明;调用区块链内的各验证节点对第一计算结果行验证得到验证结果,并由各验证节点将验证结果与零知识证明部署至区块链内。内。内。

【技术实现步骤摘要】
智能合约的执行方法、装置、终端设备及计算机介质


[0001]本专利技术涉及区块链
,尤其涉及一种智能合约的执行方法、装置、终端设备及计算机可读存储介质。

技术介绍

[0002]随着区块链技术的发展,区块链的开发者逐渐意识到在区块链内部署智能合约是一种能为区块链增添更多可变属性,并使区块链能够完成更复杂的任务的技术手段。
[0003]但是,目前各区块链上部署的智能合约的合约参数和智能合约本身的代码都是公开的,从而出现了参与智能合约的其中一个参与方可以采用查看合约参数或智能合约底层代码的方式获取该智能合约下其他参与方各自的隐私信息,从而对其他参与方的链上资产进行恶意做空的情况,因此,如何令智能合约在执行的过程中更好的保护用户隐私,也成为了行业内亟需解决的问题。

技术实现思路

[0004]本专利技术实施例通过提供一种智能合约的执行方法、装置、终端设备及计算机可读存储介质,旨在令目标智能合约不需要增加额外计算量,从而确保计算结果准确,进而可以保护各参与方的隐私信息的技术效果。
[0005]本专利技术提供一种智能合约的执行方法,所述智能合约的执行方法包括以下步骤:
[0006]获取区块链内各参与节点各自对应的目标输入参数,并对各所述目标输入参数进行加密得到各加密目标参数;
[0007]将各所述加密目标参数通过所述区块链内的目标智能合约进行公开得到各公开目标参数,并调用所述目标智能合约对各所述公开目标参数进行计算得到第一计算结果;
[0008]调用所述区块链内各管理节点对各所述目标输入参数进行离线计算得到第二计算结果,并由各所述管理节点生成与所述第二计算结果对应的零知识证明;
[0009]调用所述区块链内的各验证节点对所述第一计算结果行验证得到验证结果,并由各所述验证节点将所述验证结果与所述零知识证明部署至所述区块链内。
[0010]进一步地,所述方法还包括:
[0011]在所述区块链内的各所述参与节点中确定各候选节点;
[0012]获取预设的管理数量阈值,按照所述管理数量阈值在各所述候选节点中随机选择目标候选节点,并将所述目标候选节点确定为所述管理节点。
[0013]进一步地,在所述将所述目标候选节点确定为所述管理节点的步骤之后,所述方法还包括:
[0014]获取预设的合约奖励参数和合约惩罚参数;
[0015]对所述零知识证明进行检测,并判断所述零知识证明是否正确;
[0016]若是,则按照所述合约奖励参数对各所述管理节点执行与所述合约奖励参数对应的合约奖励操作;
[0017]若否,则按照所述合约奖励参数对各所述管理节点执行与所述合约惩罚参数对应的合约惩罚操作。
[0018]进一步地,所述方法还包括:
[0019]获取预设的合约触发阈值,根据各所述加密目标参数确定与各所述参与节点对应的参与节点数量,并将所述合约触发阈值与所述参与节点数量进行比对得到比对结果;
[0020]当所述比对结果为所述参与节点数量小于所述合约触发阈值时,对各所述加密目标参数执行退还操作;
[0021]当所述比对结果为所述参与节点数量大于或等于所述合约触发阈值时,执行所述将各所述加密目标参数通过所述区块链内的目标智能合约进行公开得到各公开目标参数的步骤。
[0022]进一步地,所述调用所述区块链内各管理节点对各所述目标输入参数进行离线计算得到第二计算结果的步骤,包括:
[0023]控制各管理节点进入离线模式;
[0024]通过所述离线模式控制各所述管理节点按照所述目标智能合约对应的合约规则对各所述目标输入参数进行计算得到第二计算结果。
[0025]进一步地,所述验证结果包含第一计算结果有效和第一计算结果无效,所述调用所述区块链内的各验证节点对所述第一计算结果行验证得到验证结果的步骤,包括:
[0026]调用各验证节点对各所述公开目标参数进行计算得到第四计算结果,并将所述第四计算结果与所述第一计算结果进行比对得到比对结果;
[0027]当所述比对结果为所述第四计算结果与所述第一计算结果一致时,确定验证结果为所述第一计算结果有效;
[0028]当所述比对结果为所述第四计算结果与所述第一计算结果不一致时,确定所述验证结果为所述第一计算结果无效。
[0029]进一步地,在所述由各所述验证节点将所述验证结果与所述零知识证明部署至所述区块链内的步骤之前,所述方法还包括:
[0030]由各所述参与节点基于各所述目标输入参数得到第三计算结果;
[0031]将所述第三计算结果对所述第二计算结果进行比对并判断所述第三计算结果与所述第二计算结果是否一致;
[0032]若判断到所述第三计算结果与所述第二计算结果一致,则确定所述第二计算结果为有效计算结果;
[0033]若判断到所述第三计算结果与所述第二计算结果不一致,则确定所述第二计算结果为无效计算结果。
[0034]此外,为实现上述目的,本专利技术还提供一种智能合约的执行装置,所述装置包括:
[0035]参数加密模块,用于获取区块链内各参与节点各自对应的目标输入参数,并对各所述目标输入参数进行加密得到各加密目标参数;
[0036]第一计算模块,用于将各所述加密目标参数通过所述区块链内的目标智能合约进行公开得到各公开目标参数,并调用所述目标智能合约对各所述公开目标参数进行计算得到第一计算结果;
[0037]第二计算模块,用于调用所述区块链内各管理节点对各所述目标输入参数进行离
线计算得到第二计算结果,并由各所述管理节点生成与所述第二计算结果对应的零知识证明;
[0038]结果验证模块,用于调用所述区块链内的各验证节点对所述第一计算结果行验证得到验证结果,并由各所述验证节点将所述验证结果与所述零知识证明部署至所述区块链内。
[0039]此外,为实现上述目的,本专利技术还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的智能合约的执行程序,所述智能合约的执行程序被所述处理器执行时实现如上述的智能合约的执行方法的步骤。
[0040]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有智能合约的执行程序,所述智能合约的执行程序被处理器执行时实现如上述的智能合约的调用管理方法的步骤。
[0041]本专利技术实施例提供的智能合约的执行方法、装置、终端设备及计算机可读存储介质,通过获取区块链内各参与节点各自对应的目标输入参数,并对各所述目标输入参数进行加密得到各加密目标参数;将各所述加密目标参数通过所述区块链内的目标智能合约进行公开得到各公开目标参数,并调用所述目标智能合约对各所述公开目标参数进行计算得到第一计算结果;调用所述区块链内各管理节点对各所述目标输入参数进行离线计算得到第二计算结果,并由各所述管理节点生成与所述第二计算结果对应的零知识证明;调用所述区块链内的各验证节点对所述第一计算结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种智能合约的执行方法,其特征在于,所述智能合约的执行方法包括以下步骤:获取区块链内各参与节点各自对应的目标输入参数,并对各所述目标输入参数进行加密得到各加密目标参数;将各所述加密目标参数通过所述区块链内的目标智能合约进行公开得到各公开目标参数,并调用所述目标智能合约对各所述公开目标参数进行计算得到第一计算结果;调用所述区块链内各管理节点对各所述目标输入参数进行离线计算得到第二计算结果,并由各所述管理节点生成与所述第二计算结果对应的零知识证明;调用所述区块链内的各验证节点对所述第一计算结果行验证得到验证结果,并由各所述验证节点将所述验证结果与所述零知识证明部署至所述区块链内。2.如权利要求1所述的智能合约的执行方法,其特征在于,所述方法还包括:在所述区块链内的各所述参与节点中确定各候选节点;获取预设的管理数量阈值,按照所述管理数量阈值在各所述候选节点中随机选择目标候选节点,并将所述目标候选节点确定为所述管理节点。3.如权利要求2所述的智能合约的执行方法,其特征在于,在所述将所述目标候选节点确定为所述管理节点的步骤之后,所述方法还包括:获取预设的合约奖励参数和合约惩罚参数;对所述零知识证明进行检测,并判断所述零知识证明是否正确;若是,则按照所述合约奖励参数对各所述管理节点执行与所述合约奖励参数对应的合约奖励操作;若否,则按照所述合约奖励参数对各所述管理节点执行与所述合约惩罚参数对应的合约惩罚操作。4.如权利要求1所述的智能合约的执行方法,其特征在于,所述方法还包括:获取预设的合约触发阈值,根据各所述加密目标参数确定与各所述参与节点对应的参与节点数量,并将所述合约触发阈值与所述参与节点数量进行比对得到比对结果;当所述比对结果为所述参与节点数量小于所述合约触发阈值时,对各所述加密目标参数执行退还操作;当所述比对结果为所述参与节点数量大于或等于所述合约触发阈值时,执行所述将各所述加密目标参数通过所述区块链内的目标智能合约进行公开得到各公开目标参数的步骤。5.如权利要求1所述的智能合约的执行方法,其特征在于,所述调用所述区块链内各管理节点对各所述目标输入参数进行离线计算得到第二计算结果的步骤,包括:控制各管理节点进入离线模式;通过所述离线模式控制各所述管理节点按照所述目标智能合约对应的合约规则对各所述目标输入参数进行计算得到第二计算结果。6.如权利要求1所述的智能合约的执行方法,其...

【专利技术属性】
技术研发人员:陈涛涛
申请(专利权)人:深圳市沃享科技有限公司
类型:发明
国别省市:

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

1