一种基于纠删码的区块链存储优化方法及系统

文档序号:36266523发布日期:2023-12-06 11:35阅读:50来源:国知局
一种基于纠删码的区块链存储优化方法及系统

本发明属于区块链技术、纠删码,具体涉及一种基于纠删码的区块链存储优化方法及系统。


背景技术:

1、区块链是一种记录保存技术,它以块的形式存储交易和有价值的信息。区块链具有区别集中式系统的重要特征,如去中心性、不可变性、安全性和匿名性,这使得区块链已经成功应用在金融科技、公共治理、数字货币、供应链等领域。

2、纠删码技术(erasure coding)的最先应用场景是分布式存储系统,旨在解决分布式存储系统出现故障时的数据恢复问题。纠删码存储冗余策略能保证分布式系统以相同可靠性最小化冗余存储开销。区块链系统本质上就是一种特殊的分布式系统,理论上纠删码是可以应用在区块链系统。pal rudrashhish等人使用数字喷泉码来解决区块链副本冗余问题,提高了系统的存储性能。赵国锋等人提出了一种基于纠删码的区块链系统区块文件存储模型,改进hyperledger的存储性能,但是其缺陷是使用对象有严格限制,能且只能应用于联盟链hyperledger下的各区块链平台。perard提出了一种基于纠删码的低存储区块链节点,文章把存储空间小的节点作为主要研究对象。虽然该方案在减少区块链存储消耗方面具有一定优势,但降低了区块链系统的去中心化水平。qi等人结合bft共识和纠删码技术设计了bft-store存储引擎。该设计方案虽实现了区块链的可扩展性,但可用性较差。


技术实现思路

1、针对现有技术的不足,本发明提出了一种基于纠删码的区块链存储优化方法及系统,采用基于模糊c均值聚类算法,使用编码块放置节点集合选择策略,减轻了单个节点的存储负担,改善了采用全副本机制实现分布式账本的一致性中由于节点存储压力大导致的区块链失去中心化、数据安全性和数据真实可信等特性的问题。

2、为实现上述目的,本发明提供了如下方案:

3、一种基于纠删码的区块链存储优化方法,包括以下步骤:

4、获取区块链网络节点,所述网络节点均存储一份全局且完整的分布式账本;

5、采用基于模糊c均值聚类算法的动态近距离节点分组算法对所述区块链网络节点进行分组,获得共识单元;

6、基于所述共识单元,采用基于节点性能的随机编码块放置策略对编码块进行存储分配,对区块文件进行全局处理。

7、优选的,采用基于模糊c均值聚类算法的动态近距离节点分组算法对所述区块链网络节点进行分组的方法包括:

8、选择中心节点;

9、基于模糊c均值聚类算法,所述中心节点给每个参与节点发送请求消息,所述参与节点会返回给所述中心节点响应消息;

10、根据请求和响应消息往返时延估计两点间的距离,由估测距离把所述参与节点加入到满足预设要求的分组。

11、优选的,对区块文件进行全局处理的方法包括:区块编码、区块数据存储、区块重构和区块数据同步;

12、区块编码是对区块使用rs纠删码编码处理;区块数据存储是把编码块随机存放到指定节点集合;区块重构是区块编码的反过程,实现对区块文件的恢复;区块数据同步是有新节点加入时,同步区块最新数据给新节点。

13、优选的,在区块编码中,对区块使用rs纠删码编码处理的具体过程包括:

14、将区块链中的第i个区块记作b(i);

15、在区块b(i)切片前,如果区块b(i)不支持k份均匀等大切分,则用0填充区块b(i);

16、如果区块b(i)支持k份均匀等大切分,则利用节点将区块b(i)切分成k个等大的文件块区块b(i)再经rs(n,k)纠删码编码生成n个编码块所述n个编码块被随机分发存储到指定的n个节点存储。

17、优选的,所述区块数据存储中,把编码块随机存放到指定节点集合的具体过程包括:

18、将共识单元内达到阈值t的k个节点加入备选节点集合n;

19、将集合n中的k个节点采用优劣解距离法进行性能指标决策,根据性能响应反馈按照自高到底的顺序排序;

20、选取排序结果中的前n个节点作为编码块放置节点集合s。

21、优选的,所述区块重构中,区块编码的反过程,实现对区块文件的恢复的具体过程包括:故障检测阶段、恢复节点选择阶段、编码块读取阶段、原始数据解码阶段、新数据块编码阶段和元数据更新阶段。

22、优选的,在区块数据同步中,有新节点加入时,同步区块最新数据给新节点的具体过程包括:

23、当新节点首次加入区块链系统,通过动态近距离分组算法将所述新节点加入到某一共识单元;

24、所述新节点向对应共识单元中其余节点发出广播请求,获得当前状态下区块链的最大块高;

25、所述新节点依次重构出从创世区块到最大块高区块区间段的区块数据,并本地暂存t个时间完整区块;

26、t时间到后重复区块数据存储过程,依据topsis计算节点的性能优劣程度,若所述新节点性能决策指标排序满足预设要求保留部分编码块。

27、本发明还提供了一种基于纠删码的区块链存储优化系统,包括:获取模块、分组模块和处理模块;

28、所述获取模块用于获取区块链网络节点,所述网络节点均存储一份全局且完整的分布式账本;

29、所述分组模块用于采用基于模糊c均值聚类算法的动态近距离节点分组算法对所述区块链网络节点进行分组,获得共识单元;

30、所述处理模块用于基于所述共识单元,采用基于节点性能的随机编码块放置策略对编码块进行存储分配,对区块文件进行全局处理。

31、与现有技术相比,本发明的有益效果为:

32、本发明在区块编码速度、区块重构速度上均有所提升,同时减少了系统空间占用。

33、(1)区块编码速度

34、不同rs编码方案中,在区块大小相同的情况下,容错率越低,编码速度越快;不同rs编码方案中,区块大小相同、容错率也相同的情况下,不同编码组合下编码速度也多少存在差异;相同rs编码方案中,随着区块文件大小的增加,编码速度也随之增加。

35、(2)区块重构速度

36、在rs纠删码容错能力范围内,固定区块大小不变,系统丢失的编码块数目越少,区块的重构速度越快;在rs纠删码容错能力范围内,固定数据块的丢失数量不变,容错率越高,重构速度越快。

37、(3)系统存储空间占用对比

38、在区块个数不变的情况下,随着系统节点数目的增加,hyperledger fabric(超级账本)占用的存储空间大小和系统节点个数成正比。相比较hyperledger fabric,本文所提的bso-ec可以带来更低的存储消耗。



技术特征:

1.一种基于纠删码的区块链存储优化方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于纠删码的区块链存储优化方法,其特征在于,采用基于模糊c均值聚类算法的动态近距离节点分组算法对所述区块链网络节点进行分组的方法包括:

3.根据权利要求1所述的基于纠删码的区块链存储优化方法,其特征在于,对区块文件进行全局处理的方法包括:区块编码、区块数据存储、区块重构和区块数据同步;

4.根据权利要求3所述的基于纠删码的区块链存储优化方法,其特征在于,在区块编码中,对区块使用rs纠删码编码处理的具体过程包括:

5.根据权利要求3所述的基于纠删码的区块链存储优化方法,其特征在于,所述区块数据存储中,把编码块随机存放到指定节点集合的具体过程包括:

6.根据权利要求3所述的基于纠删码的区块链存储优化方法,其特征在于,所述区块重构中,区块编码的反过程,实现对区块文件的恢复的具体过程包括:故障检测阶段、恢复节点选择阶段、编码块读取阶段、原始数据解码阶段、新数据块编码阶段和元数据更新阶段。

7.根据权利要求3所述的基于纠删码的区块链存储优化方法,其特征在于,在区块数据同步中,有新节点加入时,同步区块最新数据给新节点的具体过程包括:

8.一种基于纠删码的区块链存储优化系统,其特征在于,包括:获取模块、分组模块和处理模块;


技术总结
本发明公开了一种基于纠删码的区块链存储优化方法及系统,所述方法包括以下步骤:获取区块链网络节点;采用基于模糊c均值聚类算法的动态近距离节点分组算法对区块链网络节点进行分组,获得共识单元;基于共识单元,采用基于节点性能的随机编码块放置策略对编码块进行存储分配,对区块文件进行全局处理。本发明减轻了单个节点的存储负担,改善了由于节点存储压力大导致的区块链失去中心化、数据安全性和数据真实可信等特性的问题。

技术研发人员:孟宇龙,武秋燕,徐东,卢中玉,赵佳媛,刘芳玮,杨梓韵,蔡成涛,王巍,王小芳,李承国,毕晓燕,陈征平,潘海为,徐悦竹,于金峰,张可佳,玄世昌,庄园
受保护的技术使用者:哈尔滨工程大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1