首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块链账本 / 用于实现热点账户的区块链系统以及实现热点账户的方法

用于实现热点账户的链系统以及实现热点账户的方法

阅读:342发布:2021-02-11

专利汇可以提供用于实现热点账户的链系统以及实现热点账户的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种用于实现热点账户的 区 块 链 系统,该区块链系统 自上而下 划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络 节点 、位于多个层级中的 中间层 级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点;其中,顶部层级以及底部层级的层级数量分别为1,中间层级的层级数量为N,且N为大于或等于0的整数;其中,热点账户至少包括:多个分别设置于不同的底层区块链网络节点中的底层分身账户,以及,至少一个设置于顶层区块链网络节点和/或中层区块链网络节点中的上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥,用于并行处理与热点账户相关的各笔网络交易。,下面是用于实现热点账户的链系统以及实现热点账户的方法专利的具体信息内容。

1.一种用于实现热点账户的链系统,其中,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络节点、位于多个层级中的中间层级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点;
其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;
其中,所述热点账户至少包括:多个分别设置于不同的底层区块链网络节点中的底层分身账户,以及,至少一个设置于所述顶层区块链网络节点和/或所述中层区块链网络节点中的上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥,用于并行处理与所述热点账户相关的各笔网络交易。
2.根据权利要求1所述的系统,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点
当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同时,该热点账户的上级账户包括:一个上级根账户,设置于所述各个底层区块链网络节点所对应的父节点中。
3.根据权利要求1所述的系统,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;
当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点不同时,该热点账户的上级账户包括:一个上级根账户以及多个上级中间账户;
其中,若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点相同,则所述上级中间账户的层级为一级,且所述上级根账户设置于所述各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点中;
若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点不同,则所述上级中间账户的层级为至少两级,且所述上级根账户设置于至少两级中间账户中位于顶级的各个中间账户所在的各个中层区块链网络节点所对应的一个父节点中。
4.根据权利要求1-3任一所述的系统,其中,各个底层分身账户具体用于:当执行完转入类网络交易后,将所述转入类网络交易中的转入金额通过跨层交易转入该底层分身账户所对应的上级账户,若该底层分身账户所对应的上级账户为上级中间账户,则进一步由所述上级中间账户将所述转入类网络交易中的转入金额通过跨层交易转入该上级中间账户所对应的上级账户,直至上级根账户。
5.根据权利要求1-4任一所述的系统,其中,各个底层分身账户具体用于:在执行转出类网络交易前,判断该底层分身账户中的账户余额是否充足,若否,则通过跨层交易从该底层分身账户所对应的上级账户中转入预设金额后执行所述转出类网络交易。
6.根据权利要求1-5任一所述的系统,其中,每个底层分身账户的账户地址包括:该底层分身账户所在的区块链网络节点的节点标识以及所述账户标识;
每个上级账户的账户地址包括:该上级账户所在的区块链网络节点的节点标识以及所述账户标识。
7.根据权利要求1-6任一所述的系统,其中,每个区块链网络节点进一步包括:
共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的共识结果消息;
账本子节点,用于根据所述共识子节点生成的共识结果消息进行记账。
8.根据权利要求1-7任一所述的系统,其中,所述区块链系统进一步包括:至少一个消息网络节点,其中,所述至少一个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的交易信息。
9.一种基于区块链系统实现热点账户的方法,其中,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络节点、位于多个层级中的中间层级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;所述方法包括:
预先在多个底层区块链网络节点中设置所述热点账户的多个底层分身账户;
在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥;
由所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易。
10.根据权利要求9所述的方法,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同时,该热点账户的上级账户包括一个上级根账户,且所述在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户的步骤具体包括:在所述各个底层区块链网络节点所对应的父节点中设置一个上级根账户。

说明书全文

用于实现热点账户的链系统以及实现热点账户的方法

技术领域

[0001] 本发明涉及信息技术领域,具体涉及一种用于实现热点账户的区块链系统以及实现热点账户的方法。

背景技术

[0002] 区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链技术本身具有很多优势:一方面,由于区块链网络能够通过算法实现自我约束,任何恶意欺骗系统的行为都会遭到网络中其他节点的排斥和抑制,因此,区块链系统无需依赖中央权威机构支撑和信用背书即可实现安全的网络交易。另一方面,由于区块链采取单向哈希算法,同时每个新产生的区块严格按照时间线形顺序推进,时间的不可逆性导致任何试图入侵篡改区块链内数据信息的行为都很容易被追溯,导致被其他节点的排斥,从而可以限制相关不法行为。因此,区块链技术在金融、行等各大领域得到了日益广泛的应用。
[0003] 在传统的区块链系统架构中,整个区块链系统拥有一组区块链节点,所有节点之间通过共识机制维护一套共同的账本。但是,发明人在实现本发明的过程中发现,现有技术中至少存在如下问题:
[0004] 由于整个区块链系统中包含的所有区块链节点均处于平等的地位,因此,发生在任意两个区块链节点之间的网络交易都需要由所有区块链节点同时参与共识和记账操作。相应地,整个区块链系统中的各笔网络交易必须顺序执行,而无法并发执行。在此基础上,对于交易量很大的热点账户(例如支付宝商家账户)而言,所有与该热点账户相关的网络交易都要依次排队执行,导致交易效率低下,既不利于商家收款,也不利于用户付款。

发明内容

[0005] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于实现热点账户的区块链系统以及实现热点账户的方法。
[0006] 根据本发明的一个方面,提供了一种用于实现热点账户的区块链系统,其中,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络节点、位于多个层级中的中间层级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;
[0007] 其中,所述热点账户至少包括:多个分别设置于不同的底层区块链网络节点中的底层分身账户,以及,至少一个设置于所述顶层区块链网络节点和/ 或所述中层区块链网络节点中的上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥,用于并行处理与所述热点账户相关的各笔网络交易。
[0008] 进一步地,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点
[0009] 当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同时,该热点账户的上级账户包括:一个上级根账户,设置于所述各个底层区块链网络节点所对应的父节点中。
[0010] 进一步地,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;
[0011] 当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点不同时,该热点账户的上级账户包括:一个上级根账户以及多个上级中间账户;
[0012] 其中,若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点相同,则所述上级中间账户的层级为一级,且所述上级根账户设置于所述各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点中;
[0013] 若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点不同,则所述上级中间账户的层级为至少两级,且所述上级根账户设置于至少两级中间账户中位于顶级的各个中间账户所在的各个中层区块链网络节点所对应的一个父节点中。
[0014] 进一步地,其中,各个底层分身账户具体用于:当执行完转入类网络交易后,将所述转入类网络交易中的转入金额通过跨层交易转入该底层分身账户所对应的上级账户,若该底层分身账户所对应的上级账户为上级中间账户,则进一步由所述上级中间账户将所述转入类网络交易中的转入金额通过跨层交易转入该上级中间账户所对应的上级账户,直至上级根账户。
[0015] 进一步地,其中,各个底层分身账户具体用于:在执行转出类网络交易前,判断该底层分身账户中的账户余额是否充足,若否,则通过跨层交易从该底层分身账户所对应的上级账户中转入预设金额后执行所述转出类网络交易。
[0016] 进一步地,其中,每个底层分身账户的账户地址包括:该底层分身账户所在的区块链网络节点的节点标识以及所述账户标识;
[0017] 每个上级账户的账户地址包括:该上级账户所在的区块链网络节点的节点标识以及所述账户标识。
[0018] 进一步地,每个区块链网络节点进一步包括:
[0019] 共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的共识结果消息;
[0020] 账本子节点,用于根据所述共识子节点生成的共识结果消息进行记账。
[0021] 进一步地,所述区块链系统进一步包括:至少一个消息网络节点,其中,所述至少一个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的交易信息。
[0022] 根据本发明的另一个方面,提供一种基于区块链系统实现热点账户的方法,其中,所述区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络节点、位于多个层级中的中间层级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;所述方法包括:
[0023] 预先在多个底层区块链网络节点中设置所述热点账户的多个底层分身账户;
[0024] 在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥;
[0025] 由所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易。
[0026] 进一步地,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同时,该热点账户的上级账户包括一个上级根账户,且所述在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户的步骤具体包括:在所述各个底层区块链网络节点所对应的父节点中设置一个上级根账户。
[0027] 进一步地,其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点不同时,该热点账户的上级账户包括:一个上级根账户以及多个上级中间账户;且所述在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户的步骤具体包括:
[0028] 若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点相同,则将所述上级中间账户的层级设置为一级,且将所述上级根账户设置于所述各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点中;
[0029] 若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点不同,则将所述上级中间账户的层级设置为至少两级,且将所述上级根账户设置于至少两级中间账户中位于顶级的各个中间账户所在的各个中层区块链网络节点所对应的一个父节点中。
[0030] 进一步地,其中,所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易的步骤具体包括:
[0031] 当各个底层分身账户执行完转入类网络交易后,将所述转入类网络交易中的转入金额通过跨层交易转入该底层分身账户所对应的上级账户,若该底层分身账户所对应的上级账户为上级中间账户,则进一步由所述上级中间账户将所述转入类网络交易中的转入金额通过跨层交易转入该上级中间账户所对应的上级账户,直至上级根账户。
[0032] 进一步地,其中,所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易的步骤具体包括:
[0033] 各个底层分身账户在执行转出类网络交易前,判断该底层分身账户中的账户余额是否充足,若否,则通过跨层交易从该底层分身账户所对应的上级账户中转入预设金额后执行所述转出类网络交易。
[0034] 进一步地,其中,每个底层分身账户的账户地址包括:该底层分身账户所在的区块链网络节点的节点标识以及所述账户标识;
[0035] 每个上级账户的账户地址包括:该上级账户所在的区块链网络节点的节点标识以及所述账户标识。
[0036] 在本发明提供的用于实现热点账户的区块链系统以及实现热点账户的方法中,将所有的区块链网络节点自上而下划分为若干层级,每个层级中的每个区块链网络节点都可以独立地进行网络交易。在此基础上,为交易量较大的热点账户设置多个分别位于不同的底层区块链网络节点中的底层分身账户,以便由底层分身账户并行处理与该热点账户相关的网络交易,从而提升了交易处理效率;并且,进一步为该热点账户设置上级账户,以便于实现各个底层分身账户的管理。由此可见,通过本发明中的方式能够大幅提升热点账户的交易效率,为交易双方提供了便利。
[0037] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明
[0038] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0039] 图1a示出了N为0时对应的一种区块链系统的整体架构图;
[0040] 图1b示出了N为1时对应的一种区块链系统的整体架构图;
[0041] 图1c示出了N为2时对应的一种区块链系统的整体架构图;
[0042] 图2a示出了图1b中的系统架构图设置底层分身账户后的结构示意图;
[0043] 图2b示出了五笔网络交易在底层分身账户进行处理时的示意图;
[0044] 图2c示出了五笔网络交易由底层分身账户汇总至上级账户时的示意图;
[0045] 图3示出了本发明实施例三提供的一种基于区块链系统实现热点账户的方法流程图
[0046] 图4a示出了一笔链内交易的交易双方的示意图;
[0047] 图4b示出了一笔同层级跨链交易的交易双方的示意图;
[0048] 图4c示出了一笔跨层级跨链交易的交易双方的示意图。
[0049] 图5示出了一个区块链网络节点内部包含的各个子节点的示意图;
[0050] 图6示出了两类账户之间的汇总交易的示意图。

具体实施方式

[0051] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0052] 实施例一
[0053] 本发明实施例一提供了一种用于实现热点账户的区块链系统。该区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络节点、位于多个层级中的中间层级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点。其中,顶部层级以及底部层级的层级数量分别为1,中间层级的层级数量为N,且N为大于或等于0的整数。其中,热点账户至少包括:多个分别设置于不同的底层区块链网络节点中的底层分身账户,以及,至少一个设置于顶层区块链网络节点和/ 或中层区块链网络节点中的上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥,用于并行处理与该热点账户相关的各笔网络交易。其中,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点。
[0054] 例如,当N等于0时,如图1a所示,该区块链系统包括两个层级:位于顶部层级的顶层区块链网络节点0、以及三个位于底部层级的底层区块链网络节点00、01、02,其中,各个底层区块链网络节点与该顶层区块链网络节点分别相连,且隶属于该顶层区块链网络节点,因此,该顶层区块链网络节点为各个底层区块链网络节点的父节点。相应地,该热点账户的各个底层分身账户分别设置在不同的底层区块链网络节点中,具体实现时,既可以在每个底层区块链网络节点中分别设置一个底层分身账户,也可以仅在部分交易频繁的底层区块链网络节点中设置底层分身账户。另外,在该种情况中,由于各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同,因此,该热点账户的上级账户中仅包含一个设置于各个底层区块链网络节点所对应的父节点(即:顶层区块链网络节点)中的上级根账户。
[0055] 又如,当N等于1时,如图1b所示,该区块链系统包括三个层级:位于顶部层级的顶层区块链网络节点0,一层位于中间层级的中层区块链网络节点 00、01、02,以及多个位于底部层级的底层区块链网络节点000、001...022。其中,各个中层区块链网络节点00、01、02与该顶层区块链网络节点0直接相连,且隶属于该顶层区块链网络节点0,即:该顶层区块链网络节点0为各个中层区块链网络节点00、01、02的父节点。每个底层区块链网络节点与一个中层区块链网络节点直接相连,且隶属于该中层区块链网络节点。即:该中层区块链网络节点作为与其直接相连的底层区块链网络节点的父节点。具体地,底层区块链网络节点000、001、002与中层区块链网络节点00相连,底层区块链网络节点010、011与中层区块链网络节点01相连,底层区块链网络节点020、021、022与中层区块链网络节点02相连。相应地,该热点账户的各个底层分身账户分别设置在不同的底层区块链网络节点中。另外,在该种情况中,若各个底层分身账户所在的各个底层区块链网络节点所对应的父节点不同(分别为各个中层区块链网络节点),则该热点账户的上级账户中包括:一个上级根账户以及多个上级中间账户。并且,若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点相同,则上级中间账户的层级为一级,且上级根账户设置于各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点(即顶层区块链网络节点0)中。
[0056] 再如,当N等于2时,如图1c所示,该区块链系统包括四个层级:位于顶部层级的顶层区块链网络节点0,一层位于中间层级中的第一层的中层区块链网络节点00、01、02,一层位于中间层级中的第二层的中层区块链网络节点000、001、...022以及多个位于底部层级的底层区块链网络节点0000、 0001...0221。其中,位于中间层级中的第一层的中层区块链网络节点00、01、 02与该顶层区块链网络节点0直接相连,且隶属于该顶层区块链网络节点0,即:该顶层区块链网络节点0为各个位于中间层级中的第一层的中层区块链网络节点00、
01、02的父节点。每个位于中间层级中的第二层的中层区块链网络节点与一个位于中间层级中的第一层的中层区块链网络节点直接相连,且隶属于该位于中间层级中的第一层的中层区块链网络节点,即:位于中间层级中的第一层的中层区块链网络节点作为与其直接相连的位于中间层级中的第二层的中层区块链网络节点的父节点。每个底层区块链网络节点与一个位于中间层级中的第二层的中层区块链网络节点直接相连,且隶属于该中层区块链网络节点,即:该位于中间层级中的第二层的中层区块链网络节点作为与其直接相连的底层区块链网络节点的父节点。相应地,该热点账户的各个底层分身账户分别设置在不同的底层区块链网络节点中。另外,在该种情况中,若各个底层分身账户所在的各个底层区块链网络节点所对应的父节点 (分别为各个位于中间层级中的第二层的中层区块链网络节点)不同,因此,该热点账户的上级账户中包括:一个上级根账户以及多个上级中间账户。并且,若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点(分别为各个位于中间层级中的第一层的中层区块链网络节点) 不同,则上级中间账户的层级为至少两级,且上级根账户设置于至少两级中间账户中位于顶级的各个中间账户所在的各个中层区块链网络节点所对应的一个父节点(即顶层区块链网络节点)中。
[0057] 图1a至图1c中示出的区块链系统仅为示意性的,本领域技术人员可以灵活设定区块链系统的层级数量以及各个层级中包含的区块链网络节点的数量。
[0058] 由此可见,在实施例一提供的区块链系统中,将区块链系统自上而下划分为多个层级,具体层级数量可由本领域技术人员灵活设定。在此基础上,可以为热点账户设置多个底层分身账户,以实现并行交易的效果。另外,为了便于对各个底层分身账户所产生的交易信息进行合并,该热点账户除设置有多个底层分身账户之外,还进一步设置有用于合并底层分身账户的交易信息的上级账户。其中,上级账户的数量和层级取决于底层分身账户的数量及分布情况。通常,在各个底层分身账户所在区块链网络节点的父节点中设置用于合并该底层分身账户的交易信息的上级账户,并进一步在各个上级账户所在区块链网络节点的父节点中设置用于合并该上级账户的交易信息的更上级账户,直至能够将所有的交易信息合并至同一个账户中,该同一个账户即为热点账户中的根账户。其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥,因而能够并行处理与该热点账户相关的各笔网络交易,从而提升了交易效率,提高了用户体验。
[0059] 实施例二
[0060] 在本实施例中,以图1b所示的区块链系统为例进行说明。如图1b所示,该区块链系统具体包括:一个顶层区块链网络节点0,三个分别隶属于顶层区块链网络节点0的中层区块链网络节点00、01和02,另外,还包括三个分别隶属于中层区块链网络节点00的底层区块链网络节点000、001和002,以及两个分别隶属于中层区块链网络节点01的底层区块链网络节点010、和011,以及三个分别隶属于中层区块链网络节点02的底层区块链网络节点020、021 和022。在本实施例中,位于中间层级的中层区块链网络节点的层级数量为1,在本发明其他的实施例中,位于中间层级的中层区块链网络节点的层级数量还可以为其他正整数。
总之,在一个总共包含N个层级的区块链系统中,将 N个层级中的最上面一级称作顶部层级,将N个层级中的最下面一级称作底部层级,将剩余的层级均称作中间层级,因此,中间层级的层级数量为N-2,N为区块链系统的总层级数量。
[0061] 其中,每个区块链网络节点具有对应的上级区块链网络节点和/或下级区块链网络节点;其中,每个区块链网络节点对应的上级区块链网络节点的数量为一个(当然,在一些特殊情况下每个区块链网络节点对应的上级区块链网络节点的数量也可以是多个),每个区块链网络节点对应的下级区块链网络节点的数量为一个或多个。例如,顶层区块链网络节点0具有三个下级区块链网络节点(即:中层区块链网络节点00、01和02),底层区块链网络节点000具有一个上级区块链网络节点(即:中层区块链网络节点00)。
[0062] 其中,每个区块链网络节点隶属于该区块链网络节点的上级节点,每个区块链网络节点的下级节点隶属于该区块链网络节点。其中,区块链网络节点A隶属于区块链网络节点B的含义是指:区块链网络节点A与且仅与区块链网络节点B相连,并且,区块链网络节点A为区块链网络节点B的下级节点。另外,区块链网络节点A隶属于区块链网络节点B的含义也可以理解为:区块链网络节点A的父节点为区块链网络节点B。由此可见,每个区块链网络节点与且仅与其所隶属的区块链网络节点直接相连,而与其他的区块链网络节点则不直接相连。例如,底层区块链网络节点000仅与其上级区块链网络节点(即:中层区块链网络节点00)直接相连,而与其他的区块链网络节点则未直接相连。
[0063] 通常情况下,上级区块链网络节点的数量大于下级区块链网络节点的数量。例如,在一种示例中,第一层级区块链网络节点的数量为1,第二层级区块链网络节点的数量为N2,第三层级区块链网络节点的数量为N3个,第N-1 层级区块链网络节点的数量为N-1个,第N层级区块链网络节点的数量为N。其中,N>N-1>N3>N2>1。通过该种设置方式有利于实现网络节点之间的分层次管理。当然,在本发明其他的实施例中,也可能出现下级区块链网络节点数量小于上级区块链网络节点数量的情况,总之,本发明并不限定各个层级所包含的区块链网络节点的具体数量。每一层级所包含的区块链网络节点数量可以是一个,也可以是多个。
[0064] 在图1b所示的区块链系统中,将add1设定为热点账户。其中,设定热点账户时,可以将预设周期内的交易量大于预设阈值的账户设定为热点账户,从而通过统计各个账户的交易信息确定热点账户的账户标识;或者,也可以根据客户端发出的热点账户设置请求将相应的账户设置为热点账户,本领域技术人员可灵活根据各种方式确定热点账户的账户标识,本发明对此不做限定。另外,在一个区块链系统中,可以同时包含多个热点账户,本实施例仅以一个热点账户为例进行说明。
[0065] 确定好热点账户的账户标识之后,接下来,确定该热点账户所包含的底层分身账户的账户数量和位置分布。由于各个底层分身账户能够并行交易,因此,理论上,当热点账户的底层分身账户的数量为M时,该热点账户在单位时间内所能处理的交易量与不设置底层分身账户时相比能够提升M倍。相应地,首先,可以根据热点账户的历史交易量来确定为其设置的底层分身账户的数量。例如,在本实施例中,底层分身账户的数量为3。图2a示出了设置底层分身账户后的区块链系统的结构示意图。然后,需要进一步确定各个底层分身账户的位置分布。具体地,可以预先获取与该热点账户相关的交易记录,并确定各条交易记录中的另一交易方所在的区块链网络节点,从而在交易较密集的区块链网络节点上设置底层分身账户,以便尽量减少跨链交易,从而提升交易效率。例如,如图2a所示,在本实施例中,在底层区块链网络节点000上设置第一底层分身账户,账户地址为000:add1;在底层区块链网络节点010上设置第二底层分身账户,账户地址为010:add1;在底层区块链网络节点020上设置第三底层分身账户,账户地址为020:add1。由此可见,每个底层分身账户的账户地址包括:该底层分身账户所在的区块链网络节点的节点标识以及该热点账户的账户标识(add1)。
[0066] 另外,为了便于汇总各个底层分身账户的交易信息,该热点账户进一步包括用于汇总底层分身账户交易信息的上级账户。其中,上级账户的具体数量和位置分布取决于各个底层分身账户的位置分布。具体实施时,在每个底层分身账户所在的区块链网络节点的父节点(甚至该父节点的父节点、以及该父节点的父节点的父节点......)中设置上级账户,直至将所有的底层分身账户按照树形结构汇总到一个总账户中,该总帐户即为该热点账户的上级账户中的上级根账户,该热点账户的上级账户中除该上级根账户之外的其他上级账户统称为上级中间账户。具体地,上级中间账户的数量既可以是0也可以是多个,甚至上级中间账户还可以进一步分布在多个层级的区块链网络节点中,上级中间账户的具体数量及层级分布取决于各个底层分身账户的位置分布以及区块链系统的层级分布情况。下面结合图2a描述各个上级账户的设置方式:
[0067] 分别确定各个底层分身账户所在的各个底层区块链网络节点所对应的父节点,若各个底层分身账户所在的各个底层区块链网络节点所对应的父节点的数量为1(即:各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同),则直接在各个底层区块链网络节点所对应的一个父节点中设置上级根账户,且结束上级账户的设置过程。若各个底层分身账户所在的各个底层区块链网络节点所对应的父节点的数量大于1(即:各个底层分身账户所在的各个底层区块链网络节点所对应的父节点不同),则分别在各个底层区块链网络节点所对应的各个父节点中设置上级中间账户,并进一步判断各个上级中间账户所在的各个区块链网络节点所对应的父节点的数量是否为1;若是,则直接在各个上级中间账户所在的各个区块链网络节点所对应的一个父节点中设置上级根账户,且结束上级账户的设置过程;若否,则重复执行上述设置上级中间账户的操作过程,直至在上一轮中设置的各个上级中间账户所在的各个区块链网络节点所对应的父节点的数量为1时,在上一轮中设置的各个上级中间账户所在的各个区块链网络节点所对应的一个父节点中设置上级根账户,并结束上级账户的设置过程。
[0068] 例如,在本实施例中,各个底层分身账户所在的各个底层区块链网络节点所对应的父节点的数量为3。相应地,底层区块链网络节点000的父节点为中层区块链网络节点00,因此,在该中层区块链网络节点00中设置上级中间账户,且账户地址为00:add1;底层区块链网络节点010的父节点为中层区块链网络节点01,因此,在该中层区块链网络节点01中设置上级中间账户,且账户地址为01:add1;底层区块链网络节点020的父节点为中层区块链网络节点02,因此,在该中层区块链网络节点02中设置上级中间账户,且账户地址为02:add1。另外,由于各个底层分身账户所在的各个底层区块链网络节点所对应的父节点为多个,因此,通过上述的三个上级中间账户显然无法将各个底层分身账户汇总到同一个总帐户中,因此,进一步确定各个上级中间账户所在的各个中层区块链网络节点所对应的父节点,由于各个上级中间账户所在的各个中层区块链网络节点所对应的父节点为一个,因此,直接在各个上级中间账户所在的各个中层区块链网络节点所对应的该父节点(即:顶层区块链网络节点0)中设置上级根账户,且账户地址为0:add1。由此可见,每个上级账户的账户地址包括:该上级账户所在的区块链网络节点的节点标识以及该热点账户的账户标识。
[0069] 通过本实施例中设置的热点账户,能够并行地处理各类网络交易,包括转入类网络交易以及转出类网络交易。
[0070] 在转入类网络交易中,为了便于汇总多个底层分身账户的余额信息,各个底层分身账户具体用于:当执行完转入类网络交易后,将转入类网络交易中的转入金额通过跨层交易转入该底层分身账户所对应的上级账户,若该底层分身账户所对应的上级账户为上级中间账户,则进一步由该上级中间账户将该转入类网络交易中的转入金额通过跨层交易转入该上级中间账户所对应的上级账户,直至上级根账户。
[0071] 具体地,在处理向add1发起的大批转账交易时,可以由add1的各个底层分身账户并行处理。具体处理时,欲向add1转账的客户端向区块链系统提交包含转账金额及账户信息的转入类交易请求。首先,该客户端获取add1的各个底层分身账户所在的区块链网络节点标识,判断自身所属的区块链网络节点中是否设置有add1的底层分身账户,若是,则直接向该客户端所属的区块链网络节点提交该转入类交易请求,相应地,该转入类交易请求只需由该客户端所属的区块链网络节点进行处理即可,因此,该转入类交易请求所对应的网络交易为链内交易,有关链内交易的具体定义及处理方式将在下文中给出详细描述。若否,则从设置有add1的底层分身账户的各个区块链网络节点中,选择与该客户端所属的区块链网络节点路由最近和/或当前最空闲的区块链网络节点,并向其提交转入类交易请求,相应地,该转入类交易请求需由该客户端所属的区块链网络节点及其选择的与该客户端所属的区块链网络节点路由最近和/或当前最空闲的区块链网络节点共同处理,因此,该转入类交易请求所对应的网络交易为跨链交易,有关跨链交易的具体定义及处理方式将在下文中给出详细描述。
[0072] 在本实施例中,假设要处理如下五笔转入类网络交易:000:add2->add1, 000:add3->add1,010:add4->add1,010:add5->add1,020:add6->add1。相应地,分别确定每笔交易中的另一交易方所在的区块链网络节点,由于各笔交易中的另一交易方所在的区块链网络节点中均设置有add1的底层分身账户,因此,直接将各笔交易提交给该笔交易中另一交易方所在的区块链网络节点即可,由此能够将原本需要顺次执行的五笔网络交易转换为并发执行的三组链内交易,由于链内交易只需由本区块链网络节点进行共识及记账,因而大幅提升了交易效率。
[0073] 图2b示出了五笔网络交易在底层分身账户进行处理时的示意图,图2c 示出了五笔网络交易由底层分身账户汇总至上级账户时的示意图。如图2b所示,000:add2->add1和000:add3->add1这两笔网络交易由区块链网络节点000 处理,010:add4->add1和010:
add5->add1这两笔网络交易由区块链网络节点 010处理,020:add6->add1这笔网络交易由区块链网络节点020处理。在本实施例的区块链系统中,一笔网络交易仅由相关的区块链网络节点进行共识和记账,因而为热点账户设置分身的方式能够大幅提升交易速度。如图2c所示,各个底层分身账户将其账户余额通过跨层交易汇总到该热点账户的根账户中,以便于实现对热点账户的统一管理。
[0074] 具体地,账户余额的汇总过程如下:
[0075] 000:add1→00:add1
[0076] 010:add1→01:add1
[0077] 020:add2→02:add1
[0078] 00:add1→0:add1
[0079] 01:add1→0:add1
[0080] 02:add1→0:add1
[0081] 由此可见,各个底层分身账户首先将其中的账户余额转入对应的上级中间账户,然后,由各个上级中间账户将其中的账户余额转入上级根账户。具体地,在汇总余额时,可以由各个底层分身账户每执行完一次转入类网络交易后,将该转入类网络交易中的转入金额通过跨层交易转入该底层分身账户所对应的上级账户,直至根账户中。或者,也可以由各个底层分身账户定期将该底层分身账户中的预设金额转入上级账户中,该预设金额可以预先设定,也可以根据底层分身账户中的余额动态确定。通过上述方式,实现了上级根账户的余额汇总操作,由于上级根账户在区块链系统中的层级较高,因此,将热点账户中的绝大多数余额存储到根账户中既有利于提高账户安全性,又便于管理。
[0082] 在转出类网络交易中,为了防止底层分身账户的余额不足,各个底层分身账户具体用于:在执行转出类网络交易前,判断该底层分身账户中的账户余额是否充足,若否,则通过跨层交易从该底层分身账户所对应的上级账户中转入预设金额后执行该转出类网络交易。其中,转入的预设金额的具体数值既可以是本次转出类网络交易的交易值,也可以是预先设置的固定数值。
[0083] 例如,假设要执行如下五笔转出类网络交易:
[0084] Add1→000:add2
[0085] Add1→000:add3
[0086] Add1→010:add4
[0087] Add1→010:add5
[0088] Add1→020:add6
[0089] 如果各个底层分身账户及上级中间账户中的余额不足,则可以从上级根账户开始,通过跨层的跨链交易方式将上级根账户中的余额转入各个上级中间账户,然后,由各个上级中间账户通过跨层的跨链交易方式将其中的余额转入各个底层分身账户,最后,由各个底层分身账户负责实现上述的转出类网络交易。具体的跨层跨链交易过程如下:
[0090] 0:add1→00:add1
[0091] 0:add1→01:add1
[0092] 0:add1→02:add1
[0093] 00:add1→000:add1
[0094] 01:add1→010:add1
[0095] 02:add1→020:add1
[0096] 通过上述几笔跨链交易后,即可确保各个底层分身账户中已储备了充足的余额,从而可以直接通过如下的五笔链内交易来完成转出类网络交易。
[0097] 000:add1→000:add2
[0098] 000:add1→000:add3
[0099] 010:add1→010:add4
[0100] 010:add1→010:add5
[0101] 020:add1→020:add6
[0102] 具体实施时,可以参照转入类网络交易的处理方式来为每笔转出类网络交易确定对应的底层分身账户,此处不再赘述。
[0103] 由此可见,通过本实施例提供的用于实现热点账户的区块链系统,能够将大量的网络交易转化为多组并行执行的网络交易,且大大降低了跨链交易的数量,从而大幅提升了网络交易速度。并且,能够通过上级账户对各个底层分身账户进行统一管理及余额汇总操作,从而不仅提升了账户安全性,也为账户的分层级管理提供了便利。例如,用户可以分别为不同层级的账户设置不同的权限或最大交易限额,从而大幅提升热点账户的安全性和便捷性。
[0104] 实施例三
[0105] 图3示出了本发明实施例三提供的一种基于区块链系统实现热点账户的方法流程图。其中,该区块链系统自上而下划分为多个层级,具体包括:位于多个层级中的顶部层级的顶层区块链网络节点、位于多个层级中的中间层级的中层区块链网络节点、多个位于多个层级中的底部层级的底层区块链网络节点;其中,所述顶部层级以及所述底部层级的层级数量分别为1,所述中间层级的层级数量为N,且N为大于或等于0的整数;所述方法包括:
[0106] S310:预先在多个底层区块链网络节点中设置所述热点账户的多个底层分身账户;
[0107] S320:在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户;其中,各个上级账户以及各个底层分身账户具有相同的账户标识和管理密钥;
[0108] S330:由所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易。
[0109] 可选的,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点相同时,该热点账户的上级账户包括一个上级根账户,且所述在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户的步骤具体包括:在所述各个底层区块链网络节点所对应的父节点中设置一个上级根账户。
[0110] 可选的,与下级区块链网络节点直接相连的上级区块链网络节点为该下级区块链网络节点的父节点;当各个底层分身账户所在的各个底层区块链网络节点所对应的父节点不同时,该热点账户的上级账户包括:一个上级根账户以及多个上级中间账户;且所述在所述顶层区块链网络节点和/或所述中层区块链网络节点中设置所述热点账户的至少一个上级账户的步骤具体包括:
[0111] 若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点相同,则将所述上级中间账户的层级设置为一级,且将所述上级根账户设置于所述各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点中;
[0112] 若各个底层分身账户所在的各个底层区块链网络节点所对应的各个父节点的父节点不同,则将所述上级中间账户的层级设置为至少两级,且将所述上级根账户设置于至少两级中间账户中位于顶级的各个中间账户所在的各个中层区块链网络节点所对应的一个父节点中。
[0113] 可选的,所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易的步骤具体包括:
[0114] 当各个底层分身账户执行完转入类网络交易后,将所述转入类网络交易中的转入金额通过跨层交易转入该底层分身账户所对应的上级账户,若该底层分身账户所对应的上级账户为上级中间账户,则进一步由所述上级中间账户将所述转入类网络交易中的转入金额通过跨层交易转入该上级中间账户所对应的上级账户,直至上级根账户。
[0115] 可选的,所述各个上级账户以及各个底层分身账户并行处理与所述热点账户相关的各笔网络交易的步骤具体包括:
[0116] 各个底层分身账户在执行转出类网络交易前,判断该底层分身账户中的账户余额是否充足,若否,则通过跨层交易从该底层分身账户所对应的上级账户中转入预设金额后执行所述转出类网络交易。
[0117] 可选的,每个底层分身账户的账户地址包括:该底层分身账户所在的区块链网络节点的节点标识以及所述账户标识;
[0118] 每个上级账户的账户地址包括:该上级账户所在的区块链网络节点的节点标识以及所述账户标识。
[0119] 上述各个步骤的具体处理方式可参照实施例二中相应部分的描述,此处不再赘述。
[0120] 最后,为了便于理解上述的各个实施例,详细介绍本发明中的区块链系统的整体架构和交易流程:
[0121] 在本发明的区块链系统中,一方面,将区块链进行横向分链,所谓的横向分链是指:在同一层级上可以包括多个相同层级的区块链网络节点,这些相同层级的区块链网络节点之间互为兄弟节点(例如底层区块链网络节点010 和011互为兄弟节点)。通过横向分链将所有的交易分为多层级的区块链网络节点之间的链内交易和跨链交易,使所有不同区块链网络节点的交易可以并行,从而大幅提高整个区块链系统的性能。另一方面,将区块链进行纵向分层,所谓的纵向分层是指:将所有的区块链网络节点自上至下分为多个不同的层级。通过对区块链纵向分层能够将区块链分为不同层级的多组区块链,下层的区块链将汇总后的交易提交给上层,同时实现一些上下层账户之间的交易。由此可见,通过横向分链和纵向分层能够提升区块链系统的灵活性,为多笔交易的并发执行提供保障。
[0122] 为了便于各个区块链网络节点独立地进行共识操作和记账操作,在上述多个层级的区块链网络节点中的每个区块链网络节点进一步包括:共识子节点,用于针对与该区块链网络节点相关的网络交易生成对应的交易信息;账本子节点,用于根据该区块链网络节点中的共识子节点生成的交易信息进行记账。另外,在每个区块链网络节点中,也可以将该区块链网络节点中的一个子节点设置为同时具备共识子节点和账本子节点功能的节点。也就是说,每个区块链网络节点中的共识子节点和账本子节点既可以分别由两个独立的子节点实现,也可以集成在同一个子节点中,由一个子节点实现,从而简化网络节点的结构。其中,与该区块链网络节点相关的网络交易包括以下中的至少一种:发生在该区块链网络节点内部的链内交易,以及发生在该区块链网络节点与其他区块链网络节点之间的跨链交易;其中,跨链交易进一步包括:同层级跨链交易以及跨层级跨链交易。由此可见,与传统的区块链系统中仅提供一个统一的共识操作入口的方式不同(传统的区块链系统中所有交易的共识操作都必须经由该统一的共识操作入口实现,因而无法并发执行多个交易),本发明中的方式相当于提供了多个能够并行使用的共识操作入口 (每个区块链网络节点中均具有一个能够独立完成共识操作的入口),而且每个区块链网络节点仅针对与其相关的网络交易进行共识,其他与该笔交易无关的区块链网络节点不参与该笔交易的共识操作,因此,能够并行地进行多个交易的共识操作,既提升了系统的并发量,又降低了共识操作的时延。并且,与传统的区块链系统中仅提供一个大账本的方式不同(传统的区块链系统通过一个大账本记录所有区块链网络节点之间的各笔交易),本发明中的方式相当于提供了多个独立的小账本(每个区块链网络节点中均具有一个能够独立完成记账操作的账本子节点),而且,每个区块链网络节点中的账本只需记录与该区块链网络节点相关的交易账目即可,无需记录与该区块链网络节点无关的交易账目,从而提升了记账和查询的效率。正是在此基础上,本发明中的热点账户才能够由各个底层分身账户并行处理,且各个底层分身账户所对应的交易仅由相关的区块链网络节点进行共识和记账,从而提升了系统的并发性。
[0123] 另外,为了便于各层级间的多个区块链网络节点相互通信,在图1b中还可以进一步设置多个消息网络单元。其中,各个消息网络节点与各个层级的区块链网络节点分别相连,用于转发各个层级的区块链网络节点之间的交易信息。具体实现时,每个消息网络节点分别与多个区块链网络节点相连,且多个消息网络节点之间分别相连;其中,每个消息网络节点具体用于:接收来自与其相连的区块链网络节点或其他消息网络节点的交易信息,获取交易信息中包含的目的区块链网络节点标识,根据目的区块链网络节点标识对交易信息进行转发。具体地,每个消息网络节点可以通过消息网络中间件来实现,另外,每个消息网络节点中可以保存一份连接表,该连接表用于存储各个消息网络节点与其他消息网络节点之间的连接关系以及各个区块链网络节点与各个消息网络节点之间的连接关系,以便于消息网络节点根据该连接表为接收到的通信消息确定最优转发路径。其中,消息网络节点转发的通信消息包括但不限于交易信息,还可以是其他的各类消息。最优转发路径可以采用最短路径算法或其他各类路径算法进行选择。另外,为了便于维护该连接表,各个区块链网络节点在与某消息网络节点建立或断开连接后,向其他的区块链网络节点广播相应的连接建立消息或连接断开消息,以便于其他的区块链网络节点和消息网络节点根据接收到的连接建立消息或连接断开消息更新该连接表。另外,消息网络单元的具体数量可以灵活设置,例如也可以设置为一个或更多个。而且,各个消息网络单元之间的连接方式也可以灵活设置:例如,在小型的区块链系统中,每个消息网络单元都可以与其他的所有消息网络单元分别相连,以便于快速转发消息;在大型的区块链系统中,每个消息网络单元可以仅与一部分消息网络单元相连,从而通过多个消息网络单元的中继实现消息的转发。本发明对消息网络单元的具体数量和连接形式不做限定。
[0124] 发明人在实现本发明的过程中发现:在传统的未采用消息网络单元的区块链系统中,若两个未直接相连的区块链网络节点需要相互转发消息,例如底层区块链网络节点010欲向底层区块链网络节点022转发消息,首先,底层区块链网络节点010需要获取底层区块链网络节点022所对应的子节点列表,然后,底层区块链网络节点010中的所有子节点要分别与底层区块链网络节点022中的所有子节点建立连接。由此导致操作繁琐、传输效率低下等一系列缺陷。因此,为了解决上述问题,本发明在区块链系统中设置了上述至少一个消息网络单元,相应地,每个区块链网络节点中可以分别包括与至少一个消息网络节点相连的消息网络接口,该区块链网络节点中的各个子节点通过该消息网络接口即可与消息网络单元建立通信,进而通过消息网络单元实现与任意区块链网络节点之间的通信。采用消息网络单元至少具备如下优势:一方面,消息网络单元能够快速便捷地连通各个区块链网络节点,因此,不管是相同层级还是不同层级的区块链网络节点之间都可以通过消息网络单元传输消息,避免了两个未直接相连的区块链网络节点预先建立连接的繁琐操作;另一方面,对于一些特殊的应用场景而言,同一区块链系统中的某些区块链网络节点之间是不允许直接建立通信连接的(例如为了提高网络安全性,不同的银行系统之间不允许直接建立通信连接),因此,通过消息网络单元还能够在无法直接建立通信连接的区块链网络节点之间实现消息传输。总而言之,利用消息网络单元,能够提升大型区块链系统的共识能,降低共识过程中的网络消耗和时延,提高整个系统的处理能力,并且,使区块链系统能够部署在无法点对点互联的场景下。
[0125] 接下来,详细介绍该区块链系统所能处理的交易类型。在本发明提供的区块链系统中,将网络交易划分为两大类:
[0126] 第一大类网络交易为链内交易,所谓链内交易是指:发生在一个区块链网络节点内部的一笔或多笔网络交易。例如,图4a示出了一笔链内交易的交易双方,在图4a中,底层区块链网络节点000对应于两个不同的客户端,第一客户端的账户地址为add1,第二客户端的账户地址为add2。由于这两个客户端都隶属于底层区块链网络节点000,因此,该笔交易并未涉及到其他的区块链网络节点,仅涉及到了一个区块链网络节点,因此,该笔交易为链内交易。
[0127] 第二大类网络交易为跨链交易,所谓跨链交易是指:发生在至少两个不同的区块链网络节点之间的一笔或多笔网络交易。其中,跨链交易又可以进一步划分为:同层级跨链交易(即:交易双方对应的区块链网络节点属于同一层级)以及跨层级跨链交易(即:交易双方对应的区块链网络节点属于不同的层级)。例如,图4b示出了一笔同层级跨链交易的交易双方,在图4b 中,底层区块链网络节点010对应于账户地址为add3的第三客户端,底层区块链网络节点020对应于账户地址为add4的第四客户端。由于这两个客户端分别属于两个不同的区块链网络节点(即:该笔交易涉及到至少两个区块链网络节点),且两个不同的区块链网络节点均属于第二层级(即:两个不同的区块链网络节点互为兄弟节点),因此,该笔交易为同层级跨链交易。又如,图4c示出了一笔跨层级跨链交易的交易双方,在图4c中,底层区块链网络节点022对应于账户地址为add5的第五客户端,中层区块链网络节点02 对应于账户地址为add6的第六客户端。由于这两个客户端分别属于两个不同的区块链网络节点,且两个不同的区块链网络节点不属于同一层级,因此,该笔交易为跨层级跨链交易。
[0128] 为了便于理解上述的各类交易,图5示出了一个区块链网络节点内部包含的各个子节点(每个子节点也可以理解为一个模块)的示意图。如图5所示,每个区块链网络节点内部进一步包含:交易管理子节点51、共识子节点52、链内网络接口53、区块管理子节点54、账本子节点55、消息网络接口 56以及跨链交易汇总子节点57。其中,图5所示的子节点划分方式仅为示意性的,本领域技术人员也可以对其他的多个子节点进行合并,或将某一子节点拆分为更多的子节点,本发明对此不做限定。其中,消息网络接口56以及跨链交易汇总子节点57主要用于实现跨链交易,在仅用于链内交易的区块链网络节点中也可以省略消息网络接口56以及跨链交易汇总子节点57。
[0129] 首先,结合图5介绍图4a所示的链内交易的具体交易流程:第一客户端通过服务接口层上报一笔包含交易ID的网络交易,服务接口层判断出第一客户端所对应的区块链网络节点为底层区块链网络节点000(例如根据客户端的开户地址确定),从而将该笔网络交易提交到底层区块链网络节点000中包含的交易管理子节点51中。其中,服务接口层与多个层级的区块链网络节点分别相连,用于接收并转发多个层级的区块链网络节点与客户端之间的通信消息,例如,服务接口层可以通过图1中的区块链服务层实现。该交易管理子节点51对该笔交易进行验证(例如验证账户余额是否充足等),验证通过后将该笔交易提交给底层区块链网络节点000中包含的共识子节点52。该共识子节点52通过链内网络接口53获取底层区块链网络节点000中的其他各个子节点针对该笔交易达成共识后发送的通知消息,并据此生成对应的交易信息。该交易信息中可以包含经各个子节点确认的交易列表。然后,共识子节点将该交易信息提交给区块管理模块54。区块管理模块54负责对共识成功的交易队列进行区块打包处理,以便将打包后的区块写入底层区块链网络节点000中包含的账本子节点55中。由此可见,在本发明提供的链内交易流程中,仅由交易相关的区块链网络节点完成共识、记账操作,其他与交易无关的区块链网络节点无需参与共识、记账过程,从而简化了共识操作的复杂度,降低了处理延时,并且,交易账目仅记录在相关的区块链网络节点的账本中,无需其他无关区块链网络节点参与记账,简化了记账的开销,方便了查询。
[0130] 接下来,结合图5介绍图3所示的跨链交易的交易流程:第三客户端通过服务接口层上报一笔包含交易ID的跨链网络交易,服务接口层判断出第三客户端所对应的区块链网络节点为底层区块链网络节点010,从而将该笔跨链网络交易提交到底层区块链网络节点010中包含的交易管理子节点中。该交易管理子节点对该笔跨链交易进行验证,验证通过后将该笔跨链交易提交给底层区块链网络节点010中包含的共识子节点。该共识子节点通过链内网络接口获取底层区块链网络节点010中的其他各个子节点针对该笔跨链交易达成共识后发送的通知消息,并据此生成对应的第一交易信息。该第一交易信息中可以包含经各个子节点确认的交易列表。然后,该共识子节点进一步用于:确定与该笔跨链交易相关的其他区块链网络节点。例如,在本例中,根据该笔跨链交易的另一交易方第四客户端的账户地址add4确定与该笔跨链交易相关的其他区块链网络节点为底层区块链网络节点020。具体地,与该笔跨链交易相关的其他区块链网络节点是指:在该笔跨链交易所涉及的交易方所对应的区块链网络节点中,除当前共识子节点所在的区块链网络节点之外的区块链网络节点,与该笔跨链交易相关的其他区块链网络节点的数量通常为一个,当存在多笔连环交易时,与该笔跨链交易相关的其他区块链网络节点的数量也可以为多个。然后,该共识子节点进一步用于:将针对该跨链交易生成的第一交易信息转发给与该跨链交易相关的其他区块链网络节点;并且,接收与该跨链交易相关的其他区块链网络节点针对该跨链交易生成的第二交易信息。例如,在本例中,底层区块链网络节点010中包含的共识子节点需要将第一交易信息发送给底层区块链网络节点020,并进一步接收底层区块链网络节点020针对该跨链交易生成的第二交易信息。最后,底层区块链网络节点010中包含的共识子节点将该第一交易信息以及第二交易信息提交给底层区块链网络节点010中包含的区块管理模块55。底层区块链网络节点010 中包含的区块管理模块55负责对共识成功的交易队列进行区块打包处理,以便底层区块链网络节点010中包含的账本子节点能够将打包后的区块写入底层区块链网络节点010中包含的账本中。具体地,底层区块链网络节点010 中的账本子节点具体用于:根据第一交易信息以及第二交易信息对该跨链交易进行记账。
[0131] 其中,上述的第一交易信息以及第二交易信息均可通过各个区块链网络节点中的消息网络接口以及消息网络节点进行转发。例如,第一交易信息通过底层区块链网络节点010中的消息网络接口发送给第三消息网络节点,第三消息网络节点根据第一交易信息中包含的目的区块链网络节点标识,利用最短路径算法将该第一交易信息通过第二消息网络节点转发给底层区块链网络节点020。另外,上述的第二交易信息也可以省略,仅根据第一交易信息进行共识,而且,交易信息的具体形式和内容本发明不作限定,只要能够实现联合共识的目的即可。
[0132] 由此可见,在跨链交易的过程中,该笔跨链交易所涉及到的所有交易方对应的区块链网络节点需要联合参与共识和记账过程。其中,该笔跨链交易所涉及到的所有交易方的数量通常为两个,在一些连环交易中也可能为多个。相应地,该笔跨链交易相关的区块链网络节点的数量至少为两个,凡是与该笔跨链交易相关的区块链网络节点均需参与共识和记账过程。因此,与该笔跨链交易相关的任一区块链网络节点在生成交易信息后,需将自身生成的交易信息发送给与该笔跨链交易相关的其他区块链网络节点,以供与该笔跨链交易相关的其他区块链网络节点联合共识和记账;同时,与该笔跨链交易相关的任一区块链网络节点在生成交易信息后,还要进一步接收与该笔跨链交易相关的其他区块链网络节点生成的交易信息,以便根据与该笔跨链交易相关的其他区块链网络节点生成的交易信息进行联合共识和记账。也就是说,一笔跨链交易只有在交易各方所对应的区块链网络节点均达成共识后才会最终生效并记账。
[0133] 另外,本发明针对跨链交易中的记账方式还进行了如下改进:为了简化上级区块链网络节点中的账本数据量,本发明进一步针对跨链交易进行了汇总操作。具体地,为了便于理解汇总操作的具体内容,首先介绍本发明提供的系统中包含的两类账户:
[0134] 针对每个区块链网络节点而言,该区块链网络节点对应于一个第一类账户地址,用于标识该区块链网络节点所对应的账户。该第一类账户地址通常为公有账户地址,也可以理解为每个区块链网络节点的账户,其属于区块链,通过共识算法来控制,常规场景下由区块链对交易汇总产生,账户内资产不能直接进行交易。例如,假设一个区块链网络节点代表一个银行,则第一类账户地址即为该银行的总帐户。
[0135] 每个区块链网络节点还对应于多个第二类账户地址,其中,多个第二类账户地址隶属于该区块链网络节点对应的第一类账户地址,且每个第二类账户地址分别用于标识该区块链网络节点所对应的客户端或下级区块链网络节点所对应的账户(热点账户的各个账户地址均属于第二类账户地址)。该第二类账户地址通常为私有账户地址,也可以理解为每个区块链网络节点下属的客户端或下级区块链网络节点的账户,其属于用户,由密钥进行控制,用户通过密钥可对账户中的资产进行操作。上述两类账户的账户地址均可由“链ID:链内地址”的形式组成,其中,链ID表示该链的归属ID。
[0136] 图6示出了上述两类账户之间的汇总交易的示意图。如图6所示,针对中层区块链网络节点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的第一类账户地址,具体原因在于:该账户地址为该底层区块链网络节点本身的地址。
[0137] 结合上述的两类账户地址,描述本发明中的跨链交易在记账方面的改进点:在跨链交易流程中,每个区块链网络节点中包含的跨链交易汇总子节点具体用于:提取与该区块链网络节点相关的网络交易中包含的跨链交易;确定提取出的跨链交易所对应的第二类账户地址以及每个第二类账户地址所隶属的第一类账户地址;对隶属于相同第一类账户地址的第二类账户地址所对应的跨链交易进行合并,得到合并后的各个第一类账户地址之间的交易记录。其中,提取出的跨链交易所对应的第二类账户地址的数量通常为至少两个,相应地,需要分别确定每个第二类账户地址所隶属的第一类账户地址。另外,对隶属于相同第一类账户地址的第二类账户地址所对应的跨链交易进行合并通常是指:针对两笔或更多笔跨链交易而言,若每笔交易所对应的各个第二类账户地址所隶属的第一类账户地址分别相同,则可以合并。其中,跨链交易汇总子节点可以分别针对每一笔跨链交易进行汇总操作,也可以每隔预定的时间周期针对本周期内发生的跨链交易进行汇总操作,本发明对此不做限定。
[0138] 具体地,在图6中,底层区块链网络节点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能够快速查询各笔交易的详情。
[0139] 另外,为了便于实现分层管理,每个区块链网络节点中的跨链交易汇总子节点进一步用于:将合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点中的账本子节点;且每个区块链网络节点中的账本子节点进一步用于:将合并后的各个第一类账户地址之间的交易记录提供给该区块链网络节点所对应的上级区块链网络节点,由该区块链网络节点所对应的上级区块链网络节点中的账本子节点进行记账;和/或,接收该区块链网络节点所对应的下级区块链网络节点中的账本子节点提供的合并后的各个第一类账户地址之间的交易记录并进行记账。由此可见,每一个区块链网络节点中的账本仅对直接隶属于该区块链网络节点的客户端和/或下级区块链网络节点之间的每笔交易的交易详情进行记录,而对于间接隶属于该区块链网络节点的客户端和/或下级区块链网络节点之间的每笔交易,则不记录具体的交易详情,而仅记录由直接隶属于该区块链网络节点的下级区块链网络节点汇总合并后得到的交易记录。通过该种方式,实现了账本的分层次管理,由于处于上层的管理机构往往并不关心底层用户之间的各笔小额交易的详情,而仅关心直接隶属于该管理机构的下级机构的交易记录,因此该种方式更加符合实际的管理需求。而且,通过将账本拆分、分级,一方面能够简化账本的总开销,另一方面按照层级查询时非常便捷高效。
[0140] 另外,为了更加形象地理解上述汇总操作的内涵,可以将网络交易大致分为两种,一种为普通交易,即私有账户之间的链内或跨链交易。一种为汇总交易,即多笔跨链交易的参与方如果分别在相同区块链内,可以将其汇总成为一条区块链公共账户到区块链公共账户的交易,就成为一条汇总交易,汇总交易包含其所汇聚交易的ID。
[0141] 本实施例中设置的热点账户的各个底层分身账户及上级账户均可以参与上述的交易汇总操作,从而简化账本数据量;且热点账户的各个底层分身账户与其他交易方进行交易时的交易流程也可直接参照上述的链内交易流程及跨链交易流程实现。并且,热点账户的各个底层分身账户及上级账户所对应的网络交易的共识和记账操作均可以参照上述描述。
[0142] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0143] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0144] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0145] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0146] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0147] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的恶意信息的识别装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0148] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈