智能合约执行方法、装置、设备、存储介质和程序产品与流程

文档序号:35928409发布日期:2023-11-04 22:48阅读:20来源:国知局
智能合约执行方法、装置、设备、存储介质和程序产品与流程

本申请涉及区块链,特别是涉及一种智能合约执行方法、装置、设备、存储介质和程序产品。


背景技术:

1、随着区块链技术在多个领域的发展,智能合约作为区块链的重要应用之一,也随之得到了广泛的应用。在实际业务场景中,为满足业务需求,通常需要定时自动执行智能合约。

2、相关技术中,为自动执行智能合约,通常是在区块链外部设置第三方程序,并通过执行第三方程序来判断智能合约的执行条件,若满足执行条件时,则构造事务以触发智能合约运行。

3、然而,相关技术中区块链系统自动执行智能合约的方式存在安全性较低的问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提升区块链系统安全性的智能合约执行方法、装置、设备、存储介质和程序产品。

2、第一方面,本申请提供了一种智能合约执行方法。该方法包括:

3、目标节点监测区块高度;目标节点表示区块链系统中的任一节点;

4、在区块链系统每新增一个区块的情况下,目标节点通过合约引擎执行当前区块高度下的自动执行的智能合约;智能合约存储于区块链系统内的目标预编译合约中。

5、在其中一个实施例中,目标预编译合约中存储有区块链系统中的智能合约列表;目标节点通过合约引擎执行当前区块高度下的自动执行的智能合约,包括:

6、目标节点通过合约引擎从目标预编译合约中获取智能合约列表;智能合约列表包括至少一个自动执行的智能合约;

7、目标节点执行智能合约列表中的各智能合约。

8、在其中一个实施例中,目标节点执行智能合约列表中的各智能合约,包括:

9、目标节点获取智能合约列表中的前置智能合约和后置智能合约;前置智能合约表示执行区块事务前执行的合约;后置智能合约表示执行区块事务后执行的合约;

10、目标节点按照各智能合约预设的执行顺序,分别执行前置智能合约中各智能合约和后置智能合约中的各智能合约。

11、在其中一个实施例中,该方法还包括:

12、目标节点通过更新初始状态哈希值,生成当前区块的状态哈希值;状态哈希值包括正常状态哈希值和增强状态哈希值;正常状态哈希值是根据目标节点执行区块事务得到的;增强状态哈希值是根据目标节点执行区块事务以及自动执行各智能合约得到的;

13、目标节点向区块链系统中其他节点发送状态哈希值,以指示其他节点对状态哈希值进行验证;

14、若其他节点对状态哈希值验证通过,则更新区块链系统中的所有节点的全局状态。

15、在其中一个实施例中,目标节点向区块链系统中其他节点发送状态哈希值,以指示其他节点对状态哈希值进行验证,包括:

16、对于其他节点中任一个节点,若节点支持执行当前区块高度下的自动执行的智能合约,则对增强状态哈希值进行验证;

17、若节点不支持执行当前区块高度下的自动执行的智能合约,则对正常状态哈希值进行验证。

18、在其中一个实施例中,目标预编译合约包括智能合约修改接口、顺序修改接口和合约处理手续费代理地址修改接口;智能合约修改接口用于增加或者删除目标预编译合约中的智能合约;顺序修改接口用于调整目标预编译合约中的智能合约的执行顺序;合约处理手续费代理地址修改接口用于修改目标预编译合约中的智能合约的合约处理手续费代理地址。

19、第二方面,本申请还提供了一种智能合约执行装置。该装置包括:

20、区块监测模块,用于监测区块高度;

21、合约执行模块,用于在区块链系统每新增一个区块的情况下,通过合约引擎执行当前区块高度下的自动执行的智能合约;智能合约存储于区块链系统内的目标预编译合约中。

22、第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述第一方面中任一项实施例中的方法的步骤。

23、第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例中的方法的步骤。

24、第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一项实施例中的方法的步骤。

25、上述智能合约执行方法、装置、设备、存储介质和程序产品,通过目标节点监测区块高度,在区块链系统每新增一个区块的情况下,通过合约引擎执行当前区块高度下的自动执行的智能合约。其中,目标节点表示区块链系统中的任一节点,智能合约存储于区块链系统内的目标预编译合约中。该方法中,区块链系统中的任一节点监测区块高度,并在每新增一个区块的情况下,执行区块链系统内目标预编译合约中的智能合约,相当于在智能合约的执行过程中,区块高度的监测、智能合约执行条件的判定以及智能合约的获取,均是由目标节点负责的,也就是说,智能合约的整体执行流程是在区块链系统内部进行的,这样的执行方式考虑并隔离了区块链系统外部第三方程序对执行过程的影响,能够在一定程度上提升区块链系统执行智能合约的安全性。



技术特征:

1.一种智能合约执行方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述目标预编译合约中存储有所述区块链系统中的智能合约列表;所述目标节点通过合约引擎执行当前区块高度下的自动执行的智能合约,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标节点执行所述智能合约列表中的各智能合约,包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述目标节点向所述区块链系统中其他节点发送所述状态哈希值,以指示所述其他节点对所述状态哈希值进行验证,包括:

6.根据权利要求1-3任一项所述的方法,其特征在于,所述目标预编译合约包括智能合约修改接口、顺序修改接口和合约处理手续费代理地址修改接口;所述智能合约修改接口用于增加或者删除所述目标预编译合约中的智能合约;所述顺序修改接口用于调整所述目标预编译合约中的智能合约的执行顺序;所述合约处理手续费代理地址修改接口用于修改所述目标预编译合约中的智能合约的合约处理手续费代理地址。

7.一种智能合约执行装置,其特征在于,所述装置包括:

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。


技术总结
本申请涉及一种智能合约执行方法、装置、设备、存储介质和程序产品,涉及区块链技术领域。该方法包括:通过目标节点监测区块高度,在区块链系统每新增一个区块的情况下,通过合约引擎执行当前区块高度下的自动执行的智能合约。其中,目标节点表示区块链系统中的任一节点,智能合约存储于区块链系统内的目标预编译合约中。采用本方法能够提升区块链系统自动执行智能合约的安全性。

技术研发人员:魏吉星,王家恒,乐煜炜
受保护的技术使用者:网络通信与安全紫金山实验室
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1