一种交易执行方法、系统及装置制造方法及图纸

技术编号:29492451 阅读:18 留言:0更新日期:2021-07-30 19:04
本说明书实施例公开了一种交易执行方法、系统及装置。所述方法由区块链节点执行,其包括:获取交易;执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。以达到对智能合约的安全监测,提高智能合约的安全性。

【技术实现步骤摘要】
一种交易执行方法、系统及装置分案说明本申请是针对申请日为2020年09月04日、申请号为202010924362.5、专利技术名称为“一种交易执行方法、系统及装置的”的中国申请提出的分案申请。
本说明书涉及区块链
,特别涉及一种交易执行方法、系统及装置。
技术介绍
近年来,区块链智能合约因其公开性,其中的任何微小的漏洞都可能被攻击者发现并进行攻击,导致区块链智能合约系统存在安全性低的问题。由此需要一种对智能合约安全监测的方法,以提高智能合约的安全性。
技术实现思路
本说明书实施例之一提供一种交易执行方法,所述方法由区块链节点执行。所述方法包括:获取交易;执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。本说明书实施例之一提供一种交易执行系统,所述系统包括:获取模块,用于获取交易;第一执行模块,用于执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;核对请求模块,用于触发核对程序对所述第一处理结果进行核对;第二执行模块,用于基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。本说明书实施例之一提供一种交易执行装置。所述装置包括处理器。所述处理器可以用于执行以上所述的交易执行方法。附图说明本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本说明书一些实施例所示的交易处理系统的应用场景示意图;图2是根据本说明书一些实施例所示的一种交易执行方法的示例性流程图;图3是根据本说明书一些实施例所示的另一种交易执行方法的示例性流程图;图4是根据本说明书一些实施例所示的交易执行系统的示例性模块图。具体实施方式为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。为了保证智能合约能够按期望安全地完成执行任务,在一些实施例中,会对智能合约进行安全检测,待检测通过后将智能合约部署到区块链上。目前的一种做法是对智能合约做代码的安全审计(含形式化验证等自动化方式),例如,通过机器(例如,模型或算法)或人工进行代码审核。倘若对智能合约的代码做安全审计的人员不专业或不了解本领域代码规则时,或用于智能合约的代码安全审计的机器不够完善时,则可能不会发现智能合约中的漏洞、或未完全发现其中的漏洞,存在漏洞的智能合约运行时就会问题。本说明书一些实施例提出了一种在智能合约的执行过程中,触发旁路(例如,一个具有信息核对功能的处理逻辑代码)以对智能合约的处理结果(如中间处理结果)进行核对,并利用旁路核对结果干预智能合约的执行步骤,可以达到在智能合约的执行过程中对其进行安全监测的效果,提高智能合约的安全性。以下是对该方案的详细描述。图1是根据本说明书一些实施例所示的交易执行系统的应用场景示意图。交易处理系统100可以用于区块链领域。例如,交易处理系统100可以通过获取到的交易触发相应智能合约的执行。在目标智能合约的部分处理流程执行完毕后可以完成交易的第一交易处理阶段。随后,可以通过触发核对核对程序对执行第一交易处理阶段的第一处理结果进行核对,便基于核对结果,执行目标智能合约的第二交易处理阶段以得到交易的执行结果,或者终止处理交易。由此,可以通过作为旁路的核对程序对智能合约执行过程中的部分执行结果进行核对,并根据核对结果去干预智能合约的后续执行步骤。因此,通过该系统可以对智能合约进行安全监测,提高智能合约的安全性。如图1所示,交易处理系统100可以包含区块链网络110、终端120、以及第三方设备130。区块链网络110可以由多个节点组成,包括节点110-1、110-2、110-3…110-n。每个节点上可以安装有虚拟机(例如,EVM/WASM),其可以用于运行智能合约。在一些实施例中,节点可以有其对应的客户端,例如,区块链用户的的终端设备(如终端120)或者终端应用。区块链网络110中的节点可以接收来自于与其对应的客户端的交易请求,也可以接收来自与其他节点广播的交易请求。交易请求可以包括调用的智能合约,例如智能合约的地址、智能合约中的函数和输入的参数。在交易请求经过共识后,区块链网络110中的各个节点可以各自独立地执行调用的智能合约。例如,节点可以根据智能合约的地址将合约的字节码从存储载入到虚拟机中,由虚拟机中的解释器会字节码代表的指令流进行解释和执行,从而执行智能合约。终端120可以是一种具有数据处理功能的设备的终端,可包括手机120-1、平板电脑120-2、笔记本电脑120-3、计算机120-4等中的一种或任意组合。终端120的使用者可以是区块链用户。例如,终端120可以是区块链网络110中的节点对应的客户端,或者客户端的一部分。一方面,终端120的使用者(本说明书中也可以称为“用户”)可以在其上进行智能合约的开发,例如,编写智能合约的字节码,或使用高级编程语言比如Solidity编写智能合约代码,经过编译器编译后生成字节码。进而可以将字节码部署到区块链网络110上。另一方面,终端120的使用者可以通过终端120发送交易请求,比如调用部署的智能合约的交易请求至对应的节点。经过共识后节点可以执行调用的智能合约。对于智能合约的部署,终端120的使用者可以通过终端120发送创建智能合约的交易请求至区块链网络110上,经过共识后由区块链网络110的各个节点执行这个交易,完成智能合约的部署。第三方设备130可以是具备数据处理功能的设备,例如,计算机或计算机集群。第三方设备130可以用于本文档来自技高网...

【技术保护点】
1.一种交易执行方法,所述方法由区块链节点执行,其包括:/n获取交易;/n执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;所述目标智能合约的第一交易处理阶段对应目标智能合约中与交易处理流程相关的部分代码;/n触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易;所述目标智能合约的第二交易处理阶段对应所述目标智能合约中与交易处理流程相关的另一部分代码。/n

【技术特征摘要】
1.一种交易执行方法,所述方法由区块链节点执行,其包括:
获取交易;
执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;所述目标智能合约的第一交易处理阶段对应目标智能合约中与交易处理流程相关的部分代码;
触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易;所述目标智能合约的第二交易处理阶段对应所述目标智能合约中与交易处理流程相关的另一部分代码。


2.根据权利要求1所述的方法,其中,所述触发核对程序对所述第一处理结果进行核对,包括:
调用核对智能合约对所述第一处理结果进行核对。


3.根据权利要求2所述的方法,其中,所述基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易,包括:
获取核对智能合约返回的核对结果;
若核对结果为第一类结果,则执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果;
若核对结果为第二类结果,则终止处理所述交易。


4.根据权利要求1所述的方法,其中,所述核对程序包括实现所述目标智能合约的第一交易处理阶段的另一种处理逻辑的代码或者包括对目标智能合约的第一交易处理阶段的补充校验代码。


5.一种交易执行系统,其包括:
获取模块,用于获取交易;<...

【专利技术属性】
技术研发人员:吕宏郝兴
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1