一种可扩展的协作式区块链区块存储方法以及装置制造方法及图纸

技术编号:35364434 阅读:14 留言:0更新日期:2022-10-29 18:03
本发明专利技术公开了一种可扩展的协作式区块链区块存储方法以及装置,本发明专利技术首先为每一个待分配区块设定一个响应效率阈值,并约束分片中所有节点针对待分配区块提供的响应效率总和要达到该阈值,能够避免因为节点的单点故障问题导致区块数据不能查询的问题,保证区块链系统针对用户查询的吞吐量。然后利用分片中不同节点的存储容量、响应效率、开销等具体特性,定义了在每个区块满足响应效率阈值条件下最小化总成本的优化目标函数,在满足区块响应效率需求的条件下,实现区块的分配,将成本尽可能降低,本发明专利技术考虑节点的存储容量、响应效率、开销等具体特性进行区块存储分配可以有效利用节点的存储和计算资源,提高区块链系统的可扩展性和适用性。展性和适用性。展性和适用性。

【技术实现步骤摘要】
一种可扩展的协作式区块链区块存储方法以及装置


[0001]本专利技术涉及区块链
,特别涉及一种可扩展的协作式区块链区块存储方法以及装置。

技术介绍

[0002]区块链的存储问题是区块链技术实际应用的一大挑战,直接影响到区块链的存储性能。在传统的区块链系统中,每个节点(区块链节点)保存一个完整的区块链副本。参照图1,在区块链系统中最基本的结构就是区块,区块链是由多个区块像链表一样链接组成。一个区块由两部分组成,即区块头区块体,包含许多信息,包括索引父区块哈希值(Prev Hash)、时间戳(Timestamp)、Nonce、默克尔树根(Merkle Root)、交易数据等数据。区块头用于记录当前区块的元信息,一个没有交易数据的区块头大约是80字节,其中Prev Hash用于链接父区块,Nonce是随机数,用于工作量证明算法,TimeStamp记录当前时间。Merkle树的叶子节点存储了交易数据(Transaction,Tx)的哈希值,非叶子节点是根据孩子节点的哈希值计算得出新的哈希值。如果区块中的数据发生了更改,会影响Merkle树的结构发生变化,因此使得区块链具有防篡改的功能。区块体中包含了该区块存储的交易。
[0003]随着区块链数据量不断增加,区块链网络中的用户存储压力不断增加。以比特币为例,目前比特币中的全节点的数据总量已经达到440.96GB,共包含708438个区块,平均十分钟左右才会产生一个新块,平均每秒产生3.41笔交易。以太坊全节点的数据总量8897.8819GB,共包含13560829个区块,13.23秒出一个新区块,平均每秒14.6笔交易(截至2021年11月6日)。然而,在物联网时代,物联网设备成为区块链系统的潜在用户,如个人电脑、iPad等设备。当物联网设备加入区块链网络中,会产生节点数量增速快、设备本身存储能力不足的问题,在现有的区块链体系下无法加入到区块链网络中作为全节点验证新交易。
[0004]为了应对数据增长的问题,用户与区块链平台都希望能够控制存储的数据量。现有解决存储问题的方案从所用的技术角度看主要分为链下存储和链上存储。链下存储通过将区块链的数据转移到与其并行的分布式存储系统中来减轻存储压力。但是这种方法需要维护链下存储系统;同时为了兼顾数据的安全性会产生一部分数据冗余,在基于云的链下存储中还需要考虑减少对云存储服务的依赖。链上存储包括编码、分片等方案。其中编码将区块切分成多个数据包,再使用编码技术将原数据包生成编码片段发送到节点中,当节点需要验证交易时便恢复数据包,但是计算开销大。分片的方案,需要定期改组分片造成数据迁移工作,同时要考虑数据膨胀的问题。
[0005]延迟和吞吐量是衡量区块链可扩展性的一对指标,目前希望获得低延迟和高吞吐量的系统架构,所谓低延迟,也就是用户能感受到的系统响应时间,比如一个网页在几秒内打开,越短表示延迟越低,而吞吐量表示同时有多少用户能够享受到这种低延迟,如果并发用户量很大时,用户感觉网页的打开速度很慢,这意味着系统架构的吞吐量有待提高。扩展性的目标是用可接受的延迟获得最大的吞吐量。
[0006]在相关方案中,主要是从系统架构设计上缓解节点的存储压力,但在实际应用中,区块链中的不同节点之间的特性是不一致的,相关方案没有根据节点的相关特性将区块分配给具体的节点,导致区块链系统的扩展性和适用性较差。

技术实现思路

[0007]本专利技术旨在至少解决现有技术中存在的技术问题。为此,本专利技术提出一种可扩展的协作式区块链区块存储方法以及装置,在满足区块响应效率需求的条件下,实现区块的分配,将成本尽可能降低;有效利用节点的存储和计算资源,提高区块链系统的可扩展性和适用性。
[0008]本专利技术的第一方面,提供了一种可扩展的协作式区块链区块存储方法,包括如下步骤:
[0009]计算当前区块链分片中每一个节点的存储容量、响应效率和单位开销;
[0010]计算所有待分配区块,为每一个所述待分配区块分配相应的响应效率阈值,所述待分配区块的响应效率阈值用于表征所述待分配区块能够被完整查询响应的最小响应效率值;
[0011]构建优化目标函数和约束条件,所述优化目标函数为:
[0012][0013]其中,所述表示每一个所述待分配区块均满足相应的响应效率阈值条件下的最小化总成本,所述v
j
表示所述节点的存储容量,所述V表示所述当前区块链分片中的所述节点的容量集,所述τ
j
表示存储容量为v
j
的所述节点的分配次数,所述m
j
表示存储容量为v
j
的所述节点的数量,所述c
j
表示存储容量为v
j
的所述节点的单位开销;
[0014]所述约束条件为:
[0015][0016]其中,所述E(b
i
)表示所述待分配区块b
i
的响应效率,所述r
i
表示所述b
i
的响应效率阈值,所述B表示所述待分配区块的集合,所述N(b
i
)表示存储所述b
i
的所述节点的容量集,所述表示存储所述b
i
的所述节点的响应效率,所述表示存储所述b
i
的不同存储容量所述节点的数量;
[0017]根据所述优化目标函数和所述约束条件,将所述待分配区块分配至相应的所述节点。
[0018]根据本专利技术的实施例,至少具有如下技术效果:
[0019]首先为每一个待分配区块设定一个响应效率阈值,约束条件中约束分片中所有节点针对待分配区块提供的响应效率总和要达到该阈值,能够避免因为节点的单点故障问题导致区块数据不能查询的问题,保证区块链系统针对用户查询的吞吐量。然后利用分片中不同节点的具体特性(即存储容量、响应效率、开销),定义了在每个区块满足响应效率阈值条件下最小化总成本的优化目标函数,在满足区块响应效率需求的条件下,实现区块的分配,将成本尽可能降低,本方法考虑节点的存储容量、响应效率、开销等具体特性进行区块存储分配可以有效利用节点的存储和计算资源,提高区块链系统的可扩展性和适用性。
[0020]本专利技术的第二方面,提供了一种可扩展的协作式区块链区块存储装置,包括:
[0021]第一计算单元,用于计算当前区块链分片中每一个节点的存储容量、响应效率和单位开销;
[0022]第二计算单元,用于计算所有待分配区块,为每一个所述待分配区块分配相应的响应效率阈值,所述待分配区块的响应效率阈值用于表征所述待分配区块能够被完整查询响应的最小响应效率值;
[0023]第三计算单元,用于构建优化目标函数和约束条件,所述优化目标函数为:
[0024][0025]其中,所述表示每一个所述待分配区块均满足相应的响应效率阈值条件下的最小化总成本,所述v
j
表示所述节点的存储容量,所述V表示所述当前区块链分片中的所述节点的容量集,所述τ
j...

【技术保护点】

【技术特征摘要】
1.一种可扩展的协作式区块链区块存储方法,其特征在于,包括如下步骤:计算当前区块链分片中每一个节点的存储容量、响应效率和单位开销;计算所有待分配区块,为每一个所述待分配区块分配相应的响应效率阈值,待分配区块的响应效率阈值用于表征所述待分配区块能够被完整查询响应的最小响应效率值;构建优化目标函数和约束条件,所述优化目标函数为:其中,所述表示每一个所述待分配区块均满足相应的响应效率阈值条件下的最小化总成本,所述v
j
表示所述节点的存储容量,所述V表示所述当前区块链分片中的所述节点的容量集,所述τ
j
表示存储容量为v
j
的所述节点的分配次数,所述m
j
表示存储容量为v
j
的所述节点的数量,所述c
j
表示存储容量为v
j
的所述节点的单位开销;所述约束条件为:其中,所述E(b
i
)表示所述待分配区块b
i
的响应效率,所述r
i
表示所述b
i
的响应效率阈值,所述B表示所述待分配区块的集合,所述N(b
i
)表示存储所述b
i
的所述节点的容量集,所述表示存储所述b
i
的所述节点的响应效率,所述表示存储所述b
i
的不同存储容量所述节点的数量;根据所述优化目标函数和所述约束条件,将所述待分配区块分配至相应的所述节点。2.根据权利要求1所述的可扩展的协作式区块链区块存储方法,其特征在于,在所述获取当前区块链分片中每一个节点的存储容量、响应效率和单位开销之前,还包括步骤:按照预设规则将整个区块链划分成多个区块链分片。3.根据权利要求2所述的可扩展的协作式区块链区块存储方法,其特征在于,根据所述优化目标函数和所述约束条件,通过静态的启发式方法将所述待分配区块分配至相应的所述节点。4.根据权利要求3所述的可扩展的协作式区块链区块存储方法,其特征在于,所述静态的启发式方法包括基于单位开销的分配方法、基于增益比率的分配方法以及基于有界背包的区块分配方法中的任意一个。5.根据权利要求2所述的可扩展的协作式区块链区块存储方法,其特征在于,将所述待分配区块分配至相应的所述节点,还包括:计算当前所述区块链分片中的新增的待分配区块的数量,当所述新增的待分配区块的数量达到所述阈值时,基于剩余节点的动态分配方法将所述新增...

【专利技术属性】
技术研发人员:尹波李家齐
申请(专利权)人:长沙理工大学
类型:发明
国别省市:

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

1