基于节点集群增益最大化区块存储方法及装置制造方法及图纸

技术编号:38228535 阅读:10 留言:0更新日期:2023-07-25 17:57
本发明专利技术公开了基于节点集群增益最大化区块分配方法及装置,本发明专利技术首先计算当前区块链系统中所有待分配的区块,以保证节点集群能够保存完整的区块链数据副本。然后利用每一个节点的存储成本、存储上限、对每个区块的访问频率,定义了在区块链系统中每个区块均被分配条件下最大化总增益的优化目标函数,实现区块的分配,将节点存储区块的增益最大化,根据我们的优化目标提出了三种启发式算法,基于成本的区块分配算法、基于增益的区块分配算法、基于skyline层的区块分配算法。本发明专利技术考虑节点的存储成本、存储上限、对每个区块的访问频率等具体特性进行区块存储分配可以有效利用节点的存储和计算资源,提高区块链系统的可扩展性和适用性。和适用性。

【技术实现步骤摘要】
基于节点集群增益最大化区块存储方法及装置


[0001]本专利技术涉及区块链
,尤其是一种基于节点集群增益最大化区块存储方法及装置。

技术介绍

[0002]区块链的存储问题是区块链技术实际应用的一大挑战,直接影响到区块链的存储性能。在传统的区块链系统中,每个节点(区块链节点)保存一个完整的区块链副本。参照图1,在区块链系统中最基本的结构就是区块,区块链是由多个区块像链表一样链接组成。一个区块由两部分组成,即区块头区块体,包含许多信息,包括索引父区块哈希值(Prev Hash)、时间戳(Timestamp)、Nonce、默克尔树根(Merkle Root)、交易数据等数据。区块头用于记录当前区块的元信息,一个没有交易数据的区块头大约是80字节,其中Prev Hash用于链接父区块,Nonce是随机数,用于工作量证明算法,TimeStamp记录当前时间。Merkle树的叶子节点存储了交易数据(Transaction,Tx)的哈希值,非叶子节点是根据孩子节点的哈希值计算得出新的哈希值。如果区块中的数据发生了更改,会影响Merkle树的结构发生变化,因此使得区块链具有防篡改的功能。区块体中包含了该区块存储的交易。
[0003]尽管业界对区块链充满热情,但将区块链应用到实际环境中仍然存在一些障碍,例如区块链节点的大量存储需求。根本原因是每个节点都需要处理和存储账本的完整副本。记录的快速增长导致区块链数据存储的快速增长。比特币已经产生了超过70万个区块,总大小在2021年12月已超过448GB。以太坊的大小超过9000GB,大约有1380万个区块。平均13.66秒生成一个新区块。要运行以太坊的完整节点,基本硬件规格包括8GB RAM和至少500GB可用空间的驱动器。当区块链系统用于处理数据密集型应用程序(如图像/视频识别)和快速且连续的数据流场景(如物联网数据收集)时,节点的存储空间问题变得更加严重。实际上,许多普通设备(例如智能手机)的存储空间和计算能力都有限。这些设备存储完整的区块链数据是不切实际的。
[0004]现有工作中已经提出了几种解决方案来解决大存储容量的问题,通过允许参与节点保存整个区块链数据的一部分。现有的解决方案主要可以分为两种:链下存储和链上存储。链下存储(例如,轻节点和IPFS)将尽可能多的交易从区块链移动到链下存储系统。然而,链下解决方案无法保证链下交易的有效性,因为链下交易是通过第三方存储系统来保存数据。链上存储是在区块链本身中存储各种数量的信息,并从系统协议层(例如分片和节点集群)。区块链节点被分成小组,同一组中的成员就他们的交易达成一致。然而,分片技术面临着符合跨分片交易的挑战,其中应该在组之间执行多轮通信。此外,大多数先前的研究根据数据内容的信息(例如哈希值)将区块链数据放置到节点上,而忽略了节点属性(例如存储容量和查询成本)。伴随节点属性而来的一个问题是节点可以获得的增益。这意味着存储方案应该能够最大化区块链节点的总收益,以充分激励节点贡献自己的存储和计算资源。

技术实现思路

[0005]针对上述现有技术的不足,本专利技术提出一种基于节点集群增益最大化区块分配方法及装置,在每个节点具有存储容量约束的条件下,实现区块的分配并最大化系统的总增益;有效利用节点的存储和计算资源,提高区块链系统的可扩展性和适用性。
[0006]本专利技术的第一方面,提供一种基于节点集群增益最大化区块分配方法,包括如下步骤:
[0007]计算当前区块链节点集群中每一个节点的存储成本、存储上限、对每个区块的访问频率;
[0008]计算当前区块链系统中所有待分配的区块,以保证节点集群能够保存完整的区块链数据副本;
[0009]构建优化目标函数和约束条件,所述优化目标函数为:
[0010][0011]其中,所述表示每一个所述待分配的区块均被分配完成的情况下最大化总增益,所述表示节点对于区块的访问频率,所述f
max
为整个系统中节点对于区块访问频率的最大值,所述表示为节点对区块的访问频率进行归一化,所述c
j
表示节点存储一个区块所消耗的单位成本,所述c
max
表示为整个系统中节点存储区块的单位成本的最大值,所述表示对单位存储成本的归一化,所述C1C2为优化目标的权值;
[0012]所述约束条件为:
[0013][0014][0015][0016]其中,所述约束条件(2)表示所有的区块都必须全部分配完成,其中B
j
表示被节点存储的区块集合,B表示区块链系统中的区块集合;所述约束条件(3)表示一个区块只能被一个节点存储;所述约束条件(4)表示节点分配的区块个数不能超过存储上限k
j

[0017]根据所述优化目标函数和所述约束条件,将所述待分配区块分配至相应的所述节点。
[0018]根据本专利技术的实施例,至少具有如下技术效果:
[0019]首先计算当前区块链节点集群中每一个节点的存储成本、存储上限、对每个区块的访问频率,能够保证根据节点的特性对区块链中的区块分配。然后计算当前区块链系统中所有待分配的区块,以保证节点集群能够保存完整的区块链数据副本,定义了在所述约束条件下最大化总增益的优化目标,在保证所有区块被分配的情况下实现增益的最大化,提高区块链系统的可扩展性。
[0020]本专利技术的第二方面提供了基于节点集群的增益最大化的区块分配装置,包括:
[0021]第一计算单元,用于计算当前区块链节点集群中每一个节点的存储成本、存储上限、对每个区块的访问频率;
[0022]第二计算单元,用于计算当前区块链系统中所有待分配的区块,以保证节点集群能够保存完整的区块链数据副本;
[0023]第三计算单元,用于构建优化目标函数和约束条件,所述优化目标函数为:
[0024][0025]区块分配单元,用于根据所述优化目标函数和所述约束条件,将所述待分配区块分配至相应的所述节点。
[0026]本专利技术的第三方面,提供了一种电子设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行上述的可扩展的协作式区块链区块存储方法。
[0027]本专利技术的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的可扩展的协作式区块链区块存储方法。
[0028]需要注意的是,本专利技术的第二方面至第四方面与现有技术之间的有益效果与上述的基于节点集群的增益最大化的区块分配方法与现有技术之间的有益效果相同,此处不再细述。
[0029]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0030]本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于节点集群增益最大化区块分配方法,其特征在于,包括以下步骤:本发明的第一方面,提供一种基于节点集群增益最大化区块分配方法,包括如下步骤:计算当前区块链节点集群中每一个节点的存储成本、存储上限、对每个区块的访问频率;计算当前区块链系统中所有待分配的区块,以保证节点集群能够保存完整的区块链数据副本;构建优化目标函数和约束条件,所述优化目标函数为:其中,所述表示每一个所述待分配的区块均被分配完成的情况下最大化总增益,所述f
ji
表示节点对于区块的访问频率,所述f
max
为整个系统中节点对于区块访问频率的最大值,所述表示为节点对区块的访问频率进行归一化,所述c
j
表示节点存储一个区块所消耗的单位成本,所述c
max
表示为整个系统中节点存储区块的单位成本的最大值,所述表示对单位存储成本的归一化,所述C1C2为优化目标的权值;所述约束条件为:所述约束条件为:所述约束条件为:其中,所述约束条件(2)表示所有的区块都必须全部分配完成,其中B
j
表示被节点存储的区块集合,B表示区块链系统中的区块集合;所述约束条件(3)表示一个区块只能被一个节点存储;所述约束条件(4)表示节点分配的区块个数不能超过存储上限k
j
;根据所述优化目标函数和所述约束条件,将所述待分配区块分配至相应的所述节点。2.根据权利要求1所述的基于节点集群增益最大化区块分配方法,其特征在于,在所述获取当前每一个节点的存储成本、存储上限、对每个区块的访问频率之前,还包括步骤:按照预设规则将整个区块链网络中的节点组成多个节点集群。3.根据权利要求2所述的基于节点集群增益最大化区块分配方法,其特征在于,根据所述优化目标函数和所述约束条件,通过静态的启发式方法将所述待分配区块分配至相应的所述节点。4.根据权利要求3所述的基于节点集群增益最大化区块分配方法,其特征在于,所述静态的启发式方法包括基于成本的区块分配算法、基于增益的区块分配算法以及基于skyl...

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

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

1