会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 区块链 / 一种区块链扩展方法、区块链节点及区块链系统

一种区块链扩展方法、区块链节点及区块链系统

申请号 CN202010436133.9 申请日 2020-05-21 公开(公告)号 CN111597268A 公开(公告)日 2020-08-28
申请人 昆明大棒客科技有限公司; 发明人 文格彬; 王晓东; 孙翰韬;
摘要 本申请公开了一种区块链扩展方法、区块链节点及区块链系统。该方法包括,生成安全主链的区块,安全主链的区块存储有第一类数据,第一类数据包括交易与安全共识相关数据;生成应用支链的区块,应用支链的区块存储有第二类数据,第二类数据包括与应用业务相关的数据;应用支链中的区块通过随机信标与安全主链中的区块关联,以实现应用支链中的区块与相关联的安全主链中的区块数据同步;在生成应用支链的当前区块后,生成至少一个支链子块,至少一个支链子块的随机信标与应用支链的当前区块的随机信标一致,支链子块存储有所述第二类数据。该方法提高了区块链系统的数据处理能力,降低了应用业务数据的延时。
权利要求

1.一种区块链扩展方法,其特征在于,包括:

生成安全主链的区块,所述安全主链的区块存储有第一类数据,所述第一类数据包括交易与安全共识相关数据;

生成应用支链的区块,所述应用支链的区块存储有第二类数据,所述第二类数据包括与应用业务相关的数据;所述应用支链中的区块通过随机信标与安全主链中的区块关联,以实现所述应用支链中的区块与相关联的安全主链中的区块数据同步;

在生成应用支链的当前区块后,生成至少一个支链子块,所述至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,所述支链子块存储有所述第二类数据。

2.根据权利要求1所述的方法,其特征在于,所述支链子块的产生间隔小于所述应用支链的区块的产生间隔。

3.根据权利要求2所述的方法,其特征在于,所述应用支链的区块的产生间隔为60秒,所述支链子块的产生间隔为2秒。

4.根据权利要求1所述的方法,其特征在于,所述安全主链的区块、所述应用支链的区块与所述支链子块的最大字节数相同。

5.根据权利要求1所述的方法,其特征在于,还包括:从所述支链子块存储的交易数据所记录的交易获取交易费作为打包支链子块的收益。

6.根据权利要求1所述的方法,其特征在于,还包括:生成应用支链的空块,所述空块通过随机信标与安全主链中的区块关联。

7.根据权利要求6所述的方法,其特征在于,还包括:在所述空块后,不能生成与所述空块相邻的支链子块。

8.根据权利要求1所述的方法,其特征在于,所述方法应用于BigBang Core区块链系统中。

9.一种区块链节点,其特征在于,包括:处理器和与所述处理器连接的存储器;

所述处理器用于调用所述存储器中存储的计算机程序,执行以下步骤:生成应用支链的区块,所述应用支链的区块存储有第二类数据,所述第二类数据包括与应用业务相关的数据;所述应用支链中的区块通过随机信标与安全主链中的区块关联,以实现所述应用支链中的区块与相关联的安全主链中的区块数据同步;

在应用支链的当前区块后,生成至少一个支链子块,所述至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,所述支链子块存储有所述第二类数据。

10.一种区块链系统,其特征在于,包括:多个如权利要求9所述的区块链节点。

说明书全文

一种区块链扩展方法、区块链节点及区块链系统

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种区块链扩展方法、区块链节点及区块链系统。

背景技术

[0002] 自从区块链概念被提出以来,以比特币和以太坊为代表的公链得到了社会的广泛关注,但是由于性能过低,导致七八年的时间过去了,真正的基于区块链的现象级应用并没有出现。以比特币为例,它理论上每秒最多只能处理7笔交易,每10分钟出一个区块,相当于交易延时为10分钟,外加等待最终确认大约需要6个区块,也就是说实际交易延时为1个小时。以太坊稍有提高,但也远远不能满足应用需求。
[0003] 从区块链技术来看,目前影响区块链性能的因素主要包括广播通信、信息加解密、共识机制、交易验证机制等几个环节。比如,共识机制的目标是为了使得参与节点的信息一致,但在高度分散的系统达成共识本身就是一件耗时的任务,如果有节点作恶,将进一步增加处理的复杂性。
[0004] 针对区块链性能不足的问题,已经有人提出了一系列的解决方案,如隔离验证、闪电网络、RSK侧链、分片、分层等;但是,上述解决方案使得已经较为复杂的区块链系统更加复杂化,还带来了诸如数据的安全性、完整性、可信性等问题。而采用调整共识机制,性能提升效果有限,且同样使得区块链系统更加复杂。

发明内容

[0005] 本申请实施例提供一种区块链扩展方法、区块链节点及区块链系统,用于提高区块链系统的数据处理能力。
[0006] 第一方面,本申请实施例提供一种区块链扩展方法,包括:
[0007] 生成安全主链的区块,所述安全主链的区块存储有第一类数据,所述第一类数据包括交易与安全共识相关数据;
[0008] 生成应用支链的区块,所述应用支链的区块存储有第二类数据,所述第二类数据包括与应用业务相关的数据;所述应用支链中的区块通过随机信标与安全主链中的区块关联,以实现所述应用支链中的区块与相关联的安全主链中的区块数据同步;
[0009] 在生成应用支链的当前区块后,生成至少一个支链子块,所述至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,所述支链子块存储有所述第二类数据。
[0010] 在一种可能的实现方式中,所述支链子块的产生间隔小于所述应用支链的区块的产生间隔。
[0011] 在一种可能的实现方式中,所述应用支链的区块的产生间隔为60秒,所述支链子块的产生间隔为2秒。
[0012] 在一种可能的实现方式中,所述安全主链的区块、所述应用支链的区块与所述支链子块的最大字节数相同。
[0013] 在一种可能的实现方式中,上述方法还包括:
[0014] 从所述支链子块存储的交易数据所记录的交易获取交易费作为打包支链子块的收益。
[0015] 在一种可能的实现方式中,上述方法还包括:
[0016] 生成应用支链的空块,所述空块通过随机信标与安全主链中的区块关联。
[0017] 在一种可能的实现方式中,上述方法还包括:
[0018] 在所述空块后,不能生成与所述空块相邻的支链子块。
[0019] 在一种可能的实现方式中,上述方法应用于BigBang Core区块链系统中。
[0020] 第二方面,本申请实施例还提供了一种区块链节点,包括:处理器和与所述处理器连接的存储器;所述处理器用于调用所述存储器中存储的计算机程序,执行以下步骤:
[0021] 生成应用支链的区块,所述应用支链的区块存储有第二类数据,所述第二类数据包括与应用业务相关的数据;所述应用支链中的区块通过随机信标与安全主链中的区块关联,以实现所述应用支链中的区块与相关联的安全主链中的区块数据同步;
[0022] 在应用支链的当前区块后,生成至少一个支链子块,所述至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,所述支链子块存储有所述第二类数据。
[0023] 第三方面,本申请实施例还提供了一种区块链系统,包括:多个如第二方面所述的区块链节点。
[0024] 第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如第一方面中任一项所述方法。
[0025] 传统区块链系统中的区块为单链,数据处理能力非常有限。在本申请上述实施例中,“安全主链+应用支链”的树状区块结构解决单链结构的拓展性问题,将交易与安全共识相关数据存储在安全主链上,将与应用业务相关的数据存储在应用支链上,从而降低了应用业务数据的延时。进一步的,还可以在支链的区块之间插入至少一个子块,以实现进一步降低应用业务数据延时,进一步提高区块链系统的数据处理能力。

附图说明

[0026] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027] 图1为本申请实施例提供的区块链扩展方法的流程示意图;
[0028] 图2为本申请实施例提供的区块链结构示意图;
[0029] 图3为本申请实施例提供的区块链节点结构示意图之一;
[0030] 图4为本申请实施例提供的区块链节点结构示意图之二。

具体实施方式

[0031] 为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
[0032] 传统的区块链系统,大多为单链结构,数据处理能力交底,出块较慢,导致应用业务数据延时问题较为严重。
[0033] 为了解决上述问题,本申请实施例提供了一种区块链扩展方法、区块链节点及区块链系统,用于提高区块链系统的数据处理能力。
[0034] 参见图1,为本申请实施例提供的区块链扩展方法的流程示意图,如图所示,该方法可以包括以下步骤:
[0035] 步骤101、生成安全主链的区块,安全主链的区块存储有第一类数据,其中,第一类数据包括交易与安全共识相关数据。
[0036] 步骤102、生成应用支链的区块,应用支链的区块存储有第二类数据,其中,第二类数据包括与应用业务相关的数据。
[0037] 在本申请实施例中,采用了“安全主链+应用支链”的区块链数据结构,通过在主链上增加支链提高系统的数据处理能力,具体的,将交易与安全共识相关的数据存储在安全主链中,将与应用业务相关的数据存储在应用支链中,从而可以方便数据管理、读取、保障数据安全等。
[0038] 应用支链中的区块通过随机信标与安全主链中的区块关联,以实现应用支链中的区块与相关联的安全主链中的区块数据同步。具体的,在生成支链区块时,可以根据安全主链上的当前区块的信标确定与该信标对应的支链区块的随机信标。在一个具体实施例中,如图2所示,应用支链上的随机信标为生成该支链区块时,安全主链上当前区块的信标。
[0039] 步骤103、在生成应用支链的当前区块后,生成至少一个支链子块,该至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,支链子块存储有第二类数据。
[0040] 在业务繁忙、业务数据量大时,为了进一步降低业务数据的延时、提高区块链系统的数据处理能力,在本申请实施例中,还可以在支链的区块之间插入一个或多个子块,支链子块也用于存储第二类数据,即与应用业务相关的数据。
[0041] 支链子块的随机信标与应用支链的当前区块的随机信标一致,当前区块即该应用支链上最后一个区块。例如,如图2所示,应用支链上,在随机信标为n+1的区块与随机信标为n+2的区块之间生成的多个支链子块,其随机信标与这些支链子块前最后一个支链区块的随机信标一致,即,该多个支链子块的随机信标也为n+1。
[0042] 应当理解,上述步骤101~步骤103用于表示区块链系统中节点能够执行的操作步骤,但并不用于限定上述各步骤的执行顺序,节点根据当前产生的出块需求、产生的数据类型等确定需要产生安全主链上的区块、应用支链上的区块或支链子块。
[0043] 可选的,支链子块的数据结构与其他区块(安全主链上的区块、应用支链上的区块)的数据结构一致。在一个具体实施例中,支链子块的数据结构可以如表1所示。
[0044] 表1
[0045]
[0046]
[0047] 在一种可能的实现方式中,为了实现在两个应用支链区块之间可以生成多个支链子块,可以将支链子块的产生间隔设置为小于应用支链的区块的产生间隔。例如,可以将应用支链的区块的产生间隔设置为60秒,将支链子块的产生间隔设置为2秒。
[0048] 可选的,应用支链的区块的最大字节数可以与支链子块的最大字节数相同。进一步的,安全主链的区块的最大字节数也可以与应用支链的区块、支链子块的最大字节数相同。
[0049] 在一个具体实施例中,应用支链的区块、支链子块的信息可以如表2所示。
[0050] 表2
[0051] 应用支链的区块产生间隔 60秒支链子块产生间隔 2秒
应用支链的区块的最大字节数 2MB
支链子块的最大字节数 2MB
应用支链的区块生成奖励 可自定义
子块生成奖励 无
应用支链最大TPS 5200
[0052] 表2以BigBang Core区块链系统为例,传统单链每60秒生成一个区块,其数据处理能力为170TPS左右。而在本本申请实施例中,由于在应用支链的区块之间可以进一步生成子块,且每2秒生成一个支链子块,数据处理能力能够提升30倍左右,达到5200TPS左右。
[0053] 生成一个应用支链的区块能够获得的奖励可以根据不同场景需求进行相应设置,例如,在BigBang Core区块链系统中,可以规定生成一个应用支链子块可以获得一个BBC。
[0054] 而生成一个支链子块不获得BBC,但是可以从该支链子块所述存储从交易数据对应的交易中获取交易费作为打包支链子块的收益。例如,支链子块中存储了交易A的交易数据,交易A的交易金额为X,可以根据预设的比例从交易金额X中的Y作为交易费,发放给生成该支链子块的一方,作为生成该支链子块的收益。
[0055] 在一种可能的实现方式中,应用支链的区块可以包括空块,如图2中随机信标为n的区块。应用支链中的区块主要用于存储与应用业务相关的数据,而应用业务相关数据可能在某个时间段内大量产生,仅靠应用支链的区块存储可能产生较大延时,因此可以通过上述实施例中支链子块提高数据处理能力、降低业务数据延时。而业务相关数据还可能在某个时间段内没有数据产生,即,在打包生成应用支链的区块时没有有效数据需要打包存储,则可以生成一个空块,以保证应用支链和安全主链的高度一致,相应的,生成的空块也通过随机信标与安全主链中的当前区块进行关联。
[0056] 进一步的,由于当前没有有效数据需要打包存储而生成了一个应用支链上的空块,则在生成该空块之后,生成下一个应用支链的区块之前,不再生成支链子块。生成空块表示当前没有需要存储的应用业务数据,一般来说,在生成下一个应用支链区块之前,也不会产生较多的应用业务数据,若再生成支链子块会产生资源的浪费,而生成支链子块的一方很可能也无法获取收益,因此,在应用支链中,生成空块之后、生成下一个应用支链区块之前,不必再生成支链子块。
[0057] 可选的,生成的支链子块不能为空的子块。在没有应用数据需要打包时,可以不生成支链子块,不生成支链子块并不会影响应用支链上的区块与安全主链上的区块的数据同步问题,没有必要再生成空的子块。
[0058] 上述方法实施例可以应用于BigBang Core区块链系统中。
[0059] 传统区块链系统中的区块为单链,数据处理能力非常有限。在本申请上述实施例中,“安全主链+应用支链”的树状区块结构解决单链结构的拓展性问题,将交易与安全共识相关数据存储在安全主链上,将与应用业务相关的数据存储在应用支链上,从而降低了应用业务数据的延时。进一步的,还可以在支链的区块之间插入至少一个子块,以实现进一步降低应用业务数据延时,进一步提高区块链系统的数据处理能力。
[0060] 基于相同的技术构思,本申请实施例还提供了一种区块链节点,如图3所示,该节点300包括:
[0061] 第一生成模块301,用于生成应用支链的区块,所述应用支链的区块存储有第二类数据,所述第二类数据包括与应用业务相关的数据;所述应用支链中的区块通过随机信标与安全主链中的区块关联,以实现所述应用支链中的区块与相关联的安全主链中的区块数据同步;
[0062] 第二生成模块302,用于在当前区块后,生成至少一个支链子块,所述至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,所述支链子块存储有所述第二类数据。
[0063] 在一种可能的实现方式中,所述支链子块的产生间隔小于所述应用支链的区块的产生间隔。
[0064] 在一种可能的实现方式中,所述应用支链的区块的产生间隔为60秒,所述支链子块的产生间隔为2秒。
[0065] 在一种可能的实现方式中,用于进行应用支链区块、支链子块打包的节点可以由用户自定义,上述节点300可以是应用支链的节点;也可以为安全主链上的超级节点,则该节点还可以包括第三生成模块,用于生成安全主链上的区块。
[0066] 在一种可能的实现方式中,所述安全主链的区块、所述应用支链的区块与所述支链子块的最大字节数相同。
[0067] 在一种可能的实现方式中,上述节点还包括:
[0068] 获取模块,用于从所述支链子块存储的交易数据所记录的交易获取交易费作为打包支链子块的收益。
[0069] 在一种可能的实现方式中,上述第一生成模块301,还用于:
[0070] 生成应用支链的空块,所述空块通过随机信标与安全主链中的区块关联。
[0071] 在一种可能的实现方式中,上述第二生成模块302,具体用于:不生成与空块相邻的支链子块。
[0072] 在一种可能的实现方式中,上述节点为BigBang Core区块链系统中的节点。
[0073] 传统区块链系统中的区块为单链,数据处理能力非常有限。在本申请上述实施例中,“安全主链+应用支链”的树状区块结构解决单链结构的拓展性问题,将交易与安全共识相关数据存储在安全主链上,将与应用业务相关的数据存储在应用支链上,从而降低了应用业务数据的延时。进一步的,还可以在支链的区块之间插入至少一个子块,以实现进一步降低应用业务数据延时,进一步提高区块链系统的数据处理能力。
[0074] 基于相同的技术构思,本申请实施例还提供了一种区块链节点,用于实现上述方法实施例。如图4所示,该节点包括:处理器401和与处理器连接的存储器402;所述处理器401用于调用所述存储器402中存储的计算机程序,执行以下步骤:
[0075] 生成应用支链的区块,所述应用支链的区块存储有第二类数据,所述第二类数据包括与应用业务相关的数据;所述应用支链中的区块通过随机信标与安全主链中的区块关联,以实现所述应用支链中的区块与相关联的安全主链中的区块数据同步;
[0076] 在生成应用支链的当前区块后,生成至少一个支链子块,所述至少一个支链子块的随机信标与所述应用支链的当前区块的随机信标一致,所述支链子块存储有所述第二类数据。
[0077] 具体实现方式可参见上述方法实施例,此处不再赘述。
[0078] 基于相同的技术构思,本申请实施例还提供了一种区块链系统,包括:多个如前所述的区块链节点。
[0079] 基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当所述指令在计算机上运行时,使得计算机执行如上述任一实施例所述的区块链扩展方法。
[0080] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0081] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
[0082] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0083] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0084] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0085] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0086] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。