System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于区块链,特别是涉及一种结合布隆过滤器与dht的区块链编码存储系统。
技术介绍
1、由于区块链技术凭借去中心化、不可篡改等特性,使其应用在医疗数据隐私保护、金融、物联网等领域。但是,由于区块链技术的特性和工作原理,导致了存储资源的巨大消耗,同时网络中节点面临巨大的存储负载,存储资源有限的节点将被迫退出区块链网路,损坏区块链系统的安全性和去中心化。因此区块链存储扩容问题的解决对于推进区块链技术的发展和实现其应用场景的扩展有着重要意义。
2、目前很多学者对区块链存储扩容问题作了深入的研究,并提出不同的扩容方法:
3、li等人提出一种基于集群内完整性的多节点协同存储策略icistrategy。在icistrategy中,采用动态聚类算法将所有参与者分成几个集群。每个集群都需要保存网络中的所有数据,而集群中的单个节点不需要存储所有数据,集群内的节点协作存储网络中的所有数据,从而减轻了参与者的存储压力。但是该方案的对于数据的安全性和完整性需求较高的场景可能不够理想,由于icistrategy允许集群内节点不维护数据的完整性,这可能会对那些对数据安全性和完整性有严格要求的应用场景造成挑战。
4、zheng等人提出一个关于分片联盟区块链的系统研究模型meepo。该方案采用“cross-epoch”和“cross-call”的方式提高跨分片的效率。由于是跨分片的处理方式,在节点间通信和共识机制上增加了额外的负担,可能导致性能下降。
5、kim等人提出了一种选择性的压缩方案,使用检查点链
6、因此,为了提高存储效率,优化数据管理,亟需提出一种结合布隆过滤器与dht的区块链编码存储系统。
技术实现思路
1、本专利技术的目的是提供一种结合布隆过滤器与dht的区块链编码存储系统,降低节点存储空间的使用量,并能够保证系统的安全性和可靠性,从而提高区块链系统在各个领域的广泛应用,以解决上述现有技术存在的问题。
2、为实现上述目的,本专利技术提供了一种结合布隆过滤器与dht的区块链编码存储系统,包括:
3、节点划分模块,用于基于dht技术对区块链网络中的记账节点进行划分,并由划分的节点存储区块数据;
4、区块分配模块,与所述节点划分模块连接,用于基于布隆过滤器进行区块分配,并由接收到区块的节点存储对应的区块数据;
5、区块编码模块,与所述区块分配模块连接,用于预设编码数量,并当集群中的区块数量满足所述预设编码数量时,进行区块编码以及区块存储;
6、数据查询模块,与所述区块编码模块连接,用于当节点发起区块查询请求时,基于混合查询机制依次进行区块查询,直至获得查询结果。
7、可选地,所述节点划分模块包括节点划分单元和数据存储单元;
8、所述节点划分单元用于基于dht技术将区块链网络中的记账节点划分为若干个集群,每个集群包括若干个节点;所述数据存储单元用于基于集群中的若干个节点存储与自身相关联的区块的全部数据,以及与自身无关联的区块的区块头数据。
9、可选地,所述区块分配模块包括区块分配单元,所述区块分配单元用于扫描区块体中的全部交易数据,获取交易数据对应的账户地址,并调用节点账户地址查询接口,查询当前交易数据对应的账户地址是否是区块链网络中的节点账户地址;若查询结果为是,则对查询到的第一个存在且活跃的节点账户地址进行区块分配,并停止查询操作;若查询结果为不是,则对全部交易数据涉及的账户地址与区块链网络中的节点账户地址进行比对,并从存在且活跃的节点账户地址中随机选择一个地址进行区块分配。
10、可选地,所述区块分配模块还包括节点确认单元,所述节点确认单元用于当区块链网络中的节点接收到区块后,基于布隆过滤器中的若干个哈希函数对本地账户地址进行若干次哈希运算,若获得的运算结果对应的布隆过滤器位数组中存储的值全为1,则由接收到区块的节点存储对应区块的全部数据,并告知所在集群的其他节点存储区块数据,由其他集群的节点存储对应区块的区块头数据。
11、可选地,所述区块编码模块包括区块编码单元,所述区块编码单元用于预设编码数量,当单个集群中缓存的区块数量达到所述预设编码数量时,集群将触发局部恢复码编码机制,对预设编码数量的区块进行编码。
12、可选地,所述区块编码模块还包括区块存储单元,所述区块存储单元用于将编码后的区块及原始区块依次分配给当前集群中的其他节点进行存储,当其他节点接收到待存储的区块后,对区块进行持久化存储,并清空当前缓存区块。
13、可选地,所述数据查询模块包括数据查询单元,所述数据查询单元用于当节点发起区块查询请求时,依次进行节点扫描本地区块查询、master节点缓存查询、全网广播查询以及区块解码恢复,直至获得查询结果。
14、可选地,所述数据查询模块还包括节点检查单元,所述节点检查单元用于当无法获得查询结果时,区块链网络发起节点状态检查机制,若发现失效节点,则由失效节点所在集群启动局部恢复码解码机制恢复所述失效节点,并将失效节点存储的区块数据重新分配给所在集群中的其他节点上,重新进行数据查询。
15、可选地,所述数据查询模块还包括故障恢复单元,所述故障恢复单元用于出现节点故障时,基于局部恢复码解码机制恢复故障节点存储的区块数据。
16、本专利技术的技术效果为:
17、本专利技术创造性的提出了结合dht技术和lrc编码存储技术,实现区块链交易数据的分片和编码存储,有效降低节点的存储负载。lrc编码存储能保证集群中数据的完整性和安全性。采用布隆过滤器技术来确定区块的存储位置,使区块存储具备随机性和动态性。在不造成额外存储开销的同时,本专利技术能够提升区块链网络的效率和安全性,保证集群的灵活性和扩展性。
本文档来自技高网...【技术保护点】
1.一种结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,包括:
2.根据权利要求1所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
3.根据权利要求1所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
4.根据权利要求3所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
5.根据权利要求1所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
6.根据权利要求5所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
7.根据权利要求1所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
8.根据权利要求7所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
9.根据权利要求8所述的结合布隆过滤器与DHT的区块链编码存储系统,其特征在于,
【技术特征摘要】
1.一种结合布隆过滤器与dht的区块链编码存储系统,其特征在于,包括:
2.根据权利要求1所述的结合布隆过滤器与dht的区块链编码存储系统,其特征在于,
3.根据权利要求1所述的结合布隆过滤器与dht的区块链编码存储系统,其特征在于,
4.根据权利要求3所述的结合布隆过滤器与dht的区块链编码存储系统,其特征在于,
5.根据权利要求1所述的结合布隆过滤器与dht...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。