CN109118364A - 异步执行智能合约的方法、装置、计算机设备及存储介质 - Google Patents
异步执行智能合约的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109118364A CN109118364A CN201810978791.3A CN201810978791A CN109118364A CN 109118364 A CN109118364 A CN 109118364A CN 201810978791 A CN201810978791 A CN 201810978791A CN 109118364 A CN109118364 A CN 109118364A
- Authority
- CN
- China
- Prior art keywords
- contract
- transaction
- block
- result
- packaged
- 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.)
- Pending
Links
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
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Abstract
本发明涉及智能合约领域,尤其涉及一种异步执行智能合约的方法、装置计算机设备及存储介质,应用于区块链网络,该方法包括:通过合约发起者发起合约调用交易并在区块链网络中进行广播;通过全网打包节点将所述合约调用交易打包存入第一区块;通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块内的所述合约返回结果交易,若结果一致,则交易完成。通过将合约交易拆分为合约调用交易和合约返回结果交易,并异步执行,有效解决了原智能合约区块链交易打包拥塞的问题,而且合约交易是否完成不会影响账户的转账功能。
Description
技术领域
本发明涉及智能合约领域,尤其涉及一种异步执行智能合约的方法、装置、计算机设备及存储介质。
背景技术
随着区块链技术的不断发展与流行,智能合约也被更多的人熟知,智能合约是一种基于比特币的脚本验证系统并进行拓展成为图灵完备的脚本系统,其最大优势在于脚本逻辑可以由用户根据自己的业务系统进行编码定制,所以,支持智能合约已成为区块链发展的必然。
现有技术对于智能合约的执行,均采用同步、顺序执行方式进行,即挖矿线程在交易打包中执行合约并更新合约状态,在该种执行方式下,挖矿线程必须阻塞等待合约调用完成之后,才能更新数据状态,而如果合约执行时间太长,会导致区块链交易打包拥塞,影响区块链网络中新区块的产生速度,同时,由于合约未执行,合约发起账户的后续转账也被阻塞无法进行。
发明内容
本本发明的目的在于克服现有技术的缺陷,提供一种异步执行智能合约的方法,解决上述技术问题。
本发明实现上述目的的技术方案为:
一种异步执行智能合约的方法,应用于区块链网络,包括:
通过合约发起者发起合约调用交易并在区块链网络中进行广播;
通过全网打包节点将所述合约调用交易打包存入第一区块;
通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
本发明还提供一种异步执行智能合约的装置,包括:
发起单元:用于发起合约调用交易并在区块链网络中进行广播;
打包单元:用于将所述合约调用交易打包存入第一区块;
挖矿单元:用于执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
验证单元:用于分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述一种异步执行智能合约的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述一种异步执行智能合约的方法的步骤。
本发明取得的有益技术效果:通过将合约交易拆分为合约调用交易和合约返回结果交易,并对两者异步执行,区块链网络内的节点只需要完成合约调用交易即可开始执行下一个合约调用交易或普通转账交易,相较于现有的顺序执行,不需要等待合约执行完成,不会造成网络堵塞;并且,将合约调用与合约返回结果异步执行,合约发起账户只需要保证合约调用交易执行完成,不管合约交易是否执行完成,都可以进行普通转账交易,提高用户的交易体验。
附图说明
图1示出了适于本发明实施例提供的一种异步执行智能合约的方法的实施环境示意图;
图2示出了适于本发明实施例提供的一种异步执行智能合约的方法流程图;
图3示出了适于本发明实施例提供的一种异步执行智能合约的方法的合约交易流程图;
图4示出了适于本实施例提供的一种异步执行智能合约方法的验证过程流程图;
图5示出了适于本实施例提供的一种异步执行智能合约装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例,通过将合约交易拆分为合约调用交易和合约返回结果交易,并对两者异步执行,确保智能合约执行时区块链网络交易打包的顺畅进行的同时,在合约未执行的情况下,也不会阻塞合约发起账户的普通转账调用。
实施例一
图1示出了适于本发明实施例提供的一种异步执行智能合约的方法的实施环境示意图。
用户发起合约交易,各个节点对合约进行打包、执行、挖矿验证,确保合约顺利进行。
图2示出了适于本发明实施例提供的一种异步执行智能合约的方法的步骤流程图。
图3示出了适于本发明实施例提供的一种异步执行智能合约的方法的合约交易流程图。
在图3中,state1、state2……staten代表区块,交易签名验证是指用户在客户端交易密码进行验证,包括但不限于输入密码、录入指纹、私钥签名、CA证书签名等,当密码验证不通过时,交易被抛弃,无法继续进行;虚拟机执行合约是指在虚拟机当中执行,创世块是指整个区块链网络中最早创建的区块。
在步骤S101中,通过合约发起者发起合约调用交易并在区块链网络中进行广播。
在本发明实施例中,合约发起者是指需要执行智能合约的属于区块链网络节点的用户终端,当该用户终端需要签订智能合约(contract)时,会将智能合约的调用作为一个合约调用交易(tx1)发起,并将该合约调用交易(tx1)在整个区块链网络中进行广播。其中,该用户终端包括但不限于手机、电脑、平板。
在步骤S102中,通过全网打包节点将所述合约调用交易打包存入第一区块。
在本发明实施例中,第一区块(state1)是指存有合约调用交易数据(tx1)的区块。
全网打包节点是指整个区块链网络内的能够对数据进行打包的网络节点,网络节点是指一个具有独立地址和具有传送和接收数据功能的网络相连的一台电脑或者其他设备,包括但不限于工作站、客户、网络用户或个人计算机等。打包是指对一个或多个文件数据进行压缩,压制成一个压缩文件包,这样既可以节省存储空间,又方便数据在网络间的传送。当某个打包节点(node1)接收到合约调用交易数据(tx1)后,会将该合约调用交易数据(tx1)打包存入第一块(state1)。
进一步的,当某个打包节点(node1)接收到合约调用交易数据(tx1)后,将所述合约调用交易数据(tx1)同时存入第一待打包交易队列和第一合约队列;当该打包节点(node1)将合约调用交易数据(tx1)存入第一待打包交易队列后,打包节点(node1)开始在第一待打包交易队列中选取交易进行打包,当选取到合约调用交易数据(tx1)时,将该合约调用交易数据(tx1)打包存入第一区块(state1),并广播所述第一区块(state1)。
其中,第一待打包交易和第一合约队列是指接收到合约调用交易数据(tx1)的打包节点(node1)自身所创建的队列。
在步骤S103中,通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块。
在本发明实施例中,第一挖矿节点(node2)是指某一个调用合约调用交易(tx1)的挖矿节点,第一挖矿节点(node2)会执行合约调用交易(tx1),其执行过程由虚拟机完成,根据执行结果,第一挖矿节点(node2)会创建合约返回结果交易(tx2),并将合约返回结果交易数据(tx2)打包存入第二区块(state2)。
其中,第二区块(state2)是指存有合约返回结果交易数据(tx2)的区块。
具体的,当挖矿节点在执行挖矿任务时,接收到到合约调用交易数据(tx1)的第一挖矿节点(node2)会通过虚拟机执行合约调用交易(tx1),并根据执行结果创建合约返回结果交易(tx2),然后将合约返回结果交易数据(tx2)存入第二待打包交易队列和第二合约队列;然后第一挖矿节点(node2)对第二打包交易队列中的交易进行打包时,会将合约返回结果交易数据(tx2)打包进第二区块(state2),并广播第二区块(state2)。
其中第二待打包交易队列和第二合约队列是第一挖矿节点(node2)自身创建的队列。
在步骤S104中,通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
在本发明实施例中,步骤S104是对第一挖矿节点(node2)执行结果的验证,图4示出了实用本实施例提供的一种异步执行智能合约方法的验证过程流程图。
验证节点是指区块链网络中除去第一挖矿节点(node2)的其它挖矿节点,验证节点会对第一挖矿节点(node2)的执行结果进行验证,只有所有的验证节点对第一挖矿节点(node2)的执行结果都验证通过后,交易才能完成。
验证节点在接收到区块(state2)之后,获取区块(state2)内的交易数据,当该交易是合约返回结果交易(tx2)时,在虚拟机内执行区块(state1)内合约调用交易(tx1)并返回返回合约执行结果(tx2'),对两个执行结果的哈希值(哈希算法是本领域常用的一种算法,具有文件校验功能,本文不再做介绍)进行对比(hash(tx2')==hash(tx2)?),当两者的哈希值相等时,该验证节点的验证才算通过,当所有的验证节点都验证通过时,该交易验证通过,交易完成。
进一步的,若结果不一致,则判定所述第二区块内的所述合约返回结果交易为非法交易,判定所述第二区块为非法区块且将不被节点接受。
当第二区块(state2)被判定为非法区块时,第二区块(state2)内的合约返回结果交易数据(tx2)将会作废,需要重新进入步骤S103,直到交易完成。
本发明实施例通过将合约交易拆分为合约调用交易和合约返回结果交易,并对两者异步执行,区块链网络内的节点只需要完成合约调用交易即可开始执行下一个合约交易,相较于现有的顺序执行,不需要等待合约执行完成,不会造成网络堵塞;并且,将合约调用与合约返回结果异步执行,合约发起账户只需要保证合约调用交易执行完成,不管合约交易是否执行完成,都可以进行普通转账交易,提升用户交易体验。
实施例二
图5示出了本发明实施例提供的一种异步执行智能合约装置的结构示意图,应用于区块链网络,为了说明方便,仅示出与本发明相关的部分。
在本发明实施例中,异步执行智能合约装置包括发起单元510、打包单元520、挖矿单元530以及验证单元540。
发起单元510,用于发起合约调用交易并在区块链网络中进行广播;
在本发明实施例中,合约发起者是指需要执行智能合约的属于区块链网络节点的用户终端,当该用户终端需要签订智能合约(contract)时,会将智能合约的调用作为一个合约调用交易(tx1)发起,并将该合约调用交易(tx1)在整个区块链网络中进行广播。其中,该用户终端包括但不限于手机、电脑、平板。
打包单元520,用于将所述合约调用交易打包存入第一区块;
在本发明实施例中,第一区块(state1)是指存有合约调用交易数据(tx1)的区块。
全网打包节点是指整个区块链网络内的能够对数据进行打包的网络节点,网络节点是指一个具有独立地址和具有传送和接收数据功能的网络相连的一台电脑或者其他设备,包括但不限于工作站、客户、网络用户或个人计算机等。打包是指对一个或多个文件数据进行压缩,压制成一个压缩文件包,这样既可以节省存储空间,又方便数据在网络间的传送。当某个打包节点(node1)接收到合约调用交易数据(tx1)后,会将该合约调用交易数据(tx1)打包存入第一块(state1)。
进一步的,当某个打包节点(node1)接收到合约调用交易数据(tx1)后,将所述合约调用交易数据(tx1)同时存入第一待打包交易队列和第一合约队列;当该打包节点(node1)将合约调用交易数据(tx1)存入第一待打包交易队列后,打包节点(node1)开始在第一待打包交易队列中选取交易进行打包,当选取到合约调用交易数据(tx1)时,将该合约调用交易数据(tx1)打包存入第一区块(state1),并广播所述第一区块(state1)。
其中,第一待打包交易和第一合约队列是指接收到合约调用交易数据(tx1)的打包节点(node1)自身所创建的队列。
挖矿单元530,用于执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
在本发明实施例中,第一挖矿节点(node2)是指某一个调用合约调用交易(tx1)的挖矿节点,第一挖矿节点(node2)会执行合约调用交易(tx1),其执行过程由虚拟机完成,根据执行结果,第一挖矿节点(node2)会创建合约返回结果交易(tx2),并将合约返回结果交易数据(tx2)打包存入第二区块(state2)。
其中,第二区块(state2)是指存有合约返回结果交易数据(tx2)的区块。
具体的,当挖矿节点在执行挖矿任务时,接收到合约调用交易数据(tx1)的第一挖矿节点(node2)会通过虚拟机执行合约调用交易(tx1),并根据执行结果创建合约返回结果交易(tx2),然后将合约返回结果交易数据(tx2)存入第二待打包交易队列和第二合约队列;然后第一挖矿节点(node2)对第二打包交易队列中的交易进行打包时,会将合约返回结果交易数据(tx2)打包进第二区块(state2),并广播第二区块(state2)。
其中第二待打包交易队列和第二合约队列是第一挖矿节点(node2)自身创建的队列。
验证单元540,用于分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
在本发明实施例中,步骤S104是对第一挖矿节点(node2)执行结果的验证,图4示出了实用本实施例提供的一种异步执行智能合约方法的验证过程流程图。
验证节点是指区块链网络中除去第一挖矿节点(node2)的其它挖矿节点,验证节点会对第一挖矿节点(node2)的执行结果进行验证,只有所有的验证节点对第一挖矿节点(node2)的执行结果都验证通过后,交易才能完成。
验证节点在接收到区块(state2)之后,获取区块(state2)内的交易数据,当该交易是合约返回结果交易(tx2)时,在虚拟机内执行区块(state1)内合约调用交易(tx1)并返回返回合约执行结果(tx2'),对两个执行结果的哈希值(哈希算法是本领域常用的一种算法,具有文件校验功能,本文不再做介绍)进行对比(hash(tx2')==hash(tx2)?),当两者的哈希值相等时,该验证节点的验证才算通过,当所有的验证节点都验证通过时,该交易验证通过,交易完成。
进一步的,若结果不一致,则判定所述第二区块内的所述合约返回结果交易为非法交易,判定所述第二区块为非法区块且将不被节点接受。
当第二区块(state2)被判定为非法区块时,第二区块(state2)内的合约返回结果交易数据(tx2)将会作废,需要重新进入步骤S103,直到交易完成。
本发明实施例通过将合约交易拆分为合约调用交易和合约返回结果交易,并对两者异步执行,区块链网络内的节点只需要完成合约调用交易即可开始执行下一个合约交易,相较于现有的顺序执行,不需要等待合约执行完成,不会造成网络堵塞;并且,将合约调用与合约返回结果异步执行,合约发起账户只需要保证合约调用交易执行完成,不管合约交易是否执行完成,都可以进行普通转账交易,提升用户交易体验。
本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行实施例中一种异步执行智能合约的方法的步骤:
通过合约发起者发起合约调用交易并在区块链网络中进行广播;
通过全网打包节点将所述合约调用交易打包存入第一区块;
通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
通过合约发起者发起合约调用交易并在区块链网络中进行广播;
通过全网打包节点将所述合约调用交易打包存入第一区块;
通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种异步执行智能合约的方法,应用于区块链网络,其特征在于,包括:
通过合约发起者发起合约调用交易并在区块链网络中进行广播;
通过全网打包节点将所述合约调用交易打包存入第一区块;
通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
2.根据权利要求1所述的一种异步执行智能合约的方法,其特征在于,所述通过全网打包节点将所述合约调用交易打包存入第一区块的步骤包括:
通过全网打包节点接收所述合约调用交易,将所述合约调用交易存入第一待打包交易队列和第一合约队列;
将所述第一待打包交易队列中的合约调用交易打包存入第一区块,并广播所述第一区块。
3.根据权利要求2所述的一种异步执行智能合约的方法,其特征在于,所述通过第一挖矿节点执行所述合约调用交易得到合约返回结果交易的步骤包括:
当第一挖矿节点执行挖矿任务时,若执行到所述合约调用交易,则根据所述合约调用交易产生的执行结果发起合约返回结果交易;
将所述合约返回结果交易存入第二打包交易队列和第二合约队列;
将所述第二打包交易队列中的合约返回结果交易打包进第二区块,并广播所述第二区块。
4.根据权利要求3所述的一种异步执行智能合约的方法,其特征在于,所述通过验证节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成的步骤包括:
除去所述第一挖矿节点以外的其他挖矿节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,并判断两者的结果是否一致;
若结果一致,则验证通过,交易完成;
若结果不一致,则判定所述第二区块内的所述合约返回结果交易为非法交易,判定所述第二区块为非法区块且将不被节点接受。
5.一种异步执行智能合约的装置,其特征在于,包括:
发起单元:用于发起合约调用交易并在区块链网络中进行广播;
打包单元:用于将所述合约调用交易打包存入第一区块;
挖矿单元:用于执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块;
验证单元:用于分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成。
6.根据权利要求5所述的一种异步执行智能合约的装置,其特征在于,所述用于将所述合约调用交易打包存入第一区块具体包括:
通过全网打包节点接收所述合约调用交易,将所述合约调用交易存入第一待打包交易队列和第一合约队列;
将所述第一待打包交易队列中的合约调用交易打包存入第一区块,并广播所述第一区块。
7.根据权利要求5所述的一种异步执行智能合约的装置,其特征在于,所述用于执行所述合约调用交易得到合约返回结果交易,并将所述合约返回结果交易打包存入第二区块具体包括:
当第一挖矿节点执行挖矿任务时,若执行到所述合约调用交易,则根据执行结果发起合约返回结果交易;
将所述合约返回结果交易存入第二打包交易队列和第二合约队列;
将所述第二打包交易队列中的合约返回结果交易打包进第二区块,并广播所述第二区块。
8.根据权利要求5所述的一种异步执行智能合约的装置,其特征在于,所述用于分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,若结果一致,则交易完成具体包括:
除去所述第一挖矿节点以外的其他挖矿节点分别调用、执行所述第一区块内的所述合约调用交易和所述第二区块的所述合约返回结果交易,并判断两者的结果是否一致;
若结果一致,则验证通过,交易完成;
若结果不一致,则判定所述第二区块内的所述合约返回结果交易为非法交易,判定所述第二区块为非法区块且将不被节点接受。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至4中任一项权利要求所述一种异步执行智能合约的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至4中任一项权利要求所述一种异步执行智能合约的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810978791.3A CN109118364A (zh) | 2018-08-27 | 2018-08-27 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
PCT/CN2019/077935 WO2020042588A1 (zh) | 2018-08-27 | 2019-03-13 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810978791.3A CN109118364A (zh) | 2018-08-27 | 2018-08-27 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109118364A true CN109118364A (zh) | 2019-01-01 |
Family
ID=64860933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810978791.3A Pending CN109118364A (zh) | 2018-08-27 | 2018-08-27 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109118364A (zh) |
WO (1) | WO2020042588A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245956A (zh) * | 2019-05-15 | 2019-09-17 | 众安信息技术服务有限公司 | 一种基于异步多链的区块链交易确认方法及系统 |
CN110442652A (zh) * | 2019-08-15 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 一种基于区块链的跨链数据处理方法及装置 |
CN110770776A (zh) * | 2019-03-04 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 向区块链系统提供交易数据以进行处理的方法和设备 |
WO2020042588A1 (zh) * | 2018-08-27 | 2020-03-05 | 深圳前海益链网络科技有限公司 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
CN111865907A (zh) * | 2020-06-08 | 2020-10-30 | 深圳前海益链网络科技有限公司 | 单点执行单点验证区块链智能合约系统、实现方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN107103054A (zh) * | 2017-04-12 | 2017-08-29 | 北京航空航天大学 | 一种私有区块链的智能合约异步执行存储系统与实现方法 |
CN107193672A (zh) * | 2017-05-31 | 2017-09-22 | 无锡井通网络科技有限公司 | 一种跨区块异步调用合约系统 |
CN107833060A (zh) * | 2017-11-13 | 2018-03-23 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108376106A (zh) * | 2018-02-01 | 2018-08-07 | 中国工商银行股份有限公司 | 一种区块链消息反馈方法及系统 |
CN109118364A (zh) * | 2018-08-27 | 2019-01-01 | 深圳前海益链网络科技有限公司 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
-
2018
- 2018-08-27 CN CN201810978791.3A patent/CN109118364A/zh active Pending
-
2019
- 2019-03-13 WO PCT/CN2019/077935 patent/WO2020042588A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN107103054A (zh) * | 2017-04-12 | 2017-08-29 | 北京航空航天大学 | 一种私有区块链的智能合约异步执行存储系统与实现方法 |
CN107193672A (zh) * | 2017-05-31 | 2017-09-22 | 无锡井通网络科技有限公司 | 一种跨区块异步调用合约系统 |
CN107833060A (zh) * | 2017-11-13 | 2018-03-23 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020042588A1 (zh) * | 2018-08-27 | 2020-03-05 | 深圳前海益链网络科技有限公司 | 异步执行智能合约的方法、装置、计算机设备及存储介质 |
CN110770776A (zh) * | 2019-03-04 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 向区块链系统提供交易数据以进行处理的方法和设备 |
EP3607515A4 (en) * | 2019-03-04 | 2020-06-24 | Alibaba Group Holding Limited | METHOD AND DEVICES FOR PROVIDING TRANSACTION DATA TO A BLOCKCHAIN SYSTEM FOR PROCESSING |
US10867299B2 (en) | 2019-03-04 | 2020-12-15 | Advanced New Technologies Co., Ltd. | Methods and devices for providing transaction data to blockchain system for processing |
US11341493B2 (en) | 2019-03-04 | 2022-05-24 | Advanced New Technologies Co., Ltd. | Methods and devices for providing transaction data to blockchain system for processing |
CN110770776B (zh) * | 2019-03-04 | 2023-10-31 | 创新先进技术有限公司 | 向区块链系统提供交易数据以进行处理的方法和设备 |
CN110245956A (zh) * | 2019-05-15 | 2019-09-17 | 众安信息技术服务有限公司 | 一种基于异步多链的区块链交易确认方法及系统 |
CN110245956B (zh) * | 2019-05-15 | 2022-07-05 | 众安信息技术服务有限公司 | 一种基于异步多链的区块链交易确认方法及系统 |
CN110442652A (zh) * | 2019-08-15 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 一种基于区块链的跨链数据处理方法及装置 |
CN110442652B (zh) * | 2019-08-15 | 2021-09-21 | 腾讯科技(深圳)有限公司 | 一种基于区块链的跨链数据处理方法及装置 |
CN111865907A (zh) * | 2020-06-08 | 2020-10-30 | 深圳前海益链网络科技有限公司 | 单点执行单点验证区块链智能合约系统、实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020042588A1 (zh) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109118364A (zh) | 异步执行智能合约的方法、装置、计算机设备及存储介质 | |
WO2020168937A1 (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
CN104169952B (zh) | 一种网络支付方法、装置及系统 | |
CN107846278A (zh) | 智能合约处理方法及装置 | |
CN107480990A (zh) | 区块链记账方法及装置 | |
CN110417558A (zh) | 签名的验证方法和装置、存储介质及电子装置 | |
CN108492108A (zh) | 区块链跨链通信方法、系统和计算机可读存储介质 | |
CN109255444A (zh) | 基于迁移学习的联邦建模方法、设备及可读存储介质 | |
CN109359994B (zh) | 基于区块链的业务处理方法、装置及系统 | |
CN107770154A (zh) | 基于云存储的区块链可靠数据存储方法、终端及系统 | |
CN109639521A (zh) | 区块链性能的测试方法、装置、设备及存储介质 | |
CN108492183A (zh) | 区块链的账户交易方法、系统和计算机可读存储介质 | |
CN108984789A (zh) | 分布式记账的方法、装置、存储介质及电子设备 | |
CN112862490B (zh) | 一种异步网络下的输出共识方法 | |
CN110060161A (zh) | 用于区块链交易防重的客户端服务实现方法及服务组件 | |
CN111080455A (zh) | 基于区块链的跨境交易方法、装置及硬件设备 | |
CN109981739A (zh) | 基于区块链的会话数据处理方法、装置、设备及介质 | |
CN107770269A (zh) | 一种服务响应方法及其终端 | |
Shrivas et al. | The disruptive blockchain security threats and threat categorization | |
CN110597916A (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN109753418A (zh) | 性能测试方法、装置、计算机设备和存储介质 | |
CN109508987A (zh) | 一种区块链的构建方法、系统及相关组件 | |
CN109544128A (zh) | 捐款信息管理的方法及服务器 | |
CN111429122A (zh) | 基于dag区块链的数据验证方法、装置和计算机设备 | |
CN110417920A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190101 |