一种基于平行链的跨链交易方法、装置及区块链***
本申请要求在2018年8月28日提交中国专利局、申请号为201810986825.3、发明名称为“区块链标准应用模型及其应用方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于平行链的跨链交易方法、装置及区块链***。
背景技术
区块链提供了一种去除中心化的***思想,这种思想最根本的原理是通过公众共识的方式,创建一个相对客观的抗抵赖数字环境。区块链技术可以使网络信息一旦发布即不可改变,例如,区块链网络中发生一笔交易,区块链网络中的节点会在生成的区块中记录该交易,再将该区块添加至区块链中,并全网广播,形成不可更改的区块链。因此,区块链本质上是一个分布式的公共账本,这个公共账本由多个数据区块组成,并由各个节点共同维护。维护同一区块链的节点组成一个物理链,例如公链、私链、联盟链等等。这些节点共同形成了一个点对点的区块链网络。
其中,上述交易不仅指传统意义上的交易,例如商品买卖和物品交换,还包括对数据的操作结果或数据交换。例如,一个公链中的节点A发起了一个交易请求,该交易请求的交易内容为节点A支付10个证通来查询天气情况。公链中的节点B提供天气查询服务。那么,节点A向节点B对应的账户支付10个证通,节点B将查询的天气情况发送给节点A,则节点A和节点B共同完成了节点A发起的交易请求。其中,支付10个证通和发送天气情况可作为交易的交易信息被记录至公链的区块链中。
随着区块链技术的不断发展,出现了越来越多的针对不同领域的区块链网络。不同区块链网络之间存在差异,例如共识机制的不同,而且彼此之间缺乏统一有效的机制进行沟通。由于不同区块链网络之间无法进行跨链交易,导致基于区块链的交易被局限于单个区块链网络内部。
发明内容
本申请提供一种基于平行链的跨链交易方法、装置及区块链***,可用于解决在现有技术中不同区块链网络之间无法进行跨链交易,导致基于区块链的交易被局限于单个区块链网络内部的问题。
第一方面,本申请提供一种基于平行链的跨链交易方法,所述方法包括:
确定交易发起链与交易目标链之间待完成的跨链交易;
根据所述跨链交易,指示交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;
当检测到所述交易目标链完成支付时,指示交易发起链支付所述跨链交易中所述交易目标链需求的交易内容。
可选地,所述指示交易目标链支付所述跨链交易中所述交易发起链需求的交易内容,包括:
调用所述交易目标链的执行智能合约,生成第一交易指令,所述第一交易指令用于通知所述交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;
将所述第一交易指令发送给所述交易目标链,以使得所述交易目标链验证所述第一交易指令并支付所述交易发起链需求的交易内容。
可选地,所述指示交易发起链支付所述跨链交易中所述交易目标链需求的交易内容,包括:
调用所述交易发起链的执行智能合约,生成第二交易指令,所述第二交易指令用于通知所述交易发起链支付所述跨链交易中所述交易目标链需求的交易内容;
将所述第二交易指令发送给所述交易目标链,以使得所述交易发起链验证所述第二交易指令并支付所述交易目标链需求的交易内容。
可选地,所述确定交易发起链与交易目标链之间待完成的跨链交易,包括:
获取所述交易发起链发起的跨链交易;
检测所述跨链交易是否记录在平行链区块链中;
若检测所述平行链区块链没有记录所述跨链交易,则确定所述跨链交易为待完成的跨链交易。
可选地,所述方法还包括:
获取所述交易发起链或所述交易目标链的区块链;
根据所述交易发起链或所述交易目标链的区块链,更新平行链区块链。
可选地,所述更新平行链区块链,包括:
根据所述交易发起链或所述交易目标链的区块链,生成摘要信息,所述摘要信息用于指示将所述交易发起链或所述交易目标链的区块链中记录的交易;
生成包括所述摘要信息的区块,以及添加所述区块至所述平行链区块链。
第二方面,本申请提供一种基于平行链的区块链跨链交易装置,所述装置部署于平行链节点中,包括:
交易确定模块,用于确定交易发起链与交易目标链之间待完成的跨链交易;
交易指示模块,用于根据所述跨链交易,指示交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;以及当检测到所述交易目标链完成支付时,指示交易发起链支付所述跨链交易中所述交易目标链需求的交易内容。
第三方面,本申请提供一种基于平行链的区块链***,所述区块链***包括:交易发起链、平行链、以及交易目标链,所述平行链由所述交易发起链和所述交易目标链的共有节点组成;
所述平行链,用于确定所述交易发起链与所述交易目标链之间待完成的跨链交易;根据所述跨链交易,指示交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;当检测到所述交易目标链完成支付时,指示交易发起链支付所述跨链交易中所述交易目标链需求的交易内容;
所述交易目标链,用于根据所述平行链的指示,支付所述跨链交易中所述交易发起链需求的交易内容;
所述交易发起链,用于根据所述平行链的指示,支付所述跨链交易中所述交易目标链需求的交易内容。
在本申请提供的方案中,平行链根据跨链交易指示交易发起链和交易目标链支付各自需要支付的交易内容,进而完成跨链交易。因为平行链节点是交易发起链和交易目标链的共有节点,所以平行链既能参与交易发起链的交易又能参与交易目标链的交易。平行链利用这一特性,在交易过程中,居中调控,连接交易发起链和交易目标链,克服了双方之间的差异,实现不同链之间的跨链交易,使得区块链的交易不再局限于单个区块链网络内部。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出的交易发起链、交易目标链以及平行链之间的网络架构的示意图;
图2是根据一示例性实施例示出的基于平行链的跨链交易的流程示意图;
图3是根据一示例性实施例示出的平行链确定待完成的跨链交易的流程图;
图4是根据一示例性实施例示出的平行链指示交易目标链支付交易内容的流程示意图;
图5是根据一示例性实施例示出的平行链指示交易发起链支付交易内容的流程示意图;
图6是根据一示例性实施例示出的基于平行链的跨链交易装置的框图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
在本申请提供的技术方案中,区块链网络是指区块链节点形成的一个点对点的网络,该区块链网络能够进行分布式存储、公共共识、数字加密、交易记账以及验证。区块链或区块链区块中的数据信息是在区块链网络中发生交易时,区块链的节点根据交易记录的交易信息。其中,一个区块包括多笔交易的交易信息,而多个区块又形成一条区块链。区块链网络中的各个节点可以是物理节点,如终端、服务器,也可以是虚拟节点。同一区块链网络中的节点基于同一共识机制,沟通维护区块链网络的运行。
在本申请中,交易发起链、交易目标链以及平行链,均是指符合区块链技术的不同区块链网络。交易发起链是指发起跨链交易的区块链网络,而交易目标链是该跨链交易的交易对像所在的区块链网络。交易发起链和交易目标链是各自独立的区块链网络,如比特币和以太坊,或者,不同行业开发的行业链和联盟链,甚至是不同的私有链或公链。这些各自独立的区块链网络由于存在差异,例如共识机制的不同,彼此之间不能进行通信或交易。因此,在本申请提供的技术方案中,交易发起链和交易目标链提通过平行链来连接。
在本申请中,平行链由交易发起链和交易目标链的共有节点组成。因为平行链节点是交易发起链和交易目标链的共有节点,所以平行链同时具有交易发起链和交易目标链的功能,并存储有双方的区块链。因此,平行链能够对一侧区块链网络中的信息进行转化,再传递给另一侧的区块链网络。通过平行链中的桥接作用,交易发起链和交易目标链之间可以进行通信或交易。
示例性地,如图1所示,其示出了交易发起链、交易目标链以及平行链之间的网络架构的示意图。平行链节点101作为交易发起链11和交易目标链12共有节点,既能够与交易发起链节点111连接通信,又能够与交易目标链节点121连接通信。
参见图2,其示例性地示出了本申请一种基于平行链的跨链交易方法的流程示意图。该方法包括以下步骤。
S20,确定交易发起链与交易目标链之间待完成的跨链交易。
在本申请提供的方案中,交易发起链和交易目标链之间的跨链交易需要通过平行链完成。因此,由平行链确定交易发起链与交易目标链之间待完成的跨链交易。待完成的跨链交易是指已经发送至平行链、但尚未完成的跨链交易,其中包括了交易相关的信息,如交易双方的地址信息、交易条件和双方需要支付的交易内容等等。一笔交易是指交易双方按照交易条件,各自支付对方需求的交易内容。因此,一笔跨链交易实际包括两笔子交易。一笔子交易是交易发起链向及交易目标链支付交易目标链需求的交易内容。另一笔子交易是交易目标链向交易发起链支付交易发起链需求的交易内容。因此,完成一笔跨链交易,需要完成跨链交易中的两笔子交易。
示例性地,交易发起链A与交易目标链B之间的跨链交易是:以50个交易发起链A的证通a,换取5个交易目标链B的证通b。那么,这笔跨链交易实际包括的两笔子交易分别为:交易发起链向交易目标链支付50个证通A,以及交易目标链向交易发起链支付5个证通b。
进一步地,如图3所示,上述步骤S20,平行链确定交易发起链与交易目标链之间待完成的跨链交易,包括如下子步骤。
S201,获取交易发起链发起的跨链交易。
S202,检测跨链交易是否记录在平行链区块链中。
S203,若检测平行链区块链没有记录跨链交易,则确定跨链交易为待完成的跨链交易。
要确定待完成的跨链交易,平行链需要先获取到该跨链交易。在区块链网络中,发起交易的节点称为交易节点。交易发起链中的交易节点发起一笔跨链交易,并在交易发起链中广播该跨链交易。相应地,平行链节点接收到该跨链交易,则平行链获取到交易发起链发起的跨链交易。
在本申请实施例中,由于交易发起链发起的跨链交易实际包括两笔子交易,需要平行链来指示交易发起链和交易目标链完成这两笔子交易。因此,交易发起链发起的跨链交易的方式包括两种类型。
第一种,交易发起链发起一个交易请求来发起跨链交易。该交易请求中仅包括与跨链交易相关的信息,例如交易条件、交易双方的地址信息等等。交易节点将该交易请求发送给平行链。相应地,平行链根据交易请求中的信息确定对应的跨链交易。
第二种,交易发起链发起一笔触发交易来发起跨链交易。该触发交易是一种特殊交易,其交易形式与交易发起链中的普通交易形式相同,但需要特殊约定具体的交易方式,例如约定转账的证通数量为0的交易。交易发起链发起该触发交易,交易对象是跨链交易智能合约。完成该触发交易的节点,通过触发跨链交易智能合约,生成一个交易结果。该交易结果包括与跨链交易相关的信息。交易发起链节点生成一个包含该交易结果的区块添加至区块链中,并进行广播。相应地,平行链获取到区块中的交易结果后,确定交易发起链所发起的跨链交易。
示例性地,交易发起链发起一笔触发交易,该触发交易为向跨链交易智能合约支付1个证通;并且,触发交易中包括与跨链交易相关的信息。完成该触发交易的节点执行跨链交易智能合约,生成一个包含交易结果的区块添加至区块链中,并进行广播。相应地,由于该节点完成的触发交易,获取触发交易中向跨链交易智能合约支付的1个证通作为奖励证通。
平行链存储的区块链包括交易发起链的区块链和交易目标链的区块链,而交易发起链和交易目标链的区块链中,记录有各自完成的交易。因此,平行链可以检测跨链交易是否记录在平行链区块链中,来确定跨链交易是否完成;若跨链交易记录在平行链区块链中,则确定该跨链交易已完成;若跨链交易没有记录在平行链区块链中,在确定该跨链交易待完成。其中,跨链交易记录在平行链区块链中,是指跨链交易中的两笔子交易都已记录在平行链区块链中。
示例性地,交易发起链A与交易目标链B之间的跨链交易是:以50个交易发起链A的证通a,换取5个交易目标链B的证通b。那么,平行链在平行链区块链中检测是否记录了交易发起链A向交易目标链B支付50个证通a,以及是否记录了交易目标链B向交易发起链A支付5个证通b。
在另一种的实施例中,平行链可以通过调用查询智能合约确定待完成的跨链交易。由于跨链交易包括两笔子交易,因此,平行链可以通过交易发起链与交易目标链各自的查询智能合约,分别查询两笔子交易。对于交易发起链需要完成的子交易,平行链调用交易发起链中的查询智能合约,查询子交易是否完成;对于交易目标链需要完成的子交易,平行链调用交易目标链中的查询智能合约,查询子交易是否完成。
在一种可能的实施方式中,交易节点发起跨链交易前,先发起一笔查询交易。其中,查询交易包括交易发起链所需要的交易内容和交易发起链所能支付的交易内容。平行链根据查询交易,确定交易目标链是否能够与交易发起链达成交易。若交易目标链中有能够与交易节点达成交易的目标节点,则平行链将该目标节点的相关信息发送给交易节点,如目标节点的地址信息和交易条件等等。交易节点根据目标节点的相关信息发起跨链交易。
示例性地,交易节点A1希望以50个交易发起链A的证通a,换取5个交易目标链B的证通b。因此,交易节点A1发起一笔查询交易。平行链根据查询交易确定交易节点A1需要5个证通A,并且能够支付50个证通b。平行链根据查询交易的内容,查询交易目标链B是否有能够与交易节点A1达成交易的目标节点B1。交易目标链B中有一个节点需要50个证通A,并愿意支付最多7个证通b。那么,平行链将该节点作为目标节点,并将目标节点的相关信息发送给交易节点A1。交易节点A1根据目标节点B1的相关信息发起跨链交易。
在另一种可能的实施方式中,交易节点直接发起跨链交易。跨链交易中同样包括交易发起链所需要的交易内容和交易发起链所能支付的交易内容,但并未指明最为交易对象的目标节点。平行链根据该跨链交易,确定交易目标链是否能够与交易发起链达成交易。若交易目标链中有能够与交易节点达成交易的目标节点,则平行链直接执行后续跨链交易的步骤;若交易目标链中没有能够与交易节点达成交易的目标节点,则平行链通知交易节点交易失败。
S21,指示交易目标链支付跨链交易中交易发起链需求的交易内容。
平行链确定待完成的跨链交易后,根据待完成的跨链交易,先指示交易目标链支付跨链交易中交易发起链需求的交易内容。具体地,由于平行链节点也是交易目标链中的节点,因此,平行链具有交易目标链的完整功能,可以直接调用交易目标链的执行智能合约,来指示交易目标链支付跨链交易中交易发起链需求的交易内容。平行链调用交易目标链的执行智能合约,由交易目标链中的维护者节点来完成相应的子交易,即支付跨链交易中交易发起链需求的交易内容。其中,维护者节点是在区块链网络中负责维护区块链的节点,拥有记账的权力。交易目标链中的维护者节点在完成相应的子交易后,会在生成的区块中记录该子交易。交易目标链与平行链区块同步,即平行链同步交易目标链的区块链。
进一步地,如图4所示,上述步骤S21,平行链指示交易目标链支付跨链交易中交易发起链需求的交易内容,包括如下子步骤。
S211,平行链调用交易目标链的执行智能合约,生成第一交易指令。
S212,平行链将第一交易指令发送给交易目标链。
S213,交易目标链支付跨链交易中交易发起链需求的交易内容。
平行链调用交易目标链的执行智能合约,生成第一交易指令。由于第一交易指令用于通知交易目标链支付跨链交易中交易发起链需求的交易内容,因此,第一交易指令包括了支付相关的信息,如地址信息、具体需要支付的交易内容。平行链将第一交易指令发送给交易目标链,即在交易目标链中广播第一交易指令。当交易发起链中的维护者节点接收到该第一交易指令后,验证第一交易指令,支付跨链交易中交易发起链需求的交易内容,并在生成的区块中进行记录。交易发起链广播生成的区块,在交易发起链的节点中达成共识,确认支付完成。
在本申请提供的技术方案中,跨链交易一般包括两种类型:证通兑换和信息服务。其中,证通兑换是指用交易发起链的证通兑换交易目标链的证通;信息服务是指交易发起链向交易目标链支付一定数量的证通,购买交易目标链向交易发起链发送相应的信息数据,或者,交易发起链向交易目标链发送信息数据,换取一定数量的证通。但无论是证通兑换,还是信息服务,都是数据操作或数据操作结果。例如,交易发起链向交易目标链支付一定数量的交易发起链的证通时,维护者节点实际是将一定数量的证通,由交易节点对应的账户转移至目标节点对应的账户。由于支付的是交易发起链的证通,因此该转账操作是在交易发起链中完成的,不涉及交易发起链和交易目标链之间的跨链操作。因此,维护者节点确定交易节点和目标节点各自账户的地址信息和交易条件等信息后,即可完成交易节点和目标节点之间交易内容的支付。
示例性地,跨链交易为信息服务,交易发起链A向交易目标链B支付50个交易发起链A的证通a,购买交易目标链B提供的天气信息。在平行链指示交易目标链B支付的交易内容为具体的天气信息。交易目标链B中的维护者节点B2,根据交易节点A1的地址信息,向交易发起链A中的交易节点A1对应的账户发送具体的天气信息。
需要说明的是,在待完成的跨链交易中,可能出现交易目标链已经支付了相应的交易内容,而交易发起链未支付的情况。对于这种待完成的跨链交易,平行链不再执行步骤S21,而是直接执行步骤S22。
S22,当检测到交易目标链完成支付时,指示交易发起链支付跨链交易中交易目标链需求的交易内容。
平行链在指示交易目标链支付交易发起链需求的交易内容后,需要检测交易目标链是否完成支付。只有交易目标链完成支付时,平行链才能指示交易发起链支付跨链交易中交易目标链需求的交易内容。因为交易目标链中的维护者节点会在生成的区块中记录已支付交易内容,并在交易目标链中广播区块链,所以平行链可以根据平行链区块链中同步的交易目标链区块链,检测交易目标链是否完成支付。
在本申请另一实施例中,平行链可以通过调用交易目标链的查询智能合约,来检测交易目标链是否完成支付。因为根据平行链区块链检测交易目标链是否完成支付的方式,需要平行链先同步交易目标链的区块链。当交易目标链已经支付了交易内容,但平行链尚未同步交易目标链的区块链时,平行链无法得知交易目标链已完成支付。但平行链可以通过调用查询智能合约来查询,能够更快地确定交易目标链已完成支付,提高跨链交易的效率。
与平行链指示交易目标链支付交易内容的方式相似,由于平行链节点也是交易发起链中的节点,因此,平行链具有交易发起链的完整功能,可以直接调用交易发起链的执行智能合约,来指示交易发起链支付跨链交易中交易发起链需求的交易内容。具体地,平行链调用交易发起链的执行智能合约,由交易发起链中的维护者节点来完成相应的子交易,即支付交易目标链需求的交易内容。交易发起链中的维护者节点在完成相应的子交易后,会在生成的区块中进行记录。交易发起链与平行链区块同步,即平行链同步交易发起链的区块链。
在交易发起链完成支付后,平行链可以通过检测平行链区块链或调用交易发起链的查询智能合约,来确定交易发起链已完成支付,进而确定跨链交易完成。
进一步地,如图5所示,上述步骤S22,平行链指示交易发起链支付跨链交易中交易目标链需求的交易内容,包括如下子步骤。
S221,平行链调用交易发起链的执行智能合约,生成第二交易指令。
S222,平行链将第二交易指令发送给交易发起链。
S223,交易发起链支付跨链交易中交易目标链需求的交易内容。
平行链调用交易发起链的执行智能合约,生成第二交易指令。由于第二交易指令用于通知交易发起链支付交易目标链需求的交易内容,因此,第二交易指令包括了支付相关的交易信息,如地址信息、以及具体需要支付的交易内容。平行链将第二交易指令发送给交易目标链,即在交易目标链中广播第二交易指令。当交易发起链中的维护者节点接收到该第二交易指令后,验证第二交易指令,支付交易发起链需求的交易内容,并在生成的区块中记录该交易。交易目标链广播生成的区块,在交易目标链的节点中达成共识,确认支付完成。
示例性地,跨链交易为信息服务,交易发起链A向交易目标链B支付50个交易发起链A的证通a,购买交易目标链B提供的天气信息。在平行链指示交易发起链A支付的交易内容为50个证通a。交易发起链A中的维护者节点,根据第二交易指令中的地址信息,向交易目标链B中的目标节点B1支付50个证通a。
在一种可能的实施方式中,交易目标链在支付交易发起链需要的交易内容时,会锁定该交易内容。平行链确定交易发起链已完成支付后,将交易发起链已完成支付的信息发送给交易目标链。交易目标链在确定交易发起链支付了交易目标链需要的交易内容后,解锁自身支付的交易内容。通过对交易内容的锁定,防止因交易发起链不支付相应的交易内容,给交易发起链造成损失,达到抗抵赖的效果。
在本申请实施例中,平行链根据跨链交易指示交易发起链和交易目标链支付各自需要支付的交易内容,进而完成跨链交易。因为平行链节点是交易发起链和交易目标链的共有节点,所以平行链既能参与交易发起链的交易又能参与交易目标链的交易。平行链利用这一特性,在交易过程中,居中调控,连接交易发起链和交易目标链,克服了双方之间的差异,实现不同链之间的跨链交易,使得区块链的交易不再局限于单个区块链网络内部。
在本申请提供的技术方案中,平行链在跨链交易的过程中,会同步交易发起链和交易目标链的区块链,以更新平行链区块链。由于平行链节点是交易发起链和交易目标链的共有节点,因此,平行链能够直接获取到交易发起链或交易目标链的区块链,并更新平行链区块链。具体地,在本申请提供的技术方案中,平行链区块链的有两种更新方式。
在一种可能的实施方式中,对于通过平行链连接的区块链网络,平行链采用与该区块链网络相同的共识机制,同步更新平行链区块链。平行链节点作为该区块链网络中的节点,采用与其它节点相同的方式同步区块链。平行链区块链和该区块链网络的区块链相同。
在另一种可能的实施方式中,对于通过平行链连接的区块链网络,平行链区块链中仅记录该区块链网络中交易的摘要信息。具体地,在获取到交易发起链或交易目标链的区块链后,平行链根据交易发起链或交易目标链的区块链,生成摘要信息。该摘要信息用于指示对应区块链网络的区块链中记录的交易。平行链再生成包括摘要信息的区块,并添加该区块至平行链区块链,实现平行链区块链的更新。通过记录摘要信息,减少平行链需要存储的数据数量,减少对平行链上存储空间的占用。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6是根据一示例性实施例示出的一种基于平行链的跨链交易装置的框图。该装置可以部署在平行链节点,具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:交易确定模块601和交易指示模块602。
交易确定模块601,用于确定交易发起链与交易目标链之间待完成的跨链交易。
交易指示模块602,用于根据所述跨链交易,指示交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;以及当检测到所述交易目标链完成支付时,指示交易发起链支付所述跨链交易中所述交易目标链需求的交易内容。
在本申请实施例提供的装置中,平行链根据跨链交易指示交易发起链和交易目标链支付各自需要支付的交易内容,进而完成跨链交易。因为平行链节点是交易发起链和交易目标链的共有节点,所以平行链既能参与交易发起链的交易又能参与交易目标链的交易。平行链利用这一特性,在交易过程中,居中调控,连接交易发起链和交易目标链,克服了双方之间的差异,实现不同链之间的跨链交易,使得区块链的交易不再局限于单个区块链网络内部。
可选地,交易指示模块602,具体用于:调用所述交易目标链的执行智能合约,生成第一交易指令,所述第一交易指令用于通知所述交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;将所述第一交易指令发送给所述交易目标链,以使得所述交易目标链验证所述第一交易指令并支付所述交易发起链需求的交易内容。
可选地,交易指示模块602,具体用于:调用所述交易发起链的执行智能合约,生成第二交易指令,所述第二交易指令用于通知所述交易发起链支付所述跨链交易中所述交易目标链需求的交易内容;将所述第二交易指令发送给所述交易目标链,以使得所述交易发起链验证所述第二交易指令并支付所述交易目标链需求的交易内容。
可选地,交易确定模块601,具体用于:获取所述交易发起链发起的跨链交易;检测所述跨链交易是否记录在平行链区块链中;当检测所述平行链区块链没有记录所述跨链交易时,确定所述跨链交易为待完成的跨链交易。
可选地,所述装置还包括:区块更新模块。
所述区块更新模块,用于获取所述交易发起链或所述交易目标链的区块链;根据所述交易发起链或所述交易目标链的区块链,更新平行链区块链。
可选地,所述区块更新模块,具体用于:根据所述交易发起链或所述交易目标链的区块链,生成摘要信息,所述摘要信息用于指示将所述交易发起链或所述交易目标链的区块链中记录的交易;生成包括所述摘要信息的区块,以及添加所述区块至所述平行链区块链。
基于上述交易方法,本申请还提供一种基于平行链的区块链***,所述***包括:交易发起链、平行链、以及交易目标链,所述平行链由所述交易发起链和所述交易目标链的共有节点组成;
所述平行链,用于确定所述交易发起链与所述交易目标链之间待完成的跨链交易;根据所述跨链交易,指示交易目标链支付所述跨链交易中所述交易发起链需求的交易内容;当检测到所述交易目标链完成支付时,指示交易发起链支付所述跨链交易中所述交易目标链需求的交易内容;
所述交易目标链,用于根据所述平行链的指示,支付所述跨链交易中所述交易发起链需求的交易内容;
所述交易发起链,用于根据所述平行链的指示,支付所述跨链交易中所述交易目标链需求的交易内容。
本申请提供的区块链***中,交易发起链和交易目标链通过平行链连接,根据平行链的指示支付各自需要支付的交易内容,进而完成跨链交易。因为平行链节点是交易发起链和交易目标链的共有节点,所以平行链既能参与交易发起链的交易又能参与交易目标链的交易。平行链利用这一特性,在交易过程中,居中调控,连接交易发起链和交易目标链,克服了双方之间的差异,实现不同链之间的跨链交易,使得区块链的交易不再局限于单个区块链网络内部。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。此外,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。