CN111815455A - 一种交易执行方法、系统及装置 - Google Patents
一种交易执行方法、系统及装置 Download PDFInfo
- Publication number
- CN111815455A CN111815455A CN202010924362.5A CN202010924362A CN111815455A CN 111815455 A CN111815455 A CN 111815455A CN 202010924362 A CN202010924362 A CN 202010924362A CN 111815455 A CN111815455 A CN 111815455A
- Authority
- CN
- China
- Prior art keywords
- transaction
- result
- intelligent contract
- processing
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种交易执行方法、系统及装置。所述方法由区块链节点执行,其包括:获取交易;执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。以达到对智能合约的安全监测,提高智能合约的安全性。
Description
技术领域
本说明书涉及区块链技术领域,特别涉及一种交易执行方法、系统及装置。
背景技术
近年来,区块链智能合约因其公开性,其中的任何微小的漏洞都可能被攻击者发现并进行攻击,导致区块链智能合约系统存在安全性低的问题。由此需要一种对智能合约安全监测的方法,以提高智能合约的安全性。
发明内容
本说明书实施例之一提供一种交易执行方法,所述方法由区块链节点执行。所述方法包括:获取交易;执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。
本说明书实施例之一提供一种交易执行系统,所述系统包括:获取模块,用于获取交易;第一执行模块,用于执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;核对请求模块,用于触发核对程序对所述第一处理结果进行核对;第二执行模块,用于基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。
本说明书实施例之一提供一种交易执行装置。所述装置包括处理器。所述处理器可以用于执行以上所述的交易执行方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图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可以用于对区块链网络110所产生的数据进行处理,得到处理结果。例如,第三方设备130可以对区块链网络110上的节点在执行智能合约的时所产生的区块数据进行核对,得到核对结果。在一些实施例中,第三方设备130可以与区块链网络110进行通信。例如,第三方设备130可以将针对于区块数据的核对结果发送至区块链网络110的节点。在一些实施例中,第三方设备130可以包含一个或多个处理设备(例如,单芯处理设备或多核多芯处理设备)。仅仅作为范例,第三方设备130可包含中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。在一些实施例中,第三方设备可以作为区块链用户,通过客户端接入区块链网络110中。
目前,用户可以通过终端120发送交易请求发送至区块链网络110中(例如,由对应的区块链节点接收),经过共识之后,区块链网络110中的各个节点(例如,区块链节点110-1、110-2、110-3…110-n)可以独自地完成交易的处理,例如,调用智能合约以执行交易。当某一节点率先完成交易后,可以将包含有该交易的区块广播至其他节点,其他节点可以以该区块进行核对,确定交易是否有效结果。若核对通过,则该区块将被接受,接入区块链。其他节点可以同步该区块。智能合约(不管是安全的智能合约还是存在漏洞的智能合约)在其执行过程中是无法发现是否本身是否存在问题的,经过代码审计后却依旧存在漏洞的智能合约(例如,审计不完善)一旦开始,则无法通过有效阻止合约的继续执行。而由于区块链的不可篡改性,存在漏洞的智能合约在调用后将会带来不可回溯的损失。
由此,本说明书提出一种交易执行系统,例如,交易处理系统100,在执行智能合约(或称为目标智能合约)的第一交易处理阶段后,通过触发核对程序对执行第一交易处理阶段的处理结果进行核对,以确定智能合约中是否存在漏洞。并基于核对结果,在核对一致时(合约不存在漏洞)则执行智能合约的剩余交易处理阶段(或称为第二交易处理阶段),以得到交易的执行结果。在核对不一致时(合约存在漏洞)则终止处理交易并执行必要的数据回滚。由此达到对智能合约进行安全监测的目的,提高智能合约的安全性。其中,核对程序可以是实现所述目标智能合约的第一交易处理阶段的另一种处理逻辑的代码,换句话说,核对程序可以采用与第一交易处理阶段不同的算法,但可以实现相同计算目的的代码。例如,目标智能合约的第一交易处理阶段是读取第一账户余额,以确定第一账户的余额是否大于转账金额,核对程序则可以是将第一账户的历史交易金额进行计算,统计出其账户余额,以确定第一账户的余额是否大于转账金额。即两者通过不同的算法逻辑实现了获取第一账户余额的相同目的。在一些实施例中,核对程序可以包括对目标智能合约的第一交易处理阶段的补充校验代码,换句话说,核对程序可以对第一交易处理阶段涉及的数据进行校验,以确定对该数据的处理是否合法。例如,第一交易处理阶段是从账户A中扣除目标金额,核对代码则可以是将账户A的余额与目标金额进行比较,当账户A的余额小于目标金额时则认为处理不合法。应当理解,核对程序可以以任意方式达到与第一交易处理阶段的处理结果进行核对的目的,本说明书对此不做限制。在一些实施例中,核对程序可以是部署于区块链网络110中的智能合约。在目标智能合约执行完第一交易处理阶段后,则会自动调用区块链网络110中的核对智能合约对该目标智能合约进行是否存在漏洞的核对过程。在另一些实施例中,核对程序可以是与区块链网络110通信连接的第三方设备130中安装的程序,例如,核对程序可以是第三方设备130中的处理逻辑代码。在目标智能合约执行完第一交易处理阶段后,可以将处理结果存入区块链,第三方设备130可以通过向区块链发起查询交易获取到所述处理结果,通过对获取到的处理结果进行核对,达到检测目标智能合约是否存在漏洞的监测效果。
图2是根据本说明书一些实施例所示的一种交易执行方法的示例性流程图。图2中展示了在交易执行过程中,调用的智能合约与位于同链上的监控该智能合约的核对程序(例如核对智能合约)之间的交互流程。在一些实施例中,流程200可以由区块链网络110中的节点110-1、110-2、110-3…110-n中的任一个执行。在一些实施例中,流程200可以由位于节点之上的交易执行系统400执行。如图2所示,流程200可以包括以下步骤。
步骤202,获取交易。该步骤可以由获取模块410执行。
在一些实施例中,所述交易可以包括用户通过节点对应的终端120发起的,还可以包括接收到的区块链网络110中的其他节点广播的交易。所述交易可以包含有调用的智能合约的信息。例如,交易的data字段可以保存有调用智能合约的方法和参数。获取模块410可以通过与终端120之间进行通信,或与区块链网络110的其他节点之间进行通信,以获取所述交易。
步骤204,执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果。该步骤可以由第一执行模块420执行。
在一些实施例中,所述目标智能合约可以是为了执行交易所需要调用的智能合约。在对所述交易进行处理时,节点(或交易执行系统400)可以执行所述目标智能合约,以完成所述交易的处理。
在一些实施例中,所述目标智能合约可以是多段式的设计。所述目标智能合约可以在开发时,可以通过对字节码的编写,使合约在执行时具有分段处理的能力。例如,所述目标智能合约可以在完成部分数据计算后挂起(比如,暂停后续数据计算/处理),在获取到触发信息(比如,准许继续计算/处理的指令)后继续完成剩余部分的数据计算。
可以知道,当目标智能合约存在漏洞或不完整时,区块链节点执行该目标智能合约时,并不能按照交易的原有期望来完成对应的交易,甚至在完成该交易时会有违规的交易行为产生,对该交易的执行结果产生负面影响。例如,当交易为转账交易,比如用户A给用户B转账一万元,但用户A没有账户余额不足一万元。在智能合约存在漏洞的情况下,攻击者可以通过余额溢出,绕过系统判断,使得一万元转账成功。又例如,基金清算时,基金到期的时候,基金发行公司需要把对应的份额给赎回来,给购买基金的用户发对应的份额,每一份额对应金额。在智能合约存在漏洞的情况下,攻击者可以通过非法行为,比如将某一基金持有人的份额进行改动,获取利益。
由此,所述目标智能合约的多段式设计,可以避免合约在执行时的不可干预性,使得对合约的运行过程进行监控成为可能。当所述目标智能合约被调用时,第一执行模块420将执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程。所述第一交易处理阶段可以是目标智能合约中与交易处理流程相关的部分代码。该部分代码被执行完成时,可以完成所述交易处理流程的部分处理流程。该部分处理流程,可以是所述交易处理流程的整个流程的一部分,也可以是所述交易处理流程的相关处理流程。作为示例,假定所述交易为转账,对应的交易处理流程是完成从账户A向账户B转账目标金额。所述目标智能合约的第一交易处理阶段的执行,可以是完成从账户A中扣除目标金额这一部分处理流程。也可以是从账户A向账户C转账目标金额,完成这一与交易处理流程的相关处理流程。其中,账户C可以是区块链网络110上的一个安全账户。
在一些实施例中,所述第一处理结果可以是所述交易的部分处理流程在处理完毕后生成的处理数据。所述第一处理结果可以至少包括与交易有关的参与方的起始数据,以及变更数据,例如,交易的参与方的账户(包括发送方、接收方)的交易前余额与转账金额的比较结果、交易的参与方的账户的交易前余额、交易后余额等。通过对所述第一处理结果进行核对,可以确保所述交易是否正常,进而判断所述目标智能合约是否存在漏洞而被攻击导致非正常交易被执行。
在一些实施例中,由于所述目标智能合约分段式设计,在所述第一交易处理阶段对应的与交易处理流程相关的部分代码执行完毕结束后,所述目标智能合约的剩余代码部分将处于暂不执行状态(例如,待核对状态,或挂起状态)。从而可以为目标智能合约在执行过程中的核对的实现提供了可能。
步骤206,触发核对程序对所述第一处理结果进行核对。该步骤可以由核对请求模块430执行。
在一些实施例中,所述核对程序可以包括部署于区块链网络110中用于对所述交易相关数据进行核实的核对智能合约。在所述目标智能合约的第一交易处理阶段(交易处理流程相关的部分代码)执行完毕后,所述目标智能合约可以生成调用所述核对智能合约的请求。例如,在目标智能合约开发时写进字节码内。核对请求模块430可以执行该请求,例如,该请求包含有所述核对智能合约的地址、核对智能合约中的函数、输入至核对智能合约的参数等。随后,所述核对智能合约可以被执行。在一些实施例中,所述核对智能合约可以按照不同的处理逻辑得到与第一交易处理阶段相同的目的得处理结果,并将自身的处理结果与第一处理结果进行比较,进而对所述第一处理结果进行核对。例如,第一处理结果可以是交易的参与方的账户(包括发送方、接收方)的交易前余额大于转账金额的比较结果。核对智能合约可以按照不同的处理逻辑,得到其余额比较结果,再将其余额比较结果与第一处理结果进行比较,得到一致或不一致的核对结果。在一些实施例中,所述核对智能合约可以通过对第一交易处理阶段涉及的数据进行校验,进而对所述第一处理结果进行核对,得到合法或非法的核对结果。例如,第一交易处理阶段是从账户A中扣除目标金额,核对智能合约可以对交易的参与方的原有余额与交易金额进行比较,以核对交易是否合法。假定交易的发送账户A的余额为八千元,而作为转账交易的交易金额达到一万元,按照转账逻辑该交易是不能进行的。因此核对智能合约可以判断所述交易为不合法交易。但目标智能合约已经执行了与交易处理流程相关的部分代码,得到了转账金额一万元。这表示所述目标智能合约存在漏洞,被攻击者利用从而导致了交易的执行。进一步地,核对智能合约可以判定所述目标智能合约存在漏洞,具有安全风险。
步骤208,基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。该步骤可以由第二执行模块440执行。
在一些实施例中,所述核对结果可以是第一类结果,如是一致或合法,核对结果也可以是第二类结果时,如不一致,或不合法。第一类核对结果可以说明所述交易的参与方的相关数据符合交易要求,目标智能合约是安全的。第二类核对结果可以说明所述交易的参与方的相关数据不符合交易要求,目标智能合约是不安全的。在一些实施例中,第二执行模块440可以基于所述核对结果,对所述目标智能合约进行进一步调用,以继续所述交易的后续处理。在一些实施例中,当所述核对结果为所述目标智能合约为安全,第二执行模块440可以执行目标智能合约的第二交易处理阶段。所述第二交易处理阶段可以是目标智能合约中与交易处理流程相关的另一部分代码。该另一部分代码被执行完成时,可以完成所述交易处理流程的剩余处理流程。换句话说,所述第一交易处理阶段对应的代码和所述第二处理阶段对应的代码分别执行后,可以完成所述交易。作为示例,假定所述交易为转账,对应的交易处理流程是完成从账户A向账户B转账目标金额。所述目标智能合约的第二交易处理阶段的执行,可以是完成将从账户A中扣除的目标金额转入至账户B这一部分处理流程。也可以是从账户C向账户B转账目标金额,完成这一与交易处理流程的相关处理流程。其中,账户C可以是区块链网络110上的一个安全账户。所述交易的执行结果,则可以包括交易执行成功、交易相关账户的状态更新数据等。
在一些实施例中,当所述核对结果为所述目标智能合约不安全,第二执行模块440可以终止所述交易并执行必要的数据回滚。所述数据回滚可以是将执行所述目标智能合约的第一交易处理阶段完成的所述交易的部分处理流程中涉及的数据恢复至部分处理流程之前的状态。例如,该部分处理流程,可以是所述交易处理流程的部分处理流程,也可以是所述交易处理流程的相关处理流程。作为示例,转账交易中,所述第一交易处理阶段完成的部分处理流程是从转账交易的发送方A账户向接收方C账户(中间账户)转账目标金额。则数据回滚可以是从C账户中扣除目标金额,并将A账户中的余额恢复至转账前的余额数。当所述核对结果是负面的,说明目标智能合约属于不安全合约,存在漏洞。为了交易涉及账户的安全性,不可以继续执行所述目标智能合约。则区块链节点终止对目标合约的执行,并执行数据回滚,以使保证用户账户数据不受到存在漏洞的智能合约的影响。由此,实现即时存在漏洞的智能合约在执行时,也可以判断出智能合约是否存在漏洞,是否具有安全性,实现对智能合约安全监测,提高智能合约的安全性。可以理解,在一些实施例中,当提及终止处理交易时,可以隐含限定了对已执行的部分交易处理导致的数据变更进行回滚,使变更的数据恢复到交易处理以前的状态。
应当注意的是,上述有关图2中的各个步骤的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对图2中的各个步骤进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图3是根据本说明书一些实施例所示的另一种交易执行方法的示例性流程图。图3中展示了在交易执行过程中,调用的智能合约与位于异链上的监控该智能合约的核对程序之间的交互流程。在一些实施例中,流程300可以由区块链网络110中的节点110-1、110-2、110-3…110-n中的任一个执行。在一些实施例中,流程300可以由位于节点之上的交易执行系统400执行。如图3所示,流程300可以包括以下步骤。
步骤302,获取交易。该步骤可以由获取模块410执行。
步骤302可以与步骤202类似,可以参考步骤202的相关描述。
步骤304,执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果。该步骤可以由第一执行模块420执行。
在一些实施例中,所述目标智能合约可以由多个智能合约所组成。每个智能合约可以对应所述交易的处理流程的一部分。由此,可以实现目标智能合约的多段设计。所述目标智能合约的第一交易处理阶段可以包括与所述交易的交易处理流程的部分流程相关的第一智能合约。通多执行所述第一智能合约,可以完成所述交易的部分处理流程。
在一些实施例中,所述交易的部分处理流程,以及所述第一处理结果的描述,可以参考步骤204。在此不再赘述。
步骤306,将第一处理结果写入区块链,以便第三方设备从区块链上获取所述第一处理结果,并通过部署于其上的核对程序对所述第一处理结果进行核对。该步骤可以由核对请求模块430执行。
在一些实施例中,当所述交易的部分处理流程执行完毕后,核对请求模块430可以将所述第一处理结果加入区块。在与其他节点共识后完成区块上链的步骤,以使所述第一处理结果写入区块链,例如,区块链网络110。
可以知道的是,区块数据是公开的。这也可以使的区块链网络110之外的设备可以得到这些数据。所述第三方设备,例如第三方设备130,可以是部署有核对程序的设备,其可以是位于区块链网络110之外,并可以是区块链用户。例如,所述第三方设备可以向区块链网络110发起查询交易,以获得第一处理结果。区块链节点接收到第三方设备的查询交易后,可以执行区块链数据查询的智能合约,得到第一处理结果。在一些实施例中,查询交易中可以包含前述转账交易的标识,以方便查询。区块链节点完成数据查询后,将查询结果返回给第三方设备。第三方设备可以执行所述核对程序,以对所述第一处理处理结果进行核对,进而确定所述目标智能合约中是否存在漏洞,实现对目标智能合约的安全监控。所述核对程序在本质上可以与核对智能合约相同,其更多内容可以参见图2的相关说明。
步骤308,接收来自所述第三方设备的第二交易,所述第二交易包括核对结果。该步骤可以由第二执行模块440执行。
在一些实施例中,所述核对结果的描述可以参考步骤208。
在所述第三方设备完成对第一处理结果的核对时,可以生成所述核对结果。同时,所述第三方设备可以生成基于核对结果向区块链网络110发起第二交易。
由于核对结果的不同,所述第二交易在被第二执行模块440进行处理时,也将导致不同的处理流程。例如,当所述核对结果为第一类结果时,第二执行模块440可以继续调用所述目标智能合约,对所述交易的剩余部分进行处理。若所述核对结果为第二类结果时,第二执行模块440将终止处理交易并执行数据回滚。
步骤310,基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易并执行数据回滚。该步骤可以由第二执行模块440执行。
结合步骤308中的描述,第二执行模块440可以基于核对结果对于所述第二交易有不同的处理流程。在一些实施例中,当区块链节点接收到第二交易时,可以调用新的智能合约对该交易进行处理。此时,目标智能合约的第二交易处理阶段对应的第二智能合约可以由该新的智能合约调用。当核对结果是第一类结果时,第二执行模块440可以执行所述目标智能合约的第二交易处理阶段。当核对结果是第二类结果时,第二执行模块440可以终止处理交易并执行数据回滚。在一些实施例中,所述第二交易处理阶段可以包括与所述交易的交易处理流程的部分流程之外的剩余流程相关的第二智能合约。通过执行所述第二智能合约,可以完成所述交易处理流程的剩余处理流程。换句话说,所述第一交易处理阶段对应的代码和所述第二处理阶段对应的代码再分别执行后,可以完成所述交易。同样的,完成所述交易后,可以得到包括有交易执行成功、交易相关账户的状态更新数据等的交易的执行结果。
在一些实施例中,当所述核对结果为所述目标智能合约不安全,第二执行模块440可以终止所述交易并执行数据回滚。所述数据回滚可以是将执行所述目标智能合约的第一交易处理阶段完成的所述交易的部分处理流程中涉及的数据恢复至部分处理流程之前的状态。具体可参考步骤208。当所述核对结果不一致时,说明目标智能合约属于不安全合约,存在漏洞。为了交易涉及账户的安全性,不可以继续执行所述目标智能合约。则区块链节点终止对目标智能合约的执行,并执行数据回滚,以使保证用户账户数据不受到存在漏洞的智能合约的影响。由此,实现即时存在漏洞的智能合约在执行时,也可以判断出智能合约是否存在漏洞,是否具有安全性,实现对智能合约安全监测,提高智能合约的安全性。
图4是根据本说明书一些实施例所示的交易处理系统的模块图。在一些实施例中,交易执行系统400可以实现于区块链网络110的节点例如节点110-1、110-2、110-3…或110-n中。
如图4所示,交易执行系统400可以包括获取模块410、第一执行模块420、核对请求模块430、以及第二执行模块440。
获取模块410可以用于获取交易。所述交易可以包括用户通过节点对应的终端120发起的,还可以包括接收到的区块链网络110中的其他节点广播的交易。所述交易可以包含有调用的智能合约的信息。例如,交易的data字段可以保存有调用智能合约的方法和参数。获取模块410可以通过与终端120之间进行通信,或与区块链网络110的其他节点之间进行通信,以获取所述交易。
第一执行模块420可以用于执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果。在一些实施例中,所述目标智能合约可以是为了执行交易所需要调用的智能合约。在对所述交易进行处理时,节点(或交易执行系统400)可以执行所述目标智能合约,以完成所述交易的处理。所述目标智能合约可以是多段式的设计。第一执行模块420将执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程。所述第一交易处理阶段可以是目标智能合约中与交易处理流程相关的部分代码。该部分代码被执行完成时,可以完成所述交易处理流程的部分处理流程。该部分处理流程,可以是所述交易处理流程的整个流程的一部分,也可以是所述交易处理流程的相关处理流程。所述第一处理结果可以是所述交易的部分处理流程在处理完毕后生成的处理数据。所述第一处理结果可以至少包括与交易有关的参与方的起始数据,以及变更数据,例如,交易的参与方的账户(包括发送方、接收方)的交易前余额与转账金额的比较结果、交易的参与方的账户的交易前余额、交易后余额等。通过对所述第一处理结果进行核对,可以确保所述交易是否正常,进而判断所述目标智能合约是否存在漏洞而被攻击导致非正常交易被执行。在一些实施例中,由于所述目标智能合约分段式设计,在所述第一交易处理阶段对应的与交易处理流程相关的部分代码执行完毕结束后,所述目标智能合约的剩余代码部分将处于暂不执行状态(例如,待核对状态,或挂起状态)。
在一些实施例中,所述目标智能合约可以由多个智能合约所组成。每个智能合约可以对应所述交易的处理流程的一部分。由此,可以实现目标智能合约的多段设计。所述目标智能合约的第一交易处理阶段可以包括与所述交易的交易处理流程的部分流程相关的第一智能合约。通多执行所述第一智能合约,可以完成所述交易的部分处理流程。
核对请求模块430可以用于触发核对程序对所述第一处理结果进行核对。所述核对程序可以包括部署于区块链网络110中用于对所述交易相关数据进行核实的核对智能合约。在所述目标智能合约的第一交易处理阶段(交易处理流程相关的部分代码)执行完毕后,所述目标智能合约可以生成调用所述核对智能合约的请求。核对请求模块430可以执行该请求,以对所述第一处理结果进行核对。
在一些实施例中,核对请求模块430可以将第一处理结果写入区块链,以便第三方设备从区块链上获取所述第一处理结果,并通过部署于其上的核对程序对所述第一处理结果进行核对。当所述交易的部分处理流程执行完毕后,核对请求模块430可以将所述第一处理结果加入区块。在与其他节点共识后完成区块上链的步骤,以使所述第一处理结果写入区块链,例如,区块链网络110。所述第三方设备可以是位于区块链网络110之外的设备,其可以执行所述核对程序,以对所述第一处理处理结果进行核对,进而确定所述目标智能合约中是否存在漏洞,实现对目标智能合约的安全监控。
在一些实施例中,在所述第三方设备完成对第一处理结果的核对时,可以生成所述核对结果。同时,所述第三方设备可以生成基于核对结果向区块链网络110发起第二交易。
第二执行模块430可以用于基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。在一些实施例中,所述核对结果可以是第一类结果,如是一致或合法,核对结果也可以是第二类结果时,如不一致,或不合法。第一类核对结果可以说明所述交易的参与方的相关数据符合交易要求,目标智能合约是安全的。第二类核对结果可以说明所述交易的参与方的相关数据不符合交易要求,目标智能合约是不安全的。第二执行模块440可以基于所述核对结果,对所述目标智能合约进行进一步调用,以继续所述交易的后续处理。在一些实施例中,当所述核对结果为所述目标智能合约为安全,第二执行模块440可以执行目标智能合约的第二交易处理阶段。所述第二交易处理阶段可以是目标智能合约中与交易处理流程相关的另一部分代码。该另一部分代码被执行完成时,可以完成所述交易处理流程的剩余处理流程。换句话说,所述第一交易处理阶段对应的代码和所述第二处理阶段对应的代码分别执行后,可以完成所述交易。在一些实施例中,当所述核对结果为所述目标智能合约不安全,第二执行模块440可以终止所述交易并执行必要的数据回滚。所述数据回滚可以是将执行所述目标智能合约的第一交易处理阶段完成的所述交易的部分处理流程中涉及的数据恢复至部分处理流程之前的状态。
在一些实施例中,当所述核对结果来自于第三方设备时(例如,来自于第二交易),第二执行模块440可以调用新的智能合约对该交易进行处理。此时,目标智能合约的第二交易处理阶段对应的第二智能合约可以由该新的智能合约调用。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图4中披露的第一执行模块420和第二执行模块440可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。又例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:通过将合约执行分为两个阶段,在合约执行至第一阶段的过程中,触发旁路核对程序对智能合约进行核对,并将核对结果去干预合约的后续阶段的执行步骤,由此达到对合约执行过程的监控,提高了合约的安全性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (13)
1.一种交易执行方法,所述方法由区块链节点执行,其包括:
获取交易;
执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;
触发核对程序对所述第一处理结果进行核对,以便基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。
2.根据权利要求1所述的方法,其中,所述目标智能合约的第一交易处理阶段对应目标智能合约中与交易处理流程相关的部分代码;所述触发核对程序对所述第一处理结果进行核对,包括:
调用核对智能合约对所述第一处理结果进行核对。
3.根据权利要求2所述的方法,其中,所述目标智能合约的第二交易处理阶段对应所述目标智能合约中与交易处理流程相关的另一部分代码;所述基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易,包括:
获取核对智能合约返回的核对结果;
若核对结果为第一类结果,则执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果;
若核对结果为第二类结果,则终止处理所述交易。
4.根据权利要求1所述的方法,其中,所述目标智能合约的第一交易处理阶段对应与交易处理部分流程相关的第一智能合约;所述触发核对程序对所述第一处理结果进行核对,包括:
将所述第一处理结果写入区块链,以便第三方设备从区块链上获取所述第一处理结果,并通过部署于其上的核对程序对所述第一处理结果进行核对。
5.根据权利要求4所述的方法,其中,所述目标智能合约的第二交易处理阶段对应与交易处理另一部分流程相关的第二智能合约;所述基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易,包括:
接收来自所述第三方设备的第二交易,所述第二交易包括核对结果;
若核对结果为第一类结果,则执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果;
若核对结果为第二类结果,则终止处理所述交易。
6.根据权利要求1所述的方法,其中,所述核对程序包括实现所述目标智能合约的第一交易处理阶段的另一种处理逻辑的代码或者包括对目标智能合约的第一交易处理阶段的补充校验代码。
7.一种交易执行系统,其包括:
获取模块,用于获取交易;
第一执行模块,用于执行目标智能合约的第一交易处理阶段以完成所述交易的部分处理流程,得到第一处理结果;
核对请求模块,用于触发核对程序对所述第一处理结果进行核对,
第二执行模块,用于基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易。
8.根据权利要求7所述的系统,其中,所述目标智能合约的第一交易处理阶段对应目标智能合约中与交易处理流程相关的部分代码;为触发核对程序对所述第一处理结果进行核对,所述核对请求模块用于:
调用核对智能合约对所述第一处理结果进行核对。
9.根据权利要求8所述的系统,其中,所述目标智能合约的第二交易处理阶段对应所述目标智能合约中与交易处理流程相关的另一部分代码;为基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易,所述第二执行模块用于:
获取核对智能合约返回的核对结果;
若核对结果为第一类结果,则执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果;
若核对结果为第二类结果,则终止处理所述交易。
10.根据权利要求7所述的系统,其中,所述目标智能合约的第一交易处理阶段对应与交易处理部分流程相关的第一智能合约;为触发核对程序对所述第一处理结果进行核对,所述核对请求模块用于:
将所述第一处理结果写入区块链,以便第三方设备从区块链上获取所述第一处理结果,并通过部署于其上的核对程序对所述第一处理结果进行核对。
11.根据权利要求10所述的系统,其中,所述目标智能合约的第二交易处理阶段对应与交易处理另一部分流程相关的第二智能合约;为基于核对结果,执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果或者终止处理所述交易,所述第二执行模块用于:
接收来自所述第三方设备的第二交易,所述第二交易包括核对结果;
若核对结果为第一类结果,则执行目标智能合约的第二交易处理阶段以得到所述交易的执行结果;
若核对结果为第二类结果,则终止处理所述交易。
12.根据权利要求7所述的系统,其中,所述核对程序包括实现所述目标智能合约的第一交易处理阶段的另一种处理逻辑的代码。
13.一种交易执行装置,其中,所述装置包括处理器,所述处理器用于执行权利要求1-6所述的区块链的交易执行方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010924362.5A CN111815455B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
CN202110395679.9A CN113191895B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010924362.5A CN111815455B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395679.9A Division CN113191895B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111815455A true CN111815455A (zh) | 2020-10-23 |
CN111815455B CN111815455B (zh) | 2021-02-26 |
Family
ID=72859979
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395679.9A Active CN113191895B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
CN202010924362.5A Active CN111815455B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395679.9A Active CN113191895B (zh) | 2020-09-04 | 2020-09-04 | 一种交易执行方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113191895B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117478716B (zh) * | 2023-12-27 | 2024-04-05 | 珠海格力电器股份有限公司 | 设备的通信方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976231A (zh) * | 2016-06-24 | 2016-09-28 | 深圳前海微众银行股份有限公司 | 基于区块链智能合约的资产管理方法及节点 |
CN107862600A (zh) * | 2017-10-24 | 2018-03-30 | 深圳四方精创资讯股份有限公司 | 基于区块链的银行汇款方法及其系统 |
CN109360091A (zh) * | 2018-08-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种基于区块链的随机对象选取方法和装置 |
CN109978681A (zh) * | 2019-03-20 | 2019-07-05 | 银清科技(北京)有限公司 | 人民币跨境业务核对的方法和装置 |
CN110163634A (zh) * | 2019-04-29 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 基于区块链的退款方法和装置、电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407430B (zh) * | 2016-09-27 | 2019-09-03 | 北京天德科技有限公司 | 一种基于阶段桶的复杂智能合约状态同步方法 |
US11055703B2 (en) * | 2017-06-19 | 2021-07-06 | Hitachi, Ltd. | Smart contract lifecycle management |
CN107833060B (zh) * | 2017-11-13 | 2020-12-25 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
SG11201907243UA (en) * | 2018-12-28 | 2019-09-27 | Alibaba Group Holding Ltd | Parallel execution of transactions in a blockchain network based on smart contract whitelists |
CN110033244B (zh) * | 2019-03-15 | 2021-10-22 | 创新先进技术有限公司 | 基于区块链的智能合约执行方法及装置和电子设备 |
CN110276689B (zh) * | 2019-06-19 | 2023-05-02 | 辽宁大学 | 基于动态决策的智能合约实现方法 |
CN110517140B (zh) * | 2019-08-26 | 2020-08-04 | 华东师范大学 | 一种区块链智能合约交易并发执行方法 |
CN110809042B (zh) * | 2019-10-31 | 2022-07-12 | 杭州云象网络技术有限公司 | 一种基于de bruijn序列生成技术的智能合约分片存储方法 |
-
2020
- 2020-09-04 CN CN202110395679.9A patent/CN113191895B/zh active Active
- 2020-09-04 CN CN202010924362.5A patent/CN111815455B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976231A (zh) * | 2016-06-24 | 2016-09-28 | 深圳前海微众银行股份有限公司 | 基于区块链智能合约的资产管理方法及节点 |
CN107862600A (zh) * | 2017-10-24 | 2018-03-30 | 深圳四方精创资讯股份有限公司 | 基于区块链的银行汇款方法及其系统 |
CN109360091A (zh) * | 2018-08-30 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种基于区块链的随机对象选取方法和装置 |
CN109978681A (zh) * | 2019-03-20 | 2019-07-05 | 银清科技(北京)有限公司 | 人民币跨境业务核对的方法和装置 |
CN110163634A (zh) * | 2019-04-29 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 基于区块链的退款方法和装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111815455B (zh) | 2021-02-26 |
CN113191895B (zh) | 2022-04-26 |
CN113191895A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kalra et al. | Zeus: analyzing safety of smart contracts. | |
TWI739432B (zh) | 智能風控決策方法及系統、業務處理方法及系統 | |
US10509779B2 (en) | Self-cleaning token vault | |
US20190386834A1 (en) | Blockchain management apparatus, blockchain management method, and program | |
JP2019083013A (ja) | ブロックチェーン内でスマートコントラクトをセキュア化する方法およびシステム | |
KR20190111037A (ko) | 컨소시엄 블록체인에 의한 스마트 계약 업그레이드 방법 및 시스템 | |
US10673831B2 (en) | Systems and methods for automating security controls between computer networks | |
JP2018535490A (ja) | サービス処理方法及び装置 | |
US20200201838A1 (en) | Middleware to automatically verify smart contracts on blockchains | |
WO2012054252A2 (en) | Application usage policy enforcement | |
CN111770112B (zh) | 一种信息共享方法、装置及设备 | |
Hwang et al. | CodeNet: Code-targeted convolutional neural network architecture for smart contract vulnerability detection | |
Liu et al. | Smacs: smart contract access control service | |
CN111815455B (zh) | 一种交易执行方法、系统及装置 | |
CN109889477A (zh) | 基于可信密码引擎的服务器启动方法及装置 | |
CN111028077B (zh) | 一种基于输入过滤器的智能合约防护方法及系统 | |
JP6926349B2 (ja) | 商用オフザシェルフ又はモノのインターネットデバイスを使用して安全な金融取引を処理するための方法 | |
CN117495544A (zh) | 一种基于沙箱的风控评估方法、系统、终端及存储介质 | |
CN113051624A (zh) | 基于类型检测的智能合约信息流完整性验证方法及系统 | |
CN109727040B (zh) | 数据发布方法、数据调用方法、设备和存储介质 | |
CN110580624B (zh) | 链码升级方法及装置 | |
CN115170312A (zh) | 区块链上资产状态信息变更方法及装置 | |
US11743051B2 (en) | Blockchain machine compute acceleration engine with a block verify and a block validate | |
CN111273897A (zh) | 一种区块链资源消耗方法、装置、储存介质及电子设备 | |
CN117726343B (zh) | 区块链中智能合约的执行监管方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |