区块链的智能合约安全运行方法、装置和相关设备制造方法及图纸

技术编号:37112296 阅读:36 留言:0更新日期:2023-04-01 05:09
本公开提供一种区块链的智能合约安全运行方法、装置以及电子设备和计算机可读存储介质,涉及区块链技术领域。区块链的智能合约安全运行方法包括:响应于针对目标合约的加载指令,区块链上的第一节点向区块链提供合约签署信息;第一节点接收区块链返回的针对目标合约的同意加载指令,同意加载指令是区块链在确定签署对象是合法对象后生成的,其中确定签署对象是合法对象就是确定目标合约是签署对象在安全环境中通过安全编译方法生成的且业务数据被加密的合约;第一节点响应于同意加载指令,加载所述目标合约。本公开实施例可以提高智能合约的运行安全性。智能合约的运行安全性。智能合约的运行安全性。

【技术实现步骤摘要】
区块链的智能合约安全运行方法、装置和相关设备


[0001]本公开涉及区块链
,尤其涉及一种区块链的智能合约安全运行方法及装置、电子设备和计算机可读存储介质。

技术介绍

[0002]智能合约(smart contract)是一种由事件驱动的、具有状态的代码合约和算法合同,伴随区块链技术而蓬勃发展,智能合约是区块链的核心部分,在技术上得到广泛应用。
[0003]支持图灵完备语言的智能合约虽然具有很强的灵活性,但该智能合约的执行存在安全性问题,导致其在业务上的应用危如累卵,使得业务安全遇到了大量的问题、业务安全性受到严峻挑战。
[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解。

技术实现思路

[0005]本公开的目的在于提供一种区块链的智能合约安全运行方法、装置、电子设备以及计算机可读存储介质,可以提高智能合约的运行安全性。
[0006]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0007]本公开实施例提供了一种区块链的智能合约安全运行方法,包括:响应于针对所述目标合约的加载指令,所述区块链上的第一节点向所述区块链提供合约签署信息;所述第一节点接收所述区块链返回的针对所述目标合约的同意加载指令,所述同意加载指令是所述区块链在确定所述签署对象是合法对象后生成的,其中确定所述签署对象是合法对象就是确定所述目标合约是所述签署对象在安全环境中通过安全编译方法生成的且业务数据被加密的合约;所述第一节点响应于所述同意加载指令,加载所述目标合约。
[0008]在一些实施例中,所述目标合约是所述区块链中的第二节点发布的;其中,在响应于针对所述目标合约的加载指令之前,所述方法还包括:所述第二节点对所述目标合约进行签署,以通过签署信息展示所述目标合约是在安全环境中通过安全编译后生成的;在所述第二节点签署完成后,所述第二节点向所述区块链发送所述目标合约,所述目标合约包括所述合约签署信息;所述第二节点接收所述区块链返回的同意发布指令,所述同意发布指令是所述区块链在确定所述签署对象是合法对象后生成的。
[0009]在一些实施例中,在所述第二节点对所述目标合约进行签署之前,所述方法还包括:所述第二节点对所述目标合约进行安全编译;其中,在所述第二节点对所述目标合约进行安全编译的过程中,检查所述目标合约对应的合约接口以及所述目标合约中的方法是否符合规范;在所述第二节点对所述目标合约进行安全编译的过程中,通过黑名单确定所述目标合约中是否包括禁用包、禁用接口、禁用类以及禁用方法;在确定所述目标合约对应的合约接口和所述目标合约中的方法符合规范,且确定所述目标合约中不包括禁用包、禁用
接口、禁用类和禁用方法时,完成所述目标合约的安全编译,以便在所述目标合约完成安全编译后对所述目标合约进行签署。
[0010]在一些实施例中,所述方法还包括:在确定所述目标合约对应的合约接口或者所述目标合约中的方法不符合规范时,或者确定所述目标合约中包括禁用包、禁用接口、禁用类或者禁用方法时,停止所述目标合约的安全编译并进行报警。
[0011]在一些实施例中,在所述第二节点对所述目标合约进行安全编译之前,所述方法还包括:对所述目标合约中的敏感业务数据进行加密处理,以隐藏所述目标合约中的业务意图。
[0012]在一些实施例中,所述第一节点加载所述目标合约,包括:所述第一节点在目标沙箱中运行所述目标合约,以通过所述目标沙箱隔离所述目标合约对所述第一节点上的区块链的破坏;其中,所述目标沙箱定制有安全策略,所述安全策略用于在运行所述目标合约时对所述目标合约的安全权限进行限制。
[0013]在一些实施例中,所述第一节点加载所述目标合约,包括:所述第一节点通过超时配置限制所述目标合约执行的最长时间;所述第一节点通过资源消耗配置限制所述目标合约的最大资源消耗;所述第一节点通过栈深配置限制所述目标合约的最大调用栈深;如果所述目标合约的执行时长超过所述最长时间或者所述目标合约在的执行消耗超过所述最大资源消耗或者所述目标合约的调用栈深超过所述最大调用栈深,则所述第一节点停止加载所述目标合约。
[0014]本公开实施例提供了一种区块链的智能合约安全运行装置,所述智能合约安全运行装置部署在区块链中;其中,所述智能合约安全运行装置包括:加载指令响应模块,用于响应于针对所述目标合约的加载指令,区块链上的第一节点向所述区块链提供合约签署信息;同意加载指令获取模块,用于通过第一节点接收所述区块链返回的针对所述目标合约的同意加载指令,所述同意加载指令是所述区块链在确定所述签署对象是合法对象后生成的,其中确定所述签署对象是合法对象就是确定所述目标合约是所述签署对象在安全环境中通过安全编译方法生成的且业务数据被加密的合约;加载模块,用于通过第一节点响应于所述同意加载指令,加载所述目标合约。
[0015]本公开实施例提出一种电子设备,该电子设备包括:存储器和处理器;所述存储器用于存储程序指令;所述处理器调用所述存储器存储的所述程序指令,用于实现上述任一项所述的区块链的智能合约安全运行方法。
[0016]本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的区块链的智能合约安全运行方法。
[0017]本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述区块链的智能合约安全运行方法。
[0018]本公开实施例提供的区块链的智能合约安全运行方法、装置及电子设备和计算机可读存储介质,能够在目标合约加载时通过区块链验证该目标合约的签署对象是否是合法对象,进而确定该目标合约是否是签署对象在安全环境中通过安全编译方法生成的且业务数据被加密的合约;并在确定目标合约是签署对象在安全环境中通过安全编译方法生成的
且业务数据被加密的合约时才允许加载该目标合约。上述方案通过签署信息的验证,一方面避免运行了非法对象打包的合约,提高了目标合约的运行的安全性,进而提供了区块链的安全性;另一方面,保证了目标合约是签署对象在安全环境中通过安全编译方法生成的且业务数据被加密的合约,保证了目标合约生成过程的安全性和目标合约中的业务数据的安全性。
[0019]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
[0020]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1A是本专利技术实施例提供的一种区块链的智能合约安全运行系统的架构示意图。...

【技术保护点】

【技术特征摘要】
1.一种区块链的智能合约安全运行方法,其特征在于,所述方法包括:响应于针对所述目标合约的加载指令,所述区块链上的第一节点向所述区块链提供合约签署信息;所述第一节点接收所述区块链返回的针对所述目标合约的同意加载指令,所述同意加载指令是所述区块链在确定所述签署对象是合法对象后生成的,其中确定所述签署对象是合法对象就是确定所述目标合约是所述签署对象在安全环境中通过安全编译方法生成的且业务数据被加密的合约;所述第一节点响应于所述同意加载指令,加载所述目标合约。2.根据权利要求1所述方法,其特征在于,所述目标合约是所述区块链中的第二节点发布的;其中,在响应于针对所述目标合约的加载指令之前,所述方法还包括:所述第二节点对所述目标合约进行签署,以通过签署信息展示所述目标合约是在安全环境中通过安全编译后生成的;在所述第二节点签署完成后,所述第二节点向所述区块链发送所述目标合约,所述目标合约包括所述合约签署信息;所述第二节点接收所述区块链返回的同意发布指令,所述同意发布指令是所述区块链在确定所述签署对象是合法对象后生成的。3.根据权利要求2所述方法,其特征在于,在所述第二节点对所述目标合约进行签署之前,所述方法还包括:所述第二节点对所述目标合约进行安全编译;其中,在所述第二节点对所述目标合约进行安全编译的过程中,检查所述目标合约对应的合约接口以及所述目标合约中的方法是否符合规范;在所述第二节点对所述目标合约进行安全编译的过程中,通过黑名单确定所述目标合约中是否包括禁用包、禁用接口、禁用类以及禁用方法;在确定所述目标合约对应的合约接口和所述目标合约中的方法符合规范,且确定所述目标合约中不包括禁用包、禁用接口、禁用类和禁用方法时,完成所述目标合约的安全编译,以便在所述目标合约完成安全编译后对所述目标合约进行签署。4.根据权利要求3所述方法,其特征在于,所述方法还包括:在确定所述目标合约对应的合约接口或者所述目标合约中的方法不符合规范时,或者确定所述目标合约中包括禁用包、禁用接口、禁用类或者禁用方法时,停止所述目标合约的安全编译并进行报警。5.根据权利要求3所述方法,其特征在于,在所述第二节点对所述目...

【专利技术属性】
技术研发人员:张爽蔡维德王义
申请(专利权)人:北京同邦卓益科技有限公司
类型:发明
国别省市:

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

1