数据同步方法、区块链系统、终端设备及存储介质技术方案

技术编号:33043205 阅读:10 留言:0更新日期:2022-04-15 09:25
本申请适用于区块链技术领域,提供了一种数据同步方法、区块链系统、终端设备及存储介质,该方法应用于区块链系统,该方法包括:第一节点获取第二节点当前检查点的第一聚合快照,第一节点为区块链系统中任意一个从节点,第二节点为区块链系统中与第一节点建立通信连接的任意一个节点;第一节点验证第一聚合快照的有效性;若第一聚合快照有效,则第一节点从第一聚合快照中获取第一快照;第一节点根据第一快照更新第一节点的数据。上述方法可以提高区块链中区块数据的同步效率。块链中区块数据的同步效率。块链中区块数据的同步效率。

【技术实现步骤摘要】
数据同步方法、区块链系统、终端设备及存储介质


[0001]本申请属于区块链
,尤其涉及一种数据同步方法、区块链系统、终端设备及存储介质。

技术介绍

[0002]区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性和生成下一区块。区块链一般被划分为三种类型:公共链、私有链和联盟链。其中,联盟链也称为共同体区块链,是指其共识过程收到预选节点控制的区块链,为公有链和私有链的混合,可实现“部分去中心化”。联盟链上各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
[0003]在传统联盟链中,通常采用快照机制进行数据同步。在快照机制中,为了确定快照的有效性,需要经过共识模块的多轮信息交互,这将会大大降低区块数据的同步效率。

技术实现思路

[0004]本申请实施例提供了一种数据同步方法、区块链系统、终端设备及存储介质,可以提高区块链中区块数据的同步效率。
[0005]第一方面,本申请实施例提供了一种数据同步方法,应用于区块链系统,该方法包括:
[0006]第一节点获取第二节点当前检查点的第一聚合快照,所述第一节点为所述区块链系统中任意一个从节点,所述第二节点为所述区块链系统中与所述第一节点建立通信连接的任意一个节点;
[0007]所述第一节点验证所述第一聚合快照的有效性;
[0008]若所述第一聚合快照有效,则所述第一节点从所述第一聚合快照中获取第一快照;
[0009]所述第一节点根据所述第一快照更新所述第一节点的数据。
[0010]第二方面,本申请实施例提供了一种区块链系统,所述区块链系统包括一个主节点和多个从节点,所述区块链系统用于实现上述第一方面中任一项所述的数据同步方法。
[0011]第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的数据同步方法。
[0012]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的数据同步方法。
[0013]第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端
等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0026]在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0027]本申请实施例提供的数据同步方法应用于区块链系统。其中,参照图1,是本申请实施例提供的区块链系统的示意图。如图1所示,区块链系统100中包括一个主节点110和多个从节点120。具有该组成结构的区块链系统适用于联盟链或者私有链。需要说明的是,区块链系统中主节点可通过共识算法确定。其中,在区块链系统中需要运行共识算法产生区块并且按照一致的顺序执行区块,从而保证链上所有节点的状态一致。多个从节点中的多个指的是大于或者等于2个。
[0028]需要说明的是,采用本申请实施例的数据同步方法提升区块数据同步效率的关键在于聚合快照,如何生成聚合快照并且在区块链系统节点之间共识,下面就一可选的实现方式来具体说明。
[0029]在一种可能的实现方式中,参见图2,是本申请实施例提供的聚合快照的生成方法流程示意图。如图2所示,本申请实施例的上述方法还包括:
[0030]S201,当第一节点达到第三区块高度,第一节点生成第二快照,第二快照包括第三区块高度、第一节点中第三区块高度对应区块的第四哈希值和第二账本信息。
[0031]这里,第一节点达到第三区块高度,该第三区块高度为一个检查点,第一节点的区块高度达到该检查点,主动生成第二快照S
h
=<h,d,L>
i
,其中,i为第一节点的标识,h为第三区块高度,d为第三区块高度对应的区块的第四哈希值,L为第二账本信息。
[0032]需要说明的是,检查点与区块高度之间具有对应关系,可以是每K个区块设置一个检查点,K为正整数。这里区块高度是指连接在区块链上的区块数。也就是说,检查点是指某个区块高度。当节点已经执行到该区块高度时,会主动生成快照。K的取值越小,数据同步的频率越高;K的取值越大,数据同步的频率越低;可以根据实际需求设定K的取值。
[0033]S202,第一节点根据第一节点的私钥对第二快照进行签名,得到第一签名。
[0034]具体的,第一节点根据第一节点的私钥对第二快照中的第四哈希值进行加密,得到第一签名。第一签名用于表明第二快照是被第一节点确认过的,第一签名记为p
i
=Sign
i
(S
h
)。
[0035]需要说明的是,区块链系统中的每个节点都具有自己的私钥,节点可以使用自己的私钥对第二快照进行签名。其中,区块链系统中多个节点的私钥一起可以对应一个公钥,也可以是,每个节点的私钥具有与之对应的公钥,这里不做具体限定。其中,当区块链系统中多个节点中各个节点的私钥对应一个唯一的公钥时,每个节点都有一个相同的公钥;当区块链系统中每个节点的私钥具有与之对应的公钥时,每个节点都有一个相同的公钥列表,该公钥列表包括各个节点的公钥。
[0036]S203,第一节点向区块链系统中的主节点发送第一检查点消息,第一检查点消息包括第二快照和第一签名。
[0037]这里,第一检查点消息记为<CHECK,p
i
,S
h
>。
[0038]需要说明的是,第一节点将第二快照和第一签名组合作为第一检查点消息发送给主节点,一者是为了告知主节点发送的第二快照是被第一节点签名确认的快照,二者是便于主节点在本地与来自其他节点的第一检查点消息中的第二快照进行快速比较,确认是否是相同区块高度上的快照。若相同,则主节点直接将这些节点对应的第一签名进行聚合,得到聚合签名,进而提升主节点生成聚合快照的效率。
[0039]据此,下面具体说明主节点生成聚合快照并且在区块链系统节点之间共识的过程。
[0040]在一种可能的实现方式中,本申请实施例的上述方法还包括:
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,应用于区块链系统,其特征在于,所述方法包括:第一节点获取第二节点当前检查点的第一聚合快照,所述第一节点为所述区块链系统中任意一个从节点,所述第二节点为所述区块链系统中与所述第一节点建立通信连接的任意一个节点;所述第一节点验证所述第一聚合快照的有效性;若所述第一聚合快照有效,则所述第一节点从所述第一聚合快照中获取第一快照;所述第一节点根据所述第一快照更新所述第一节点的数据。2.如权利要求1所述的数据同步方法,其特征在于,所述第一节点获取第二节点当前检查点的第一聚合快照,包括:所述第一节点获取所述第一节点当前检查点的区块高度,得到第一区块高度;所述第一节点获取所述第二节点当前检查点的区块高度,得到第二区块高度;若所述第一区块高度低于所述第二区块高度,则所述第一节点获取所述第二节点当前检查点的第一聚合快照。3.如权利要求2所述的数据同步方法,其特征在于,所述第一快照包括所述第二区块高度、所述第二节点中所述第二区块高度对应区块的第一哈希值和第一账本信息;所述第一节点根据所述第一快照更新所述第一节点的数据,包括:所述第一节点将所述第一节点的账本信息替换为所述第一账本信息;所述第一节点根据所述第二节点中所述第二区块高度对应区块的区块数据,计算得到第二哈希值;若所述第一哈希值和所述第二哈希值一致,则所述第一节点将所述第二节点中第一目标区块的区块数据添加到所述第一节点,其中,所述第一目标区块包括所述第一区块高度对应区块与所述第二区块高度对应区块之间的区块、以及所述第二区块高度对应的区块;若第一哈希值和第二哈希值不一致,则所述第一节点根据第三节点中的所述第一目标区块的区块数据更新所述第一节点的区块数据,其中,所述第三节点为所述区块链系统中除所述第二节点外、与所述第一节点建立通信连接的任意一个节点。4.如权利要求3所述的数据同步方法,其特征在于,所述第一节点根据所述第三节点中的所述第一目标区块的区块数据更新所述第一节点的区块数据,包括:所述第一节点根据所述第三节点中所述第二区块高度对应区块的区块数据,计算得到第三哈希值;若所述第一哈希值和所述第三哈希值一致,则所述第一节点将所述第三节点中所述第一目标区块的区块数据添加到所述第一节点。5.如权利要求1所述的数...

【专利技术属性】
技术研发人员:邱炜伟黄方蕾王广任胡麦芳李伟
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1