掌桥专利:专业的专利平台
掌桥专利
首页

区块链网络中的跨链通信方法、装置、设备以及介质

文献发布时间:2024-04-18 20:01:23


区块链网络中的跨链通信方法、装置、设备以及介质

技术领域

本申请涉及区块链技术领域,尤其涉及一种区块链网络中的跨链通信方法、装置、设备以及介质。

背景技术

目前,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,借由密码学串接并保护内容的串联交易记录(又称区块)。用区块链所串联的分布式账本能让多方有效记录交易,且可永久查验此交易(不可篡改)。

当区块链网络中包含多条用于存储不同业务类型的交易时,这些区块链可以同时处理不同类型的业务;由于区块链网络中所包含的这些区块链是独立运行的,因此,当区块链网络中的业务A与两条或两条以上的区块链相关联时,该业务A在区块链网络中无法正常执行,进而影响了区块链网络中的业务处理效率。

发明内容

本申请实施例提供一种区块链网络中的跨链通信方法、装置、设备以及介质,可以提高区块链网络中的跨链业务处理效率。

本申请实施例一方面提供了一种区块链网络中的跨链通信方法,包括:

将第一业务分支链的第一业务区块中处于预提交状态的业务交易信息发送至跨链网关,以使跨链网关基于第一业务区块对应的有效验证结果,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则根据关联业务信息的预生效状态,生成针对业务交易信息和关联业务信息的第一确认签名;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

将第一确认签名发送至跨链网关,以使跨链网关在接收到第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名时,将第一确认签名和第二确认签名提交至基础主链中的基础区块;

若通过跨链网关检测到基础区块,则根据基础区块将业务交易信息的状态更新为生效状态,根据处于生效状态的业务交易数据,生成用于添加至第一业务分支链的第二业务区块;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

本申请实施例一方面提供了一种区块链网络中的跨链通信方法,包括:

接收第一业务分支链的第一业务区块中处于预提交状态的业务交易信息,对第一业务区块进行有效性验证,得到第一业务区块对应的验证结果,当第一业务区块的验证结果为有效验证结果时,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

接收第二业务分支链的第三业务区块中处于预提交状态的关联业务信息,对第三业务区块进行有效性验证,得到第三业务区块对应的验证结果,当第三业务区块的验证结果为有效验证结果时,将关联业务信息提交至基础主链;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,关联业务信息在基础主链中的状态为预生效状态;第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

接收第一业务分支链针对业务交易信息和关联业务信息的第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名,将第一确认签名和第二确认签名提交至基础主链中的基础区块;基础区块用于指示第一业务分支链将业务交易信息的状态更新为生效状态;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

本申请实施例一方面提供了一种区块链网络中的跨链通信装置,包括:

第一发送模块,用于将第一业务分支链的第一业务区块中处于预提交状态的业务交易信息发送至跨链网关,以使跨链网关基于第一业务区块对应的有效验证结果,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

签名生成模块,用于若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则根据关联业务信息的预生效状态,生成针对业务交易信息和关联业务信息的第一确认签名;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

第二发送模块,用于将第一确认签名发送至跨链网关,以使跨链网关在接收到第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名时,将第一确认签名和第二确认签名提交至基础主链中的基础区块;

跨链成功模块,用于若通过跨链网关检测到基础区块,则根据基础区块将业务交易信息的状态更新为生效状态,根据处于生效状态的业务交易数据,生成用于添加至第一业务分支链的第二业务区块;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

其中,签名生成模块包括:

确认时间记录单元,用于若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则记录关联业务信息对应的预生效确认时间,获取关联业务信息在基础主链中的预生效期限;

确认签名生成单元,用于当预生效确认时间属于预生效期限时,生成针对业务交易信息和关联业务信息的第一确认签名。

其中,该装置还包括:

跨链失败模块,用于当预生效确认时间不属于预生效期限时,确定第一业务分支链和第二业务分支链针对目标业务的跨链通信失败,通过跨链网关将业务交易信息在基础主链中的状态更新为无效状态,以及将关联业务信息在基础主链中的状态更新为无效状态。

其中,跨链成功模块包括:

检测时间记录单元,用于若通过跨链网关检测到基础区块,则记录基础区块对应的区块检测时间,获取基础区块中的第一确认签名和第二确认签名在基础主链中的有效期限;

区块封装单元,用于当区块检测时间属于有效期限时,将业务交易信息的状态更新为生效状态,生成针对目标业务的跨链成功结果,对跨链成功结果和处于生效状态的业务交易信息进行封装处理,得到第二业务区块;

区块广播单元,用于将第二业务区块广播至区块链网络,以使区块链网络中的共识节点对第二业务区块进行区块共识;

区块记账单元,用于接收区块链网络中的共识节点针对第二业务区块的共识结果,若第二业务区块的共识结果指示共识成功,则将第二业务区块添加至第一业务分支链;第二业务区块的区块头中包含第一业务区块的区块哈希。

其中,该装置还包括:

签名重发模块,用于当区块检测时间不属于有效期限时,向跨链网关重新发送第一确认签名,以使跨链网关在接收到重新发送的第一确认签名,以及第二业务分支链重新发送的第二确认签名时,将第一确认签名和第二确认签名重新提交至基础主链中的新的基础区块。

其中,区块链网络包括业务网络和核心共识网络;

该装置还包括:

信息接收模块,用于接收由业务网络中的业务节点发送的业务交易信息以及业务交易信息对应的目标链标识;目标链标识属于核心共识网络为业务节点所配置的M个链标识,M个链标识属于核心共识网络所注册的N个业务分支链的链标识,一个业务分支链对应一个链标识,N个业务分支链包括第一业务分支链和第二业务分支链,M和N均为正整数且M小于或等于N;

业务区块封装模块,用于根据目标业务的业务类型,将业务交易信息的状态设置为预提交状态,根据目标链标识对应的派生条件,对处于预提交状态的业务交易信息进行封装处理,得到第一业务区块;派生条件用于在基础主链中确定目标链标识对应的第一业务分支链的创世块;

业务区块广播模块,用于根据目标链标识,将第一业务区块广播至核心共识网络,以使核心共识网络中的共识节点对第一业务区块进行区块共识;

业务区块记账模块,用于接收核心共识网络中的共识节点针对第一业务区块的共识结果,若第一业务区块的共识结果指示共识成功,则根据创世块,将第一业务区块添加至目标链标识对应的第一业务分支链。

其中,区块链网络还包括路由代理网络,路由代理网络用于对区块链网络中的业务网络和核心共识网络进行网络隔离;

信息接收模块包括:

上链请求获取单元,用于获取路由代理网络中的代理节点转发的交易上链请求;交易上链请求是业务网络中的业务节点所生成的,交易上链请求包括业务交易信息、业务交易信息对应的目标链标识、业务交易信息对应的交易签名信息以及业务节点的节点标识,交易签名信息是指业务节点基于业务节点的节点私钥,对业务交易信息进行签名后所得到的;

验签单元,用于获取业务节点的节点公钥,基于业务节点的节点公钥,对交易签名信息进行验签,得到验签结果;

交易验证单元,用于当验签结果指示验签成功时,基于目标链标识以及业务节点的节点标识,对业务交易信息进行交易验证,得到交易验证结果;

验证合法单元,用于若交易验证结果指示交易验证成功,则确定交易上链请求为合法请求,且从交易上链请求中获取业务交易信息以及目标链标识。

其中,该装置还包括:

区块同步模块,用于若通过跨链网关检测到基础主链中的配置变更区块,则根据配置变更区块对第一业务分支链进行区块同步,得到同步成功消息;配置变更区块用于指示核心共识网络中的所有业务分支链暂停运行;

同步消息发送模块,用于将同步成功消息发送至跨链网关,以使跨链网关将接收到的同步成功消息提交至基础主链;

分支链恢复模块,用于若通过跨链网关获取到恢复通知消息,则恢复运行第一业务分支链;恢复通知消息是基础主链在接收到核心共识网络中的N个业务分支链分别对应的同步成功消息后所生成的。

本申请实施例一方面提供了一种区块链网络中的跨链通信装置,包括:

第一接收模块,用于接收第一业务分支链的第一业务区块中处于预提交状态的业务交易信息,对第一业务区块进行有效性验证,得到第一业务区块对应的验证结果,当第一业务区块的验证结果为有效验证结果时,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

第二接收模块,用于接收第二业务分支链的第三业务区块中处于预提交状态的关联业务信息,对第三业务区块进行有效性验证,得到第三业务区块对应的验证结果,当第三业务区块的验证结果为有效验证结果时,将关联业务信息提交至基础主链;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,关联业务信息在基础主链中的状态为预生效状态;第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

第三接收模块,用于接收第一业务分支链针对业务交易信息和关联业务信息的第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名,将第一确认签名和第二确认签名提交至基础主链中的基础区块;基础区块用于指示第一业务分支链将业务交易信息的状态更新为生效状态;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

其中,第一接收模块包括:

节点标识获取单元,用于获取第一业务区块中的交易信息对应的提交节点标识;提交节点标识是指向区块链网络中的核心共识网络发送交易信息的业务节点所对应的节点标识,第一业务区块中的交易信息包括业务交易信息;

注册信息获取单元,用于从基础主链中获取与第一业务区块所属的第一业务分支链相关联的注册信息,将注册信息确定为校验注册信息;

节点标识查找单元,用于获取校验注册信息中的业务节点配置信息,在业务节点配置信息中查找与提交节点标识相匹配的配置节点标识;配置节点标识对应的业务节点是核心共识网络为第一业务分支链所配置的;配置节点标识对应的业务节点用于执行第一业务分支链的交易业务;

验证结果确定单元,用于若业务节点配置信息中存在与提交节点标识相匹配的配置节点标识,则得到第一业务区块的验证结果为有效验证结果。

其中,该装置中的基础区块还用于指示第二业务分支链将关联业务信息的状态更新为生效状态,并生成包含处于生效状态的关联业务信息的第四业务区块。

本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。

本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。

本申请实施例中,区块链网络中的第一业务分支链在执行目标业务时,在第一业务区块中将目标业务中的业务交易信息设置为预提交状态,并将其发送给跨链网关,由跨链网关将该业务交易信息提交至基础主链,在该基础主链中的业务交易信息的状态更新为预生效状态;若第一业务分支链通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则生成针对业务交易信息和关联业务信息的第一确认签名,其中,该关联业务信息是第二业务分支链基于业务交易信息所确定的跨链信息,即目标业务需要第一业务分支链与第二业务分支链进行协作执行,第二业务分支链和第一业务分支链均是由基础主链所派生得到的。将第一确认签名发送给跨链网关,以使跨链网关将接收到的第一确认签名以及第二业务分支链的第二确认签名提交至基础主链中的基础区块,第一业务分支链通过跨链网关读取到该基础区块后,可以将业务交易信息的状态变为生效状态,即第一业务分支链和第二业务分支链完成针对目标业务的跨链通信。可见,当目标业务需要由基础主链所派生出的第一业务分支链和第二业务分支链协作执行时,第一业务分支链和第二业务分支链可以通过跨链网关和基础主链进行跨链通信,而无需实时跟踪基础主链,可以提高区块链网络中的跨链业务处理效率。

附图说明

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

图1是本申请实施例提供的一种区块链网络分层结构的示意图;

图2是本申请实施例提供的一种核心共识网络的网络架构示意图;

图3是本申请实施例提供的一种区块链网络中的跨链通信方法的流程示意图;

图4是本申请实施例提供的一种将业务交易信息封装为第一业务区块的示意图;

图5是本申请实施例提供的一种目标业务的执行示意图;

图6是本申请实施例提供的一种区块链网络中的跨链通信方法的流程示意图;

图7是本申请实施例提供的一种目标业务对应的跨链处理示意图;

图8是本申请实施例提供的一种税务区块链系统下的系统架构图;

图9是本申请实施例提供的一种区块链网络中的跨链通信装置的结构示意图;

图10是本申请实施例提供的一种区块链网络中的跨链通信装置的结构示意图;

图11是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

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

本申请实施例中涉及区块链技术。区块链是一套去中心化、具备分布式存储特点的基础架构,具体是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,能够安全存储有先后关系的、能在系统内进行验证的数据,并以密码学方式保证数据不可篡改和不可伪造。

请参见图1,图1是本申请实施例提供的一种区块链网络分层结构的示意图。本申请实施例中的区块链网络分层结构可以为图1所示的区块链网络1,该区块链网络1对应的完整区块链业务体系可以由图1所示的业务网络、核心共识网络以及路由代理网络所组成。其中,该路由代理网络中的代理节点的节点数量可以为一个或者多个,在此不做限定。本申请实施例以代理节点10i为例,该代理节点10i可以用于对该业务网络和核心共识网络进行网络隔离。该代理节点10i可以是独立的一个物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供基础云计算服务的云服务器,在此不做限定。该代理节点10i可以将点对点(Peer To Peer,简称P2P)网络进行网络分层,以形成“业务网络—核心共识网络”这样的分层结构,进而能够提高区块链上数据的保密性和安全性。

其中,图1所示的业务网络(也可以称为见证网络)中可以包括一个或多个区块链节点,这里不对业务网络中的节点数量进行限制。例如,业务网络可以具体包括节点10a、节点10b、节点10c、……、节点10h等;本申请实施例可以将处于业务网络中的区块链节点称为业务节点,业务节点不需要参与记账共识,主要用于执行交易业务,以得到对应的业务交易。其中,此处的业务节点可以为包含完整的区块链数据库的全量节点,也可以为存储区块链数据库中的部分数据的轻量节点,这里将不对其进行限定。为了减少业务节点的存储空间的浪费,本申请实施例中的业务节点可以以轻量节点(SimplifiedPaymentVerification,简称SPV)为例,该业务节点不需要存储完整的交易数据,而是通过代理节点10i,从图1所示的核心共识网络中,获得区块头数据和部分授权可见的区块数据(例如,与业务节点自身相关联的业务交易)。

其中,图1所示的核心共识网络中也可以包括一个或者多个区块链节点,这里将不对核心共识网络中的节点数量进行限制。比如,核心共识网络具体可以包括节点10j、节点10k、节点10m、……、节点10s等。本申请实施例可以将处于该核心共识网络中的区块链节点称为共识节点(也可以称为记账节点),这些共识节点可以运行区块链共识协议。

应当理解,本申请实施例可以将代理节点、业务节点以及共识节点统称为区块链网络1中的区块链节点。其中,区块链节点可以为接入至该区块链网络1中的服务器,也可以为接入至该区块链网络1中的用户终端,这里对区块链节点的具体形式不做限定。可以理解的是,图1所示的业务网络和核心共识网络可以处于不同的网络环境,例如,业务节点可以部署在处于公网的业务网络中,而运行区块链共识协议的共识节点则部署在私有的核心共识网络中,二者可以通过路由边界进行交互。

为便于理解,本申请实施例以图1所示的核心共识网络中的任意一个节点(例如,节点10j)为例进行说明。当核心共识网络中的节点10j具有监管权限时,可以将该节点10j称为核心共识网络中具有监管权限的共识节点;该具有监管权限的共识节点可以为用于管理基础主链10t的共识节点,这里将不对管理基础主链10t的共识节点的数量进行限定。例如,当图1所示的区块链网络1对应的区块链节点系统为应用在税务业务中的税务区块链系统时,上述具有监管权限的节点10j可以为该税务区块链系统中的税务总局所使用的终端,可以用于将基础数据和业务配置等数据信息提交到基础主链10t上。其中,与该税务区块链系统相关联的交易业务可以为该税务业务中的各类税务子业务,具体可以包括票据业务、征信业务、进出亏业务、企业资质业务以及退税业务等。

如图1所示,该核心共识网络中的区块链可以包括基础主链10t、以及由该基础主链10t派生的N个交易业务分别对应的业务分支链,此处的N为正整数。应当理解,核心共识网络中的基础主链10t上可以包括每个交易业务对应的业务分支链的注册信息,每个交易业务对应的业务分支链的注册信息均可以包括该业务分支链的链标识、该交易业务的业务配置信息、链标识对应的派生条件。

其中,交易业务(例如,票据业务)的业务配置信息可以包括交易业务的基本信息(即对票据业务的描述)以及节点配置信息(包括业务节点配置信息和共识节点配置信息)。该业务节点配置信息可以包括具有监管权限的共识节点(例如,具有监管权限的节点10j)为对应业务分支链(例如,票据业务对应的业务分支链)配置的配置节点标识,该配置节点标识对应的业务节点具备执行该票据业务的权限;上述共识节点配置信息可以包括具有监管权限的共识节点为该业务分支链配置的用于参与共识该业务分支链的独立共识节点,即共识节点配置信息中所涉及的共识节点均可以参与该业务分支链的共识过程。

每个业务分支链对应的派生条件均可以用于在基础主链10t上确定各自对应的业务分支链的创世块。该图1所示的每个业务分支链均是由基础主链10t上的派生条件所得到的,如图1所示,本申请实施例中的业务分支链的数量以3个为例,具体可以包括业务分支链10u、业务分支链10v以及业务分支链10w。其中,一个业务分支链对应一个交易业务,且一个业务分支链对应一个链标识,这样将能够有效区分不同交易业务,以保持单个业务分支链所存储的数据的专一性。

可以理解的是,当整个区块链网络1所对应的区块链节点系统(例如,税务区块链系统)的配置信息发生信息变化时,核心共识网络中的所有业务分支链暂停运行,即该核心共识网络中的共识节点需要暂停运行。在本申请实施例中,可以将发生信息变化的配置信息称为配置变更信息,例如,该配置变更信息可以是指税务领域范畴的监管规则、计算法规改变、重要的区块链节点变化、链的证书颁发节点轮换等。该核心共识网络中的具备监管权限的共识节点可以基于这些配置变更信息生成配置变更区块,进而将该配置变更区块上链至该核心共识网络中的基础主链,且同步至所有业务分支链,此时,核心共识网络中的其他共识节点可以恢复运行。换言之,当核心共识网络中的基础主链添加了配置变更区块时,该核心共识网络中的所有业务分支链都需要添加该配置变更区块,只有所有的业务分支链中都同步了该配置变更区块,该核心共识网络中的业务分支链才能恢复正常运行。如图1所示,该核心共识网络中的区域10x中包括的基础主链10t中的区块A4、业务分支链10u中的区块B5以及业务分支链10v中的区块C5均可以称为配置变更区块。

其中,图1所示的核心共识网络可以为业务网络中的任意一个业务节点配置M个链标识,这M个链标识属于该核心共识网络所注册的N个业务分支链的链标识,该M可以为小于或等于N的正整数。其中,该核心共识网络为每个业务节点配置的链标识的数量可以相同,也可以不同,这里将不对其进行限定。比如,若核心共识网络中的基础主链所派生的业务分支链的数量为3,且这3个链标识分别为交易业务1X(例如,票据业务)对应的链标识1a、交易业务2X(例如,征信业务)对应的链标识2a以及交易业务3X(例如,进出亏业务)对应的链标识3a,则该核心共识网络中的具有监管权限的共识节点(例如,节点10j)可以为业务网络中的节点10a动态配置2个链标识(例如,链标识1a和链标识3a),还可以为业务网络中的节点10b动态配置3个链标识(例如,链标识1a、链标识2a以及链标识3a),以此类推。可以理解的是,一个业务节点可以动态配置一个或多个链标识,来参与执行多个业务分支链对应的交易业务,进而可以有效保证业务节点的轻便和有效的安全控制。换言之,多个业务分支链对应的交易业务可以由同一业务节点来参与执行,从而可以有效保证业务节点的轻便以及保持有效的安全控制。

核心共识网络中的共识节点还可以用于接收业务网络中的业务节点发送的业务请求,此处的业务请求可以包括交易上链请求以及区块同步请求。其中,核心共识网络中的共识节点(例如,节点10j)可以具有第一共识权限,此处的第一共识权限用于指示该共识节点能够参与该核心共识网络中的基础主链以及由该基础主链所派生的N个业务分支链的共识。可选的,核心共识网络中的共识节点(例如,节点10j)也可以具有第二共识权限,此处的第二共识权限用于指示该共识节点能够参与该核心共识网络中的基础主链以及某个特定链标识对应的业务分支链的共识,即具有第二共识权限的共识节点可以为一个用于参与共识上述特定链标识对应的业务分支链的独立共识节点。

为便于理解,请参见图2,图2是本申请实施例提供的一种核心共识网络的网络架构示意图。如图2所示,该核心共识网络可以为上述图1所示的核心共识网络,该核心共识网络中具有监管权限的共识节点(例如,节点10j)可以为某一业务分支链配置用于对该业务分支链进行独立共识的共识节点,这些用于对同一业务分支链进行独立共识的共识节点可以构成一个分支链独立共识网络。此外,该核心共识网络中具有监管权限的共识节点还可以为基础主链(例如,图2所示的基础主链10t)配置进行独立共识的共识节点,这些用于对基础主链进行独立共识的共识节点可以构成一个主链独立共识网络20a。其中,本申请实施例可以将主链独立共识网络和分支链独立共识网络均称之为独立共识网络。

其中,该核心共识网络可以包括N个分支链独立共识网络,且每一个分支链独立共识网络中的共识节点均具有第二共识权限,即每一个分支链独立共识网络中的共识节点均可以对同一个业务分支链进行独立共识,且同步基础主链10t上的数据。如图2所示,本申请实施例中的核心共识网络中的分支链独立共识网络的数量可以以3个为例,这3个分支链独立共识网络具体可以包括分支链独立共识网络20b、分支链独立共识网络20c以及分支链独立共识网络20d。

其中,分支链独立共识网络20b中的共识节点可以为核心共识网络中的具有监管权限的共识节点(例如,节点10j)为业务分支链10u所配置的,该分支链独立共识网络20b中的区块链可以包括该核心共识网络中的基础主链(例如,图2所示的基础主链10t)以及业务分支链10u。这意味该分支链独立共识网络20b中的共识节点不仅需要参与共识业务分支链10u,还需要同步该核心共识网络中的基础主链10t中的数据。

其中,分支链独立共识网络20c中的共识节点可以为核心共识网络中的具有监管权限的共识节点为业务分支链10v所配置的,该分支链独立共识网络20c中的区块链可以包括该核心共识网络中的基础主链10t以及业务分支链10v。这意味该分支链独立共识网络20c中的共识节点不仅需要参与共识业务分支链10v,还需要同步该核心共识网络中的基础主链10t中的数据。

以此类推,分支链独立共识网络20d中的共识节点可以为核心共识网络中的具有监管权限的共识节点为业务分支链10w所配置的,该分支链独立共识网络20d中的区块链可以包括该核心共识网络中的基础主链10t以及业务分支链10w。这意味该分支链独立共识网络20d中的共识节点不仅需要参与共识业务分支链10w,还需要同步该核心共识网络中的基础主链10t中的数据。

本申请实施例中,可以由核心共识网络中的基础主链派生多个业务分支链,这样可以有效保证该基础主链作为所有业务分支链的信任根,且汇总了每个业务分支链的业务配置等全局信息,为后续监管和审查提供了便利。此外,多个业务分支链同时运行可以提高不同交易业务的并行性能,减少业务交易在上链过程中的等待时间,以至于提高了资源利用率,进而提高了系统效率。

请参见图3,图3是本申请实施例提供的一种区块链网络中的跨链通信方法的流程示意图。可以理解地,该方法可以由核心共识网络中参与共识第一业务分支链的目标共识节点执行,其中,该第一业务分支链属于该核心共识网络中的基础主链所派生的N(N为正整数)个业务分支链,该目标共识节点也可以称为第一业务分支链中的区块链节点,该目标共识节点可以为接入至核心共识网络中的服务器,也可以为接入至该核心共识网络中的用户终端,这里对该目标共识节点的具体形式不做限定。如图3所示,该区块链网络中的跨链通信方法可以至少包括以下步骤S101-步骤S104:

步骤S101,将第一业务分支链的第一业务区块中处于预提交状态的业务交易信息发送至跨链网关,以使跨链网关基于第一业务区块对应的有效验证结果,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态。

具体的,由核心共识网络中的基础主链所派生出的N个业务分支链可以用于执行不同的交易业务,当区块链网络中的目标业务为跨链业务时,该核心共识网络中的单个业务分支链无法独立执行该目标业务,而是需要该核心共识网络中的两个或两个以上的业务分支链进行协作执行,这就需要核心共识网络中的多个业务分支链进行跨链通信,本申请对目标业务所涉及的业务分支链的数量不做限定。为方便描述,本申请实施例以两个业务分支链(即第一业务分支链和第二业务分支链)协作执行目标业务为例进行详细说明。

其中,目标业务可以包含所有需要多个业务分支链进行协作执行的业务,例如,本申请实施例中的区块链网络所对应的区块链系统为应用于保险业务的保险区块链系统时,该目标业务可以为保险购买业务、保险购买信息的查询业务等;区块链网络所对应的区块链系统为应用于税务业务的税务区块链系统时,该目标业务可以为发票验证业务、征信验证业务等;区块链网络所对应的区块链系统为应用于资产管理业务的资产区块链系统时,该目标业务可以为资产转移业务等。第一业务分支链和第二业务分支链协作执行目标任务是指:当第一业务分支链与第二业务分支链需要执行目标业务时,需要第一业务分支链和第二业务分支链分别执行各自链上与目标业务相关的一些业务操作(或具体业务应用逻辑)。例如,目标业务为资产转移业务时,具体可以是用户A向用户B传输10个游戏币,用户A的游戏币账号是在第一业务分支链上进行管理的,用户B的游戏币账户是在第二业务分支链上进行管理的,第一业务分支链与第二业务分支链协作执行目标业务可以指:第一业务分支链成功从用户A的游戏币账户中扣除10个游戏币,然后第二业务分支链在用户B的游戏账户中增加10个游戏币。

第一业务分支链的区块链节点(即目标共识节点)可以获取路由代理网络中的代理节点转发的交易上链请求。其中,该路由代理网络可以为属于该核心共识网络所在区块链网络中的子网络,且该路由代理网络用于对该区块链网络中的业务网络和核心共识网络进行网络隔离。上述交易上链请求是业务网络中的业务节点所生成的,由于区块链网络中的业务网络与核心共识网络是网络隔离的,因此业务网络中的业务节点(例如,上述图1所示的业务网络中的节点10a)无法向核心共识网络发送交易上链请求,而是将交易上链请求发送给路由代理网络中的代理节点(例如,上述图1所示的路由代理网络中的节点10i),该代理节点对该业务节点进行权限验证通过后,方可将上述交易上链请求广播至核心共识网络,即业务节点所生成的交易上链请求是由路由代理网络中的代理节点代为转发的;交易上链请求可以包括业务交易信息、业务交易信息对应的目标链标识、业务交易信息对应的交易签名信息以及业务节点的节点标识,交易签名信息是指业务节点基于业务节点的节点私钥,对业务交易信息进行签名后所得到的,该交易签名信息是为了确保业务交易信息在传输至核心共识网络时的真实性和安全性。进一步地,目标共识节点可以获取该业务节点的节点公钥,基于业务节点的节点公钥,对交易签名信息进行验签,得到验签结果;当验签结果指示该业务交易信息验签成功时,可以基于目标链标识以及业务节点的节点标识,对业务交易信息进行交易验证,得到交易验证结果;若交易验证结果指示交易验证成功,则确定交易上链请求为合法请求,且从交易上链请求中获取业务交易信息以及目标链标识。其中,上述交易验证可以是指验证该业务节点是否具备执行目标链标识所对应的第一业务分支链中的交易业务的权限,如为第一业务分支链配置的业务节点配置信息中包含该业务节点的节点标识,可以确定该业务节点具备执行第一业务分支链中的交易业务的权限,即该业务交易信息的交易验证结果指示交易验证成功。

可以理解的是,当业务网络中的业务节点在执行目标业务时,可以产生该目标业务对应的业务交易信息,进而可以将该业务交易信息作为待上链的交易,且将该业务交易信息对应的链标识作为目标链标识,通过路由代理网络中的代理节点提交至核心共识网络。其中,此处的目标业务可以为区块链网络中的跨链业务,目标链标识属于核心共识网络为业务节点所配置的M个链标识,M个链标识属于核心共识网络所注册的N个业务分支链的链标识,一个业务分支链对应一个链标识,N个业务分支链包括第一业务分支链和第二业务分支链,且该N个业务分支链中的每个业务分支链均是由核心共识网络中的基础主链上的派生条件所得到的。

其中,目标共识节点在接收到业务网络中的业务节点所发送的业务交易信息,以及该业务交易信息所对应的目标链标识后,可以获取该业务交易信息所属的目标业务的业务类型,当目标业务的业务类型为跨链业务类型时可以将业务交易信息的状态设置为预提交状态,进而可以根据目标链标识对应的派生条件,对处于预提交状态的业务交易信息进行封装处理,得到第一业务区块,该派生条件用于在基础主链中确定目标链标识对应的第一业务分支链的创世块;根据目标链标识,将第一业务区块广播至核心共识网络,以使核心共识网络中的共识节点(此处的共识节点可以是指参与第一业务分支链的所有共识节点)对第一业务区块进行区块共识;接收核心共识网络中的共识节点针对第一业务区块的共识结果,若第一业务区块的共识结果指示共识成功,则根据创世块,将第一业务区块添加至目标链标识对应的第一业务分支链。

请参见图4,图4是本申请实施例提供的一种将业务交易信息封装为第一业务区块的示意图。如图4所示,本申请实施例中的业务节点30a可以为业务网络中的任意一个业务节点,例如,上述图1所示的业务网络中的节点10a。本申请实施例中的代理节点30b可以为路由代理网络中的代理节点,例如,上述图1所示的代理节点10i。本申请实施例中的共识节点30c可以为核心共识网络中用于参与第一业务分支链的目标共识节点,其中,业务节点30a所在的业务网络、代理节点30b所在的路由代理网络以及共识节点30c所在的核心共识网络均为区块链网络中的子网络。

可以理解的是,由于该共识节点30c可以为核心共识网络中用于参与第一业务分支链的目标共识节点,因此该共识节点30a可以为具有第一共识权限的共识节点(即用于参与共识基础主链以及由该基础主链派生的所有业务分支链的共识节点),也可以为具有第二共识权限的共识节点(即用于参与共识第一业务分支链,并同步基础主链中的数据的独立共识节点),本申请对目标共识节点的共识权限不做限定。如图4所示,该共识节点30c所运行的区块链可以包括核心共识网络中的基础主链(例如,基础主链30d)、以及由该基础主链30d派生的业务分支链30e(如上述第一业务分支链)、业务分支链30f(如上述第二业务分支链)。图4所示的业务分支链30e是由具有监管权限的共识节点基于基础主链30d上的派生条件所得到的,这里的业务分支链30e对应的派生条件可以用于在基础主链30d上确定该业务分支链30e的创世块。该具有监管权限的共识节点可以为图4所示的共识节点30c,也可以为该共识节点30c所在核心共识网络中的其他节点,这里将不对具有监管权限的共识节点进行限定。

如图4所示,业务分支链30e的链标识(例如,链标识2a)可以为具有监管权限的共识节点在该区块链网络中,创建某一交易业务(例如,票据业务)时所确定的。该业务分支链30e可以为该具有监管权限的共识节点,基于该基础主链30d上的链标识2a对应的派生条件,从基础主链30d中的区块A2派生的业务子链。其中,链标识2a对应的派生条件可以用于在基础主链30d上确定该业务分支链30e的创世块(例如,区块A2),该业务分支链30e还可以包括区块B3、区块B4、区块B5以及区块B6。其中,该区块B6可以包含图4所示的业务节点30a发送的业务交易信息(图4所示的业务交易信息X)。

同理,业务分支链30f的链标识(例如,链标识1a)可以为具有监管权限的共识节点在该区块链网络中,创建另一交易业务(例如,票据验证业务)时所确定的。该业务分支链30f是具有监管权限的共识节点基于该基础主链30d上的链标识1a对应的派生条件,从基础主链30d中的区块A3派生的业务子链。其中,链标识1a对应的派生条件可以用于在基础主链30d上确定该业务分支链30f的创世块(例如,区块A3),该业务分支链30f还可以包括区块C4、区块C5以及区块C6。

应当理解,该核心共识网络中的具有监管权限的共识节点还可以基于基础主链30d已经注册的链标识(包括上述链标识1a和链标识2a),为图4所示的业务节点30a动态配置M个链标识。如图4所示,本申请实施例以2个为例,此时的M取值为2,具体可以包括链标识1a以及链标识2a。可以理解的是,该业务节点30a在执行开票业务这一跨链业务(需要上述业务分支链30e和业务分支链30f协作执行)时,可以生成该开票业务对应的业务交易信息X(例如,开票信息),并将链标识2a作为该业务交易信息X对应的链标识(即目标链标识);该业务节点30a可以将业务交易信息X以及业务交易信息X对应的链标识2a一并发送至图4所示的代理节点30b。

可以理解的是,代理节点30b在接收到该业务交易信息X以及链标识2a时,可以对业务节点30a进行权限验证(例如,验证业务节点30a对业务交易信息X的交易签名信息、业务交易信息X的交易格式以及业务节点30a是否属于代理节点30b中所存储的非法节点列表中的节点等),在确定该业务节点30a具备合法性时,将该业务交易信息X以及链标识2a一并转发至核心共识网络,以使该核心共识网络中的共识节点将该业务交易信息X写入链标识2a对应的业务分支链(即业务分支链30e)。

核心共识网络中的共识节点30c接收到该业务交易信息X以及链标识2a时,该共识节点30c可以根据业务交易信息X所属的开票业务的跨链业务类型,将业务交易信息X的状态设置为预提交状态,并基于链标识2a,从基础主链30d上获取该链标识2a对应的派生条件,进而可以基于该链标识2as对应的派生条件,对处于预提交状态的业务交易信息X进行封装处理,以得到用于广播至核心共识网络中的第一业务区块,在该第一业务区块中,业务交易信息X被设置为预提交状态。进一步地,该共识节点30c可以基于该链标识2a,将第一业务区块发送至该核心共识网络中的共识节点(例如,共识节点30c所在核心共识网络中的能够用于参与共识该业务分支链30e的其他共识节点),以使共识节点对该第一业务区块进行区块共识。

可以理解的是,该共识节点30c可以接收共识节点针对第一业务区块返回的共识结果,进而可以对该共识结果进行结果分析。若该共识结果指示共识成功,则该共识节点30c可以基于业务分支链30e的创世块(区块A2),将该第一业务区块写入至该链标识2a对应的业务分支链30e,换言之,共识节点30c将第一业务区块作为业务分支链30e中的区块B5的下一区块(例如,图4所示的区块B6)。

可选的,为了保证核心共识网络中的各个业务分支链之间的跨链通信,可以在该核心共识网络中创建跨链网关,该跨链网关可以接入该核心共识网络中的基础主链,以及由该基础主链派生的全部或部分业务分支链,该跨链网关可以包括所接入的各个区块链所对应的轻量节点,即所接入的基础主链所对应的轻量节点以及所接入的各个业务分支链所对应的轻量节点,本申请对跨链网关中所接入的业务分支链的数量不做限定。对于需要第一业务分支链和第二业务分支链进行协作执行的目标业务,当第一业务分支链中添加了第一业务区块后,该第一业务分支链的区块链节点(如目标共识节点)可以将处于预提交状态的业务交易信息发送至跨链网关,通过该跨链网关将该业务交易信息异步提交至核心共识网络中的基础主链。

进一步地,跨链网关在接收到处于预提交状态的业务交易信息后,可以对第一业务分支链中包含处于预提交状态的业务交易信息的第一业务区块进行有效性验证,得到该第一业务区块的验证结果,当验证结果为有效验证结果时,可以将该业务交易信息提交至核心共识网络中的基础主链。实质上,跨链网关是将该业务交易信息提交至基础主链所对应的主链独立共识网络,由主链独立共识网络中的共识节点对该业务交易信息进行确认,若该业务交易信息被确认为合法信息时,可以将业务交易信息的状态更新为预生效状态,并将处于预生效状态的业务交易信息封装为新的区块,在该新的区块共识成功后写入基础主链中。

为方便描述,请参见图5,图5是本申请实施例提供的一种目标业务的执行示意图。如图5所示,区块链网络的核心共识网络中包括基础主链40a和由该基础主链40a派生的业务分支链40b(即第一业务分支链)、第二业务分支链;该业务分支链40b中的区块B6为包含处于预提交状态的业务交易信息X(例如,业务交易信息X)的第一业务区块。当业务分支链40b写入了区块B6时,业务分支链40b的区块链节点(如目标共识节点)可以将处于预提交状态的业务交易信息X发送至跨链网关,即向跨链网关预提交业务交易信息X;该跨链网关至少可以接入基础主链40a、业务分支链40b以及第二业务分支链。该跨链网关在验证了区块B6的有效性后,可以将处于预提交状态的业务交易信息X提交至基础主链40a对应的主链独立共识网络,即向基础主链40a预提交业务交易信息X,主链独立共识网络中的共识节点在确认了业务交易信息X的合法性后,可以将业务交易信息X的状态更新为预生效状态,并将处于预生效状态的业务交易信息X封装为区块A5(即上述新的区块)。

需要说明的是,不管是基础主链40a中的区块还是业务分支链40b和第二业务分支链中的区块,均是需要在对应的独立共识网络中达成共识后,方可写入对应的区块链中,每个区块的共识过程是类似的,本申请实施例对于各个区块的共识过程不再进行赘述。

步骤S102,若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则根据关联业务信息的预生效状态,生成针对业务交易信息和关联业务信息的第一确认签名;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,第二业务分支链和第一业务分支链均是由基础主链所派生得到的。

具体的,如图5所示,将处于预提交状态的业务交易信息X发送至跨链网关后,第二业务分支链的区块链节点(核心共识网络中参与共识第二业务分支链的共识节点)从跨链网关中读取到与自身相关联的业务交易信息X,并在确认业务交易信息X的合法性后,基于该业务交易信息X得到关联业务信息Y(即业务交易信息X在第二业务分支链中的关联业务信息);该关联业务信息Y是指第二业务分支链基于业务交易信息X所确定的跨链信息,业务交易信息X和关联业务信息Y属于同一个目标业务。同上述第一业务分支链(如业务分支链40b)对业务交易数据X的执行操作,第二业务分支链的区块链节点可以对关联业务信息Y执行相同的操作,如将关联业务信息Y设置为预提交状态、将处于预提交状态的关联业务信息Y封装为业务区块(如第三业务区块)、将处于预提交状态的关联业务信息Y发送至跨链网关等操作。跨链网关接收到处于预提交状态的关联业务信息Y,并验证了包含处于预提交状态的关联业务信息Y的第三业务区块有效性后,可以将该关联业务信息Y提交至基础主链40a。基础主链40a的共识节点同样可以在确认了关联业务信息Y的合法性之后,可以将关联业务信息Y的状态更新为预生效状态,并将处于预生效状态的关联业务信息Y封装为区块A6。

进一步地,如图5所示,若第一业务分支链40b通过跨链网关读取到基础主链40a中包含处于预生效状态的关联业务信息Y,则可以记录关联业务信息Y对应的预生效确认时间,获取关联业务信息Y在基础主链40a中的预生效期限;当预生效确认时间属于预生效期限时,生成针对业务交易信息X和关联业务信息Y的第一确认签名。当预生效确认时间不属于预生效期限时,确定业务分支链40b(第一业务分支链)和第二业务分支链针对目标业务的跨链通信失败,通过跨链网关将业务交易信息X在基础主链40a中的状态更新为无效状态,以及将关联业务信息Y在基础主链40a中的状态更新为无效状态。

其中,上述预生效确认时间可以是指业务分支链40b的区块链节点通过跨链网关读取到处于预生效状态的关联业务信息Y的实际时间,预生效期限可以是指业务分支链40b的区块链节点通过跨链网关读取到处于预生效状态的关联业务信息Y的最晚时间期限。在预生效期限范围内(如预生效期限之前的任何时间点)读取到处于预生效状态的关联业务信息Y,表明业务交易信息X和关联业务信息Y均在基础主链40a中被确认,因此可以生成针对业务交易信息X和关联业务信息Y的第一确认签名,该第一确认签名是指业务分支链40b采用自身私钥对业务交易信息X和关联业务信息Y进行加密后所生成的数字签名。在预生效期限范围内未读取到处于预生效状态的关联业务信息Y,则表示第一业务分支链和第二业务分支链针对目标业务的跨链通信失败,该目标业务执行失败。

步骤S103,将第一确认签名发送至跨链网关,以使跨链网关在接收到第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名时,将第一确认签名和第二确认签名提交至基础主链中的基础区块。

具体的,如图5所示,业务分支链40b的区块链节点(目标共识节点)可以将第一确认签名发送至跨链网关,以使跨链网关将接收到的第一确认签名,以及第二业务分支链的区块链节点对业务交易信息X和关联业务信息Y的第二确认签名提交至基础主链40a。应当理解,由于目标业务是业务分支链40b与第二业务分支链协作执行,因此第二业务分支链的区块链节点通过跨链网关读取到基础主链40a中包含处于预生效状态的业务交易信息X和关联业务信息Y时,同样可以对业务交易信息X和关联业务信息Y进行确认签名,得到第二确认签名,并将第二确认签名发送给跨链网关。

基础主链40a的共识节点在接收到业务分支链40b的第一确认签名,以及第二业务分支链的第二确认签名后,可以将第一确认签名和第二确认签名封装为基础区块(如图5所示的区块A7)写入基础主链40a中。

步骤S104,若通过跨链网关检测到基础区块,则根据基础区块将业务交易信息的状态更新为生效状态,根据处于生效状态的业务交易数据,生成用于添加至第一业务分支链的第二业务区块;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

具体的,如图5所示,若业务分支链40b的区块链节点(目标共识节点)通过跨链网关读取到基础主链40a中的区块A7(基础区块)后,可以根据该区块A7将业务交易信息X的状态更新为生效状态,根据处于生效状态的业务交易数据,生成用于添加至第一业务分支链的第二业务区块。进一步地,通过跨链网关读取到区块A7后,可以记录基础区块对应的区块检测时间,即读取到区块A7的时间,获取基础区块中的第一确认签名和第二确认签名在基础主链中的有效期限;当区块检测时间属于有效期限时,将业务交易信息X的状态更新为生效状态,生成针对目标业务的跨链成功结果,对跨链成功结果和处于生效状态的业务交易信息X进行封装处理,得到第二业务区块(如图5所示的区块B7);将第二业务区块广播至区块链网络中的核心共识网络,以使核心共识网络中的共识节点对第二业务区块进行区块共识;接收区块链网络中的共识节点针对第二业务区块的共识结果,若第二业务区块的共识结果指示共识成功,则将第二业务区块添加至第一业务分支链,该第二业务区块的区块头中包含第一业务区块的区块哈希,即第二业务区块为第一业务区块的下一个区块。其中,上述区块检测时间可以是指业务分支链40b的区块链节点通过跨链网关读取到基础区块(区块A7)的实际时间,有效期限可以是指业务分支链40b的区块链节点通过跨链网关读取到基础区块(区块A7)的最晚时间期限。

可选的,当区块检测时间不属于有效期限时,向跨链网关重新发送第一确认签名,以使跨链网关在接收到重新发送的第一确认签名,以及第二业务分支链重新发送的第二确认签名时,将第一确认签名和第二确认签名重新提交至基础主链中的新的基础区块。其中,区块检测时间不属于有效期限,表示业务分支链40b的区块链节点未在有效期限内读取到基础区块(区块A7),因此需要向跨链网关重新发送第一确认签名,若在重新发送第一确认签名后的新的有效期限内仍然未读取到新的基础区块,且重复发送第一确认签名的次数达到数量阈值(该数量阈值可以根据实际需求进行设置,如设置为3)时,可以确定业务分支链40b与第二业务分支链跨链失败,将基础主链40a中的业务交易信息X的状态更新为无效状态,关联业务信息Y的状态更新为无效状态。

可选的,若第一业务分支链的区块链节点(目标共识节点)通过跨链网关检测到基础主链中的配置变更区块(包含整个区块链网络中发生信息变化的配置信息),则根据配置变更区块对第一业务分支链进行区块同步,得到同步成功消息,该配置变更区块用于指示核心共识网络中的所有业务分支链暂停运行;将同步成功消息发送至跨链网关,以使跨链网关将接收到的同步成功消息提交至基础主链;若通过跨链网关获取到恢复通知消息,则恢复运行第一业务分支链;恢复通知消息是基础主链在接收到核心共识网络中的N个业务分支链分别对应的同步成功消息后所生成的,即核心共识网络中的所有业务分支链均完成了上述配置变更区块的同步处理时,该核心共识网络中的所有业务分支链才能恢复运行;例如,上述图1所示的区域10x中的区块A4为基础主链10t中的配置变更区块,区块B5为业务分支链10u进行同步处理后所添加的配置变更区块,区块C5为业务分支链10u进行同步处理后所添加的配置变更区块,区块B5和区块C5都成功添加到对应的业务分支链中后,这些业务分支链才能恢复运行,即核心共识网络中的共识节点才能恢复正常工作。

本申请实施例中,当目标业务需要由基础主链所派生出的第一业务分支链和第二业务分支链协作执行时,第一业务分支链和第二业务分支链可以通过跨链网关和基础主链进行跨链通信,而无需实时跟踪基础主链,可以提高区块链网络中的跨链业务处理效率;进一步地,各个业务分支链无需自行跟踪基础主链,使得业务分支链的实现逻辑更简单明确,还可以减少跨链跟踪数据的存储,节省存储空间,通过跨链网关和基础主链一同进行核心共识网络中的跨链管理,具有中心化安全性。

请参见图6,图6是本申请实施例提供的一种区块链网络中的跨链通信方法的流程示意图。如图6所示,该方法涉及第一业务分支链、第二业务分支链、跨链网关以及基础主链之间的交互,通常来说,第一业务分支链、第二业务分支链、跨链网关以及基础主链之间的交互实质上是第一业务分支链的区块链节点(参与共识第一分支链的共识节点,例如上述目标共识节点)、第二业务分支链的区块链节点(参与共识第二分支链的共识节点)、跨链网关以及基础主链的区块链节点(参与共识基础主链的共识节点)之间的交互过程;该方法可以包括以下步骤S201-步骤S219:

步骤S201,第一业务分支链向跨链网关发送处于预提交状态的业务交易信息。

具体的,第一业务分支链中写入了第一业务区块后,该第一业务区块包括处于预提交状态的业务交易信息,该第一业务分支链的区块链节点可以向跨链网关发送处于预提交状态的业务交易信息。

步骤S202,跨链网关对第一业务区块进行有效性验证,得到第一业务区块对应的验证结果。

具体的,跨链网关接收到处于预提交状态的业务交易信息后,可以对第一分支链中包含该业务交易信息的第一业务区块进行有效性验证,以得到第一业务区块对应的验证结果。

其中,跨链网关对第一业务区块的有效性验证过程可以包括:跨链网关可以获取第一业务区块中所包含的所有交易信息对应的提交节点标识,该提交节点标识是指向区块链网络中的核心共识网络发送交易信息的业务节点所对应的节点标识,第一业务区块中的交易信息包括上述业务交易信息;该跨链网关可以从基础主链中获取与第一业务区块所属的第一业务分支链相关联的注册信息,将注册信息确定为校验注册信息;获取校验注册信息中的业务节点配置信息,在业务节点配置信息中查找与提交节点标识相匹配的配置节点标识,其中,配置节点标识对应的业务节点是核心共识网络为第一业务分支链所配置的,该配置节点标识对应的业务节点用于执行第一业务分支链的交易业务;若业务节点配置信息中存在与提交节点标识相匹配的配置节点标识,则得到第一业务区块的验证结果为有效验证结果。若业务节点配置信息中不存在与提交节点标识相匹配的配置节点标识,则得到第一业务区块的验证结果为无效验证结果。

步骤S203,当验证结果为有效验证结果时,跨链网关向基础主链发送业务交易信息。

具体的,当第一业务区块的验证结果为有效验证结果时,跨链网关向基础主链所在的主链独立共识网络发送处于预提交状态的业务交易信息。当第一业务区块的验证结果为无效验证结果时,跨链网关可以确定此次业务交易信息所对应的目标业务跨链失败,需要第一业务分支链重新提交业务交易信息。

步骤S204,在基础主链中添加处于预生效状态的业务交易信息。

具体的,基础主链的共识节点接收到跨链网关发送的处于预提交状态的业务交易信息,并对该业务交易信息进行合法性确认,在确定该业务交易信息为合法信息后,可以将业务交易信息的状态更新为预生效状态,并将预生效状态的业务交易信息添加至基础主链的新区块中,即写入基础主链中的业务交易信息处于预生效状态。

步骤S205,第二业务分支链在跨链网关中读取处于预生效状态的业务交易信息。

具体的,当第二业务分支链的区块链节点通过跨链网关读取到与自身相关联的业务交易信息时,可以对处于预生效状态的业务交易信息进行验证,在确认了该业务交易信息为合法信息后,可以基于该业务交易信息计算出与第二业务分支链相关的关联业务信息,该关联业务信息是指业务交易信息在第二业务分支链所产生跨链信息。

第二业务分支链的区块链节点可以将关联业务信息设置为预提交状态,并对处于预提交状态的关联业务信息进行封装处理,生成第三业务区块,将该第三业务区块广播至核心共识网络,以使核心共识网络中的共识节点对该第三业务区块进行共识;进而可以接收核心共识网络中的共识节点对该第三业务区块的共识结果,若第三业务区块的共识结果指示共识成功,则可以将该第三业务区块写入第二业务分支链中,在该第二业务分支链的第三业务区块中,可以包含针对业务交易信息的确认信息,以及处于预提交状态的关联业务信息。其中,第三业务区块在核心共识网络中的共识过程与前述第一业务区块的共识过程类似,此处不再进行赘述。

步骤S206,第二业务分支链向跨链网关发送处于预提交状态的关联业务信息。

具体的,第二业务分支链中写入了第三业务区块后,该第三业务区块包括处于预提交状态的业务交易信息,该第二业务分支链的区块链节点可以向跨链网关发送处于预提交状态的业务交易信息。

步骤S207,跨链网关对第三业务区块进行有效性验证,得到第三业务区块对应的验证结果。

具体的,跨链网关接收到处于预提交状态的关联业务信息后,可以对第二分支链中包含该关联业务信息的第三业务区块进行有效性验证,以得到第三业务区块对应的验证结果。其中,跨链网关对第三业务区块的有效性验证过程可以参见上述第一业务区块的有效性验证过程,此处不再进行赘述。

步骤S208,当验证结果为有效验证结果时,跨链网关向基础主链发送关联业务信息。

具体的,当第二业务区块的验证结果为有效验证结果时,跨链网关向基础主链所在的主链独立共识网络发送处于预提交状态的关联业务信息。当第三业务区块的验证结果为无效验证结果时,跨链网关可以确定此次业务交易信息所对应的目标业务跨链失败,需要第一业务分支链重新提交业务交易信息。

步骤S209,在基础主链中添加处于预生效状态的关联业务信息。

具体的,基础主链的共识节点接收到跨链网关发送的处于预提交状态的关联业务信息,并对该关联业务信息进行合法性确认,在确定该关联业务信息为合法信息后,可以将关联业务信息的状态更新为预生效状态,并将预生效状态的关联业务信息添加至基础主链的新区块中,即写入基础主链中的关联业务信息处于预生效状态。

步骤S210,第二业务分支链通过跨链网关读取到基础主链中的业务交易信息和关联业务信息均处于预生效状态。

步骤S211,第一业务分支链通过跨链网关读取到基础主链中的业务交易信息和关联业务信息均处于预生效状态。

步骤S212,第二业务分支链向跨链网关发送针对业务交易信息和关联业务信息的第二确认签名。

步骤S213,第一业务分支链向跨链网关发送针对业务交易信息和关联业务信息的第一确认签名。

具体的,当第一业务分支链的区块链节点和第二业务分支链的区块链节点通过跨链网关读取到基础主链中的业务交易信息和关联业务信息均处于预生效状态时,即读取到业务交易信息和关联业务信息成功写入基础主链,第一业务分支链的区块链节点可以生成针对业务交易信息和关联业务信息的第一确认签名,并将该第一确认签名发送至跨链网关;同理,第二业务分支链的区块链节点可以生成针对业务交易信息和关联业务信息的第二确认签名,并将第二确认签名发送至跨链网关。

需要说明的是,第一业务分支链的区块链节点和第二业务分支链的区块链节点可以通过跨链网关同时读取到基础主链中的业务交易信息和关联业务信息,也可以在不同时间读取到基础主链中的业务交易信息和关联业务信息,本申请只需其在预生效期限内读取到基础主链中的业务交易信息和关联业务信息即可,对两者读取到基础主链中的业务交易信息和关联业务信息的时间顺序不做限定,即上述步骤S210和步骤S211的先后执行顺序不做限定,对步骤S212和步骤S213的先后执行顺序同样不做限定。

步骤S214,跨链网关向基础主链发送第一确认签名和第二确认签名。

具体的,跨链网关接收到第一业务分支链的区块链节点发送的第一确认签名,以及第二业务分支链的区块链节点发送的第二确认签名后,可以将第一确认签名和第二确认签名提交至基础主链对应的主链独立共识网络。

步骤S215,基础主链将第一确认签名和第二确认签名封装为基础区块,并添加至基础主链。

具体的,基础主链的共识节点可以将第一确认签名和第二确认签名封装为基础区块,并在该基础区块共识成功后,写入该基础主链中。

步骤S216,第二业务分支链通过跨链网关读取到基础主链中的基础区块。

步骤S217,第一业务分支链通过跨链网关读取到基础主链中的基础区块.

步骤S218,第二业务分支链在第二业务分支链中添加包含处于生效状态的关联业务信息的第四业务区块。

步骤S219,第一业务分支链在第一业务分支链中添加包含处于生效状态的业务交易信息的第二业务区块。

具体的,当第一业务分支链的区块链节点和第二业务分支链的区块链节点通过跨链网关读取到基础主链中的基础区块时,即读取到第一确认签名和第二确认签名成功写入基础主链,第一业务分支链的区块链节点可以将业务交易信息的状态更新为生效状态,并对处于生效状态业务交易信息进行封装处理,得到第二业务区块,当第二业务区块共识成功时,将第二业务区块写入第一业务分支链中。同理,第二业务分支链的区块链节点可以将关联业务信息的状态更新为生效状态,并对处于生效状态关联业务信息进行封装处理,得到第四业务区块,当第四业务区块共识成功时,将第四业务区块写入第二业务分支链中。

需要说明的是,第一业务分支链的区块链节点和第二业务分支链的区块链节点可以通过跨链网关同时读取到基础主链中的基础区块,也可以在不同时间读取到基础主链中的基础区块,本申请只需其在有效期限内读取到基础主链中的基础区块即可,对两者读取到基础主链中的基础区块的时间顺序不做限定,即上述步骤S216和步骤S217的先后执行顺序不做限定,对步骤S218和步骤S219的先后执行顺序同样不做限定。

请参见图7,图7是本申请实施例提供的一种目标业务对应的跨链处理示意图。如图7所示,核心共识网络可以包括基础主链50a、业务分支链50b(第一业务分支链)以及业务分支链50c(第二业务分支链),该业务分支链50b和业务分支链50c用于协作执行目标业务。

在业务分支链50b的区块B6(上述第一业务区块)中,业务分支链50b的区块链节点将业务交易信息X(即上述业务交易信息)在区块B6中设置为预提交状态,同时将处于预提交状态的业务交易信息X发送给跨链网关异步提交到基础主链50a中,跨链网关验证了区块B6的有效性信息后,提交到基础主链50a上的区块A5,成功写入基础主链50a的业务交易信息X的状态更新为预生效状态。

业务分支链50c的区块链节点通过跨链网关读取到与业务分支链50c相关联的业务交易信息X时,可以在对业务交易信息X验证成功后,基于该业务交易信息X计算出业务分支链50c的关联业务信息Y,同样生成区块C7(上述第三业务信息),且该区块C7中的关联业务信息Y的状态为预提交状态,同时可以将处于预提交状态的关联业务信息Y发送给跨链网关异步提交到基础主链50a中,跨链网关验证了区块C7的有效性信息后,提交到基础主链50a上的区块A6,成功写入基础主链50a的关联业务信息Y的状态更新为预生效状态。

其中,若业务分支链50b的区块链节点和业务分支链50c的区块链节点在预生效期限内未读取到关联业务信息Y已上链到基础主链50a的区块A6,则表示跨链失败,业务交易信息X和关联业务信息Y原本的预生效状态更新为无效状态。

可选地,若业务分支链50b的区块链节点和业务分支链50c的区块链节点在预生效期限内,从跨链网关中读取到处于预生效状态的关联业务信息Y已上链到基础主链50a的区块A6中,则表示业务交易信息X和关联业务信息Y的预生效状态均在基础主链50a中被确认,则业务分支链50b的区块链节点和业务分支链50c的区块链节点均可以发送一个确认收到且跨链完成的签名给跨链网关,即业务分支链50b对应的第一确认签名,业务分支链50c的第二确认签名,由跨链网关发送到基础主链50a上的区块A7(即上述基础区块),确认业务交易信息X和关联业务信息Y的状态即双方跨链完成。

其中,若业务分支链50b的区块链节点和业务分支链50c的区块链节点在有效期限内未从跨链网关中读取到区块A7,则尝试重发对业务交易信息X和关联业务信息Y的确认签名给跨链网关,如继续失败,则跨链无法确认,业务交易信息X和关联业务信息Y原本的预生效状态变为无效,表示跨链失败。

可选地,业务分支链50b的区块链节点和业务分支链50c的区块链节点在有效期限内从跨链网关中读取到区块A7,则业务分支链50b中可以写入区块B7(即第二业务区块),该区块B7中的业务交易信息X的状态处于生效状态;同理,业务分支链50c可以写入区块C8(即第四业务区块),将业务交易信息X和关联业务信息Y的预生效状态变为生效状态,表示业务分支链50b和业务分支链50c针对目标业务的跨链通信成功完成。

本申请实施例中,当目标业务需要由基础主链所派生出的第一业务分支链和第二业务分支链协作执行时,第一业务分支链和第二业务分支链可以通过跨链网关和基础主链进行跨链通信,而无需实时跟踪基础主链,可以提高区块链网络中的跨链业务处理效率;进一步地,跨链网关可以屏蔽基础主链中与目标业务无关的数据,可以提升基础主链中的数据安全性;跨链网关的交互接口只需要设计跨链相关的接口和原语,交互和对接简单,可以节省成本;通过跨链网关和基础主链一同进行核心共识网络中的跨链管理,具有中心化安全性。

请参见图8,图8是本申请实施例提供的一种税务区块链系统下的系统架构图。如图8所示,本申请实施例中的业务网络、路由代理网络以及核心共识网络组成了整个完整区块链业务体系。图8所示的核心共识网络可以包括一个核心链(例如,上述图1所示的核心共识网络中的区块链),该核心链可以包括核心共识网络中的基础主链以及由该基础主链所派生的N个业务分支链,N为正整数。可选的,图8所示的核心共识网络可以包括一个(N+1)个独立共识网络,具体可以包括一个主链独立共识网络和N个分支链独立共识网络。其中,一个独立共识网络中可以包括一个核心链。比如,核心链1可以为主链独立共识网络(例如,上述图2所示的主链独立共识网络20a)中的区块链,核心链N可以为分支链独立共识网络(例如,上述图2所示的主链独立共识网络20b)中的区块链,以此类推。

可以理解的是,当区块链被用于政府(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,在区块链体系中涉及个人隐私或者国家安全等相关数据时,可以采用本申请实施例中的“业务网络—核心共识网络”这一分层区块链结构。其中,该系统架构图可以应用于多种与税务业务相关联的子业务(交易业务),例如,发票业务、出块业务、法人业务、征信业务以及退税业务等。一个交易业务可以对应一个业务分支链,且一个业务分支链可以对应一个链标识,这样能够有效区分不同交易业务,以保持单个业务分支链上交易存储的专一性。

由于整个税务业务将会涉及到监管机构、开票方、报销方和报税方等。因此,图8所示的业务网络中的业务节点可以包括电子税局对应的终端设备、企业用户对应的终端设备以及消费用户对应的终端设备。其中,电子税局可以是指监管专网中的监管机构(例如,省、市、区等税局对应的计算机设备),企业用户可以为公有云中的开票服务商、报销服务商或者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费用户可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,业务网络中的业务节点可以配置有M个链标识,这M个链标识属于核心共识网络所注册的N个业务分支链的链标识,且M可以为小于或者等于N的正整数,该业务节点在执行这M个链标识中的任意一个链标识(即目标链标识)对应的交易业务时,可以生成用于广播至该核心共识网络中的业务交易信息,以通过路由代理网络中的代理节点转发至该核心共识网络中的目标共识节点,以使该目标共识节点将该业务交易信息上链至目标链标识对应的业务分支链。其中,这里的目标共识节点可以为具有第一共识权限的第一共识节点,也可以为具有第二共识权限的第二共识节点,这里将不对其进行限定。

其中,路由代理网络中的代理节点可以用于对业务网络和核心共识网络进行网络隔离,代理节点可以具有点对点服务(即P2P服务)、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在P2P网络中的服务,基于一类特定的网络协议,P2P网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点的基本功能,可以用于节点之间的通信,以对业务网络和核心共识网络进行网络隔离。证书缓存用于缓存各节点的身份证书,其中,这里的证书可以指公钥证书体系(Public Key Infrastructure,PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构(CA)进行颁发,基于公钥证书体系可以实现非对称加密和对于信息的数字签名。这里的公钥证书体系可以包括公私钥密码,x509证书,CA证书签发中心等等。认证服务可以用于对业务网络中的业务节点进行身份验证等。可以理解的是,在本申请实施例中,该代理节点可以用于记录核心共识网络中属于独立共识节点的独立共识节点信息,该独立共识节点信息可以用于指示代理节点在接收到业务网络中的业务节点发送的业务请求(包括交易上链请求以及区块同步请求)时,从核心共识网络中的N个分支链独立共识网络中,确定业务请求中携带的链标识对应的目标独立共识网络,进而将该业务请求转发至目标独立共识网络中的目标共识节点,以使该目标共识节点根据业务请求中的链标识来独立处理。此时,该目标共识节点是指具有第二共识权限的第二共识节点。由于业务分支链的数据量小,且不会与其他业务分支链的数据融合,进而使得该目标共识节点在对业务请求进行独立处理时的操作更加便捷。

其中,核心共识网络中的共识节点(即记账节点)可以为税务专网中的可信节点,可以通过调用权限合约(例如,智能合约),以确定自己的共识职责。这里的权限合约还存储了关于电子票据的整个生命周期的流转逻辑,比如电子票据的票据状态、流转流程、数据的访问权限、电子票据申领条件、电子票据开具条件以及跨链业务等等。比如,核心共识网络中的目标共识节点可以接收由代理节点转发的跨链业务(上述目标业务)对应的业务交易信息以及业务交易信息对应的目标链标识,在成功验证业务交易信息时,可以基于目标链标识,将业务交易信息存储至图8所示的缓存(即核心共识网络中的节点交易池),进而可以基于该目标链标识对应的派生条件,对设置为预提交状态的业务交易信息进行封装处理,以得到用于广播至核心共识网络中的第一业务区块,并将该第一业务区块成功写入至目标链标识对应的第一业务分支链。第一业务分支链的区块链节点(可以为核心共识网络中参与共识第一业务分支链的共识节点,如前述目标共识节点)将处于预提交状态的业务交易信息发送至跨链网关,通过跨链网关将其提交至核心共识网络中的基础主链。

同样地,与第一业务分支链协作执行目标业务的第二业务分支链的区块链节点(可以为核心共识网络中参与共识第二业务分支链的共识节点)在跨链网关中读取到业务交易信息后,可以生成业务交易信息对应的关联业务信息,并将设置为预提交状态的关联业务信息发送给跨链网关,通过跨链网关将其提交至核心共识网络中的基础主链。第一业务分支链的区块链节点和第二业务分支链的区块链节点通过跨链网关读取到业务交易信息和关联业务信息均成功写入基础主链后,可以对业务交易信息和关联业务信息进行确认签名,并将各自的确认签名(第一确认签名和第二确认签名)发送至跨链网关,由跨链网关将各自的确认签名提交至基础主链,在通过跨链网关读取到两个确认签名均写入基础主链时,第一业务分支链的区块链节点可以将业务交易信息的状态更新为生效状态,第二业务分支链的区块链节点可以将关联业务信息的状态更新为生效状态,此时可以表示第一业务分支链与第二业务分支链针对目标业务的跨链通信成功完成。本申请实施例中,当目标业务需要由基础主链所派生出的第一业务分支链和第二业务分支链协作执行时,第一业务分支链和第二业务分支链可以通过跨链网关和基础主链进行跨链通信,而无需实时跟踪基础主链,可以提高区块链网络中的跨链业务处理效率。

可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等对象的业务数据(例如,用户的开票信息、征信信息、退税等,企业的进出亏、企业资质等信息),当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

请参见图9,图9是本申请实施例提供的一种区块链网络中的跨链通信装置的结构示意图。可以理解地,该区块链网络中的跨链通信装置1可以应用在区块链系统中的第一业务分支链的节点设备上;如图9所示,该区块链网络中的跨链通信装置1可以包括:第一发送模块101,签名生成模块102,第二发送模块103,跨链成功模块104;

第一发送模块101,用于将第一业务分支链的第一业务区块中处于预提交状态的业务交易信息发送至跨链网关,以使跨链网关基于第一业务区块对应的有效验证结果,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

签名生成模块102,用于若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则根据关联业务信息的预生效状态,生成针对业务交易信息和关联业务信息的第一确认签名;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

第二发送模块103,用于将第一确认签名发送至跨链网关,以使跨链网关在接收到第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名时,将第一确认签名和第二确认签名提交至基础主链中的基础区块;

跨链成功模块104,用于若通过跨链网关检测到基础区块,则根据基础区块将业务交易信息的状态更新为生效状态,根据处于生效状态的业务交易数据,生成用于添加至第一业务分支链的第二业务区块;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

其中,第一发送模块101,签名生成模块102,第二发送模块103,跨链成功模块104的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101-步骤S104,这里不再进行赘述。

在一个或多个实施例中,签名生成模块102可以包括:确认时间记录单元1021,确认签名生成单元1022;

确认时间记录单元1021,用于若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则记录关联业务信息对应的预生效确认时间,获取关联业务信息在基础主链中的预生效期限;

确认签名生成单元1022,用于当预生效确认时间属于预生效期限时,生成针对业务交易信息和关联业务信息的第一确认签名。

其中,该区块链网络中的跨链通信装置1还包括:跨链失败模块105;

跨链失败模块105,用于当预生效确认时间不属于预生效期限时,确定第一业务分支链和第二业务分支链针对目标业务的跨链通信失败,通过跨链网关将业务交易信息在基础主链中的状态更新为无效状态,以及将关联业务信息在基础主链中的状态更新为无效状态。

其中,确认时间记录单元1021,确认签名生成单元1022,跨链失败模块105的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。

在一个或多个实施例中,跨链成功模块104可以包括:检测时间记录单元1041,区块封装单元1042,区块广播单元1043,区块记账单元1044;

检测时间记录单元1041,用于若通过跨链网关检测到基础区块,则记录基础区块对应的区块检测时间,获取基础区块中的第一确认签名和第二确认签名在基础主链中的有效期限;

区块封装单元1042,用于当区块检测时间属于有效期限时,将业务交易信息的状态更新为生效状态,生成针对目标业务的跨链成功结果,对跨链成功结果和处于生效状态的业务交易信息进行封装处理,得到第二业务区块;

区块广播单元1043,用于将第二业务区块广播至区块链网络,以使区块链网络中的共识节点对第二业务区块进行区块共识;

区块记账单元1044,用于接收区块链网络中的共识节点针对第二业务区块的共识结果,若第二业务区块的共识结果指示共识成功,则将第二业务区块添加至第一业务分支链;第二业务区块的区块头中包含第一业务区块的区块哈希。

其中,该区块链网络中的跨链通信装置1还包括:签名重发模块106;

签名重发模块106,用于当区块检测时间不属于有效期限时,向跨链网关重新发送第一确认签名,以使跨链网关在接收到重新发送的第一确认签名,以及第二业务分支链重新发送的第二确认签名时,将第一确认签名和第二确认签名重新提交至基础主链中的新的基础区块。

其中,检测时间记录单元1041,区块封装单元1042,区块广播单元1043,区块记账单元1044,签名重发模块106的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。

在一个或多个实施例中,区块链网络包括业务网络和核心共识网络;

该区块链网络中的跨链通信装置1还包括:信息接收模块107,业务区块封装模块108,业务区块广播模块109,业务区块记账模块110;

信息接收模块107,用于接收由业务网络中的业务节点发送的业务交易信息以及业务交易信息对应的目标链标识;目标链标识属于核心共识网络为业务节点所配置的M个链标识,M个链标识属于核心共识网络所注册的N个业务分支链的链标识,一个业务分支链对应一个链标识,N个业务分支链包括第一业务分支链和第二业务分支链,M和N均为正整数且M小于或等于N;

业务区块封装模块108,用于根据目标业务的业务类型,将业务交易信息的状态设置为预提交状态,根据目标链标识对应的派生条件,对处于预提交状态的业务交易信息进行封装处理,得到第一业务区块;派生条件用于在基础主链中确定目标链标识对应的第一业务分支链的创世块;

业务区块广播模块109,用于根据目标链标识,将第一业务区块广播至核心共识网络,以使核心共识网络中的共识节点对第一业务区块进行区块共识;

业务区块记账模块110,用于接收核心共识网络中的共识节点针对第一业务区块的共识结果,若第一业务区块的共识结果指示共识成功,则根据创世块,将第一业务区块添加至目标链标识对应的第一业务分支链。

其中,信息接收模块107,业务区块封装模块108,业务区块广播模块109,业务区块记账模块110的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。

在一个或多个实施例中,区块链网络还可以包括路由代理网络,路由代理网络用于对区块链网络中的业务网络和核心共识网络进行网络隔离;

信息接收模块107可以包括:上链请求获取单元1071,验签单元1072,交易验证单元1073,验证合法单元1074;

上链请求获取单元1071,用于获取路由代理网络中的代理节点转发的交易上链请求;交易上链请求是业务网络中的业务节点所生成的,交易上链请求包括业务交易信息、业务交易信息对应的目标链标识、业务交易信息对应的交易签名信息以及业务节点的节点标识,交易签名信息是指业务节点基于业务节点的节点私钥,对业务交易信息进行签名后所得到的;

验签单元1072,用于获取业务节点的节点公钥,基于业务节点的节点公钥,对交易签名信息进行验签,得到验签结果;

交易验证单元1073,用于当验签结果指示验签成功时,基于目标链标识以及业务节点的节点标识,对业务交易信息进行交易验证,得到交易验证结果;

验证合法单元1074,用于若交易验证结果指示交易验证成功,则确定交易上链请求为合法请求,且从交易上链请求中获取业务交易信息以及目标链标识。

其中,上链请求获取单元1071,验签单元1072,交易验证单元1073,验证合法单元1074的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。

在一个或多个实施例中,该区块链网络中的跨链通信装置1还包括:区块同步模块111,同步消息发送模块112,分支链恢复模块113;

区块同步模块111,用于若通过跨链网关检测到基础主链中的配置变更区块,则根据配置变更区块对第一业务分支链进行区块同步,得到同步成功消息;配置变更区块用于指示核心共识网络中的所有业务分支链暂停运行;

同步消息发送模块112,用于将同步成功消息发送至跨链网关,以使跨链网关将接收到的同步成功消息提交至基础主链;

分支链恢复模块113,用于若通过跨链网关获取到恢复通知消息,则恢复运行第一业务分支链;恢复通知消息是基础主链在接收到核心共识网络中的N个业务分支链分别对应的同步成功消息后所生成的。

其中,区块同步模块111,同步消息发送模块112,分支链恢复模块113的具体功能实现方式可以参见上述图3所对应实施例中的步骤S104,这里不再进行赘述。

本申请实施例中,当目标业务需要由基础主链所派生出的第一业务分支链和第二业务分支链协作执行时,第一业务分支链和第二业务分支链可以通过跨链网关和基础主链进行跨链通信,而无需实时跟踪基础主链,可以提高区块链网络中的跨链业务处理效率;进一步地,各个业务分支链无需自行跟踪基础主链,使得业务分支链的实现逻辑更简单明确,还可以减少跨链跟踪数据的存储,节省存储空间,通过跨链网关和基础主链一同进行核心共识网络中的跨链管理,具有中心化安全性。

请参见图10,图10是本申请实施例提供的一种区块链网络中的跨链通信装置的结构示意图。可以理解地,该区块链网络中的跨链通信装置2可以应用在区块链系统的跨链网关中的轻量节点设备上;如图10所示,该区块链网络中的跨链通信装置2可以包括:第一接收模块21,第二接收模块22,第三接收模块23;

第一接收模块21,用于接收第一业务分支链的第一业务区块中处于预提交状态的业务交易信息,对第一业务区块进行有效性验证,得到第一业务区块对应的验证结果,当第一业务区块的验证结果为有效验证结果时,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

第二接收模块22,用于接收第二业务分支链的第三业务区块中处于预提交状态的关联业务信息,对第三业务区块进行有效性验证,得到第三业务区块对应的验证结果,当第三业务区块的验证结果为有效验证结果时,将关联业务信息提交至基础主链;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,关联业务信息在基础主链中的状态为预生效状态;第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

第三接收模块23,用于接收第一业务分支链针对业务交易信息和关联业务信息的第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名,将第一确认签名和第二确认签名提交至基础主链中的基础区块;基础区块用于指示第一业务分支链将业务交易信息的状态更新为生效状态;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

可选地,该基础区块还用于指示第二业务分支链将关联业务信息的状态更新为生效状态,并生成包含处于生效状态的关联业务信息的第四业务区块。

其中,第一接收模块21,第二接收模块22,第三接收模块23的具体功能实现方式可以参见上述图6所对应实施例中的步骤S201-步骤S203、步骤S206-步骤S209以及步骤S214,这里不再进行赘述。

在一个或多个实施例中,第一接收模块21可以包括:节点标识获取单元211,注册信息获取单元212,节点标识查找单元213,验证结果确定单元214;

节点标识获取单元211,用于获取第一业务区块中的交易信息对应的提交节点标识;提交节点标识是指向区块链网络中的核心共识网络发送交易信息的业务节点所对应的节点标识,第一业务区块中的交易信息包括业务交易信息;

注册信息获取单元212,用于从基础主链中获取与第一业务区块所属的第一业务分支链相关联的注册信息,将注册信息确定为校验注册信息;

节点标识查找单元213,用于获取校验注册信息中的业务节点配置信息,在业务节点配置信息中查找与提交节点标识相匹配的配置节点标识;配置节点标识对应的业务节点是核心共识网络为第一业务分支链所配置的;配置节点标识对应的业务节点用于执行第一业务分支链的交易业务;

验证结果确定单元214,用于若业务节点配置信息中存在与提交节点标识相匹配的配置节点标识,则得到第一业务区块的验证结果为有效验证结果。

其中,节点标识获取单元211,注册信息获取单元212,节点标识查找单元213,验证结果确定单元214的具体功能实现方式可以参见上述图6所对应实施例中的步骤S202,这里不再进行赘述。

本申请实施例中,当目标业务需要由基础主链所派生出的第一业务分支链和第二业务分支链协作执行时,第一业务分支链和第二业务分支链可以通过跨链网关和基础主链进行跨链通信,而无需实时跟踪基础主链,可以提高区块链网络中的跨链业务处理效率;进一步地,跨链网关可以屏蔽基础主链中与目标业务无关的数据,可以提升基础主链中的数据安全性;跨链网关的交互接口只需要设计跨链相关的接口和原语,交互和对接简单,可以节省成本;通过跨链网关和基础主链一同进行核心共识网络中的跨链管理,具有中心化安全性。

请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以为用户终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为用户终端为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

将第一业务分支链的第一业务区块中处于预提交状态的业务交易信息发送至跨链网关,以使跨链网关基于第一业务区块对应的有效验证结果,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

若通过跨链网关确定基础主链包含处于预生效状态的关联业务信息,则根据关联业务信息的预生效状态,生成针对业务交易信息和关联业务信息的第一确认签名;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

将第一确认签名发送至跨链网关,以使跨链网关在接收到第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名时,将第一确认签名和第二确认签名提交至基础主链中的基础区块;

若通过跨链网关检测到基础区块,则根据基础区块将业务交易信息的状态更新为生效状态,根据处于生效状态的业务交易数据,生成用于添加至第一业务分支链的第二业务区块;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

或者,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

接收第一业务分支链的第一业务区块中处于预提交状态的业务交易信息,对第一业务区块进行有效性验证,得到第一业务区块对应的验证结果,当第一业务区块的验证结果为有效验证结果时,将业务交易信息提交至区块链网络中的基础主链;业务交易信息在基础主链中的状态为预生效状态;

接收第二业务分支链的第三业务区块中处于预提交状态的关联业务信息,对第三业务区块进行有效性验证,得到第三业务区块对应的验证结果,当第三业务区块的验证结果为有效验证结果时,将关联业务信息提交至基础主链;关联业务信息是指第二业务分支链基于业务交易信息所确定的跨链信息,业务交易信息和关联业务信息属于同一个目标业务,关联业务信息在基础主链中的状态为预生效状态;第二业务分支链和第一业务分支链均是由基础主链所派生得到的;

接收第一业务分支链针对业务交易信息和关联业务信息的第一确认签名,以及第二业务分支链针对业务交易信息和关联业务信息的第二确认签名,将第一确认签名和第二确认签名提交至基础主链中的基础区块;基础区块用于指示第一业务分支链将业务交易信息的状态更新为生效状态;生效状态用于指示第一业务分支链和第二业务分支链成功执行针对目标业务的跨链通信。

应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图6任一个所对应实施例中对区块链网络中的跨链通信方法的描述,也可执行前文图9所对应实施例中对区块链网络中的跨链通信装置1或图10所对应实施例中对区块链网络中的跨链通信装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的区块链网络中的跨链通信装置1或区块链网络中的跨链通信装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图6任一个所对应实施例中对区块链网络中的跨链通信方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。

此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3和图6任一个所对应实施例中对区块链网络中的跨链通信方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

技术分类

06120116546352