一种区块链存储效率优化方法技术

技术编号:38741114 阅读:16 留言:0更新日期:2023-09-08 23:25
本发明专利技术公开了一种区块链存储效率优化方法,涉及区块链技术领域。该方法包括:新区块链节点在加入区块链时,生成该节点的P2P通信证书,在加入提案通过共识后,节点证书哈希值作为ID标识,与其连接地址在全网节点的分布式哈希表中广播保存;链上发生交易并需要出块时,将完整的区块数据切分为多个数据切片,计算总体区块数据的哈希值与每个数据切片的哈希值,生成精简区块数据;将精简区块数据向全网其他节点广播,每个节点保存精简区块数据;为每个数据切片选择全网节点数/2+1的数量的节点,将各个数据切片发送到被选择的节点的分布式存储模块中进行保存;将分发结果广播至全网。本发明专利技术极大提高了区块链所有节点整体的存储效率。率。率。

【技术实现步骤摘要】
一种区块链存储效率优化方法


[0001]本专利技术涉及区块链
,具体而言,涉及一种区块链存储效率优化方法。

技术介绍

[0002]区块链拥有数据不可篡改、公正公开、去中心化等特性,被广泛应用在数字资产、电子存证、电子溯源等分布式应用中。为保证区块链的这些特性,参与组网的区块链的所有节点必须完整保存链上的所有区块数据。当节点数较多时,将对存储总成本有极高要求。此外,每个在区块链上生成的交易不仅包括被提交的业务信息数据,还包括完整交易信息、共识签名信息、区块头信息等出块附带的数据,这导致每个交易数据实际大小远大于其所承载的业务数据。因此,当区块链的节点规模不断扩张时,如何优化所有节点的存储结构,提升整体的存储效率,成为一个需要解决的问题。
[0003]现有技术中公开了CN113157693A一种面向数字货币的区块链存储优化方案,其将区块数据存入IPFS,区块链节点只需存储IPFS的索引关键字。此种方法减少了节点的存储消耗,但直接使用IPFS作为存储有一定的局限性。IPFS节点在初次上传数据时,只会将数据保存在该节点本地,直到别的节点向其请求该数据时,才会将该数据在全网同步。这将导致区块刚生成时,有很长一段时间只有单个或少数几个副本存在,区块链的可靠性被极大降低。

技术实现思路

[0004]为了克服上述问题或者至少部分地解决上述问题,本专利技术实施例提供一种区块链存储效率优化方法,在不影响区块链的安全性、可靠性、原有性能的前提下,极大提高了区块链所有节点整体的存储效率。
[0005]本专利技术的实施例是这样实现的:
[0006]第一方面,本专利技术实施例提供一种区块链存储效率优化方法,包括以下步骤:
[0007]新区块链节点在加入区块链时,生成该节点的P2P通信证书,在加入提案通过共识后,节点证书哈希值作为ID标识,并将节点的ID标识与连接地址在全网节点的分布式哈希表中广播保存;
[0008]链上发生交易并需要出块时,负责打包出块的节点首先将完整的区块数据切分为多个数据切片,计算总体区块数据的哈希值与每个数据切片的哈希值,随后生成精简区块数据;
[0009]区块数据打包生成后,负责打包出块的节点将精简区块数据向全网其他节点广播,每个节点保存精简区块数据;
[0010]精简区块数据广播成功后,负责打包出块的节点为每个数据切片按照预设的节点选择规则选择全网节点数/2+1的数量的节点,将各个数据切片发送到被选择的节点的分布式存储模块中进行保存;
[0011]数据切片分发成功后,负责打包出块的节点将分发结果广播至全网。
[0012]为了解决现有技术中的问题,本专利技术在原有区块链存储的基础上,增加了分布式存储与分布式哈希表技术;分布式存储用于保存各自节点需要存储的原区块数据切片,分布式哈希表用于保存区块链中每个节点的ID标识与其地址,以及分布式存储中数据所在的节点。区块数据以切片的形式在分布式存储中保存,通过单个切片无法获知区块的原始数据,有效保护数据的隐私性;每个区块数据按照全网节点数/2+1的数量进行备份,在保证一半以上诚实节点的原则的基础上,减少了接近50%的存储总量。
[0013]本专利技术使用分布式哈希表+分布式存储结合的手段代替区块链原有的单一本地存储模式,在不影响区块链的安全性、可靠性、原有性能的前提下,极大提高区块链所有节点整体的存储效率;同时极大的节约了节点存储空间。
[0014]基于第一方面,在本专利技术的一些实施例中,该区块链存储效率优化方法还包括以下步骤:
[0015]当一个节点需要读取区块数据时,根据该区块的哈希值进行查找对应的区块数据。
[0016]基于第一方面,在本专利技术的一些实施例中,上述根据该区块的哈希值进行查找对应的区块数据的方法包括以下步骤:
[0017]在节点存储中查询到该区块的精简数据,获得对应的包含的数据切片哈希列表;
[0018]针对每个数据切片哈希,先在本地分布式存储中进行查找,若查询到,则直接返回对应的数据;若未查询到,则在分布式哈希表中查找拥有该切片的节点ID标识,随后在分布式哈希表中查找该节点的连接地址,最后向该节点发起数据查询,获取该切片的原始数据;
[0019]将获取的所有切片的原始数据拼接成完整的区块数据。
[0020]基于第一方面,在本专利技术的一些实施例中,上述负责打包出块的节点首先将完整的区块数据切分为数个数据切片的方法包括以下步骤:
[0021]负责打包出块的节点首先将完整的区块数据以字节数组的格式按照预设的切片大小规则切分为多个数据切片。
[0022]基于第一方面,在本专利技术的一些实施例中,上述精简区块数据包括区块高度、区块哈希值、前置区块哈希值、区块时间戳以及数据切片哈希列表。
[0023]第二方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
[0024]第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
[0025]本专利技术实施例至少具有如下优点或有益效果:
[0026]本专利技术实施例提供一种区块链存储效率优化方法,使用分布式哈希表+分布式存储结合的手段代替区块链原有的单一本地存储模式,在不影响区块链的安全性、可靠性、原有性能的前提下,极大提高区块链所有节点整体的存储效率;同时极大的节约了节点存储空间。
附图说明
[0027]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0028]图1为本专利技术实施例一种区块链存储效率优化方法的流程图;
[0029]图2为本专利技术实施例一种区块链存储效率优化方法的详细流程示意图;
[0030]图3为本专利技术实施例中区块链节点存储示意图;
[0031]图4为本专利技术实施例提供的一种电子设备的结构框图。
[0032]附图标记说明:101、存储器;102、处理器;103、通信接口。
具体实施方式
[0033]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0034]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链存储效率优化方法,其特征在于,包括以下步骤:新区块链节点在加入区块链时,生成该节点的P2P通信证书,在加入提案通过共识后,节点证书哈希值作为ID标识,并将节点的ID标识与连接地址在全网节点的分布式哈希表中广播保存;链上发生交易并需要出块时,负责打包出块的节点首先将完整的区块数据切分为多个数据切片,计算总体区块数据的哈希值与每个数据切片的哈希值,随后生成精简区块数据;区块数据打包生成后,负责打包出块的节点将精简区块数据向全网其他节点广播,每个节点保存精简区块数据;精简区块数据广播成功后,负责打包出块的节点为每个数据切片按照预设的节点选择规则选择全网节点数/2+1的数量的节点,将各个数据切片发送到被选择的节点的分布式存储模块中进行保存;数据切片分发成功后,负责打包出块的节点将分发结果广播至全网。2.根据权利要求1所述的一种区块链存储效率优化方法,其特征在于,还包括以下步骤:当一个节点需要读取区块数据时,根据该区块的哈希值进行查找对应的区块数据。3.根据权利要求2所述的一种区块链存储效率优化方法,其特征在于,所述根据该区块的哈希值进行查找对应的区块数据的方法包括以下步骤:在节点存储中查询到该区块的精简数据,获得对应的包含的...

【专利技术属性】
技术研发人员:朱孟禄汪昌帅贺伟
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

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

1