跨区块链通信方法、装置、跨链服务系统及跨链交易系统与流程

文档序号:20780458发布日期:2020-05-19 21:11阅读:136来源:国知局
跨区块链通信方法、装置、跨链服务系统及跨链交易系统与流程

本申请涉及区块链技术领域,尤其是涉及一种跨区块链通信方法、装置、跨链服务系统及跨链交易系统。



背景技术:

区块链是一种在整个业务网络上共享的分布式账本,是比特币的底层技术,类似于一个数据库账本,记载所有的交易记录,本质上是一个去中心化的数据库。区块链技术提供了一种记录交易及数字交互的方式。

区块链网络是由分布在不同地点且具有多个终端的节点机互连而成的。区块链网络中任意一个节点均至少与两条链路相连,所以区块链网络内部中的不同节点之间能够互相通讯。

但是,不同的区块链网络之间难以互相通信,例如,不同联盟的联盟链之间无法进行通信,这对区块链的应用过程造成了不便,从而影响区块链的使用效率。



技术实现要素:

本发明的目的在于提供一种跨区块链通信方法、装置、跨链服务系统及跨链交易系统,以解决不同的区块链网络之间难以互相通信的技术问题。

第一方面,本申请实施例提供了一种跨区块链通信方法,所述方法包括:从源区块链网络获取监听到的跨链交易的第一交易信息,所述跨链交易为与源区块链网络与目标区块链网络之间的交易,所述第一交易信息包括:所述跨链交易的数据;基于所述跨链交易数据向所述目标区块链网络发送第二交易信息,所述第二交易信息包括:所述跨链交易数据;从所述目标区块链网络获取监听到的所述第二交易信息的执行结束的执行结果;基于所述执行结果向所述源区块链网络发送指示信息,所述指示信息用于指示所述跨链交易结束。

在一个可能的实现中,所述第一交易信息用于在所述源区块链网络中指示所述跨链交易,所述第二交易信息用于在所述目标区块链网络中指示所述跨链交易,所述第一交易信息和所述第二交易信息相同或不同。

在一个可能的实现中,在从源区块链网络获取监听到的跨链交易的第一交易信息的步骤之后,还包括:基于所述源区块链网络、所述目标区块链网络和预设跨链通信白名单判断所述源区块链网络和所述目标区块链网络之间是否允许交易;若是,则确定所述跨链交易为合法数据。

在一个可能的实现中,在从源区块链网络获取监听到的跨链交易的第一交易信息的步骤之后,还包括:判断所述跨链交易数据的内容是否符合预设跨链通信协议规则;若是,则确定所述跨链交易数据为有效数据。

在一个可能的实现中,在从源区块链网络获取监听到的跨链交易的第一交易信息的步骤之后,还包括:校验所述源区块链网络对应的共识机制和所述目标区块链网络对应的共识机制是否符合预设跨链共识规则;若是,则形成所述源区块链网络和所述目标区块链网络之间的跨链服务共识。

在一个可能的实现中,在基于所述跨链交易数据向所述目标区块链网络发送第二交易信息的步骤之前,还包括:确定已经形成所述跨链服务共识,且所述跨链交易数据为合法数据及有效数据。

在一个可能的实现中,在从所述目标区块链网络获取监听到的所述第二交易信息的执行结束的执行结果的步骤之后,包括:检验所述执行结果是否符合所述跨链服务共识;若是,则确定所述第二交易信息的执行结果为交易成功。

在一个可能的实现中,还包括:将所述跨链交易数据以源区块链网络和目标区块链网络对应的数据结构,形成树形结构进行记录。

第二方面,提供了一种跨区块链通信装置,所述装置包括:第一获取模块,用于从源区块链网络获取监听到的跨链交易的第一交易信息,所述跨链交易为与源区块链网络与目标区块链网络之间的交易,所述第一交易信息包括:所述跨链交易的数据;发送模块,用于基于所述跨链交易数据向所述目标区块链网络发送第二交易信息,所述第二交易信息包括:所述跨链交易数据;第二获取模块,用于从所述目标区块链网络获取监听到的所述第二交易信息的执行结束的执行结果;所述发送模块还用于,基于所述执行结果向所述源区块链网络发送指示信息,所述指示信息用于指示所述跨链交易结束。

第三方面,提供了一种跨链服务设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。

第四方面,提供了一种跨链服务系统,所述系统包括:包括多个执行服务节点,所述执行服务节点,用于:从源区块链网络获取监听到的跨链交易的第一交易信息,所述跨链交易为与源区块链网络与目标区块链网络之间的交易,所述第一交易信息包括:所述跨链交易的数据;基于所述跨链交易数据向所述目标区块链网络发送第二交易信息,所述第二交易信息包括:所述跨链交易数据;从所述目标区块链网络获取监听到的所述第二交易信息的执行结束的执行结果;基于所述执行结果向所述源区块链网络发送指示信息,所述指示信息用于指示所述跨链交易结束。

在一个可能的实现中,还包括中央服务节点、路由服务节点以及网关服务节点;

所述中央服务节点用于,校验所述源区块链网络对应的共识机制和所述目标区块链网络对应的共识机制是否符合预设跨链共识规则,若是,则形成所述源区块链网络和所述目标区块链网络之间的跨链服务共识;

所述网关服务节点用于,判断所述跨链交易数据的内容是否符合预设跨链通信协议规则,若是,则确定所述跨链交易数据为有效数据;

所述路由服务节点用于,基于所述源区块链网络、所述目标区块链网络和预设跨链通信白名单判断所述源区块链网络和所述目标区块链网络之间是否允许交易;若是,则确定所述跨链交易为合法数据。

第五方面,本申请实施例又提供了一种跨链交易系统,包括目标区块链网络、源区块链网络以及上述第四方面所述的跨链服务系统。

第六方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。

本申请实施例带来了以下有益效果:本申请实施例提供的一种跨区块链通信方法、装置、跨链服务系统及跨链交易系统,能够从源区块链网络获取监听到的跨链交易数据,该跨链交易数据为源区块链网络与目标区块链网络之间的交易,然后,基于跨链交易数据向目标区块链网络发送包括跨链交易数据的第二交易信息,之后从目标区块链网络获取监听到的跨链交易数据的执行结果,再将执行结果发送至源区块链网络中。本方案中,通过监听区块链网络的方式,以达到自身与区块链网络之间进行数据交互,进而实现最终的不同的区块链网络之间进行跨区块链通信,解决了不同的区块链网络之间难以互相通信的技术问题。再者,通过监听源区块链网络和目标区块链网络的交易状态,不需要对源区块链网络和目标区块链网络进行改造,能够直接对源区块链网络和目标区块链网络之间的跨链交易数据进行获取以及传输,实现效率更高的跨链交易过程。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的跨区块链通信方法的流程图示意图;

图2为本申请实施例提供的跨区块链通信方法中,跨链服务交易业务的示例图;

图3为本申请实施例提供的一种跨区块链通信装置的结构示意图;

图4为示出了本申请实施例所提供的一种电子设备的结构示意图;

图5为示出了本申请实施例所提供的一种跨链服务系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前,可以使用类似的中继系统,从源区块链接收数据,通过该中继系统,推送到目标区块链。但是,这需要源区块链主动发送交易内容,这便需要对源区块链进行适当的改造,导致对源区块链网络会造成一定的侵入。而且,目前并无标准的跨链通信协议,不方便跨链系统间的数据标准化。

基于此,本申请实施例提供了一种跨区块链通信方法、装置、跨链服务系统及跨链交易系统,通过该方法可以解决不同的区块链网络之间难以互相通信的技术问题。

下面结合附图对本发明实施例进行进一步地介绍。

图1为本申请实施例提供的一种跨区块链通信方法的流程示意图。该方法可以应用于跨链服务节点。如图1所示,该方法包括:

s110,从源区块链网络获取监听到的跨链交易的第一交易信息,该跨链交易为与源区块链网络与目标区块链网络之间的交易,该第一交易信息包括跨链交易数据。

其中,该跨链交易为源区块链对应的第一客户端与目标区块链对应的第二客户端之间的交易,该第一交易信息对应于源区块链,该第一交易信息包括跨链交易数据,源区块链记录于源区块链网络的区块链节点中,目标区块链记录于目标区块链网络的区块链节点中。

示例性的,跨链服务节点可以主动监听源区块链网络中交易数据变化状态,如果监听发现跨链交易的第一交易信息,则从源区块链网络中抓取出该第一交易信息,并根据该跨链交易数据指定的目标区块链网络,将该跨链交易数据封装生成跨链交易数据报文,将该数据报文在跨链服务节点的内部进行推送。

s120,基于跨链交易数据向目标区块链网络发送第二交易信息,该第二交易信息包括跨链交易数据。

例如,可以基于跨链交易数据向目标区块链网络的第三客户端发送第一请求。该第一请求用于请求第二客户端生成跨链交易的第二交易信息,以使第三客户端将第二交易信息发送至目标区块链网络的区块链节点,第二交易信息对应于目标区块链,第二交易信息包括跨链交易数据。

其中,第二交易信息是第三客户端根据跨链交易数据而生成的交易数据。需要说明的是,第三客户端可以将该第二交易信息传输至目标区块链网络,目标区块链网络便能够基于该第二交易信息执行交易过程。

例如,上述的数据报文在跨链服务节点中被推送一段过程后,可以拆包分析该数据报文,并按照报文内容,提交该跨链交易数据到目标区块链网络的目标客户端,以向目标客户端发起交易,使目标区块链网络执行该交易。

s130,从目标区块链网络获取监听到的第二交易信息的执行结束的执行结果。

其中,第二交易信息是步骤s120中基于跨链交易数据而生成的。

需要说明的是,在第二交易信息在目标区块链网络执行的过程中,跨链服务节点能够随时对该执行的过程进行主动监听,以监听到第二交易信息的执行结果。

s140,基于执行结果向源区块链网络发送指示信息,该指示信息用于指示跨链交易结束。

例如,基于执行结果向源区块链网络的第四客户端发送第二请求。该第二请求用于请求第四客户端将执行结果发送至源区块链网络的区块链节点中,以使源区块链网络的区块链节点基于执行结果将第一交易信息记录在源区块链中。

例如,如图2所示,跨链服务节点(中继服务)可以监听到用户a的账户所对应的源区块链网络发起的与目标区块链网络之间的跨链交易,由跨链服务节点提供将该跨链交易跨区块链网络传输的功能,从而将该跨链交易的数据转移到用户b的账户,即目标区块链网络的第三用户端对应的账户。在实际应用中,本申请实施例提供的跨区块链通信方法也可以一种用于联盟链与联盟链之间的跨链互通方法。

其中,第一客户端和第二客户端为发起跨链交易的客户端,而第三客户端第四客户端为跨链服务指定的客户端,在一些实施例中,第一客户端和第四客户端可以为同一个,第二客户端和第三客户端可以为同一个。另外,第一客户端和第四客户端还可以称为源客户端,第二客户端和第三客户端还可以称为目标客户端。

本申请实施例中,跨链服务节点能够通过监听区块链网络的方式以及向第三客户端发送数据的方式,达到跨链服务节点与区块链网络之间进行数据交互,以实现不同的区块链网络之间进行跨区块链的通信。

再者,通过监听源区块链网络和目标区块链网络的交易状态,不需要对源区块链网络和目标区块链网络进行改造,能够直接对源区块链网络和目标区块链网络之间的跨链交易数据进行获取以及传输,以实现效率更高的跨链交易过程。

下面对上述步骤进行详细介绍。

在一些实施例中,第一交易信息用于在源区块链中指示跨链交易,第二交易信息用于在目标区块链中指示跨链交易,第一交易信息和第二交易信息相同或不同。

例如,如图2所示,跨链服务节点(中继服务)能够时刻监听源区块链网络的交易状态,并根据交易状态推送跨链交易。具体的,由源区块链网络通过跨链服务节点发起跨链交易,并锁定待转移资产,当该跨链交易在源区块链网络内部达成共识确认之后,跨链服务节点便获取,以及推送该跨链交易的数据,将该跨链交易的数据推送至目标区块链网络,以按照跨链交易的数据内容,发起目标区块链网络的跨链交易提交。

同样的,跨链服务节点(中继服务)能够时刻监听目标区块链网络的该跨链交易的执行状态,并将执行结果推送回源区块链网络。具体的,目标区块链网络确认接收该跨链交易的数据,进行目标区块链网络内部的共识上链过程。当跨链交易确认阶段完成,目标区块链网络接收跨链交易资产后,即目标区块链网络达到跨链交易共识确认后,跨链服务节点推送跨链确认交易到源区块链网络。

通过共识确认的过程,使跨链服务节点从各个区块链网络处获取到的交易数据都是在区块链网络的内部达成了共识的交易数据,以提高跨链服务节点从区块链网络获取到的交易数据的准确度。

在一些实施例中,可以判断源区块链和目标区块链之间是否允许交易,以确保跨链交易的合法性。作为一个示例,在步骤s110之后,该方法还可以包括以下步骤:

步骤a,基于源区块链网络、目标区块链网络和预设跨链通信白名单判断源区块链网络和目标区块链网络之间是否允许交易。若是,则执行步骤b。

步骤b,确定跨链交易为合法数据。

例如,跨链服务节点能够在获取到跨链交易数据后,利用预先配置的允许访问的白名单,对跨链交易数据进行判断,在判断出源区块链和目标区块链之间允许交易后确定跨链交易数据为合法数据。

在实际应用中,跨链服务节点还能够利用转发路由表对跨链交易数据进行跨链交易报文的路由转发操作,以实现路由服务的提供过程。例如,可以监听跨链服务节点内部下一个子节点的服务状态,以将跨链交易数据进行路由转发操作。

通过判断源区块链和目标区块链之间的交易许可情况,能够确保在源区块链和目标区块链之间进行跨链通讯的跨链交易数据的合法性。

在一些实施例中,可以预设跨链通信协议规则并按照该规则进行数据过滤,以提高跨区块链通讯的数据传输效率。作为一个示例,在步骤s110之后,该方法还可以包括以下步骤:

步骤c,判断跨链交易数据的内容是否符合预设跨链通信协议规则。若是,则执行步骤d。

步骤d,确定跨链交易数据为有效数据。

在实际应用中,可以预先定义跨区块链通信协议。跨链服务节点可以校验跨链交易数据是否符合该协议的过滤规则,如符合则在跨链服务节点内部将跨链交易数据推送至对应的下一个子节点。从而检测出跨链交易数据的有效性。当然,也可以屏蔽无效的数据请求,即而检验跨链交易的有效性:

其中,该跨区块链通信协议可以为kbtp协议,进而检验跨链交易的有效性,若满足kbtp协议的规则,则将跨链交易数据推送至对应的下一个子节点。

通过预设跨链通信协议规则,界定了区块链跨链的通信协议,后续系统便可以直接通过该协议进行异构系统跨链通讯,以提高跨区块链通讯的数据传输效率。

在一些实施例中,可以设置源区块链网络和目标区块链网络之间的跨链服务共识机制,以对跨链交易在不同区块链之间是否达成共识进行更有效的校验。作为一个示例,在步骤s110之后,该方法还可以包括以下步骤:

步骤e,校验源区块链网络对应的共识机制和目标区块链网络的共识机制是否符合预设跨链共识规则。若是,则执行步骤d。

步骤f,形成源区块链网络和目标区块链网络之间的跨链服务共识机制。

通过预设跨链共识规则,可以为源区块链网络和目标区块链网络之间是否达到共识的判断过程提供一定的共识标准,能够更加有效的判断出跨链交易是否在不同的区块链之间达成共识,以对跨链交易的共识结果进行更有效的校验。

在一些实施例中,可以在确保跨链交易数据合法、有效且能达成共识之后,再将跨链交易数据发送至目标客户端,以保证跨链交易过程的准确性。作为一个示例,在步骤s120之前,该方法还可以包括以下步骤:

步骤g,确定已经形成跨链服务共识机制,且跨链交易数据同时为合法数据及有效数据。

在源区块链网络和目标区块链网络之间已经形成共同的跨链服务共识机制后,将合法且有效的跨链交易数据推送至指定的目标客户端,以向目标客户端发起跨链交易。

通过一系列的校验、判断过程后,再进行下一步的交易上链操作,能够保证源区块链网络和目标区块链网络之间的跨链交易是合法、有效且能够达成共识的交易,以保证跨链交易过程的准确性。

在一些实施例中,可以利用跨链服务共识机制检验交易结果是否真正达到不同区块链网络之间的共识,以保证交易结果的真实性。作为一个示例,在步骤s130之后,该方法还可以包括以下步骤:

步骤h,检验执行结果是否符合跨链服务共识机制。若是,则执行步骤i。

步骤i,若是,则确定第二交易信息的执行结果为交易成功。

跨链服务节点能够利用步骤f中的跨链服务共识机制,检测出是否真正达到源区块链网络和目标区块链网络之间的跨链交易共识。在确认该跨链交易确实完成达成共识后,便可以将跨链交易的执行结果发送至源客户端,以使源区块链网络确认跨链交易完成。

通过利用源区块链网络和目标区块链网络之间的跨链服务共识机制,对跨链交易在不同区块链网络之间的共识结果进行检测,能够保证最终的交易成功成是真正达成了不同区块链网络之间共识的真实结果。

在一些实施例中,可以按照树形结构对跨链交易的数据进行储存,以方便对跨链交易进行查询检索。作为一个示例,该方法还可以包括以下步骤:将跨链交易数据以源区块链网络和目标区块链网络对应的数据结构,形成树形结构进行记录。

示例性的,如图2所示,跨链服务节点(中继服务)可以将该跨链交易的整体数据进行备案,即将这些数据保存至数据库中,还可以按照源区块链网络和目标区块链网络的结构,形成树形结构交易记录结果,以方便对跨链交易进行有效的查询检索。

图3提供了一种跨区块链通信装置的结构示意图。如图3所示,跨区块链通信装置300包括:

第一获取模块301,用于从源区块链网络获取监听到的跨链交易的第一交易信息,跨链交易为与源区块链网络与目标区块链网络之间的交易,第一交易信息包括:跨链交易数据;

发送模块302,用于基于跨链交易数据向目标区块链网络发送第二交易信息,第二交易信息包括:跨链交易数据;

第二获取模块303,用于从目标区块链网络获取监听到的第二交易信息的执行结束的执行结果;

发送模块302还用于,基于执行结果向源区块链网络发送指示信息,指示信息用于指示跨链交易结束。

在一些实施例中,第一交易信息用于在源区块链网络中指示跨链交易,第二交易信息用于在目标区块链网络中指示跨链交易,第一交易信息和第二交易信息相同或不同。

在一些实施例中,该装置还包括:

第一判断模块,用于基于源区块链网络、目标区块链网络和预设跨链通信白名单判断源区块链网络和目标区块链网络之间是否允许交易;

第一确定模块,用于若是,则确定跨链交易为合法数据。

在一些实施例中,该装置还包括:

第二判断模块,用于判断跨链交易数据的内容是否符合预设跨链通信协议规则;

第二确定模块,用于若是,则确定跨链交易数据为有效数据。

在一些实施例中,该装置还包括:

校验模块,用于校验源区块链网络对应的共识机制和目标区块链网络对应的共识机制是否符合预设跨链共识规则;

形成模块,用于若是,则形成源区块链网络和目标区块链网络之间的跨链服务共识。

在一些实施例中,该装置还包括:

第三确定模块,用于确定已经形成跨链服务共识,且跨链交易数据为合法数据及有效数据。

在一些实施例中,该装置还包括:

检验模块,用于检验执行结果是否符合跨链服务共识;

第四确定模块,用于若是,则确定第二交易信息的执行结果为交易成功。

在一些实施例中,该装置还包括:

记录模块,用于将跨链交易数据以源区块链和目标区块链对应的结构,形成树形结构进行记录。

本申请实施例提供的跨区块链通信装置,与上述实施例提供的跨区块链通信方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本申请实施例提供的一种跨链服务设备,如图4所示,电子设备400包括存储器401、处理器402,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法的步骤。

参见图4,电子设备还包括:总线403和通信接口404,处理器402、通信接口404和存储器401通过总线403连接;处理器402用于执行存储器401中存储的可执行模块,例如计算机程序。

其中,存储器401可能包含高速随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口4040(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线403可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器401用于存储程序,所述处理器402在接收到执行指令后,执行所述程序,前述本申请任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器402中,或者由处理器402实现。

处理器402可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器402可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器402读取存储器401中的信息,结合其硬件完成上述方法的步骤。

图5提供了一种跨链服务系统的结构示意图。如图5所示,该跨链服务系统500包括:多个执行服务节点,其中,该执行服务节点主要用于负责监听网络交易状态,并根据交易状态推送跨链交易;接收中央服务的跨链交易,并推送给指定的客户端发起交易。执行服务节点需要配置指定的监听网络节点和指定的交易发起客户端。作为一个示例,该执行服务节点具体用于:从源区块链网络获取监听到的跨链交易的第一交易信息,所述跨链交易为与源区块链网络与目标区块链网络之间的交易,所述第一交易信息包括:所述跨链交易数据;基于所述跨链交易数据向所述目标区块链网络发送第二交易信息,所述第二交易信息包括:所述跨链交易数据;从所述目标区块链网络获取监听到的所述第二交易信息的执行结束的执行结果;基于所述执行结果向所述源区块链网络发送指示信息,所述指示信息用于指示所述跨链交易结束。

多个执行服务节点可以采用分布式部署,例如,如图5所示,第一执行服务节点501可以部署在靠近源区块链网络601以及源区块链网络对应的源客户端603的位置处,用于监听源区块链网络601中的交易以及通过源客户端603在源区块链网络中发送交易。第二执行服务节点505可以部署在靠近目标区块链网络602以及目标区块链网络对应的目标客户端604的位置处,用于监听目标区块链网络602中的交易以及通过目标客户端604在目标区块链网络中发送交易。

在一些实施例中,该跨链服务系统500还包括至少一个中央服务节点503,负责接收执行服务节点提交的跨链交易,校验交易合法性,推送交易到执行服务节点;中央服务节点需要配置交易校验规则和网关服务节点列表。作为一个示例,该中央服务节点503具体用于:校验源区块链网络对应的共识机制和目标区块链网络对应的共识机制是否符合预设跨链共识规则,若是,则形成源区块链网络和目标区块链网络之间的跨链服务共识。

在一些实施例中,该跨链服务系统500还包括至少一个路由服务节点502负责接收执行服务节点推送的跨链交易数据,并将该数据推送给中央服务节点。路由服务节点502需要配置允许访问的白名单和转发路由表。作为一个示例,该路由服务节点可以用于:基于所述源区块链网络、所述目标区块链网络和预设跨链通信白名单判断所述源区块链网络和所述目标区块链网络之间是否允许交易;若是,则确定所述跨链交易为合法数据。

在一些实施例中,该跨链服务系统500还包括至少一个网关服务节点504用于负责接收校验接收的数据是否符合传输规范,如符合则将数据推送给对应的执行服务节点。网关服务需要配置数据过滤规则。作为一个示例,该网关服务节点用于:以及判断跨链交易数据的内容是否符合预设跨链通信协议规则,若是,则确定跨链交易数据为有效数据。

举例来说,跨链交易提交由执行服务节点触发,主要包含监听交易提交和接收数据交易提交两种:执行服务节点监控指定的网络交易状态,当源区块链网络发起跨链交易并在本网络内共识确认后,执行服务节点按照交易数据内容,发起目标网络的跨链交易提交;以及执行服务节点在接收到中央服务节点校验后的跨链交易后,将指定的交易数据推送给预设的网络客户端,进行交易发起。

执行服务节点包含节点交易状态监听功能和交易推送提交功能:监听指定的网络节点数据变化状态,如监听发现跨链交易数据,则根据该交易数据指定的目标网络,封装生成跨链交易数据报文,将该数据报文推送给中央服务节点;以及接收中央服务节点的跨链交易数据报文,拆包分析数据报文,按照报文内容,提交数据项到指定网络的客户端,发起交易。

中央服务节点对跨链的交易进行有效性检验,并记录相关跨链交易内容。其中,中央服务节点校验跨链交易的有效性:部署分布式服务,接收跨链交易报文,按照跨链服务共识要求和源区块链网络与目标网络的共识机制,进行跨链有效性校验,形成跨链服务共识;以及通过校验后,将跨链交易报文转发至相应的执行服务节点,由执行服务节点进行下一步交易上链操作;保存接收到的跨链交易至数据库中,并按照源区块链网络、目标网络的结构,形成树形结构交易记录,方便查询检索。

网关服务节点检测接收到的数据请求,对接收到的跨链交易数据进行合法性校验。其中,屏蔽无效数据,检验跨链交易有效性:检测接收到数据请求,屏蔽无效的数据请求;以及按照kbtp的协议规范,检验跨链交易的有效性,如满足要求,则将跨链交易数据报文流转到执行服务节点。

路由服务节点针对从执行服务节点接收到的跨链交易报文,提供路由跳转服务。

进行跨链交易报文的路由转发操作:侦听中央服务节点状态;以及对从执行服务节点接收到的跨链交易报文,将跨链交易数据报文进行路由转发操作。

在实际应用中,跨链服务系统内部的各个服务节点可以是分布式部署的节点。示例性的,如图5所示,多个路由服务节点502和多个网关服务节点504可以分布式部署于跨链服务系统内。

当然,本申请实施例中还可以设置其他节点,如数据库506。数据库506可以设置于跨链服务系统内,也可以单独部署,数据库506可以用于对跨链交易数据和跨链交易数据的执行结果以区块链间树形结构的形式进行储存。

本申请实施例还提供了一种跨链交易系统600,包括目标区块链网络、源区块链网络、所述目标区块链网络对应的客户端、所述源区块链网络对应的客户端以及跨链服务系统。如图5所示,包括目标区块链网络602、源区块链网络601、目标区块链网络的目标客户端604、源区块链网络的源客户端603以及上述实施例提供的跨链服务系统500。

本申请实施例提供的跨链服务系统及跨链交易系统,与上述实施例提供的跨区块链通信方法及装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

对应于上述跨区块链通信方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述跨区块链通信方法的步骤。

本申请实施例所提供的跨区块链通信装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述跨区块链通信方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1