本申请要求在2018年8月28日提交中国专利局、申请号为201810986825.3、发明名称为“区块链标准应用模型及其应用方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
发明内容
本申请提供了一种基于平行链的交易方法及区块链系统,以解决传统交易方法不支持跨链交易,限制基于区块链交易方法应用的问题。
一方面,本申请提供一种基于平行链的交易方法,包括:
交易发起链通过发起平行链,向公链发起查询交易;
公链根据查询交易,在公链网络中查询交易目标链,以及向交易发起链发送查询结果,所述查询结果包括交易目标链的交易方式,地址信息和交易条件;
交易发起链根据查询结果创建服务交易;
发起平行链将服务交易同步转化为符合公链的规范形式,以及向公链发起服务交易;
公链根据地址信息将服务交易转发至交易目标链,以及将交易目标链返回的服务内容传递至发起平行链;
发起平行链将服务内容同步转化为符合交易发起链的规范形式,以及发送至交易发起链。
可选的,发起平行链将服务交易同步转化为符合公链的规范形式,以及向公链发起服务交易的步骤还包括:
平行链节点接收服务交易;以及对服务交易验证和存储,生成符合交易发起链规范形式的完整区块链数据;
平行链节点对服务交易进行格式转化,生成符合公链规范形式的服务交易;
平行链节点向公链节点广播服务交易。
可选的,公链根据查询交易,在公链网络中查询交易目标链,以及向发起平行链发送查询结果的步骤包括:
公链提取查询交易中的服务类型;
公链根据服务类型,在公链网络中,遍历符合服务类型的区块链网络,确定交易目标链并获取交易目标链对应的地址信息;
公链向符合服务类型的交易目标链发起触发交易;
交易目标链根据触发交易,生成交易条件,以及将交易条件发送至公链;所述交易条件包括当前交易指定的证通数量。
可选的,如果交易目标链通过目标平行链接入公链,交易目标链根据触发交易,生成交易条件,以及将交易条件发送至公链的步骤还包括:
目标平行链接收触发交易并将触发交易同步转化为符合交易目标链的规范形式;
目标平行链将触发交易转发至交易目标链,并由交易目标链分配至服务节点;
服务节点根据触发交易生成交易条件,以及将交易条件反馈给目标平行链;
目标平行链将交易条件同步转化为符合公链的规范形式,以及将转换后的交易条件发送至公链。
可选的,公链根据查询交易,在公链网络中查询交易目标链,以及向交易发起链发送查询结果的步骤还包括:
公链提取交易条件中当前交易指定的证通数量;
公链判断交易节点拥有的证通余额是否满足证通数量;
如果交易节点拥有的证通余额满足证通数量,向发起平行链发送查询结果;
如果交易发起链拥有的证通余额不满足证通数量,公链取消向发起平行链发送查询结果;以及向交易节点发送提示信息。
可选的,如果交易发起链拥有的证通余额不满足证通数量,所述方法还包括:
公链根据查询交易再次在公链网络中查询交易目标链;
逐一对比查询到的交易目标链所指定的证通数量,确定指定交易证通数量最小的交易目标链为优选交易目标链;
向发起平行链发送优选交易目标链的地址信息和交易条件。
可选的,发起平行链将服务交易同步转化为符合公链的规范形式,以及向公链发起服务交易的步骤包括:
发起平行链将交易条件转换为符合交易发起链的规范形式,以及将转化后的交易条件,发送至交易发起链中的交易节点;
交易节点确定是否接受交易条件;
在交易节点接受交易条件后,交易节点通过发起平行链向公链发起服务交易。
可选的,发起平行链将服务内容同步转化为符合交易发起链的规范形式,以及发送至交易发起链的步骤包括:
发起平行链提取服务内容中的交易参数;
发起平行链根据提取的参数创建通知信息;
发起平行链将通知信息发送给交易发起链上的交易节点,通知最终交易结果。
可选的,所述服务交易包括交易发起链通过公链网络,向交易目标链转账交易条件指定数量的公链证通;公链根据地址信息将服务交易转发至目标链,以及将目标链返回的服务内容传递至发起平行链的步骤包括:
公链对将交易发起链支付的证通进行锁定,以及根据服务交易,向交易目标链发起请求交易;
交易目标链根据请求交易,向公链提供返回交易;
公链验证返回交易,如果返回交易与服务交易一致,解除转账证通的锁定状态;
公链将交易发起链支付的证通,转账至交易目标链,以及将服务内容传递至交易发起链。
另一方面,本申请还提供一种基于平行链的区块链系统,包括:交易发起链、平行链、公链以及交易目标链;所述平行链由公链网络中的部分节点组成;所述交易发起链和交易目标链通过平行链连接公链;
所述交易发起链被配置为:通过发起平行链,向公链发起查询交易;以及根据公链的查询结果创建服务交易;
所述公链被配置为:根据查询交易,在公链网络中查询交易目标链,以及向发起平行链发送查询结果,所述查询结果包括交易目标链的地址信息和交易条件;
所述发起平行链被配置为:同步转化服务交易,并向公链发起服务交易;以及,将服务内容进行转化,并发送至交易发起链;
所述公链还被配置为:根据地址信息将服务交易转发至目标链,以及将目标链返回的服务内容传递至发起平行链;
所述交易目标链被配置为:根据服务交易向公链返回服务内容。
由以上技术方案可知,本申请提供一种基于平行链的交易方法及区块链系统,所述方法在实际应用中,交易节点先通过平行链桥接向公链发起查询交易,以使公链查询交易目标链,再将查询到结果通过平行链返回给交易节点。交易节点在接受交易条件后,再通过平行链向公链发起服务交易,平行链对服务交易进行同步转化,传递给公链,以使公链将服务交易继续传递给交易目标链。交易目标再将对应的服务内容发送给公链,以及由公链传递至平行链,平行链将服务内容进行同步转化,并发送给交易节点,以使交易节点获得交易的结果。所述方法通过平行链桥接,将交易发起链中的交易通过公链传递给交易目标链,实现跨链交易,解决传统交易方法不支持跨链交易的问题。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
在本申请提供的技术方案中,区块链网络是指具有去中心化应用架构的点对点(P2P)网络,所述区块链网络能够进行分布式存储、公共共识、数字加密、交易记账以及验证。即涵盖了分布式技术、密码学、P2P网络架构以及各种可能被应用的共识算法的交易平台。区块链或区块链信息是指在区块链网络中发生交易时,根据交易信息生成的记账信息,即多笔具体的交易组成一个区块,多个区块形成一条有序区块链。区块链网络中,包括相互建立点对点网络连接的节点,每一个节点都配置有相应的共识机制,如智能合约,并且具有足够的运算能力,以进行交易验证和记账程序。节点上还具有符合某种统一标准的接口规范,以实现通过接口规范接入更多的节点或者其他类型的区块链网络。
在本申请中,所提及的公链、交易发起链、交易目标链以及平行链,均是指符合区块链技术的不同区块链网络。本申请中除另有说明外,公链、交易发起链、交易目标链以及平行链均是指相应的网络,即公链网络、交易发起链网络、交易目标链网络以及平行链网络。本申请提供的技术方案中,公链网络作为布置在全网的基础平台,其节点接口接入多个区块链网络,如基于公链接口规范搭建的行业链、联盟链以及私有链。每个区块链网络可以作为一个开发平台,并为其网络内部提供相应的服务。其中,公链定义和规范有标准的接口和方式,以便于其他区块链,如交易发起链和交易目标链,进行网络对接。本申请中公链具有支持跨链中介的能力,还具有去中心化的应用和智能合约化能力。
交易发起链和交易目标链是指接入公链网络中的区块链,即在本申请中,公链提供基础平台,交易发起链和交易目标链作为接入的网络,具有各自的功能和服务。交易发起链和交易目标链可以是基于公链网络标准和接口规范搭建的区块链网络,即交易发起链和交易目标链可以直接与公链网络之间进行通信和服务对接。交易发起链和交易目标链也可以是各自独立的网络,如现有的区块链网络比特币、以太坊等,或者,某些行业开发的行业链和联盟链,甚至是为了达到某种服务需求而搭建的私有链。这些现有区块链、行业链、联盟链以及私有链,一般不能直接相互交易甚至不能与公链网络之间相互交易,因此,本申请中可通过平行链来连接公链与其他网络。
平行链可以由公链网络中的部分节点组成,通过平行链可以对公链与其他不能直接交易的网络之间进行桥接。本申请中,对于不能直接交易的网络,每一个区块链网络都对应一个平行链,平行链被设置为具有对应区块链网络的完整功能,并且能够对区块链网络中的交易进行同步转化,并传递到公链网络中。因此,在本申请提供的技术方案中,平行链可以确定为对应区块链网络的镜像,而为了便于描述,对应区块链网络成为母链。在本申请中,平行链由公链网络中的部分节点组成,并且这些节点也是母链中的节点,以进行交易信息的传递。
基于上述组成部分,公链在实际应用中可提供跨链中继,完成交易验证,数据证明,资产转移和智能合约执行等工作。公链统一对外的接口规范,可使其他区块链网络能够快速接入公链网络。公链还提供基础的区块链平台能力,即快速完成方案部署和验证,完成在公链网络中的分布式存储和记账程序。另外,作为基础平台,公链还可以提供公共开发功能,从而一次性完成多个平行链智能合约协同开发和部署。
公链除了记录自己的区块链信息外,还可以用于存储相应跨链交易的信息摘要,即交易摘要。通过格式化的交易数据记录跨链交易的相关内容。同时,为了减少对公链上分布式存储空间的占用,公链在记录某些信息时,还可以通过特定的压缩算法记录第三方区块链信息。示例地,在公链中形成和存储的区块数据可以包括以下内容:区块标识(如序号、时间戳、区块hash值以及前区块hash值)、区块归属(即区块生成者)、区块其他信息(如随机值、难度值以及附加信息等)、区块权重、信息摘要(如交易树、状态树、收据树以及数据树等)、交易费用、奖励、大小等。
参见图1,为本申请一种基于平行链的交易方法流程示意图。由图1可知,本申请提供的交易方法包括以下步骤:
S1:交易发起链通过发起平行链,向公链发起查询交易。
本申请提供的技术方案中,所述交易发起链发起查询交易的操作,是通过交易发起链中的一个或多个节点来完成,即在本申请中,作为交易发起链一方中,发起交易的节点称为交易节点。交易节点作为一个网络节点,可以是计算机、服务器等具有数据处理和运算能力的终端设备。交易节点根据自己的服务需求,可以创建一个服务交易,以及一个查询交易。其中,查询交易,应包括交易所需要的服务类型信息,以便确定能够提供该服务的交易目标链或交易目标链中的服务节点。另外,查询交易中还可以带有其他附加查询信息,例如,可接受的交易条件、目标链所处的位置范围等。
由于本申请中,查询交易基本不涉及相应的具体交易,如证通转账、交易结果数据传递等。因此,交易发起连中的节点可以发起两种类型的查询交易,其一为仅发送数据信息,即将交易节点所需要的服务内容通过传递信息数据的方式,将查询交易发送给公链网络,所传递的信息数据能够被公链直接识别,因此在这种情况下,平行链仅需将查询交易所对应的信息数据转发给公链网络中的节点即可。这种查询交易的方式,数据传递过程最简单,也具有最高的传递效率。
交易发起链节点发起查询交易的第二种方式为,交易节点按照交易发起链的区块链交易规范形式,生成一个指定形式的交易。即查询交易是一种特殊交易,其交易形式与交易发起链中的普通交易形式相同,但需要特殊约定具体的交易方式,例如带有查询交易智能合约信息的交易,或者约定转账的证通数量为0的交易。交易节点根据实际交易需求生成查询交易,具体表现为创建一个包含查询交易并进行广播,由验证节点生成包含该交易的区块数据,并将该区块数据在交易发起链中进行广播以形成完整的区块链。区块数据再广播至发起平行链节点后,平行链中的节点一方面对区块数据进行验证存储,形成区块链。另一方面还对区块数据进行同步转化,以形成符合公链规范形式的交易,并向公链网络中的节点广播,再由公链维护节点打包交易进入新的区块数据。通过这种方式发起查询交易,可以在交易发起链和公链之间进行跨链交易,并且可以在交易发起后,附带一定数量的证通作为公链的查询奖励,因此可以调动公链中更多的节点参与查询交易过程,增加交易验证和结果查询的效率。
另外,在本申请提供的技术方案中,交易节点所要进行的交易一般包括两种类型,即证通兑换和信息服务。其中,证通兑换是指用一种类型的证通兑换等价值的另一种类型的证通;信息服务是指交易发起链向某一交易目标链转账一定数量的证通,交易目标链向交易发起链发送相应的信息数据的交易过程。
本申请实施例先以证通兑换为例,接入公链网络P的区块链网络有5个,分别为区块链网络A~E,其中,网络B包含100个节点,分别记为B001~B100。在实际应用中,网络B中的节点B25需要使用100个证通Tb,兑换等价值的证通Ta,则节点B25作为交易节点,其根据需要创建查询交易并形成区块数据BC25,查询交易中包含的服务类型为:证通兑换,节点B25可将查询交易先在网络B中进行广播,即通过节点间的相互传递,将区块数据BC25广播至其他节点,如B24和B26,网络B中的其他节点对查询交易的区块数据BC25进行分布式存储,完成记账。
当区块数据BC25被广播至平行链节点R01,平行链节点R01先进行与交易发起链中其他节点形式相同的验证和存储过程,生成用于记账的完整区块链;再对区块数据BC25进行同步转化,如提取交易信息、转化交易格式、或者根据公链的区块数据模板将交易信息写入新的区块数据中,生成符合公链规范形式的区块数据GBC25。平行链节点R01再将区块数据GBC25在公链中进行广播,以生成符合公链规范形式的区块链。
S2:公链根据查询交易,在公链网络中查询交易目标链,以及向交易发起链发送查询结果,所述查询结果包括交易目标链的交易方式,地址信息和交易条件。
本申请提供的技术方案中,公链在接收到交易发起链发起的查询交易后,提取查询交易中的服务类型信息,并根据服务类型信息在公链网络中进行查询,找到能够提供所述服务类型信息对应服务的区块链网络作为交易目标链。同样,作为交易目标链的网络中也包含多个节点,即多个节点组成交易目标链。因此,交易目标链中所能够提供的服务的可以是一个或多个节点。在本申请提供的技术方案中,公链查询到的结果,可以是交易目标链,也可以是交易目标链中能够提供服务的节点。在本申请提供的技术方案中,优选公链查询到的结果是交易目标链的方式,以便快速确定交易目标链,避免交易目标链不支持公链查询的情况。
进一步地,如图2所示,公链根据查询交易,在公链网络中查询交易目标链,以及向发起平行链发送查询结果的步骤包括:
S201:公链提取查询交易中的服务类型;
S202:公链根据服务类型,在公链网络中,遍历符合服务类型的区块链网络,确定交易目标链并获取交易目标链对应的地址信息;
S203:公链向符合服务类型的交易目标链发起触发交易;
S204:交易目标链根据触发交易,生成交易条件,以及将交易条件发送至公链;所述交易条件包括当前交易指定的证通数量。
本实施例中,在公链网络中进行交易目标链的查询,可以由公链中配置的智能合约完成,也可以由公链网络中的去中心化应用完成。具体查询过程,可以是在公链网络中存储的接入区块链网络的信息中查询。这样的查询方式,需要公链在有区块链网络接入时,通过接入节点通信,获取接入的区块链网络登记的信息,登记的信息可以包括:能够提供的服务类型,能够进行兑换的证通类型,以及进行交易的方式、交易的条件等。公链中的程序对这些登记信息与对应的网络地址进行对应存储,并在全网进行广播。
查询过程还可以通过以下形式完成,即公链在接收到查询交易后,在全网广播一次用于服务提供的交易。接入公链的区块链网络在接收到服务提供的交易后,可以针对该交易进行相应的回复,回复的信息中,可以包括交易条件和交易方式。公链选择回复最早的区块链网络作为交易目标链,或者对交易条件进行判断确定最适宜的(如需要证通数量最少的,或者交易证通流通性最好的)交易目标链。
公链在查询到交易目标链以后,可以获取交易目标链的地址信息以及交易方式、交易条件等信息,作为查询结果。显然,公链可以从公链存储的登记信息中获取上述信息,也可以通过将查询交易转发给交易目标链的方式,由交易目标链一方提供该信息。为了增加查询效率,本申请优选通过公链存储的登记信息的方式获取上述信息。公链在获取到所述交易目标链信息后,可以将得到的目标链信息发送给交易发起链,以使交易发起链根据交易目标链信息确定是否与其进行交易。
本申请提供的技术方案中,所述目标链地址,为交易目标链在公链网络中的登记地址,或者,交易目标链接入公链时,提供接口的节点地址。交易方式为交易目标链设定的交易时间、区块链信息格式(模板)、支持交易的证通类型等。交易条件不仅可以包括提供服务所需要收取的指定证通数量,而且可以包括对于交易发起链的资质要求,例如所拥有的证通数量要求,交易发起链的信誉评分等。
以上述证通兑换交易为例,公链P在接收到查询交易后,提取服务内容为通过证通Tb兑换证通Ta,则在公链网络中查找能够提供兑换证通Ta的区块链网络A作为交易目标链,再获取网络A的地址信息,以及网络A所要求的交易条件,例如要求交易节点至少拥有1000个证通Tb,网络A支持的交易方式,如是否可以通过证通Tb直接兑换证通Ta等。公链将这些信息进行打包,作为查询结果发送给交易节点B25。需要说明的是,由于此处公链与交易发起链之间的传递的是查询结果,因此,为了提高交易效率,可以通过数据传递的方式直接将查询结果发送给交易节点。
在本申请的部分实施例中,如图3所示,公链根据查询交易,在公链网络中查询交易目标链,以及向交易发起链发送查询结果的步骤还包括:
S211:公链提取交易条件中当前交易指定的证通数量;
S212:公链判断交易节点拥有的证通余额是否满足证通数量;
S213:如果交易节点拥有的证通余额满足证通数量,向发起平行链发送查询结果;
S214:如果交易发起链拥有的证通余额不满足证通数量,公链取消向发起平行链发送查询结果;以及向交易节点发送提示信息。
由以上步骤可知,本实施例可以通过公链对交易发起链进行资质验证,以通过证通余额确定交易发起链是否有能力完成服务交易。如果交易节点拥有的证通余额满足证通数量,再向发起平行链发送查询结果。否则,判断交易发起链不具有完成交易的证通数量。此时公链可以取消向发起平行链发送查询结果,并向交易节点发送提示信息,例如,“您的证通余额不足,无法完成交易”等。另外,对于余额数量不足的情况,还可以继续在公链中查找其他交易目标链,以找到符合证通余额的交易目标链。即,如图4所示,如果交易发起链拥有的证通余额不满足证通数量,所述方法还包括:
S215:公链根据查询交易再次在公链网络中查询交易目标链;
S216:逐一对比查询到的交易目标链所指定的证通数量,确定指定交易证通数量最小的交易目标链为优选交易目标链;
S217:向发起平行链发送优选交易目标链的地址信息和交易条件。
本实施例中,当公链中接入的区块链网络较多时,可能出现对于同一个查询交易有多个区块链可以完成该交易。因此,可以通过公链节点根据服务类型在所有接入公链的区块链网络中,确定交易条件最容易达到的交易目标链,例如需要转账的证通数量最少的交易条件,从而保证交易发起链能够顺利完成跨链交易。
S3:交易发起链根据查询结果创建服务交易。
本申请提供的技术方案中,交易发起链在接收到公链返回的查询结果后,可以对查询结果进行分析,提取查询结果中的交易方式和交易条件。其中,针对交易方式,交易发起链可以确定是否支持交易目标链提供的交易方式;而对于交易条件,可以自动或手动判断交易目标链所提出的交易条件是否能够被接受。如果能够接受交易条件,并且支持相应的交易方式,交易发起链可以按照指定交易方式,向公链发起满足交易条件的服务交易。
S4:发起平行链将服务交易同步转化为符合公链的规范形式,以及向公链发起服务交易。
交易发起链创建服务交易后,可将服务交易发送给发起平行链,以致通过发起平行链向公链发起服务交易。具体包括:交易发起链创建转账交易,并通过平行链节点将转账交易转发给公链,以触发合约执行,所述转账交易中包括向所述交易目标链支付的指定交易证通数量。在步骤S3和S4中,平行链转发转账交易(服务交易)的方式,与步骤S1中的方式基本相同,但由于在步骤S3和中发生了实际交易,即转账了预定数量的证通,因此,步骤S3和S4中,平行链节点只能以传递交易的方式完成同步转化。
即,如图5所示,在本申请的部分实施例中,发起平行链将服务交易同步转化为符合公链的规范形式,以及向公链发起服务交易的步骤还包括:
S401:平行链节点接收服务交易;以及对服务交易验证和存储,生成符合交易发起链规范形式的完整区块链数据;
S402:平行链节点对服务交易进行格式转化,生成符合公链规范形式的公链服务交易;
S403:平行链节点向公链节点广播公链服务交易。
示例地,在公链网络P中的维护节点将查询结果返回给交易节点B25后,交易节点B25对返回的查询结果中交易条件和交易方式进行验证,一方面,确定交易是否符合要求即是否能够满足B25的证通兑换服务请求,另一方面可以确定交易条件是否能够被接受,例如,交易目标链A所要求的证通兑换比率是否可以被接受。上述验证过程可以通过节点B25自动判断,也可以主动选择是否接受该交易条件。此外,对返回查询结果的验证还可以包括,交易节点B25是否能够按照交易目标链A指定的交易方式进行交易。
如果交易节点B25接受该交易条件,并且能够按照交易目标链A指定的交易方式进行交易,则交易节点B25发起正式的服务交易,交易节点将服务交易在交易发起链中进行广播,即创建包含服务交易的区块数据BF25,区块数据BF25中包含转账100个证通Tb。以及在平行链节点R01,接收到服务交易后再对服务交易进行转化,转化为符合公链的规范形式,生成区块数据GBF25,以及在公链网络中进行广播转化后的服务交易,公链中的节点在接收到服务交易后行程用于记账的区块链,以及接收交易节点转账的100个证通Tb。
进一步地,如图6所示,发起平行链将服务交易同步转化为符合公链的规范形式,以及向公链发起服务交易的步骤还包括:
S411:发起平行链将交易条件转换为符合交易发起链的规范形式,以及将转化后的交易条件,发送至交易发起链中的交易节点;
S412:交易节点确定是否接受交易条件;
S413:在交易节点接受交易条件后,交易节点通过发起平行链向公链发起服务交易。
本实施例中,对于部分现有的区块链网络,由于其应用的特殊性,可能无法直接与公链之间完成信息传递。因此,对于交易条件,也可以以交易的形式再由公链经平行链桥接发送给交易节点。以使交易节点确定是否接受交易条件。
需要说明的是,由于在此次跨链交易中,公链网络中的维护节点从事了相应的查询和存储操作,以及在后续的交易过程中,还会参与其他操作,如传递、价值转化、记账等,因此,在交易节点B25向公链发起正式的服务交易时,还需要向公链网络中转账特定数量公链证通以作为公链中维护节点的奖励。
S5:公链根据地址信息将服务交易转发至交易目标链,以及将交易目标链返回的服务内容传递至发起平行链。
本申请提供的技术方案中,交易发起链向公链发送的服务交易在公链中可以不做任何处理,仅由公链网络将服务交易传递至交易目标链。但其前提是,公链和交易目标链之间要能够直接进行跨链交易。主要过程包括,公链可以对服务交易中的交易目标链的地址信息进行提取,获取交易目标链的位置,再根据交易目标链的地址将服务交易发送至交易目标链。另外,公链也可以对交易发起链发送的服务交易进行简单的验证,以避免出现数据传递的错误。
例如,公链网络P中的维护节点在接收到交易节点B25发起的服务交易后,对交易节点转账的100个证通Tb进行验证,并针对服务交易形成符合公链交易形式的区块数据,并对形成的区块数据在公链网络中进行广播,再将这100个证通Tb转移至网络A所对应的Tb账户中。
由于服务交易的传递依赖于公链完成,因此为了达到抗抵赖交易效果,可以公链在传递所述服务交易时,需要在公链网络内进行分布式存储,即在公链网络中记账。因此在公链传递所述服务交易时,也是一种发生在公链网络中的交易。在实际应用中,针对不同区块链网络,流通的证通类型也不同,而不同类型的证通往往不能直接进行交易。因此在本申请提供的技术方案中,公链传递所述服务交易至所述交易目标链的过程中,可以先将交易发起链支付的证通进行锁定,再向交易目标链转移等价值的公链证通,以触发交易目标链返回服务内容。
在实际应用中,公链与交易目标链也可能不能直接发生交易,对于这种应用场景,可以通过公链与交易目标链之间的目标平行链传递该服务交易。即在本申请的部分实施例中,如图7所示,如果交易目标链通过目标平行链接入公链,交易目标链根据触发交易,生成交易条件,以及将交易条件发送至公链的步骤还包括:
S501:目标平行链接收触发交易并将触发交易同步转化为符合交易目标链的规范形式;
S502:目标平行链将触发交易转发至交易目标链,并由交易目标链分配至服务节点;
S503:服务节点根据触发交易生成交易条件,以及将交易条件反馈给目标平行链;
S504:目标平行链将交易条件同步转化为符合公链的规范形式,以及将转换后的交易条件发送至公链。
由以上步骤可知,在公链与交易目标链不能直接进行交易时,步骤S5的具体交易过程为,公链中的节点根据服务交易生成面向交易目标链的区块数据P25,并在公链网络中广播区块数据P25,以形成区块链。公链节点还向目标节点广播区块数据P25,目标节点在接收到区块数据P25后,通过与上述转化原理相同的方式,对区块数据P25进行同步转化,生成符合交易目标链规范形式的区块数据AP25,再将区块数据AP25在交易目标链内进行广播,以在交易目标链中生成完整的区块链。
交易目标链在接收到公链转发的服务交易后,根据服务交易返回相应的服务内容,给公链网络,以使公链网络将服务内容传递给交易发起链。交易目标链在接收到公链传递的服务交易后,可先针对交易条件进行验证,确定服务交易是否满足交易条件。例如,服务交易所支付的证通数量是否符合交易目标链需要的证通数量,交易发起链是否具有交易目标链要求的交易资质等。如果交易目标链验证交易条件合格,则根据接收到的服务交易返回相应的服务内容,即为所述交易发起链提供对应的服务。
本申请提供的技术方案中,服务内容可以是返回交易中包含具体的服务内容,例如,数据检索报告,或者兑换的另一种指定数量的证通等。其中,对于数据检索报告类型的服务内容,可以直接由服务节点将结果返回至交易节点。而对于兑换证通类型的服务内容,可以通过上述平行链同步转化的方式先将服务内容从交易目标连桥接到公链,再从公链桥接到交易发起链,最终完成交易。
实际应用中,服务内容还可能需要交易发起链和交易目标链之间建立连接,以维持长期服务。而对于需要长期维持的服务内容,在返回的服务内容中可以包含相应的网络接入信息,验证码,账号等。对于需要长期维持的服务内容,公链可以不必直接参与后续的数据传递过程,只在返回服务内容时,将相应的网络接入信息,验证码,账号等信息传递给交易发起链,并且在公链中对返回的服务内容进行分布式存储,完成记账程序。
公链在接收到交易目标链返回的服务内容后,以中继的方式将服务内容传递至交易发起链。在公链将服务内容转发到交易发起链后,即代表交易完成。例如,在公链网络P将100个证通Tb转移至网络A所对应的Tb账户中以后,公链网络在交易目标链验证通过后,从网络A所对应的Ta账户中提取等价值的证通Ta,如兑换比率为2:1,则提取50个证通Ta转账至网络B所对应的账户中,完成最终的服务交易。
在本申请的部分实施例中,如图8所示,所述服务交易包括交易发起链通过公链网络,向交易目标链转账交易条件指定数量的公链证通;公链根据地址信息将服务交易转发至目标链,以及将目标链返回的服务内容传递至发起平行链的步骤包括:
S511:公链对将交易发起链支付的证通进行锁定,以及根据服务交易,向交易目标链发起请求交易;
S512:交易目标链根据请求交易,向公链提供返回交易;
S513:公链验证返回交易,如果返回交易与服务交易一致,解除转账证通的锁定状态;
S514:公链将交易发起链支付的证通,转账至交易目标链,以及将服务内容传递至交易发起链。
本实施例中,公链先对转账交易进行锁定,即暂时锁定交易发起链支付的证通,再根据转账交易向交易目标链发起请求交易,其中,请求交易用于触发交易目标链返回交易,公链再对返回交易的内容进行验证,如果返回交易与转账交易一致,则解除对转账交易的锁定状态,以使所述公链将交易发起链支付的证通,转账至交易目标链,并且将服务内容转至交易发起链。通过公链对转账交易进行锁定,可以在公链网络中对交易内容进行验证,确定是否达真正符合交易规范,保障交易双方的交易权益。
S6:发起平行链将服务内容同步转化为符合交易发起链的规范形式,以及发送至交易发起链。
本申请提供的技术方案中,公链向发起平行链传递服务内容后,如果服务内容是数据信息,则可直接将数据信息发送给交易节点;如果服务内容是返回的转账交易,则发起平行链再将转账交易从公链规范转化为交易发起链规范的形式。交易节点接收到服务内容,可以再对服务内容进行验证,以完成跨链交易。
进一步地,如图9所示,当服务内容包含交易参数时,发起平行链将服务内容同步转化为符合交易发起链的规范形式,以及发送至交易发起链的步骤包括:
S601:发起平行链提取服务内容中的交易参数;
S602:发起平行链根据提取的参数创建通知信息;
S603:发起平行链将通知信息发送给交易发起链上的交易节点,通知最终交易结果。
发起平行链通过发送通知信息给交易节点,以通知交易节点最终的交易结果。交易结果可以包括交易是否成功、具体的交易参数以及交易信息所对应的区块链信息等。通知信息可以减少数据的记账复杂程度,进一步提高交易效率。
基于上述交易方法,本申请还提供一种基于平行链的区块链系统,如图10所示,所述区块链系统还包括:交易发起链、平行链、公链以及交易目标链;所述平行链由公链网络中的部分节点组成;所述交易发起链和交易目标链通过平行链连接公链;
所述交易发起链被配置为:通过发起平行链,向公链发起查询交易;以及根据公链的查询结果创建服务交易;
所述公链被配置为:根据查询交易,在公链网络中查询交易目标链,以及向发起平行链发送查询结果,所述查询结果包括交易目标链的地址信息和交易条件;所述公链还被配置为:根据地址信息将服务交易转发至目标链,以及将目标链返回的服务内容传递至发起平行链;
所述发起平行链被配置为:同步转化服务交易,并向公链发起服务交易;以及,将服务内容进行转化,并发送至交易发起链;所述交易目标链被配置为:根据服务交易向公链返回服务内容。
本申请提供的区块链系统中,交易发起链和交易目标链均是接入公链网络多个区块链网络,因此接入公链网络的多个区块链网络中的任意一个都可以作为交易发起链,只要其拥有足够触发交易的证通数量。同样,每一个区块链网络也都可以作为交易目标链,只要其支持对外进行交易,并且能够提供具体的服务内容。即在本申请提供的技术方案中,所述交易发起链和交易目标链只是为了便于描述,并不对区块链网络进行限定。
需要说明的是,本申请实施例中以证通兑换的服务内容作为示例,进行方案的描述,显然对于不同形式服务内容,其交易过程与证通兑换的交易过程是相同的,仅在交易节点发起服务交易时,交易节点向公链(或交易目标链)转账指定数量的证通后,交易目标链根据服务交易返回具体的交易内容,如返回某型号通信设备性能的查询结果。
由以上技术方案可知,本申请提供一种基于平行链的交易方法及区块链系统,所述方法在实际应用中,交易节点先通过平行链桥接向公链发起查询交易,以使公链查询交易目标链,再将查询到结果通过平行链返回给交易节点。交易节点在接受交易条件后,再通过平行链向公链发起服务交易,平行链对服务交易进行同步转化,传递给公链,以使公链将服务交易继续传递给交易目标链。交易目标再将对应的服务内容发送给公链,以及由公链传递至平行链,平行链将服务内容进行同步转化,并发送给交易节点,以使交易节点获得交易的结果。所述方法通过平行链桥接,将交易发起链中的交易通过公链传递给交易目标链,实现跨链交易,解决传统交易方法不支持跨链交易的问题。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。