CN115118737A - 一种基于节点分组的联盟链区块存储方法 - Google Patents

一种基于节点分组的联盟链区块存储方法 Download PDF

Info

Publication number
CN115118737A
CN115118737A CN202211022134.4A CN202211022134A CN115118737A CN 115118737 A CN115118737 A CN 115118737A CN 202211022134 A CN202211022134 A CN 202211022134A CN 115118737 A CN115118737 A CN 115118737A
Authority
CN
China
Prior art keywords
node
storage
block
nodes
grouping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211022134.4A
Other languages
English (en)
Other versions
CN115118737B (zh
Inventor
张佩云
郭威峰
刘梓杰
黄天林
何思开
丁松
谢荣见
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202211022134.4A priority Critical patent/CN115118737B/zh
Publication of CN115118737A publication Critical patent/CN115118737A/zh
Application granted granted Critical
Publication of CN115118737B publication Critical patent/CN115118737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于节点分组的联盟链区块存储方法,包括步骤:S1,以全区块的低存储消耗、低存储复杂度和高安全性为优化目标,构建多目标优化模型;S2,采用存储分析算法收集分组内的节点存储复杂度,分析节点为非正常节点的概率,并将计算结果发送至节点所在组的Group proxy节点;再将计算结果转发至GPBFT阶段的主记账节点;S3,采用策略优化算法计算待选存储集合,并在各Group proxy节点间对主记账节点计算的待选存储集合达成共识;S4,对待选存储集合通过选择存储算法,确定每个区块的存储方案。本发明通过节点分组存储,降低联盟链中各节点的区块存储消耗,利用节点分组备份存储提高区块存储的安全性。

Description

一种基于节点分组的联盟链区块存储方法
技术领域
本发明涉及联盟链区块存储方法,尤其涉及一种基于节点分组的联盟链区块存储方法。
背景技术
现有的区块链系统中,联盟链中的每个节点都需要维护联盟链网络中的所有区块,随着系统运行时间的增加,节点需要保存的数据量呈线性上升,对节点存储资源的消耗越来越大。以比特币和以太坊为例,两平台中节点维护的区块大小目前已分别超过280GB和562GB,对存储消耗的增加将阻碍联盟链系统的发展。例如,在比特币中,新节点加入联盟链网络大约需要三天时间进行区块的下载和验证,这增加了节点加入联盟链网络的时间并浪费了节点的计算资源。由于联盟链中数据的增长速度已经超过当前硬件的发展速度,将大大限制联盟链技术的发展。
发明内容
发明目的:本发明的目的是提供一种提高区块链系统的存储能力,同时保证区块链系统中区块存储的安全性和提高区块读取速度的基于节点分组的联盟链区块存储方法。
技术方案:本发明的联盟链区块存储方法,包括步骤如下:
S1,以全区块的低存储消耗、低存储复杂度和高安全性为优化目标,构建多目标优化模型;
S2,在各分组中的Leader节点,采用存储分析算法收集分组内的节点存储复杂度,分析节点为非正常节点的概率,并将计算结果发送至节点所在组的Group proxy节点;随后由Group proxy节点将计算结果转发至GPBFT阶段的主记账节点;
S3,在GPBFT阶段的主记账节点,采用策略优化算法计算待选存储集合,并在各Group proxy节点间对主记账节点计算的待选存储集合达成共识;随后Group proxy节点将更新本地的待选存储集合;
S4,在Group proxy节点,对待选存储集合通过选择存储算法,确定每个区块的存储方案。
进一步,步骤S1中,多目标优化模型的表达式如下:
Figure 783627DEST_PATH_IMAGE001
其中,O b 表示区块b在联盟链系统中的存储消耗,P表示联盟链系统中优化的全区 块被丢失的概率,
Figure 775854DEST_PATH_IMAGE002
表示联盟链系统的存储复杂度均衡值,
Figure 674540DEST_PATH_IMAGE003
表示分组集合S k 的解空间。
进一步,步骤S2中,采用存储分析算法收集分组内的节点存储复杂度和分析节点为非正常节点的概率的实现步骤如下:
S21,对Leader节点的参数进行初始化处理,随后计算当前分组的存储复杂度,分 组i的存储复杂度
Figure 650586DEST_PATH_IMAGE004
表达式如下:
Figure 912328DEST_PATH_IMAGE005
其中,
Figure 24640DEST_PATH_IMAGE006
表示节点j的存储复杂度,
Figure 94227DEST_PATH_IMAGE007
表示分组i中节点的总数;
S22,计算当前分组中非正常节点的数量,并累加获得当前分组的正常节点数量;非正常节点的数量的计算表达式如下:
Figure 291991DEST_PATH_IMAGE008
其中,X i 表示分组i中非正常节点的数量;
Figure 370805DEST_PATH_IMAGE009
表示分组i中节点j为非正常节 点;
Figure 321312DEST_PATH_IMAGE010
表示分组i中节点j为正常节点,非正常节点包括恶意节点和故障节点;
Figure 827380DEST_PATH_IMAGE011
表 示节点j成为恶意节点的概率,当
Figure 512439DEST_PATH_IMAGE012
时,表示该节点为恶意节点;当
Figure 129365DEST_PATH_IMAGE013
时,表示该 节点为非恶意节点;
Figure 950691DEST_PATH_IMAGE014
表示节点j成为故障节点的概率,当
Figure 627660DEST_PATH_IMAGE015
时,表示该节点为故障 节点,当
Figure 800015DEST_PATH_IMAGE016
时,表示该节点为非故障节点;
S23,根据所在分组正常节点数,计算节点所在分组优化的全区块不被丢失的概 率;当优化的全区块被存储于单个分组i时,优化的全区块丢失的概率等于分组i的失效率
Figure 469900DEST_PATH_IMAGE017
表达式如下:
Figure 411311DEST_PATH_IMAGE018
其中,f表示联盟链系统中恶意节点的比例;
S24,打包当前分组的存储复杂度和优化的全区块不被丢失的概率,签名并发送至节点所在组的Group proxy节点。
进一步,步骤S3中,采用策略优化算法计算待选存储集合,并在各Group proxy节点间对主记账节点计算的待选存储集合达成共识的实现步骤如下:
S31,在GPBFT阶段,主记账节点接收并汇总GPBFT阶段各Group proxy节点发送的节点信息;
S32,根据汇总的节点信息,主记账节点通过调用NSGA2算法得到待选存储集合并存储在本地,同时将汇总后的集合向GPBFT阶段的Group proxy节点广播;
S33,当所有Group proxy节点都接收到主记账节点的广播后,主记账节点签名并广播本地的待选存储集合。
进一步,步骤S3中,Group proxy节点将更新本地的待选存储集合的实现步骤如下:
S301,Group proxy节点接收到主记账节点的广播时,根据集合中的节点信息调用NSGA2算法,并将计算得到的结果存储在本地;
S302,通过将本地的计算结果与主记账节点广播的内容比较,验证广播内容的正确性;若通过验证,则更新本地待选存储集合;否则,丢弃广播内容。
进一步,步骤S4中,对待选存储集合通过选择存储算法,确定每个区块的存储方案的实现步骤如下:
S41,当GPBFT共识处于Commit阶段时,Group proxy节点初始化本地参数;
S42,获取区块中的hash,并截取hash的前5个字符;同时,Group proxy节点通过ASCII码将字符转化为数字,并对结果取模;
S43,Group proxy节点返回取模后的数字,取模后的数字对应待选存储集合中的索引,最终确定该区块的存储方式。
本发明与现有技术相比,其显著效果如下:
1、通过节点分组存储,以降低联盟链中各节点的区块存储消耗,并利用节点分组备份存储提高区块存储的安全性;
2、基于可信联盟链,设计存储消耗、存储复杂度和安全性三个衡量指标,将交易放置在分组容错率满足阈值要求、高可信的分组中,并将关联性强的交易被放在同一个分组中,提高分组吞吐量和可信性,减少跨片通信量和降低交易时延。
附图说明
图1为本发明的总流程图;
图2为本发明不同编码方案下分组的存储消耗对比示意图;
图3为不同编码方案下的编码耗时示意图;
图4为不同编码方案下的解码耗时示意图;
图5为不同分组数下的吞吐量示意图;
图6为不同分组数下的时延示意图;
图7为给定分组数不同节点数下的存储消耗示意图;
图8为不同分组数下的存储消耗示意图;
图9为不同节点数下的安全存储比示意图;
图10为不同分组数下的安全存储比示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。
(一)存储流程
本发明的存储流程如图1所示,它包括两个阶段:第一个阶段通过切分区块并对结果进行编码获得n个数据块和m个编码块。随后,从联盟链中选择k个分组分别存储n个数据块和m个编码块;第二个阶段进行数据块和编码块的收集和区块的恢复。本发明通过优化目标选择,计算出k个分组进行数据块和编码块的存储,优化目标选择的具体步骤如下:
(二)优化目标选择
本发明的联盟链区块存储方法中,主要涉及的三个要素为:存储消耗、存储复杂度和安全性。
1)存储消耗
存储消耗被定义为单个区块对联盟链系统的存储资源的消耗量。针对单个区块,联盟链系统中负责存储该区块的分组越多,存储消耗就越大。O b 表示区块b在联盟链系统中的存储消耗,如式(1)所示:
Figure 993602DEST_PATH_IMAGE019
式(1)中,V i 记录了分组i的存储消耗,表示该分组存储的全部优化的全区块的大小;S k 为分组集合。
2)存储复杂度
节点的存储复杂度表示单个节点累计存储数据的大小,随着单个节点累计存储数 据大小的增加而上升。其中,分组的存储复杂度为该分组中所有节点存储复杂的平均值。分 组i的存储复杂度
Figure 653254DEST_PATH_IMAGE020
,如式(2)所示:
Figure 611982DEST_PATH_IMAGE021
其中,
Figure 407900DEST_PATH_IMAGE022
表示节点j的存储复杂度,
Figure 410360DEST_PATH_IMAGE023
表示分组i中节点的总数。考虑到各分组 中存储优化的全区块数量的差异导致其存储复杂度的不同,存储复杂度低的分组应存储更 多的优化的全区块,以平衡各分组间的存储复杂度,提高联盟链系统的可靠性。定义联盟链 系统的存储复杂度均衡值
Figure 557308DEST_PATH_IMAGE024
,如式(3)所示:
Figure 319727DEST_PATH_IMAGE025
其中,分组存储复杂度均衡值
Figure 970151DEST_PATH_IMAGE024
越小,表示整个联盟链系统中各分组存储复杂度 的差异越小,联盟链系统也越可靠。G表示联盟链系统中包含的分组集合,
Figure 159824DEST_PATH_IMAGE026
表示分组i的 存储复杂度。其中,
Figure 528489DEST_PATH_IMAGE027
为分组l的存储复杂度,
Figure 829020DEST_PATH_IMAGE028
为分组a的存储复杂度。
3)安全性
安全性被定义为联盟链系统在正常运行状态下,系统中优化的全区块不被丢失的 概率。当优化的全区块被存储于单个分组i时,优化的全区块丢失的概率等于分组i的失效 率
Figure 863446DEST_PATH_IMAGE029
,如式(4)所示:
Figure 224020DEST_PATH_IMAGE030
其中,f表示联盟链系统中恶意节点的比例,X i 表示分组i中非正常节点的数量,如式(5)(6)所示:
Figure 79981DEST_PATH_IMAGE031
其中,
Figure 184203DEST_PATH_IMAGE032
表示分组i中节点j为非正常节点,
Figure 74799DEST_PATH_IMAGE033
表示分组i中节点j 为正常节点,非正常节点包括恶意节点和故障节点。由于非正常节点和正常节点这两种身 份相互独立,所以X i 符合二项分布,
Figure 340695DEST_PATH_IMAGE034
表示节点j成为恶意节点的概率,当
Figure 933219DEST_PATH_IMAGE035
时,表示 该节点为恶意节点,当
Figure 575553DEST_PATH_IMAGE036
时,表示该节点为非恶意节点。
Figure 320655DEST_PATH_IMAGE037
表示节点j成为故障节点 的概率,当
Figure 757453DEST_PATH_IMAGE038
时,表示该节点为故障节点,当
Figure 588005DEST_PATH_IMAGE039
时,表示该节点为非故障节点。
综上,联盟链系统中优化的全区块被丢失的概率P表示为:
Figure 34030DEST_PATH_IMAGE040
其中,
Figure 617327DEST_PATH_IMAGE041
为求积运算。
(三)多目标优化模型
本发明的存储方法包括三个优化目标:低存储消耗、低存储复杂度和高安全性。针对这三个目标,通过多目标优化调整分组集合S k ,确定合适的分组存储区块,以降低的联盟链系统的存储消耗和存储复杂度,并提升安全性。本发明的多目标优化描述如下:
Figure 490605DEST_PATH_IMAGE042
其中,
Figure 808454DEST_PATH_IMAGE043
表示分组集合S k 的解空间。
式(8)中的O b P
Figure 58170DEST_PATH_IMAGE044
三者之间存在联系又相互冲突并影响,很难同时得到最优的 结果。需要采用智能优化算法来实现该模型,相比较将多目标问题转化为单目标问题求解, 基于非支配排序的遗传算法具有更快的优化速度,并得出问题的Pareto解集,为当前问题 提供更多的参考方案。其中,基于支配的多目标优化算法NSGA2具有复杂低、迭代速度快等 特点,被广泛应用于各类多目标场景中,故本发明采用NSGA2(即NSGA-II:Elitist Non- Dominated Sorting Genetic Algorithm带有精英保留策略的快速非支配多目标优化算 法)进行多目标问题的求解。
存储模型主要包括三种算法:存储分析算法(算法1)、策略优化算法(算法2)和选择存储算法(算法3)。算法1的主要功能是收集分组内的节点存储复杂度,分析节点为恶意或故障节点的概率,并返回这些信息;算法2的主要功能是通过算法1的信息计算待选存储集合,并在各分组的Group proxy节点间达成共识。算法3使用算法2提供的待选存储集合,确定每个区块的存储方案。三种算法的调用流程如下:
首先,为保证待选存储集合的动态更新,各分组中的Leader节点调用算法1,并将计算结果发送至节点所在组的Group proxy节点,随后由Group proxy节点将其转发至GPBFT(Group Practical Byzantine Fault Tolerance,基于分组的实用拜占庭容错共识算法)阶段的主记账节点。其次,根据各分组算法1的计算结果,GPBFT阶段的主记账节点调用算法2,并在各Group proxy节点间对主记账节点计算的待选存储集合达成共识,随后Group proxy节点将更新本地的待选存储集合。最后,Group proxy节点调用算法3,从待选存储集合中选择一种存储方案进行区块的存储。
(A)存储分析算法
存储分析算法如算法1所示:
Figure 246706DEST_PATH_IMAGE045
Figure 290885DEST_PATH_IMAGE046
算法1说明如下:
(11)算法1中的输入,
Figure 96030DEST_PATH_IMAGE047
由当前分组的Leader节点收集。具体来说,在Raft共识过 程中,Normal节点确认Leader节点发送的区块并成功上链。随后,将当前节点的存储复杂度 追加至Raft共识协议的回执中,并发送给Leader节点汇总。
Figure 867546DEST_PATH_IMAGE048
Figure 441747DEST_PATH_IMAGE049
由Leader节点根据其所 在分组中Normal节点的历史行为进行计算,随后打包成集合。
(12)Leader节点初始化参数(步骤a1-a2),随后通过式(2)计算当前分组的存储复杂度(步骤a3)。随后,它通过式(6)计算当前分组中非正常节点的数量,并累加获得当前分组的正常节点数量(步骤a4-a7)。根据所在分组正常节点数,计算节点所在分组优化的全区块不被丢失的概率。最后打包当前分组的存储复杂度和优化的全区块不被丢失的概率,签名并发送至节点所在组的Group proxy节点(步骤a8-a10)。
(13)算法的时间复杂度为
Figure 656827DEST_PATH_IMAGE050
(B)策略优化算法
策略优化算法如算法2所示:
Figure 949268DEST_PATH_IMAGE052
Figure 9628DEST_PATH_IMAGE053
算法2说明如下:
(21)算法2中的输入,
Figure 438336DEST_PATH_IMAGE054
在Group proxy节点的本地进行维护,通过算法2更新待 选存储集合中的存储方案。Κ由算法1的输出
Figure 342094DEST_PATH_IMAGE055
组成,记录了联盟链系统中所有分组的节点 信息。
(22)在GPBFT阶段,主记账节点接收并汇总GPBFT阶段各Group proxy节点发送的节点信息(步骤b3-b4)。随后,根据汇总的节点信息,主记账节点通过调用NSGA2算法得到待选存储集合并存储在本地(步骤b6-b8),同时将汇总后的集合向GPBFT阶段的Group proxy节点广播(步骤b9)。当GPBFT阶段的所有Group proxy节点都接收到主记账节点的广播后,主记账节点签名并广播本地的待选存储集合,旨在GPBFT阶段的各节点间达成共识(步骤b10-b13)。
(23)Group proxy节点接收到主记账节点的广播时,根据集合中的节点信息调用NSGA2算法,并将计算得到的结果存储在本地(步骤b15-b18)。随后,通过将本地的计算结果与主记账节点广播的内容比较,验证广播内容的正确性(步骤b19-b23)。若通过验证,则更新本地待选存储集合。否则丢弃广播内容(步骤b24-b34)。
(24)算法的时间复杂度为
Figure 590673DEST_PATH_IMAGE056
(C)选择存储算法
选择存储算法如算法3所示:
Figure 720303DEST_PATH_IMAGE057
算法3说明如下:
(31)算法3中的输入,b由GPBFT阶段的主记账节点生成,在GPBFT共识的Commit阶 段传递给GPBFT阶段的Group proxy节点,
Figure 269096DEST_PATH_IMAGE058
由算法2更新并存储于节点本地。
(32)当GPBFT共识处于Commit阶段时,Group proxy节点初始化本地参数(步骤c2)。随后获取区块中的hash,并截取hash的前5个字符(步骤c3-c4)。同时,Group proxy节点通过ASCII码将其转化为数字,并对结果取模(步骤c5-c8)。Group proxy节点返回取模后的数字,它对应待选存储集合中的索引,即该区块的存储方式(步骤c9)。
(33)算法的时间复杂度为O(1)。
(四)实验验证
为了评估基于节点分组的区块存储模型对联盟链系统性能的影响,设计实验并与现有的存储方案MPBFT(Multi-layer PBFT)、RapidChain和BFT-Store进行对比,以此来验证提出的模型的有效性。
(41)实验环境配置、实验方案、对比指标和参数设置等
实验参数表如表2所示。联盟链系统中每个区块的大小设置在1M左右,数据块数量设置在3~5之间,编码块数量设置在1~3之间。因机器性能有限,本实施例设置联盟链节点数量为24~300,以观察不同联盟链节点数量对存储模型的影响。设置分组数为4~50,以观察不同分组数量下该存储模型的性能。
表2 参数设置表
Figure 825979DEST_PATH_IMAGE059
(42)对比方案分析
MPBFT:在分层共识的基础上采用经典的联盟链系统存储方案,每轮共识产生的区块将由联盟链系统中的所有分组进行存储,以保证高安全性,但存储可扩展性低。
每个分组只负责存储联盟链系统中的部分区块,以降低存储可扩展性,但低安全性的问题仍需要被改进。
通过提出一种四阶段的重编码协议和多重复制方式,以提高联盟链系统的存储可扩展性和存储效率,但每轮共识产生的区块仍由联盟链系统中的所有分组进行存储,仍可以在不大幅降低安全性的基础上进一步优化存储可扩展性。
对比指标计算如下:
存储消耗:如式(1)所示,在实验中表示为单个区块完成存储后占用联盟链系统的存储空间大小,用Size(MB)表示,即占用联盟链系统的存储空间大小越大,存储消耗越高。
编码耗时(Time):T Q 表示单个区块被编译成为编码块的时间,即联盟链系统开始进行区块编码的时间与编码块生成时间之间的差值。
Figure 827433DEST_PATH_IMAGE060
其中,T W 表示开始进行区块编码的时间,表示T E 编码块生成时间之间的差值。
交易存储时延(Delay):T D 表示用户提交一笔交易到交易被成功存储至联盟链系统的时间,即联盟链系统完成交易存储的时间与用户提交交易时间的差值。
Figure 744442DEST_PATH_IMAGE061
其中,T C 表示用户提交交易的时间,T S 表示联盟链系统完成交易存储的时间。
交易吞吐量:交易吞吐量T o 表示联盟链系统每秒可存储的交易数量,使用TPS表示。
Figure 147742DEST_PATH_IMAGE062
其中,G表示单个区块内交易的数量,t表示存储单个区块花费的时间。
安全存储比:安全存储比R如式(13)所示,使用Ratio表示。我们希望存储模型保持较低的区块存储消耗的同时,具备较高的安全性。即存储模型的安全性越高或存储消耗越低时,安全存储比越高。
Figure 875527DEST_PATH_IMAGE063
(43)实验结果分析
(411)最优编码方案与分组数分析
为了获得最佳的编码方案,分别设置编码方案中n为3至5,m为1至3。通过观察不同编码方案下单个分组的存储消耗,以获得最佳编码方案。不同编码方案下的存储消耗如图2所示,在联盟链系统稳定运行5min后,分别取8组区块存储在不同编码方案下的存储消耗。其中,当n为4且m为1时,联盟链系统的存储消耗最小。
不同编码方案下的编码耗时对比如图3所示,Leader节点在接收到来自Groupproxy节点传递的优化的全区块后,进行区块编码操作。编码耗时受Leader节点当前运行状态的影响,包括Leader节点当前的CPU消耗,内存占用等,在不同时刻存在轻微波动。但整体而言,n=4且m=1编码方案和n=3且m=1编码方案的编码耗时最短,在第2轮共识存储中,相比较n=5且m=3编码方案的编码耗时,n=4且m=1编码方案的编码耗时约降低38%。
不同编码方案下的解码耗时对比如图4所示,当n=5且m=3时的解码耗时最高,在第3轮共识存储中,该编码方案的解码耗时达到约57ms。相比较该轮共识存储中n=3且m=1编码方案,该方案的解码耗时增加约171%。相比较n=3且m=2编码方案增加约128%,相比较n=4且m=1方案增加约147%。
综上所述,n=4且m=1编码方案在存储消耗、编码耗时和解码耗时上都有较好的结果。因此后续实验均在此编码方案下进行。
同时,为了获得不同节点数时的最佳分组数,分别设置分组数为4组至8组。通过观察不同分组数量下32个节点和50个节点的吞吐量和时延,以获得最佳分组数。吞吐量的实验结果如图5所示,时延的实验结果如图6所示。随着分组数量的增加,联盟链系统的时延逐渐增高,吞吐量逐渐降低,当分组数为4时,联盟链系统的时延和吞吐量最佳。因此,后续不同节点数下的实验均在此分组数下进行。
(412) 存储消耗
令联盟链系统中节点数分别为24、30、40、50、60、70;分组数为4;取每种节点数下,系统运行5min后,单轮共识的单个分组中所有节点存储消耗的平均值,作为该节点数下系统的存储消耗,系统的存储消耗随着节点数的变化如图7所示。随着节点数的增加,MPBFT和RapidChain的存储消耗持续上升,PBFT-Store和本发明的存储消耗保持稳定。
如图8所示,基于节点分组的区块存储模型随着分组数的增加,存储消耗也在逐步增加。其中,随着分组数从4个增长至50个,MPBFT的存储消耗始终保持在300MB左右。相较于MPBFT,PBFT-Store和本方案的存储消耗大幅降低。当分组数为50时,相较于MPBFT存储模型,本发明的存储消耗降低了92%。相较于PBFT-Store,本发明的存储消耗降低了64%。值得注意的是,RapidChain方案中随着分组数的增加,联盟链系统的存储消耗不断减少,但优化的全区块的不丢失概率将大幅降低(详见(413)安全存储比),所以本发明相比较MPBFT、RapidChain和PBFT-Store方案,具有较优的存储消耗。
(413) 安全存储比
本发明提出模型的安全存储比随着节点数量增加的变化如图9所示,令联盟链系统中节点的个数分别为24、30、40、50、60和70;分组数是4;并观察不同节点数量下联盟链系统的安全存储比,取多轮安全存储比的平均值作为实验结果。本发明提出方案的安全存储比最高,在节点数为70时的安全存储比约为0.25,相较于PBFT-Store方案,本发明提高了约38%;相较于RapidChain方案提高了约401%,具有较高的安全存储比。
不同分组数下的安全存储比如图10所示,本发明提出的存储模型的安全存储比要远高于其他存储模型。在分组数为30的情况下,相比较PBFT-Store存储模型,本发明在安全存储比上约有128%的提升。

Claims (6)

1.一种基于节点分组的联盟链区块存储方法,其特征在于,包括步骤如下:
S1,以全区块的低存储消耗、低存储复杂度和高安全性为优化目标,构建多目标优化模型;
S2,在各分组中的Leader节点,采用存储分析算法收集分组内的节点存储复杂度,分析节点为非正常节点的概率,并将计算结果发送至节点所在组的Group proxy节点;随后由Group proxy节点将计算结果转发至GPBFT阶段的主记账节点;
S3,在GPBFT阶段的主记账节点,采用策略优化算法计算待选存储集合,并在各Groupproxy节点间对主记账节点计算的待选存储集合达成共识;随后Group proxy节点将更新本地的待选存储集合;
S4,在Group proxy节点,对待选存储集合通过选择存储算法,确定每个区块的存储方案。
2.根据权利要求1所述的基于节点分组的联盟链区块存储方法,其特征在于,步骤S1中,多目标优化模型的表达式如下:
Figure 527382DEST_PATH_IMAGE001
其中,O b 表示区块b在联盟链系统中的存储消耗,P表示联盟链系统中优化的全区块被丢 失的概率,
Figure 391300DEST_PATH_IMAGE002
表示联盟链系统的存储复杂度均衡值,
Figure 597153DEST_PATH_IMAGE003
表示分组集合S k 的解空间。
3.根据权利要求1所述的基于节点分组的联盟链区块存储方法,其特征在于,步骤S2中,采用存储分析算法收集分组内的节点存储复杂度和分析节点为非正常节点的概率的实现步骤如下:
S21,对Leader节点的参数进行初始化处理,随后计算当前分组的存储复杂度,分组i的存储复杂度
Figure 714014DEST_PATH_IMAGE005
表达式如下:
Figure 612700DEST_PATH_IMAGE006
其中,
Figure 447801DEST_PATH_IMAGE007
表示节点j的存储复杂度,
Figure 191766DEST_PATH_IMAGE008
表示分组i中节点的总数;
S22,计算当前分组中非正常节点的数量,并累加获得当前分组的正常节点数量;非正常节点的数量的计算表达式如下:
Figure 428712DEST_PATH_IMAGE009
其中,X i 表示分组i中非正常节点的数量;
Figure 232720DEST_PATH_IMAGE010
表示分组i中节点j为非正常节点;
Figure 56582DEST_PATH_IMAGE011
表示分组i中节点j为正常节点,非正常节点包括恶意节点和故障节点;
Figure 604238DEST_PATH_IMAGE012
表示节 点j成为恶意节点的概率,当
Figure 695691DEST_PATH_IMAGE013
时,表示该节点为恶意节点;当
Figure 936179DEST_PATH_IMAGE014
时,表示该节点为 非恶意节点;
Figure 480293DEST_PATH_IMAGE015
表示节点j成为故障节点的概率,当
Figure 831640DEST_PATH_IMAGE016
时,表示该节点为故障节点,当
Figure 777599DEST_PATH_IMAGE017
时,表示该节点为非故障节点;
S23,根据所在分组正常节点数,计算节点所在分组优化的全区块不被丢失的概率;当 优化的全区块被存储于单个分组i时,优化的全区块丢失的概率等于分组i的失效率
Figure 188989DEST_PATH_IMAGE018
表 达式如下:
Figure DEST_PATH_IMAGE019
其中,f表示联盟链系统中恶意节点的比例;
S24,打包当前分组的存储复杂度和优化的全区块不被丢失的概率,签名并发送至节点所在组的Group proxy节点。
4.根据权利要求1所述的基于节点分组的联盟链区块存储方法,其特征在于,步骤S3中,采用策略优化算法计算待选存储集合,并在各Group proxy节点间对主记账节点计算的待选存储集合达成共识的实现步骤如下:
S31,在GPBFT阶段,主记账节点接收并汇总GPBFT阶段各Group proxy节点发送的节点信息;
S32,根据汇总的节点信息,主记账节点通过调用NSGA2算法得到待选存储集合并存储在本地,同时将汇总后的集合向GPBFT阶段的Group proxy节点广播;
S33,当所有Group proxy节点都接收到主记账节点的广播后,主记账节点签名并广播本地的待选存储集合。
5.根据权利要求1所述的基于节点分组的联盟链区块存储方法,其特征在于,步骤S3中,Group proxy节点将更新本地的待选存储集合的实现步骤如下:
S301,Group proxy节点接收到主记账节点的广播时,根据集合中的节点信息调用NSGA2算法,并将计算得到的结果存储在本地;
S302,通过将本地的计算结果与主记账节点广播的内容比较,验证广播内容的正确性;若通过验证,则更新本地待选存储集合;否则,丢弃广播内容。
6.根据权利要求1所述的基于节点分组的联盟链区块存储方法,其特征在于,步骤S4中,对待选存储集合通过选择存储算法,确定每个区块的存储方案的实现步骤如下:
S41,当GPBFT共识处于Commit阶段时,Group proxy节点初始化本地参数;
S42,获取区块中的hash,并截取hash的前5个字符;同时,Group proxy节点通过ASCII码将字符转化为数字,并对结果取模;
S43,Group proxy节点返回取模后的数字,取模后的数字对应待选存储集合中的索引,最终确定该区块的存储方式。
CN202211022134.4A 2022-08-25 2022-08-25 一种基于节点分组的联盟链区块存储方法 Active CN115118737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211022134.4A CN115118737B (zh) 2022-08-25 2022-08-25 一种基于节点分组的联盟链区块存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211022134.4A CN115118737B (zh) 2022-08-25 2022-08-25 一种基于节点分组的联盟链区块存储方法

Publications (2)

Publication Number Publication Date
CN115118737A true CN115118737A (zh) 2022-09-27
CN115118737B CN115118737B (zh) 2022-11-18

Family

ID=83335592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211022134.4A Active CN115118737B (zh) 2022-08-25 2022-08-25 一种基于节点分组的联盟链区块存储方法

Country Status (1)

Country Link
CN (1) CN115118737B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116248725A (zh) * 2023-05-10 2023-06-09 南京信息工程大学 车联网环境中面向节点协作存储的区块链节点分片方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109510876A (zh) * 2018-12-20 2019-03-22 弗洛格(武汉)信息科技有限公司 一种基于pbft的联盟链分片方法及相应的联盟链
US20210234698A1 (en) * 2017-07-31 2021-07-29 Zhongan Information Technology Services Co., Ltd. Method and apparatus for configuring local consensus and computer-readable storage medium
CN113934374A (zh) * 2021-09-28 2022-01-14 北京理工大学 一种基于遗传算法的区块链多副本分配和存储方法
WO2022027530A1 (zh) * 2020-08-05 2022-02-10 西安电子科技大学 一种基于区块链的高性能防篡改数据库的构建方法
CN114499890A (zh) * 2022-03-15 2022-05-13 南京信息工程大学 联盟链中基于节点分组的Raft PBFT两阶段共识机制

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210234698A1 (en) * 2017-07-31 2021-07-29 Zhongan Information Technology Services Co., Ltd. Method and apparatus for configuring local consensus and computer-readable storage medium
CN109510876A (zh) * 2018-12-20 2019-03-22 弗洛格(武汉)信息科技有限公司 一种基于pbft的联盟链分片方法及相应的联盟链
WO2022027530A1 (zh) * 2020-08-05 2022-02-10 西安电子科技大学 一种基于区块链的高性能防篡改数据库的构建方法
CN113934374A (zh) * 2021-09-28 2022-01-14 北京理工大学 一种基于遗传算法的区块链多副本分配和存储方法
CN114499890A (zh) * 2022-03-15 2022-05-13 南京信息工程大学 联盟链中基于节点分组的Raft PBFT两阶段共识机制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王娟等: "一种区块链动态授权的共识机制", 《黑龙江科技大学学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116248725A (zh) * 2023-05-10 2023-06-09 南京信息工程大学 车联网环境中面向节点协作存储的区块链节点分片方法

Also Published As

Publication number Publication date
CN115118737B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN110971663B (zh) 一种面向数据交易的可信处理方法与系统
CN113535706B (zh) 两阶段布谷鸟过滤器及基于两阶段布谷鸟过滤器的重复数据删除方法
CN111698094B (zh) 一种基于区块链系统的共识方法及区块链系统
CN110738472B (zh) 区块链的存储方法和区块链的节点
CN115118737B (zh) 一种基于节点分组的联盟链区块存储方法
CN116628083B (zh) 区块链交易数据扩容存储方法及系统
CN117527834B (zh) 一种基于信誉评分机制的改进pbft共识方法
CN103650462B (zh) 基于同态的自修复码的编码、解码和数据修复方法及其存储系统
CN112131609A (zh) 基于Merkle树的电能质量数据交换格式文件完整性校验方法及系统
CN115189908A (zh) 一种基于网络数字孪生体的随机攻击生存性评估方法
CN116707759B (zh) 一种面向数据流通高并发场景的轻量级联盟链共识方法
CN115878729B (zh) 一种基于联盟链的节点区块存储分配优化方法及系统
CN115883589A (zh) 分布式存储中针对数据修复的动态节点选择方法及系统
CN116389040A (zh) 基于信誉的区块链共识方法、装置和计算机设备
Niu et al. On the resilience-complexity tradeoff of network coding in dynamic P2P networks
CN115292340A (zh) 基于分布式网络编码的区块链存储优化方法及装置
CN115276999A (zh) 一种基于信任模型的自适应切换高效容错共识方法
CN115296812A (zh) 一种基于区块链的电力数据存储节点高可靠性恢复与校验机制
Xie et al. AZ-Recovery: An efficient crossing-AZ recovery scheme for erasure coded cloud storage systems
CN113807847A (zh) 一种可信区块链分片性能优化方法
CN114020207B (zh) 一种面向分布式存储网络的树形结构数据插入方法
Wang et al. Optimizing Read Performance in Lightweight Blockchain with Cooperative Storage Scheme
CN109814812B (zh) 基于内容碎片化放置的快速数据转移方法
Ribeiro et al. Exploiting rateless coding in structured overlays to achieve data persistence
Kang et al. Blockchain-based high-reliability recovery and verification mechanism for power data storage nodes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant