一种基于分层结构的分布式账本系统的制作方法

文档序号:11234858阅读:838来源:国知局
一种基于分层结构的分布式账本系统的制造方法与工艺

本发明涉及信息技术领域,具体涉及一种基于分层结构的分布式账本系统。



背景技术:

区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链技术本身具有很多优势:一方面,由于区块链网络能够通过算法实现自我约束,任何恶意欺骗系统的行为都会遭到网络中其他节点的排斥和抑制,因此,一种基于分层结构的分布式账本系统无需依赖中央权威机构支撑和信用背书即可实现安全的网络交易。另一方面,由于区块链采取单向哈希算法,同时每个新产生的区块严格按照时间线形顺序推进,时间的不可逆性导致任何试图入侵篡改区块链内数据信息的行为都很容易被追溯,导致被其他节点的排斥,从而可以限制相关不法行为。因此,区块链技术在金融、银行等各大领域得到了日益广泛的应用。

在传统的一种基于分层结构的分布式账本系统架构中,整个一种基于分层结构的分布式账本系统拥有一组区块链节点,所有节点之间通过共识机制维护一套共同的账本。但是,发明人在实现本发明的过程中发现,现有技术中至少存在如下问题:

首先,由于整个一种基于分层结构的分布式账本系统中包含的所有区块链节点均处于平等的地位,因此,发生在任意两个区块链节点之间的网络交易都需要由所有区块链节点达成共识才能生效。因此,每一个区块链节点都需要参与所有网络交易的共识操作,导致各区块链节点的系统开销较大;而且,每一笔网络交易都需要经过所有区块链节点的共识,导致每一笔网络交易的效率较低;并且,由于每一笔交易的共识操作都需要由所有区块链节点共同参与,从而导致多笔网络交易无法并发执行,降低了整个一种基于分层结构的分布式账本系统的交易效率。

其次,由于发生在任意两个区块链节点之间的网络交易都需要由所有区块链节点共同记账,即:将该笔网络交易对应的交易账目记录在由所有区块链节点共同维护的一个大账本上,因此,导致大账本的数据量较大,而该大账本需由每一个区块链节点共同维护,进而导致整个一种基于分层结构的分布式账本系统的存储开销较大,且记账和查账效率低下。

由此可见,由于传统的一种基于分层结构的分布式账本系统中的共识操作和记账操作需由系统中的每一个区块链节点共同执行,因此导致整个系统无法并发执行且执行效率低下。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于分层结构的分布式账本系统。

根据本发明的一个方面,提供了一种基于分层结构的分布式账本系统,包括:多个层级的区块链网络节点,其中,所述多个层级的区块链网络节点包括以下中的至少两项:第一层级区块链网络节点、隶属于第一层级区块链网络节点的第二层级区块链网络节点、隶属于第二层级区块链网络节点的第三层级区块链网络节点、......直至隶属于第n-1层级区块链网络节点的第n层级区块链网络节点;其中,n为大于三的自然数;其中,每个区块链网络节点进一步包括:共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的共识结果消息;账本子节点,用于根据所述共识子节点生成的共识结果消息进行记账。

在本发明提供的一种基于分层结构的分布式账本系统中,将所有的区块链网络节点划分为至少两个层级,每个层级中的每个区块链网络节点都具有共识子节点和账本子节点,因此,每个区块链网络节点都可以独立地进行共识操作和记账操作,无需依赖其他区块链网络节点的参与,从而提升了共识操作和记账操作的效率。另外,由于每个区块链网络节点仅针对与该区块链网络节点相关的网络交易进行共识和记账,而无需针对与该区块链网络节点无关的网络交易进行共识和记账,因此,不仅降低了整个系统的各项开销,提升了系统运行效率,还能够使整个一种基于分层结构的分布式账本系统中的各个区块链网络节点之间并行记账,大幅提高了系统性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了一种基于分层结构的分布式账本系统的整体架构图;

图2a示出了本发明实施例二提供的一种具体形式的一种基于分层结构的分布式账本系统中的区块链核心层的结构示意图;

图2b示出了本发明实施例二提供的一种具体形式的一种基于分层结构的分布式账本系统中的区块链核心层以及消息网络节点的结构示意图;

图3a示出了一笔链内交易的交易双方的示意图;

图3b示出了一笔同层级跨链交易的交易双方的示意图;

图3c示出了一笔跨层级跨链交易的交易双方的示意图。

图4示出了一个区块链网络节点内部包含的各个子节点的示意图;

图5示出了两类账户之间的汇总交易的示意图;

图6示出了一种基于上述的一种基于分层结构的分布式账本系统实现的网络交易方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

本发明实施例一提供的一种基于分层结构的分布式账本系统包括:多个层级的区块链网络节点,其中,该多个层级的区块链网络节点包括以下中的至少两项:第一层级区块链网络节点、隶属于第一层级区块链网络节点的第二层级区块链网络节点、隶属于第二层级区块链网络节点的第三层级区块链网络节点、......直至隶属于第n-1层级区块链网络节点的第n层级区块链网络节点;其中,n为大于三的自然数。其中,该多个层级的区块链网络节点包括以下中的至少两项的含义是指:该多个层级的区块链网络节点至少包括文中提到的各个层级中的两个层级。例如,可以仅包括第一层级区块链网络节点、以及隶属于第一层级区块链网络节点的第二层级区块链网络节点。

本发明对区块链网络节点的层级数量以及各个层级中包含的区块链网络节点的数量均不限定。例如,该多个层级的区块链网络节点具体包括:至少一个第一层级区块链网络节点、多个分别隶属于各个第一层级区块链网络节点的第二层级区块链网络节点、多个分别隶属于各个第二层级区块链网络节点的第三层级区块链网络节点、......直至多个分别隶属于各个第n-1层级区块链网络节点的第n层级区块链网络节点;其中,n为大于三的自然数。由此可见,本发明实施例一将一种基于分层结构的分布式账本系统在横向方向和纵向方向上分别进行了扩展,通过多个不同层级的区块链网络节点能够适应各类复杂的应用环境。其中,本发明对层级的具体数量以及各层级所包含的区块链网络节点的数量不做限定,本领域技术人员可根据实际需要进行灵活选择。

其中,每个区块链网络节点隶属于该区块链网络节点的上级节点,每个区块链网络节点的下级节点隶属于该区块链网络节点。其中,区块链网络节点a隶属于区块链网络节点b的含义是指:区块链网络节点a与且仅与区块链网络节点b相连,并且,区块链网络节点a为区块链网络节点b的下级节点。由此可见,每个区块链网络节点与且仅与其所隶属的区块链网络节点直接相连,而与其他的区块链网络节点则不直接相连。

通常情况下,上级区块链网络节点的数量大于下级区块链网络节点的数量。例如,在一种示例中,第一层级区块链网络节点的数量为1,第二层级区块链网络节点的数量为n2,第三层级区块链网络节点的数量为n3个,第n-1层级区块链网络节点的数量为n-1个,第n层级区块链网络节点的数量为n。其中,n>n-1>n3>n2>1。通过该种设置方式有利于实现网络节点之间的分层次管理。当然,在本发明其他的实施例中,也可能出现下级区块链网络节点数量小于上级区块链网络节点数量的情况,总之,本发明并不限定各个层级所包含的区块链网络节点的具体数量。每一层级所包含的区块链网络节点数量可以是一个,也可以是多个。

另外,每个区块链网络节点进一步包括:共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的共识结果消息;账本子节点,用于根据共识子节点生成的共识结果消息进行记账。另外,在每个区块链网络节点中,也可以将该区块链网络节点中的一个子节点设置为同时具备共识子节点和账本子节点功能的节点。也就是说,每个区块链网络节点中的共识子节点和账本子节点既可以分别由两个独立的子节点实现,也可以集成在同一个子节点中,由一个子节点实现,从而简化网络节点的结构。

由此可见,通过将所有的区块链网络节点划分为至少两个层级,每个层级中的每个区块链网络节点都具有共识子节点和账本子节点,因此,每个区块链网络节点都可以独立地进行共识操作和记账操作,无需依赖其他区块链网络节点的参与,从而提升了共识操作和记账操作的效率。另外,由于每个区块链网络节点仅针对与该区块链网络节点相关的网络交易进行共识和记账,而无需针对与该区块链网络节点无关的网络交易进行共识和记账,因此,不仅降低了整个系统的各项开销,提升了系统运行效率,还能够使整个一种基于分层结构的分布式账本系统中的各个区块链网络节点之间并行记账,大幅提高了系统性能。

实施例二

本发明实施例二提供了一种具体形式的一种基于分层结构的分布式账本系统。为了便于理解本实施例,图1示出了一种基于分层结构的分布式账本系统的整体架构图。如图1所示,一种基于分层结构的分布式账本系统从上至下依次包括:用户、交易客户端、区块链服务层、区块链核心层、以及消息网络节点。其中,用户主要是指需要进行交易的普通用户;交易客户端主要指各类支付平台提供的用于支付的客户端;区块链服务层用于提供访问区块链核心层的接口,以便于用户访问;区块链核心层包括具有层级关系的一组区块链网络节点,用于实现本发明中的核心功能;消息网络节点用于连接区块链核心层中的各个区块链网络节点,以便于各个区块链网络节点之间的相互通信。其中,本发明主要针对区块链核心层进行了改进。另外,消息网络节点是可选的,在本发明其他的实施例中,也可以省略消息网络节点,由各个区块链网络节点之间直接通信。

图2a示出了本发明实施例二提供的一种具体形式的一种基于分层结构的分布式账本系统中的区块链核心层的结构示意图,图2b示出了本发明实施例二提供的一种具体形式的一种基于分层结构的分布式账本系统中的区块链核心层以及消息网络节点的结构示意图。应该理解的是,本发明既可以采用图2b所示的存在消息网络节点的系统架构实现,也可以采用图2a所示的没有消息网络节点的系统架构实现。在后续的描述中,均是以图2b所示的系统架构为例进行说明的,虽然在图3a-图3b以及图5中,省略了消息网络节点,但实际上图3a-图3b以及图5中也是存在消息网络节点的。

如图2所示,该一种基于分层结构的分布式账本系统包括多个层级的区块链网络节点,其中,具体包括:一个第一层级区块链网络节点0,三个分别隶属于第一层级区块链网络节点0的第二层级区块链网络节点00、01和02,另外,还包括三个分别隶属于第二层级区块链网络节点00的第三层级区块链网络节点000、001和002,以及两个分别隶属于第二层级区块链网络节点01的第三层级区块链网络节点010、和011,以及三个分别隶属于第二层级区块链网络节点02的第三层级区块链网络节点020、021和022。其中,图2所示的多个层级的区块链网络节点的层级划分方式仅为示意性的,本领域技术人员还可以灵活采用其他形式的层级划分方式。例如,第一层级区块链网络节点的数量也可以为两个或更多个,第二层级区块链网络节点的数量以及分别隶属于每个第二层级区块链网络节点的第三层级区块链网络节点的数量均可以灵活设置,而且,本领域技术人员还可以设置更多的层级关系。具体的层级数量和每个层级包含的节点数量可以根据实际的业务场景灵活确定。

优选地,每个区块链网络节点具有对应的上级区块链网络节点和/或下级区块链网络节点;其中,每个区块链网络节点对应的上级区块链网络节点的数量为一个(当然,在一些特殊情况下每个区块链网络节点对应的上级区块链网络节点的数量也可以是多个),每个区块链网络节点对应的下级区块链网络节点的数量为一个或多个。例如,第一层级区块链网络节点0具有三个下级区块链网络节点(即:第二层级区块链网络节点00、01和02),第三层级区块链网络节点000具有一个上级区块链网络节点(即:第二层级区块链网络节点00)。其中,通过每个区块链网络节点的链id(也叫标识)能够快速确定一个区块链网络节点在整个一种基于分层结构的分布式账本系统中的横向和纵向位置。

其中,每个区块链网络节点隶属于该区块链网络节点的上级节点,每个区块链网络节点的下级节点隶属于该区块链网络节点。其中,区块链网络节点a隶属于区块链网络节点b的含义是指:区块链网络节点a与且仅与区块链网络节点b相连,并且,区块链网络节点a为区块链网络节点b的下级节点。由此可见,每个区块链网络节点与且仅与其所隶属的区块链网络节点直接相连,而与其他的区块链网络节点则不直接相连。例如,第三层级区块链网络节点000仅与其上级区块链网络节点(即:第二层级区块链网络节点00)直接相连,而与其他的区块链网络节点则未直接相连。

本发明中的多层级的划分方式的核心在于以下两方面:一方面,将区块链进行横向分链,所谓的横向分链是指:在同一层级上可以包括多个相同层级的区块链网络节点,这些相同层级的区块链网络节点之间互为兄弟节点(例如第三层级区块链网络节点010和011互为兄弟节点)。通过横向分链将所有的交易分为多层级的区块链网络节点之间的链内交易和跨链交易,使所有不同区块链网络节点的交易可以并行,从而大幅提高整个一种基于分层结构的分布式账本系统的性能。另一方面,将区块链进行纵向分层,所谓的纵向分层是指:将所有的区块链网络节点自上至下分为多个不同的层级。通过对区块链纵向分层能够将区块链分为不同层级的多组区块链,下层的区块链将汇总后的交易提交给上层,同时实现一些上下层账户之间的交易。由此可见,通过横向分链和纵向分层能够提升一种基于分层结构的分布式账本系统的灵活性,为多笔交易的并发执行提供保障。

为了便于各个区块链网络节点独立地进行共识操作和记账操作,在上述多个层级的区块链网络节点中的每个区块链网络节点进一步包括:共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的共识结果消息(另外,本发明中的共识结果消息也可以称作交易信息);账本子节点,用于根据该区块链网络节点中的共识子节点生成的共识结果消息进行记账。其中,与该区块链网络节点相关的网络交易包括以下中的至少一种:发生在该区块链网络节点内部的链内交易,以及发生在该区块链网络节点与其他区块链网络节点之间的跨链交易;其中,跨链交易进一步包括:同层级跨链交易以及跨层级跨链交易。由此可见,与传统的一种基于分层结构的分布式账本系统中仅提供一个统一的共识操作入口的方式不同(传统的一种基于分层结构的分布式账本系统中所有交易的共识操作都必须经由该统一的共识操作入口实现,因而无法并发执行多个交易),本发明中的方式相当于提供了多个能够并行使用的共识操作入口(每个区块链网络节点中均具有一个能够独立完成共识操作的入口),而且每个区块链网络节点仅针对与其相关的网络交易进行共识,其他与该笔交易无关的区块链网络节点不参与该笔交易的共识操作,因此,能够并行地进行多个交易的共识操作,既提升了系统的并发量,又降低了共识操作的时延。并且,与传统的一种基于分层结构的分布式账本系统中仅提供一个大账本的方式不同(传统的一种基于分层结构的分布式账本系统通过一个大账本记录所有区块链网络节点之间的各笔交易),本发明中的方式相当于提供了多个独立的小账本(每个区块链网络节点中均具有一个能够独立完成记账操作的账本子节点),而且,每个区块链网络节点中的账本只需记录与该区块链网络节点相关的交易账目即可,无需记录与该区块链网络节点无关的交易账目,从而提升了记账和查询的效率。

另外,为了便于各层级间的多个区块链网络节点相互通信,图2b中还进一步设置了四个消息网络单元,分别为消息网络单元1、消息网络单元2、消息网络单元3和消息网络单元4。其中,各个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的共识结果消息。具体实现时,每个消息网络节点分别与多个区块链网络节点相连,且多个消息网络节点之间分别相连;其中,每个消息网络节点具体用于:接收来自与其相连的区块链网络节点或其他消息网络节点的共识结果消息,获取共识结果消息中包含的目的区块链网络节点标识,根据目的区块链网络节点标识对共识结果消息进行转发。具体地,每个消息网络节点可以通过消息网络中间件来实现,另外,每个消息网络节点中可以保存一份连接表,该连接表用于存储各个消息网络节点与其他消息网络节点之间的连接关系以及各个区块链网络节点与各个消息网络节点之间的连接关系,以便于消息网络节点根据该连接表为接收到的通信消息确定最优转发路径。其中,消息网络节点转发的通信消息包括但不限于共识结果消息,还可以是其他的各类消息。最优转发路径可以采用最短路径算法或其他各类路径算法进行选择。另外,为了便于维护该连接表,各个区块链网络节点在与某消息网络节点建立或断开连接后,向其他的区块链网络节点广播相应的连接建立消息或连接断开消息,以便于其他的区块链网络节点和消息网络节点根据接收到的连接建立消息或连接断开消息更新该连接表。另外,消息网络单元的具体数量可以灵活设置,例如也可以设置为一个或更多个。而且,各个消息网络单元之间的连接方式也可以灵活设置:例如,在小型的一种基于分层结构的分布式账本系统中,每个消息网络单元都可以与其他的所有消息网络单元分别相连,以便于快速转发消息;在大型的一种基于分层结构的分布式账本系统中,每个消息网络单元可以仅与一部分消息网络单元相连,从而通过多个消息网络单元的中继实现消息的转发。本发明对消息网络单元的具体数量和连接形式不做限定。

发明人在实现本发明的过程中发现:在未采用消息网络单元的一种基于分层结构的分布式账本系统中,若两个未直接相连的区块链网络节点需要相互转发消息,例如第三层级区块链网络节点010欲向第三层级区块链网络节点022转发消息,首先,第三层级区块链网络节点010需要获取第三层级区块链网络节点022所对应的子节点列表,然后,第三层级区块链网络节点010中的所有子节点要分别与第三层级区块链网络节点022中的所有子节点建立连接。由此导致操作繁琐、传输效率低下等一系列缺陷。因此,为了解决上述问题,本发明在一种基于分层结构的分布式账本系统中设置了上述至少一个消息网络单元,相应地,每个区块链网络节点中可以分别包括与至少一个消息网络节点相连的消息网络接口,该区块链网络节点中的各个子节点通过该消息网络接口即可与消息网络单元建立通信,进而通过消息网络单元实现与任意区块链网络节点之间的通信。采用消息网络单元至少具备如下优势:一方面,消息网络单元能够快速便捷地连通各个区块链网络节点,因此,不管是相同层级还是不同层级的区块链网络节点之间都可以通过消息网络单元传输消息,避免了两个未直接相连的区块链网络节点预先建立连接的繁琐操作;另一方面,对于一些特殊的应用场景而言,同一一种基于分层结构的分布式账本系统中的某些区块链网络节点之间是不允许直接建立通信连接的(例如为了提高网络安全性,不同的银行系统之间不允许直接建立通信连接),因此,通过消息网络单元还能够在无法直接建立通信连接的区块链网络节点之间实现消息传输。总而言之,利用消息网络单元,能够提升大型一种基于分层结构的分布式账本系统的共识能力,降低共识过程中的网络消耗和时延,提高整个系统的处理能力,并且,使一种基于分层结构的分布式账本系统能够部署在无法点对点互联的场景下。

为了便于理解,接下来,详细介绍该一种基于分层结构的分布式账本系统所能处理的交易类型。在本发明提供的一种基于分层结构的分布式账本系统中,将网络交易划分为两大类:

第一大类网络交易为链内交易,所谓链内交易是指:发生在一个区块链网络节点内部的一笔或多笔网络交易。例如,图3a示出了一笔链内交易的交易双方,在图3a中,第三层级区块链网络节点000对应于两个不同的客户端,第一客户端的账户地址为add1,第二客户端的账户地址为add2。由于这两个客户端都隶属于第三层级区块链网络节点000,因此,该笔交易并未涉及到其他的区块链网络节点,仅涉及到了一个区块链网络节点,因此,该笔交易为链内交易。

第二大类网络交易为跨链交易,所谓跨链交易是指:发生在至少两个不同的区块链网络节点之间的一笔或多笔网络交易。其中,跨链交易又可以进一步划分为:同层级跨链交易(即:交易双方对应的区块链网络节点属于同一层级)以及跨层级跨链交易(即:交易双方对应的区块链网络节点属于不同的层级)。例如,图3b示出了一笔同层级跨链交易的交易双方,在图3b中,第三层级区块链网络节点010对应于账户地址为add3的第三客户端,第三层级区块链网络节点020对应于账户地址为add4的第四客户端。由于这两个客户端分别属于两个不同的区块链网络节点(即:该笔交易涉及到至少两个区块链网络节点),且两个不同的区块链网络节点均属于第二层级(即:两个不同的区块链网络节点互为兄弟节点),因此,该笔交易为同层级跨链交易。又如,图3c示出了一笔跨层级跨链交易的交易双方,在图3c中,第三层级区块链网络节点022对应于账户地址为add5的第五客户端,第二层级区块链网络节点02对应于账户地址为add6的第六客户端。由于这两个客户端分别属于两个不同的区块链网络节点,且两个不同的区块链网络节点不属于同一层级,因此,该笔交易为跨层级跨链交易。

为了便于理解上述的各类交易,图4示出了一个区块链网络节点内部包含的各个子节点(每个子节点也可以理解为一个模块)的示意图。如图4所示,每个区块链网络节点内部进一步包含:交易管理子节点41、共识子节点42、链内网络接口43、区块管理子节点44、账本子节点45、消息网络接口46以及跨链交易汇总子节点47。其中,图4所示的子节点划分方式仅为示意性的,本领域技术人员也可以对其他的多个子节点进行合并,或将某一子节点拆分为更多的子节点,本发明对此不做限定。其中,消息网络接口46以及跨链交易汇总子节点47主要用于实现跨链交易,在仅用于链内交易的区块链网络节点中也可以省略消息网络接口46以及跨链交易汇总子节点47。

首先,结合图4介绍图3a所示的链内交易的具体交易流程:第一客户端通过服务接口层上报一笔包含交易id的网络交易,服务接口层判断出第一客户端所对应的区块链网络节点为第三层级区块链网络节点000(例如根据客户端的开户地址确定),从而将该笔网络交易提交到第三层级区块链网络节点000中包含的交易管理子节点41中。其中,服务接口层与多个层级的区块链网络节点分别相连,用于接收并转发多个层级的区块链网络节点与客户端之间的通信消息,例如,服务接口层可以通过图1中的区块链服务层实现。该交易管理子节点41对该笔交易进行验证(例如验证账户余额是否充足等),验证通过后将该笔交易提交给第三层级区块链网络节点000中包含的共识子节点42。该共识子节点42通过链内网络接口43获取第三层级区块链网络节点000中的其他各个子节点针对该笔交易达成共识后发送的通知消息,并据此生成对应的共识结果消息。该共识结果消息中可以包含经各个子节点确认的交易列表。然后,共识子节点将该共识结果消息提交给区块管理模块44。区块管理模块44负责对共识成功的交易队列进行区块打包处理,以便将打包后的区块写入第三层级区块链网络节点000中包含的账本子节点45中。由此可见,在本发明提供的链内交易流程中,仅由交易相关的区块链网络节点完成共识、记账操作,其他与交易无关的区块链网络节点无需参与共识、记账过程,从而简化了共识操作的复杂度,降低了处理延时,并且,交易账目仅记录在相关的区块链网络节点的账本中,无需其他无关区块链网络节点参与记账,简化了记账的开销,方便了查询。

接下来,结合图4介绍图3b所示的跨链交易的交易流程:第三客户端通过服务接口层上报一笔包含交易id的跨链网络交易,服务接口层判断出第三客户端所对应的区块链网络节点为第三层级区块链网络节点010,从而将该跨链笔网络交易提交到第三层级区块链网络节点010中包含的交易管理子节点中。该交易管理子节点对该笔跨链交易进行验证,验证通过后将该笔跨链交易提交给第三层级区块链网络节点010中包含的共识子节点。该共识子节点通过链内网络接口获取第三层级区块链网络节点010中的其他各个子节点针对该笔跨链交易达成共识后发送的通知消息,并据此生成对应的第一共识结果消息。该第一共识结果消息中可以包含经各个子节点确认的交易列表。然后,该共识子节点进一步用于:确定与该笔跨链交易相关的其他区块链网络节点。例如,在本例中,根据该笔跨链交易的另一交易方第四客户端的账户地址add4确定与该笔跨链交易相关的其他区块链网络节点为第三层级区块链网络节点020。具体地,与该笔跨链交易相关的其他区块链网络节点是指:在该笔跨链交易所涉及的交易方所对应的区块链网络节点中,除当前共识子节点所在的区块链网络节点之外的区块链网络节点,该与该笔跨链交易相关的其他区块链网络节点的数量通常为一个,当存在多笔连环交易时,该与该笔跨链交易相关的其他区块链网络节点的数量也可以为多个。然后,该共识子节点进一步用于:将针对该跨链交易生成的第一共识结果消息转发给与该跨链交易相关的其他区块链网络节点;并且,接收与该跨链交易相关的其他区块链网络节点针对该跨链交易生成的第二共识结果消息。例如,在本例中,第三层级区块链网络节点010中包含的共识子节点需要将第一共识结果消息发送给第三层级区块链网络节点020,并进一步接收第三层级区块链网络节点020针对该跨链交易生成的第二共识结果消息。最后,第三层级区块链网络节点010中包含的共识子节点将该第一共识结果消息以及第二共识结果消息提交给第三层级区块链网络节点010中的区块管理模块44。该区块管理模块44负责对共识成功的交易队列进行区块打包处理,以便第三层级区块链网络节点010中的账本子节点能够将打包后的区块写入第三层级区块链网络节点010中包含的账本中。具体地,第三层级区块链网络节点010中的账本子节点具体用于:根据第一共识结果消息以及第二共识结果消息对该跨链交易进行记账。

其中,上述的第一共识结果消息以及第二共识结果消息均可通过各个区块链网络节点中的消息网络接口以及消息网络节点进行转发。例如,第一共识结果消息通过第三层级区块链网络节点010中的消息网络接口发送给第三消息网络节点,第三消息网络节点根据第一共识结果消息中包含的目的区块链网络节点标识,利用最短路径算法将该第一共识结果消息通过第二消息网络节点转发给第三层级区块链网络节点020。

另外,本领域技术人员可以理解的是:上述的第一共识结果消息以及第二共识结果消息泛指各类用于实现共识的消息,凡是能够用于实现联合共识的消息均可作为上述的共识结果消息。例如,共识结果消息可以是针对该网络交易生成的交易信息。另外,在上述示例中,为了共识结果更加准确,第一区块链网络节点和第二区块链网络节点分别生成共识结果消息,以供对方确认,在本发明其他的实施例中,也可以仅由第一区块链网络节点生成共识结果消息,以供第二区块链网络节点确认,此时,第二区块链网络节点可以不必生成上述的共识结果消息。具体的共识过程可进一步参照图6及其对应实施例的描述。

由此可见,在跨链交易的过程中,该笔跨链交易所涉及到的所有交易方对应的区块链网络节点需要联合参与共识和记账过程。其中,该笔跨链交易所涉及到的所有交易方的数量通常为两个,在一些连环交易中也可能为多个。相应地,该笔跨链交易相关的区块链网络节点的数量至少为两个,凡是与该笔跨链交易相关的区块链网络节点均需参与共识和记账过程。因此,与该笔跨链交易相关的任一区块链网络节点在生成共识结果消息后,需将自身生成的共识结果消息发送给与该笔跨链交易相关的其他区块链网络节点,以供与该笔跨链交易相关的其他区块链网络节点联合共识和记账;同时,与该笔跨链交易相关的任一区块链网络节点在生成共识结果消息后,还要进一步接收与该笔跨链交易相关的其他区块链网络节点生成的共识结果消息,以便根据与该笔跨链交易相关的其他区块链网络节点生成的共识结果消息进行联合共识和记账。也就是说,一笔跨链交易只有在交易各方所对应的区块链网络节点均达成共识后才会最终生效并记账。

另外,本发明针对跨链交易中的记账方式还进行了如下改进:为了简化上级区块链网络节点中的账本数据量,本发明进一步针对跨链交易进行了汇总操作。具体地,为了便于理解汇总操作的具体内容,首先介绍本发明提供的系统中包含的两类账户:

针对每个区块链网络节点而言,该区块链网络节点对应于一个第一类账户地址,用于标识该区块链网络节点所对应的账户。该第一类账户地址通常为公有账户地址,也可以理解为每个区块链网络节点的账户,其属于区块链,通过共识算法来控制,常规场景下由区块链对交易汇总产生,账户内资产不能直接进行交易。例如,假设一个区块链网络节点代表一个银行,则第一类账户地址即为该银行的总帐户。

每个区块链网络节点还对应于多个第二类账户地址,其中,多个第二类账户地址隶属于该区块链网络节点对应的第一类账户地址,且每个第二类账户地址分别用于标识该区块链网络节点所对应的客户端或下级区块链网络节点所对应的账户。该第二类账户地址通常为私有账户地址,也可以理解为每个区块链网络节点下属的客户端或下级区块链网络节点的账户,其属于用户,由密钥进行控制,用户通过密钥可对账户中的资产进行操作。上述两类账户的账户地址均可由“链id:链内地址”的形式组成,其中,链id表示该链的归属id。

图5示出了上述两类账户之间的汇总交易的示意图。如图5所示,针对第二层级区块链网络节点00而言,该第二层级区块链网络节点00对应的第一类账户地址为00:pub,并且,该第二层级区块链网络节点00还对应于三个第二类账户地址,即:第三层级区块链网络节点000的账户地址000:pub、第三层级区块链网络节点001的账户地址001:pub、以及第三层级区块链网络节点002的账户地址002:pub、第二层级区块链网络节点01对应的第一类账户地址为01:pub。同理,针对第三层级区块链网络节点000而言,该第三层级区块链网络节点000对应的第一类账户地址为000:pub,并且,该第三层级区块链网络节点000还对应于四个第二类账户地址,即:第一客户端的账户地址000:add1、第二客户端的账户地址000:add2、第三客户端的账户地址000:add3以及第四客户端的账户地址000:add4。关于其他的区块链网络节点的第一类账户地址和第二类账户地址原理类似,此处不再赘述。由此可见,第一类账户地址为相应的区块链网络节点本身的账户地址,第二类账户地址为相应的区块链网络节点下属的客户端或下级区块链网络节点的账户地址。因此,一个特定的账户地址,针对于不同的区块链网络节点而言,可能属于不同的类型。例如,针对第二层级区块链网络节点00而言,第三层级区块链网络节点000的账户地址“000:pub”为第二类账户地址,具体原因在于:第三层级区块链网络节点为从属于第二层级区块链网络节点的下级节点;然而,针对第三层级区块链网络节点000本身而言,该第三层级区块链网络节点000的账户地址“000:pub”则为该第三层级区块链网络节点000的第一类账户地址,具体原因在于:该账户地址为该第三层级区块链网络节点本身的地址。

结合上述的两类账户地址,描述本发明中的跨链交易在记账方面的改进点:在跨链交易流程中,每个区块链网络节点中包含的跨链交易汇总子节点具体用于:提取与该区块链网络节点相关的网络交易中包含的跨链交易;确定提取出的跨链交易所对应的第二类账户地址以及每个第二类账户地址所隶属的第一类账户地址;对隶属于相同第一类账户地址的第二类账户地址所对应的跨链交易进行合并,得到合并后的各个第一类账户地址之间的交易记录。其中,提取出的跨链交易所对应的第二类账户地址的数量通常为至少两个,相应地,需要分别确定每个第二类账户地址所隶属的第一类账户地址。另外,对隶属于相同第一类账户地址的第二类账户地址所对应的跨链交易进行合并通常是指:针对两笔或更多笔跨链交易而言,若每笔交易所对应的各个第二类账户地址所隶属的第一类账户地址分别相同,则可以合并。其中,跨链交易汇总子节点可以分别针对每一笔跨链交易进行汇总操作,也可以每隔预定的时间周期针对本周期内发生的跨链交易进行汇总操作,本发明对此不做限定。

具体地,在图5中,第三层级区块链网络节点000与第三层级区块链网络节点010之间发生了四笔跨链交易,分别是交易id为1的第一笔跨链交易、交易id为2的第二笔跨链交易、交易id为3的第三笔跨链交易、以及交易id为4的第四笔跨链交易。交易id用于唯一标识一笔跨链交易。其中,每一笔跨链交易具有第一交易方和第二交易方,通常第一交易方为资金转出方,第二交易方为资金转入方,当然,也可能第一交易方为资金转入方,第二交易方为资金转出方,本发明对此不做限定。而且,在连环交易中,第一交易方和第二交易方的数量均可能为多个。具体到本例中,这四笔跨链交易中的第一交易方的账户地址(即上述的第二类账户地址)分别为000:add1、000:add2、000:add3和000:add4,即:各笔交易的第一交易方均隶属于同一个区块链网络节点(即:第三层级区块链网络节点000);第二交易方的账户地址分别为010:add5、010:add6、010:add7和010:add8,即:各笔交易的第二交易方均隶属于同一个区块链网络节点(即第三层级区块链网络节点010)。因此,各笔交易中的第一交易方所对应的第二类账户地址所隶属的第一类账户地址相同,且各笔交易中的第二交易方所对应的第二类账户地址所隶属的第二类账户地址也相同,因此,可以针对这四笔跨链交易进行合并,得到一笔合并后的各个第一类账户地址之间的交易记录。其中,合并后的各个第一类账户地址之间的交易记录中包含以下中的至少一个:合并后的各个第一类账户地址之间的交易总金额,以及合并前的各笔跨链交易的交易标识。例如,假设上述的四笔跨链交易的交易内容分别为第一交易方向第二交易方支付10元、20元、30元和20元,相应地,合并后得到的一笔各个第一类账户地址之间的交易记录中包含的交易内容如下:交易总金额为80元,且合并后的第一交易方为合并前的各个第一交易方对应的第二类账户地址所隶属的第一类账户地址(即:第三层级区块链网络节点000的账户地址000:pub);合并后的第二交易方为合并前的各个第二交易方对应的第二类账户地址所隶属的第一类账户地址(即:第三层级区块链网络节点010的账户地址010:pub);并且,为了便于溯源,合并后得到的该笔各个第一类账户地址之间的交易记录中还进一步包含合并前的四笔跨链交易的交易id1、2、3、4,根据交易id能够快速查询各笔交易的详情。

另外,为了便于实现分层管理,每个区块链网络节点中的跨链交易汇总子节点进一步用于:将合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点中的账本子节点;且每个区块链网络节点中的账本子节点进一步用于:将合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点所对应的上级区块链网络节点,由该区块链网络节点所对应的上级区块链网络节点中的账本子节点进行记账;和/或,接收该区块链网络节点所对应的下级区块链网络节点中的账本子节点提供的合并后的各个第一类账户地址之间的交易记录并进行记账。由此可见,每一个区块链网络节点中的账本仅对直接隶属于该区块链网络节点的客户端和/或下级区块链网络节点之间的每笔交易的交易详情进行记录,而对于间接隶属于该区块链网络节点的客户端和/或下级区块链网络节点之间的每笔交易,则不记录具体的交易详情,而仅记录由直接隶属于该区块链网络节点的下级区块链网络节点汇总合并后得到的交易记录。通过该种方式,实现了账本的分层次管理,由于处于上层的管理机构往往并不关心底层用户之间的各笔小额交易的详情,而仅关心直接隶属于该管理机构的下级机构的交易记录,因此该种方式更加符合实际的管理需求。而且,通过将账本拆分、分级,一方面能够简化账本的总开销,另一方面按照层级查询时非常便捷高效。

当然,为了便于备份,防止数据丢失,每个区块链网络节点中的账本子节点还可以进一步用于:根据合并后的各个第一类账户地址之间的交易记录进行记账。也就是说,每个区块链网络节点中的账本子节点除了将合并后的各个第一类账户地址之间的交易记录上报给其上级节点之外,还进一步在本节点的账本上进行记录。此时,每个区块链网络节点中的账本包含两部分,一部分为该区块链网络节点记录的各个直接隶属于该区块链网络节点的客户端和/或下级节点的交易详情,另一部分为汇总后的交易记录。

另外,为了更加形象地理解上述汇总操作的内涵,可以将网络交易大致分为两种,一种为普通交易,即私有账户之间的链内或跨链交易。一种为汇总交易,即多笔跨链交易的参与方如果分别在相同区块链内,可以将其汇总成为一条区块链公共账户到区块链公共账户的交易,就成为一条汇总交易,汇总交易包含其所汇聚交易的id。

本发明的一种基于分层结构的分布式账本系统中的多个层级的区块链网络节点包括以下中的至少一个:多个层级的银行系统所对应的网络节点、多个层级的支付系统所对应的网络节点。总之,本发明对其具体应用场景不做限定,可灵活应用于各类分级管理的场景中。

另外,本发明还提供了一种基于上述的一种基于分层结构的分布式账本系统实现的网络交易方法,其中,上述一种基于分层结构的分布式账本系统中的多个层级的区块链网络节点至少包括:作为网络交易中的第一交易方的第一区块链网络节点,以及作为网络交易中的第二交易方的第二区块链网络节点,如图6所示,该方法包括以下步骤:

首先,在该方法执行之前,由第一区块链网络节点向第二区块链网络节点发送共识发起消息。当第二区块链网络节点为多个时,需要分别向每个第二区块链网络节点发送该共识发起消息。具体地,第一区块链网络节点确定与该笔网络交易相关的全部区块链网络节点,将全部区块链网络节点中除第一区块链网络节点之外的其他区块链网络节点确定为第二区块链网络节点;第一区块链网络节点向各个第二区块链网络节点分别发送共识发起消息,以供各个第二区块链网络节点根据共识发起消息与第一区块链网络节点组成临时共识网络。其中,该临时共识网络内部的每个区块链网络节点分别与该临时共识网络内部的其他区块链网络节点相连;其中,第二区块链网络节点的数量为一个或多个。为了便于构建临时共识网络,上述共识发起消息中可以包含与该笔网络交易相关的每个区块链网络节点的标识,以便于各个区块链网络节点之间建立连接。另外,上述的临时共识网络进一步包含至少一个用于连通各个区块链网络节点的消息网络节点。关于消息网络节点的设置可参考上文描述,此处不再赘述。

为了便于理解上述过程,下面首先对本发明中的网络交易进行简单介绍:一笔网络交易包括由第一区块链网络节点实现的第一交易方以及由第二区块链网络节点实现的第二交易方。其中,第一交易方和第二交易方可以分别为资金转出方和资金转入方,也可以分别为资金转入方和资金转出方。另外,作为第一交易方的第一区块链网络节点的数量可以为一个或多个,作为第二交易方的第二区块链网络节点的数量也可以为一个或多个。总之,第一区块链网络节点和第二区块链网络节点涵盖了与该笔网络交易相关的全部区块链网络节点。具体地,针对一笔网络交易而言,可以将与该笔网络交易相关的所有区块链网络节点中的任一区块链网络节点作为该笔网络交易中的第一区块链网络节点(即第一交易方),将与该笔网络交易相关的全部区块链网络节点中除第一区块链网络节点之外的其他区块链网络节点共同作为第二区块链网络节点。例如,假设一笔网络交易为:由区块链网络节点a向区块链网络节点b、c分别转入一定量的资金,则可以由区块链网络节点a作为该笔网络交易中的第一区块链网络节点,由区块链网络节点b、c共同作为该笔网络交易中的第二区块链网络节点;或者,也可以由区块链网络节点b作为该笔网络交易中的第一区块链网络节点,由区块链网络节点a、c共同作为该笔网络交易中的第二区块链网络节点。本发明对此不做限定。

总之,针对一笔特定的交易而言,第一区块链网络节点和第二区块链网络节点共同构成与该笔网络交易相关的全部区块链网络节点,另外,通常情况下,与该笔网络交易相关的全部区块链网络节点只是整个一种基于分层结构的分布式账本系统中的部分区块链网络节点,而非整个一种基于分层结构的分布式账本系统中的全部区块链网络节点,也就是说,整个一种基于分层结构的分布式账本系统中,除第一区块链网络节点和第二区块链网络节点之外,至少还包含第三区块链网络节点,第三区块链网络节点是指:与该笔网络交易无关的全部区块链网络节点,其数量通常为多个。第三区块链网络节点显然不包含在上述的临时共识网络中。

另外,针对一笔网络交易而言,可以首选由该笔网络交易中的资金转出方主动发送上述的共识发起消息,或者,也可以由该笔网络交易中的资金转入方主动发送上述的共识发起消息,还可以由该笔网络交易所涉及到的各个区块链网络节点自发进行共识操作。因此,由第一区块链网络节点针对该网络交易发送上述的共识发起消息的操作步骤是可选的,当由各个区块链网络节点自发进行共识操作时,也可以省略该操作步骤。

步骤s610:第一区块链网络节点针对该网络交易生成对应的交易信息。

其中,第一区块链网络节点作为网络交易中的第一交易方,可以是一种基于分层结构的分布式账本系统中的任一节点。例如,在本例中,第一区块链网络节点为上文提到的跨链交易流程中的第三层级区块链网络节点010,其生成对应的第一交易信息的具体过程可参照上文中的相应描述,此处不再赘述。例如,可以由第一区块链网络节点中的共识子节点确认第一区块链网络节点中包含的各个子节点是否对网络交易达成共识,若是,则针对该网络交易生成对应的交易信息。另外,交易信息可以是各种形式的信息,可以包含各类与该网络交易相关的内容,本发明对交易信息的具体形式和具体内容不作限定。该交易信息主要用于提供给第二区块链网络节点,以便第二区块链网络节点针对该笔网络交易与第一区块链网络节点进行联合共识。因此,只要是能够用于实现联合共识的信息内容均可以作为交易信息。例如,在一笔网络交易的交易信息中,包含交易各方的节点标识,以及交易类型和交易金额。其中,交易各方的节点标识用于确认交易参与方的身份,交易类型可以是从第一区块链网络节点向第二区块链网络节点转账,或从第二区块链网络节点向第一区块链网络节点转账等。总之,第二区块链网络节点通过交易信息能够验证该笔网络交易的有效性,从而实现联合共识目的。

步骤s620:将交易信息发送给作为网络交易中的第二交易方的第二区块链网络节点。

其中,第二区块链网络节点作为网络交易中的第二交易方,也可以是一种基于分层结构的分布式账本系统中的任一节点。例如,在本例中,第二区块链网络节点为上文提到的跨链交易流程中的第三层级区块链网络节点020。

具体地,第一区块链网络节点首先确定作为网络交易中的第二交易方的第二区块链网络节点的标识,然后根据该标识将交易信息发送给第二区块链网络节点。具体实现时,为了提高通信效率,可以通过上述临时共识网络中包含的至少一个消息网络节点将交易信息发送给作为网络交易中的第二交易方的第二区块链网络节点;其中,至少一个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的交易信息。关于消息网络节点的具体设置方式及其优势可参照上文描述,此处不再赘述。

步骤s630:第一区块链网络节点和第二区块链网络节点采用共识算法对该交易信息达成一致。

具体地,第一区块链网络节点和第二区块链网络节点可以通过上述临时共识网络,采用共识算法对交易信息达成一致。其中,第一区块链网络节点和第二区块链网络节点可以灵活采用各类共识算法确定是否对上述交易信息达成一致,若是,则继续执行步骤s640。

步骤s640:第一区块链网络节点和第二区块链网络节点对达成一致的交易信息对应的网络交易同步记账。

其中,第一区块链网络节点将该网络交易的交易账目记录在第一区块链网络节点中,且第二区块链网络节点将该网络交易的交易账目同步记录在第二区块链网络节点中。具体地,由第一区块链网络节点中包含的账本子节点将该交易信息对应的网络交易的交易账目记录在第一区块链网络节点的账本中;由第二区块链网络节点中包含的账本子节点将该交易信息对应的网络交易的交易账目记录在第二区块链网络节点的账本中。

由此可见,当第一区块链网络节点和第二区块链网络节点采用共识算法对该交易信息达成一致时,第一区块链网络节点和第二区块链网络节点针对该交易信息对应的网络交易同步记账;当第一区块链网络节点和第二区块链网络节点采用共识算法对该交易信息未达成一致时,第一区块链网络节点和第二区块链网络节点针对该交易信息对应的网络交易均不记账。由此能够确保第一区块链网络节点和第二区块链网络节点针对该交易信息对应的网络交易的记账结果一致。

另外,为了保证第一区块链网络节点中的账本以及第二区块链网络节点中的账本能够同步记账,且记账结果一致,在本发明中还可以采取一些特定的处理方式。例如,当第一区块链网络节点对该网络交易进行记账之后,向第二区块链网络节点发送相应的记账成功消息;当第二区块链网络节点对该网络交易进行记账之后,向第一区块链网络节点发送相应的记账成功消息,每个区块链网络节点只有在接收到来自相关区块链网络节点的记账成功消息后,才确认完成该笔交易的最终记账过程,由此防止因网络异常等各种情况所导致的两个节点上账本不一致的情况发生。或者,为了确保同一笔交易在相关的各个区块链网络节点中的账本数据一致,也可以由各个区块链网络节点定期地将各笔交易的交易账目发送给相关的区块链网络节点进行复核。

另外,为了进一步提升共识操作的准确性,在本发明其他的实施例中,第二区块链网络节点也可以针对该网络交易生成交易信息,并将生成的交易信息提供给第一区块链网络节点验证,从而进一步确保联合共识操作的准确性。

另外,在上述步骤中,是以第二区块链网络节点的数量为一个进行说明的,实际上,第二区块链网络节点的数量还可以是多个,相应地,第一区块链网络节点需要分别向每个第二区块链网络节点发送交易信息;且每个第二区块链网络节点都会对该交易信息进行验证。

通过上述的各个步骤就实现了本发明中针对一笔网络交易的共识和记账过程,虽然上述过程仅以一笔网络交易为例进行说明,但本领域技术人员能够理解的是,一种基于分层结构的分布式账本系统中的任意一笔网络交易都可以通过上述的各个步骤完成共识和记账过程。另外,虽然上述的各个步骤中描述的网络交易方法的执行主体为第一区块链网络节点,但是,由于第一区块链网络节点可以是与该笔网络交易相关的全部区块链网络节点中的任一节点,因此,实际上,上述的各个步骤中描述的网络交易方法的执行主体可以是与该笔网络交易相关的全部区块链网络节点中的任一节点,例如,还可以是第二区块链网络节点。而且,当第二区块链网络节点为多个时,可以是其中的任意一个区块链网络节点。由此可见,在实际过程中,上述的各个步骤中的每一个步骤都是由第一区块链网络节点和第二区块链网络节点所组成的临时共识网络中的各个区块链网络节点直接交互完成的,并且,每一个步骤都由临时共识网络中的所有区块链网络节点共同完成。

另外,在上述过程中,针对每一笔网络交易,能够根据与该网络交易相关的区块链网络节点的数量和分布情况来动态地创建一个临时共识网络,该临时共识网络用于连通与该网络交易相关的各个区块链网络节点,并在各个区块链网络节点之间传输第一/第二交易信息,以便最终实现在临时共识网络内部的各个区块链网络节点之间进行联合共识的目的。由此可见,本发明能够分别针对每一笔交易动态创建与该交易对应的临时共识网络,从而仅在该临时共识网络内部实现该交易的共识和记账过程,其他与该交易无关的区块链网络节点不包含在该临时共识网络中,也不参与该交易的共识和记账。

由此可见,本发明中的共识和记账操作具备如下特点:

首先,针对一笔网络交易而言,该笔网络交易的共识操作的参与方包括且仅限于与该笔网络交易相关的所有区块链网络节点(即上文提到的第一区块链网络节点和第二区块链网络节点),其他与该笔网络交易无关的其他区块链网络节点不参与。并且,该笔网络交易的共识操作由与该笔网络交易相关的所有区块链网络节点联合进行,只有在与该笔网络交易相关的所有区块链网络节点全部共识成功时,该笔网络交易的最终共识结果才算成功。由此可见,本发明中的共识操作仅限于与该笔网络交易相关的所有区块链网络节点,并且,需由与该笔网络交易相关的所有区块链网络节点联合共识。

其次,为了更好地实现由与该笔网络交易相关的所有区块链网络节点联合共识的效果,在本发明中,与该笔网络交易相关的所有区块链网络节点临时进行合并而成为一个临时共识网络,通过该临时共识网络能够更好地实现各区块链网络节点之间的联合共识。具体地,该临时共识网络可通过如下方式产生:首先,可由与该笔网络交易相关的所有区块链网络节点中的任一节点发起共识操作,并根据该笔网络交易的具体交易信息确定与该笔网络交易相关的全部区块链网络节点的数量及标识;然后,通过消息网络节点将与该笔网络交易相关的所有区块链网络节点进行互联,从而形成上述的临时共识网络,进而能够通过该临时共识网络针对该笔网络交易进行联合共识。通过该种共识方式,一笔网络交易的联合共识过程仅涉及与该网络交易相关的网络节点,因此,简化了共识操作的复杂度,提升了共识操作的效率。

再次,针对一笔网络交易而言,该笔网络交易的记账操作的参与方包括且仅限于与该笔网络交易相关的所有区块链网络节点(即上文提到的第一区块链网络节点和第二区块链网络节点),其他与该笔网络交易无关的其他区块链网络节点(即上述的第三区块链网络节点)不参与记账。另外,仅在联合共识结果为成功的前提下,与该笔网络交易相关的各区块链网络节点才针对该网络交易进行记账。通过该种记账方式,一笔网络交易的记账过程仅涉及与该网络交易相关的网络节点,仅在与该网络交易相关的网络节点内部的账本中记录该笔网络交易的交易账目。因此,简化了账本的规模。另外,一笔网络交易中涉及到的第一区块链网络节点以及第二区块链网络节点的总数量是由该笔网络交易中所涉及到的交易方数量确定的。即:上述的临时共识网络的网络规模是由对应的网络交易所涉及到的交易方数量确定的,可能包括两个或更多个区块链网络节点。

另外,为了实现账本的分层级管理,还要进行跨链交易的汇总合并操作,相应地,该方法还可以进一步包括下述的步骤s650以及步骤s660。

步骤s650:各个区块链网络节点分别获取由该区块链网络节点作为第一交易方或第二交易方的全部网络交易的交易帐目;确定全部网络交易的交易帐目中的每笔网络交易所对应的第二类账户地址以及每个第二类账户地址所隶属的第一类账户地址;对隶属于相同第一类账户地址的第二类账户地址所对应的网络交易进行合并,得到合并后的各个第一类账户地址之间的交易记录。

步骤s660:该区块链网络节点将合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点所对应的上级区块链网络节点,由该区块链网络节点所对应的上级区块链网络节点进行记账;和/或,接收该区块链网络节点所对应的下级区块链网络节点提供的合并后的各个第一类账户地址之间的交易记录并进行记账。

其中,该区块链网络节点所对应的上级区块链网络节点进行记账的步骤具体包括:该区块链网络节点所对应的上级区块链网络节点将合并后的各个第一类账户地址之间的交易记录记录在该区块链网络节点所对应的上级区块链网络节点的账本中;和/或,接收该区块链网络节点所对应的下级区块链网络节点提供的合并后的各个第一类账户地址之间的交易记录并进行记账的步骤具体包括:该区块链网络节点将下级区块链网络节点提供的合并后的各个第一类账户地址之间的交易记录记录在该区块链网络节点的账本中。

另外,本实施例中作为网络交易中的第一交易方的第一区块链网络节点和作为网络交易中的第二交易方的第二区块链网络节点为至少两个相同层级的区块链网络节点;或者,作为所述网络交易中的第一交易方的第一区块链网络节点和作为所述网络交易中的第二交易方的第二区块链网络节点为至少两个不同层级的区块链网络节点。也就是说,本发明中的交易方法既可以应用上述的同层级跨链交易,也可以应用于上述的跨层级跨链交易。

综上所述,本发明提出了区块链的分层和跨链架构,将系统内的交易分成分布式区块链中多个区块链的链内交易、跨链交易。同时,引入消息路由网络,由消息路由网络解决跨链通信以及复杂网络的联通问题。通过上述方式,本发明至少具备如下优势:

1、每一笔交易仅由一种基于分层结构的分布式账本系统中直接参与的区块链网络节点进行共识和直接记账,其他区块链网络节点不参与,降了了整个一种基于分层结构的分布式账本系统的消耗,提高了整个一种基于分层结构的分布式账本系统的处理性能。

2、由不同区块链网络节点参与的交易可以由不同的区块链网络节点并发共识、独立记账,由于无关区块链(区块链为上文提到的区块链网络节点的简称)不需参与共识、记账,因此,涉及不同区块链网络节点的多笔交易可以同时进行,从而使整个系统内的共识实现了并发,提高了整个一种基于分层结构的分布式账本系统的处理性能。并且,当系统规模越大时,性能提升越显著。

3、共识达成的交易会在共识参与方的账本里记账,无关区块链不记账,将一种基于分层结构的分布式账本系统的大账本拆分为多个区块链独立维护的小账本,提高了整个区块链的处理性能,提高了区块链的账本性能。

4、区块链网络节点内部的子节点采用点对点直连,不同的区块链网络节点之间采用消息网络互连。通过消息网络,提高了大型一种基于分层结构的分布式账本系统的共识能力,降低了共识的网络消耗和时延,提高了整个系统的处理能力。而且,通过消息网络,使一种基于分层结构的分布式账本系统能够部署在无法点对点互联的场景下。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的恶意信息的识别装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明提供了a1、一种基于分层结构的分布式账本系统,包括:多个层级的区块链网络节点,其中,所述多个层级的区块链网络节点包括以下中的至少两项:

第一层级区块链网络节点、隶属于第一层级区块链网络节点的第二层级区块链网络节点、隶属于第二层级区块链网络节点的第三层级区块链网络节点、......直至隶属于第n-1层级区块链网络节点的第n层级区块链网络节点;其中,n为大于三的自然数;

其中,每个区块链网络节点进一步包括:

共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的共识结果消息;

账本子节点,用于根据所述共识子节点生成的共识结果消息进行记账。

a2、根据a1所述的系统,其中,每个区块链网络节点具有对应的上级区块链网络节点和/或下级区块链网络节点;其中,每个区块链网络节点对应的上级区块链网络节点的数量为一个,每个区块链网络节点对应的下级区块链网络节点的数量为多个。

a3、根据a1或a2所述的系统,其中,所述一种基于分层结构的分布式账本系统进一步包括:至少一个消息网络节点,其中,所述至少一个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的共识结果消息。

a4、根据a3所述的系统,其中,所述消息网络节点的数量为多个,其中,每个消息网络节点分别与多个区块链网络节点相连,且多个消息网络节点之间分别相连;

其中,每个消息网络节点具体用于:接收来自与其相连的区块链网络节点或其他消息网络节点的共识结果消息,获取所述共识结果消息中包含的目的区块链网络节点标识,根据所述目的区块链网络节点标识对所述共识结果消息进行转发。

a5、根据a1-a4任一所述的系统,其中,所述与该区块链网络节点相关的网络交易包括以下中的至少一种:发生在该区块链网络节点内部的链内交易,以及发生在该区块链网络节点与其他区块链网络节点之间的跨链交易;其中,所述跨链交易进一步包括:同层级跨链交易以及跨层级跨链交易。

a6、根据a5所述的系统,其中,当所述与该区块链网络节点相关的网络交易为跨链交易时,

该区块链网络节点中的共识子节点具体用于:确定与该跨链交易相关的其他区块链网络节点,将针对该跨链交易生成的第一共识结果消息转发给所述与该跨链交易相关的其他区块链网络节点;并且,接收所述与该跨链交易相关的其他区块链网络节点针对该跨链交易生成的第二共识结果消息;

则该区块链网络节点中的账本子节点具体用于:根据所述第一共识结果消息以及所述第二共识结果消息对该跨链交易进行记账。

a7、根据a6所述的系统,其中,每个区块链网络节点进一步包括:与至少一个消息网络节点相连的消息网络接口,则所述共识子节点具体用于:将针对该跨链交易生成的第一共识结果消息提供给所述消息网络接口,由所述消息网络接口通过至少一个消息网络节点将所述第一共识结果消息转发给所述与该跨链交易相关的其他区块链网络节点;并且,通过所述消息网络接口接收所述与该跨链交易相关的其他区块链网络节点针对该跨链交易生成的第二共识结果消息。

a8、根据a5-7任一所述的系统,其中,每个区块链网络节点对应于一个第一类账户地址,用于标识该区块链网络节点所对应的账户;且每个区块链网络节点对应于多个第二类账户地址,其中,所述多个第二类账户地址隶属于该区块链网络节点对应的第一类账户地址,且每个第二类账户地址分别用于标识该区块链网络节点所对应的客户端或下级区块链网络节点所对应的账户;

则区块链网络节点中进一步包括:跨链交易汇总子节点,用于提取所述与该区块链网络节点相关的网络交易中包含的跨链交易;确定提取出的跨链交易所对应的第二类账户地址以及每个第二类账户地址所隶属的第一类账户地址;对隶属于相同第一类账户地址的第二类账户地址所对应的跨链交易进行合并,得到合并后的各个第一类账户地址之间的交易记录。

a9、根据a8所述的系统,其中,每个区块链网络节点中的跨链交易汇总子节点进一步用于:将所述合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点中的账本子节点;

则每个区块链网络节点中的账本子节点进一步用于:

将所述合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点所对应的上级区块链网络节点,由该区块链网络节点所对应的上级区块链网络节点中的账本子节点进行记账;和/或,

接收该区块链网络节点所对应的下级区块链网络节点中的账本子节点提供的合并后的各个第一类账户地址之间的交易记录并进行记账。

a10、根据a9所述的系统,其中,每个区块链网络节点中的账本子节点进一步用于:根据所述合并后的各个第一类账户地址之间的交易记录进行记账。

a11、根据a8-10任一所述的系统,其中,所述合并后的各个第一类账户地址之间的交易记录中包含以下中的至少一个:

合并后的各个第一类账户地址之间的交易总金额,以及合并前的各笔跨链交易的交易标识。

a12、根据a1-11任一所述的系统,其中,进一步包括:

与所述多个层级的区块链网络节点分别相连的服务接口层,用于接收并转发所述多个层级的区块链网络节点与客户端之间的通信消息。

a13、根据a1-12任一所述的系统,其中,所述多个层级的区块链网络节点包括以下中的至少一个:多个层级的银行系统所对应的网络节点、多个层级的支付系统所对应的网络节点。

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