区块链智能合约安全运行方法、装置、设备及存储介质制造方法及图纸

技术编号:36032732 阅读:15 留言:0更新日期:2022-12-21 10:35
本发明专利技术属于区块链技术领域,解决了现有基于区块链网络进行交易存在数据泄露,所导致的区块链技术推广难的技术问题,提供了一种区块链智能合约安全运行方法、装置、设备及存储介质。该方法包括:获取区块链网络上对合约源码进行加密的目标合约;利用与目标合约对应的密钥进行目标合约解密,得到目标合约当前的业务状态数据;基于目标合约当前的业务状态数据执行目标合约的本次交易,并利用本次交易的交易数据对目标合约的业务状态数据进行更新,然后再次对完成状态数据更新后的目标合进行加密并上传至区块链网络。本发明专利技术既能避免目标合约的非合约ID信息被区块链网络上的任意用户获取,同时又能利用区块链网络的防篡改特点来提高用户的体验效果。高用户的体验效果。高用户的体验效果。

【技术实现步骤摘要】
区块链智能合约安全运行方法、装置、设备及存储介质


[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]根据所述业务请求参数的合约ID信息,从所述区块链网络调取与所述合约ID信息对应的所述目标合约至隐私网关;
[0027]根据所述隐私网关的预设私钥对所述目标合约进行解密,得到所述目标合约当前的业务状态数据,其中,所述私钥与对所述目标合约进行加密的公钥构成密钥对。
[0028]优选地,所述基于所述目标合约当前的业务状态数据执行所述目标合约的本次交易,得到所述目标合约本次交易的交易数据包括:
[0029]获取业务请求方的合约执行参数和当前的业务状态数据;
[0030]根据所述合约执行参数和当前的业务状态数据,在可信执行环境执行与所述合约执行参数对应的交易,生成所述交易数据;
[0031]其中,所述可行执行环境为在芯片层面上单独划分出来的一片区域,该区域用于为代码的执行和数据的存储提供一个更加安全的执行空间。
[0032]优选地,所述根据所述交易数据对所述目标合约当前的业务状态数据进行更新,并再次加密后上传至区块链网络包括:
[0033]获取业务请求方发出的业务请求的业务类型;
[0034]根据所述业务类型对所述交易数据进行筛选,得到用于更新所述目标合约当前的业务状态数据的有效数据;
[0035]利用所述有效数据对所述目标合约当前的业务状态数据进行更新,并再次加密后上传至区块链网络。
[0036]本专利技术还提供了一种区块链智能合约安全运行装置,包括:
[0037]合约获取模块:用于获取区块链网络上的目标合约,其中,所述目标合约为对合约源码进行加密后存储在区块链网络的智能合约;
[0038]合约解密模块:用于利用与所述目标合约对应的密钥进行所述目标合约解密,得
到所述目标合约当前的业务状态数据;
[0039]交易执行模块:用于基于所述目标合约当前的业务状态数据执行所述目标合约的本次交易,得到所述目标合约本次交易的交易数据;
[0040]合约更新模块,用于根据所述交易数据对所述目标合约当前的业务状态数据进行更新,并再次加密后上传至区块链网络。
[0041]本专利技术还提供了一种电子设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现上述任一项所述的方法。
[0042]本专利技术还提供了一种介质,其上存储有计算机程序指令,当所述计算机程序指令被处理器执行时实现上述任一项所述的方法。
[0043]综上所述,本专利技术的有益效果如下:
[0044]本专利技术提供的区块链智能合约安全运行方法,利用隐私网关对智能合约的合约源码进行加密后得到目标合约,然后将目标合约上传至区块链网络;当目标合约完成对应的交易时,隐私网关通过目标合约在区块链网络上的合约ID信息将目标合约从区块链网络上提取至隐私网关,并利用隐私网关的私钥进行解密得到目标合约当前的业务状态数据,然后基于该当前的业务状态数据进行本次交易;在完成交易后再次对目标合约进行加密后上传至区块链网络,本专利技术能够避免目标合约的非合约ID信息被区块链网络上的任意用户获取,同时又能利用区块链网络的防篡改特点来提高用户的体验效果。
附图说明
[0045]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,这些均在本专利技术的保护范围内。
[0046]图1为本专利技术实施例1中区块链智能合约安全运行方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链智能合约安全运行方法,其特征在于,所述方法包括:获取区块链网络上的目标合约,其中,所述目标合约为对合约源码进行加密后存储在区块链网络的智能合约;利用与所述目标合约对应的密钥进行所述目标合约解密,得到所述目标合约当前的业务状态数据;基于所述目标合约当前的业务状态数据执行所述目标合约的本次交易,得到所述目标合约本次交易的交易数据;根据所述交易数据对所述目标合约当前的业务状态数据进行更新,并再次加密后上传至区块链网络。2.根据权利要求1所述的区块链智能合约安全运行方法,其特征在于,区块链网络上的所述目标合约包括:获取完成签名的基础合约,其中,所述基础合约为需要完成合约源码加密后再存储至区块链网络上的所述智能合约;根据所述基础合约的合约参数,对所述基础合约的合约信息进行验证,生成所述基础合约的验证信息;对所述验证信息符合要求的所述基础合约进行合约源码加密,得到所述目标合约,并上传至区块链网络。3.根据权利要求2所述的区块链智能合约安全运行方法,其特征在于,所述基础合约包括:获取具有第一签名信息的合约文件,其中,所述第一签名信息为非合约发起方的签名信息;根据所述第一签名信息,合约发起方对所述合约文件进行签名,生成第二签名信息,得到所述基础合约;其中,所述基础合约为包含所述第一签名信息和所述第二签名信息的所述合约文件。4.根据权利要求2所述的区块链智能合约安全运行方法,其特征在于,所述根据所述基础合约的合约参数,对所述基础合约的合约信息进行验证,生成所述基础合约的验证信息包括:获取所述基础合约的合约参数;根据所述合约参数的各签名信息,隐私网关从区块链网络调取与各所述签名信息对应的身份信息;利用各所述身份信息,所述隐私网关对所述基础合约的各签名信息进行线下验证,生成所述验证信息;其中,所述身份信息与所述签名信息一一对应。5.根据权利要求1所述的区块链智能合约安全运行方法,其特征在于,所述利用与所述目标合约对应的密钥进行所述目标合约解密,得到所述目标合约当前的业务状态数据包括:获取业务请求方的业务请求参数;根据所述业务请求参数的合约ID信息,从所述区块链网络调取与所述合约ID信息对应的所述目标合约至隐私网关;
根据所述隐...

【专利技术属性】
技术研发人员:唐坤邓柯
申请(专利权)人:成都质数斯达克科技有限公司
类型:发明
国别省市:

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

1