一种基于状态增量的区块链同步方法、设备和存储介质与流程

专利检索2026-09-02  12


本申请涉及区块链,特别是涉及一种基于状态增量的区块链同步方法、设备和存储介质。


背景技术:

1、在区块链网络中,由于在分布式环境下,可能出现网络延迟、节点故障、机器宕机等问题,节点之间的状态可能出现不一致。虽然区块链采用了各式各样的共识算法确保大部分节点账本在网络中保持一致的状态,但是也会存在少部分节点的账本存储的区块高度落后于其他节点的情况。

2、此外,随着区块链运行,账本的存储将会急剧增加,存储成本非常高昂,并且会降低数据读写效率。因此,通常会采用状态剪枝的方案移除一些不常用的历史数据。存储全量的历史状态数据的节点称为归档节点,由于归档节点未进行任何剪枝,存储压力非常大,因此归档节点与网络中其他区块链节点相比,有着更高的硬件配置要求。如果读写性能达到瓶颈,归档节点将处于落后的状态。

3、现有通过全量同步的方式对落后节点进行同步,即落后节点从当前最新的区块高度开始,逐个请求网络中其他节点的区块数据,通过执行区块中的交易体来验证区块数据的有效性,并且更新本地状态存储,该同步方式需要执行区块中的交易体来验证区块数据的有效性,同步过程中计算量大,从而导致同步效率低。


技术实现思路

1、在本实施例中提供了一种基于状态增量的区块链同步方法、设备和存储介质,以解决现有技术中同步效率低的问题。

2、第一个方面,在本实施例中提供了一种基于状态增量的区块链同步方法,所述方法包括:

3、确定待同步的节点、可同步节点集合和同步范围;所述待同步的节点为区块链中的落后节点;

4、根据所述可同步节点集合,确定目标节点;

5、并行向所述目标节点请求同步数据;所述同步数据中包括状态增量数据;

6、对所述同步数据进行数据验证;

7、根据验证通过的同步数据对所述待同步的节点的进行同步。

8、在其中的一些实施例中,所述根据所述可同步节点集合,确定目标节点,包括:

9、根据所述可同步节点集合中的节点的区块高度,确定所述目标节点。

10、在其中的一些实施例中,所述同步数据还包括区块头数据、区块体数据,所述对所述同步数据进行数据验证,包括:

11、对所述目标节点的区块头数据进行数据验证;

12、目标节点的区块头数据进行数据验证通过后,对所述目标节点的区块体数据进行验证;

13、和/或,目标节点的区块头数据进行数据验证通过后,对所述目标节点的状态增量数据进行验证。

14、在其中的一些实施例中,所述根据验证通过的同步数据对所述待同步的节点的进行同步,包括:

15、对所述验证通过的同步数据进行存储;

16、将所述待同步的节点的区块高度更新为验证通过的同步数据所属的目标节点的区块高度。

17、在其中的一些实施例中,所述目标节点的区块头数据进行数据验证通过后,对所述目标节点的状态增量数据进行验证,包括:

18、验证状态增量数据的第一状态根节点数据与所述状态增量数据对应的区块头数据中的状态根节点数据是否一致。

19、在其中的一些实施例中,所述目标节点的区块头数据进行数据验证通过后,对所述目标节点的状态增量数据进行验证,包括:

20、根据所述状态增量数据,计算得到第二状态根节点数据;

21、验证所述第一状态根节点数据和所述第二状态根节点数据是否一致。

22、在其中的一些实施例中,所述根据所述可同步节点集合,确定目标节点,包括:

23、采用随机算法,从所述可同步节点集合中确定目标节点。

24、第二个方面,在本实施例中提供了一种基于状态增量的区块链同步装置,所述装置包括:

25、第一确定模块,用于确定待同步的节点、可同步节点集合和同步范围;所述待同步的节点为区块链中的落后节点;

26、第二确定模块,用于根据所述可同步节点集合,确定目标节点;

27、请求模块,用于并行向所述目标节点请求同步数据;所述同步数据中包括状态增量数据;

28、验证模块,用于对所述同步数据进行数据验证;

29、同步模块,用于根据验证通过的同步数据对所述待同步的节点的进行同步。

30、第三个方面,在本实施例中提供了一种设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一个方面所述的基于状态增量的区块链同步方法。

31、第四个方面,在本实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一个方面所述的基于状态增量的区块链同步方法的步骤。

32、与现有技术相比,在本实施例中提供的一种基于状态增量的区块链同步方法、设备和存储介质,通过确定待同步的节点、可同步节点集合和同步范围;根据可同步节点集合,确定目标节点;并行向目标节点请求同步数据;同步数据中包括状态增量数据;对同步数据进行数据验证;根据验证通过的同步数据对待同步的节点的进行同步。通过并行向目标节点请求同步数据以及对包括状态增量数据的同步数据进行验证,解决了现有的同步方式需要执行区块中的交易体来验证区块数据的有效性,同步过程中计算量大,从而导致同步效率低的问题。

33、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。



技术特征:

1.一种基于状态增量的区块链同步方法,其特征在于,所述方法包括:

2.根据权利要求1所述的一种基于状态增量的区块链同步方法,其特征在于,所述根据所述可同步节点集合,确定目标节点,包括:

3.根据权利要求1所述的一种基于状态增量的区块链同步方法,其特征在于,所述同步数据还包括区块头数据、区块体数据,所述对所述同步数据进行数据验证,包括:

4.根据权利要求3所述的一种基于状态增量的区块链同步方法,其特征在于,所述根据验证通过的同步数据对所述待同步的节点的进行同步,包括:

5.根据权利要求3所述的一种基于状态增量的区块链同步方法,其特征在于,所述目标节点的区块头数据进行数据验证通过后,对所述目标节点的状态增量数据进行验证,包括:

6.根据权利要求5所述的一种基于状态增量的区块链同步方法,其特征在于,所述目标节点的区块头数据进行数据验证通过后,对所述目标节点的状态增量数据进行验证,包括:

7.根据权利要求1所述的一种基于状态增量的区块链同步方法,其特征在于,所述根据所述可同步节点集合,确定目标节点,包括:

8.一种基于状态增量的区块链同步装置,其特征在于,所述装置包括:

9.一种设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至权利要求7中任一项所述的基于状态增量的区块链同步方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求7中任一项所述的基于状态增量的区块链同步方法的步骤。


技术总结
本申请涉及一种基于状态增量的区块链同步方法、设备和存储介质,其中,该方法包括:确定待同步的节点、可同步节点集合和同步范围;所述待同步的节点为区块链中的落后节点;根据所述可同步节点集合,确定目标节点;并行向所述目标节点请求同步数据;所述同步数据中包括状态增量数据;对所述同步数据进行数据验证;根据验证通过的同步数据对所述待同步的节点的进行同步。本申请通过并行向目标节点请求同步数据以及对包括状态增量数据的同步数据进行验证,解决了现有的同步方式需要执行区块中的交易体来验证区块数据的有效性,同步过程中计算量大,从而导致同步效率低的问题。

技术研发人员:汪小益,李若欣,刘敬,张帅
受保护的技术使用者:杭州高新区(滨江)区块链与数据安全研究院
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1167521.html

最新回复(0)