CN115118737A - 一种基于节点分组的联盟链区块存储方法 - Google Patents
一种基于节点分组的联盟链区块存储方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000005457 optimization Methods 0.000 claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 238000012795 verification Methods 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 229920003169 water-soluble polymer Polymers 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000011541 reaction mixture Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial 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中,多目标优化模型的表达式如下:
进一步,步骤S2中,采用存储分析算法收集分组内的节点存储复杂度和分析节点为非正常节点的概率的实现步骤如下:
S22,计算当前分组中非正常节点的数量,并累加获得当前分组的正常节点数量;非正常节点的数量的计算表达式如下:
其中,X i 表示分组i中非正常节点的数量; 表示分组i中节点j为非正常节
点; 表示分组i中节点j为正常节点,非正常节点包括恶意节点和故障节点; 表
示节点j成为恶意节点的概率,当时,表示该节点为恶意节点;当 时,表示该
节点为非恶意节点; 表示节点j成为故障节点的概率,当时,表示该节点为故障
节点,当 时,表示该节点为非故障节点;
其中,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)所示:
式(1)中,V i 记录了分组i的存储消耗,表示该分组存储的全部优化的全区块的大小;S k 为分组集合。
2)存储复杂度
其中,表示节点j的存储复杂度, 表示分组i中节点的总数。考虑到各分组
中存储优化的全区块数量的差异导致其存储复杂度的不同,存储复杂度低的分组应存储更
多的优化的全区块,以平衡各分组间的存储复杂度,提高联盟链系统的可靠性。定义联盟链
系统的存储复杂度均衡值 ,如式(3)所示:
其中,分组存储复杂度均衡值越小,表示整个联盟链系统中各分组存储复杂度
的差异越小,联盟链系统也越可靠。G表示联盟链系统中包含的分组集合,表示分组i的
存储复杂度。其中,为分组l的存储复杂度,为分组a的存储复杂度。
3)安全性
其中,f表示联盟链系统中恶意节点的比例,X i 表示分组i中非正常节点的数量,如式(5)(6)所示:
其中, 表示分组i中节点j为非正常节点, 表示分组i中节点j
为正常节点,非正常节点包括恶意节点和故障节点。由于非正常节点和正常节点这两种身
份相互独立,所以X i 符合二项分布,表示节点j成为恶意节点的概率,当时,表示
该节点为恶意节点,当时,表示该节点为非恶意节点。表示节点j成为故障节点
的概率,当 时,表示该节点为故障节点,当时,表示该节点为非故障节点。
综上,联盟链系统中优化的全区块被丢失的概率P表示为:
(三)多目标优化模型
本发明的存储方法包括三个优化目标:低存储消耗、低存储复杂度和高安全性。针对这三个目标,通过多目标优化调整分组集合S k ,确定合适的分组存储区块,以降低的联盟链系统的存储消耗和存储复杂度,并提升安全性。本发明的多目标优化描述如下:
式(8)中的O b 、P、三者之间存在联系又相互冲突并影响,很难同时得到最优的
结果。需要采用智能优化算法来实现该模型,相比较将多目标问题转化为单目标问题求解,
基于非支配排序的遗传算法具有更快的优化速度,并得出问题的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所示:
算法1说明如下:
(11)算法1中的输入,由当前分组的Leader节点收集。具体来说,在Raft共识过
程中,Normal节点确认Leader节点发送的区块并成功上链。随后,将当前节点的存储复杂度
追加至Raft共识协议的回执中,并发送给Leader节点汇总。和由Leader节点根据其所
在分组中Normal节点的历史行为进行计算,随后打包成集合。
(12)Leader节点初始化参数(步骤a1-a2),随后通过式(2)计算当前分组的存储复杂度(步骤a3)。随后,它通过式(6)计算当前分组中非正常节点的数量,并累加获得当前分组的正常节点数量(步骤a4-a7)。根据所在分组正常节点数,计算节点所在分组优化的全区块不被丢失的概率。最后打包当前分组的存储复杂度和优化的全区块不被丢失的概率,签名并发送至节点所在组的Group proxy节点(步骤a8-a10)。
(B)策略优化算法
策略优化算法如算法2所示:
算法2说明如下:
(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)。
(C)选择存储算法
选择存储算法如算法3所示:
算法3说明如下:
(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 参数设置表
(42)对比方案分析
MPBFT:在分层共识的基础上采用经典的联盟链系统存储方案,每轮共识产生的区块将由联盟链系统中的所有分组进行存储,以保证高安全性,但存储可扩展性低。
每个分组只负责存储联盟链系统中的部分区块,以降低存储可扩展性,但低安全性的问题仍需要被改进。
通过提出一种四阶段的重编码协议和多重复制方式,以提高联盟链系统的存储可扩展性和存储效率,但每轮共识产生的区块仍由联盟链系统中的所有分组进行存储,仍可以在不大幅降低安全性的基础上进一步优化存储可扩展性。
对比指标计算如下:
存储消耗:如式(1)所示,在实验中表示为单个区块完成存储后占用联盟链系统的存储空间大小,用Size(MB)表示,即占用联盟链系统的存储空间大小越大,存储消耗越高。
编码耗时(Time):T Q 表示单个区块被编译成为编码块的时间,即联盟链系统开始进行区块编码的时间与编码块生成时间之间的差值。
其中,T W 表示开始进行区块编码的时间,表示T E 编码块生成时间之间的差值。
交易存储时延(Delay):T D 表示用户提交一笔交易到交易被成功存储至联盟链系统的时间,即联盟链系统完成交易存储的时间与用户提交交易时间的差值。
其中,T C 表示用户提交交易的时间,T S 表示联盟链系统完成交易存储的时间。
交易吞吐量:交易吞吐量T o 表示联盟链系统每秒可存储的交易数量,使用TPS表示。
其中,G表示单个区块内交易的数量,t表示存储单个区块花费的时间。
安全存储比:安全存储比R如式(13)所示,使用Ratio表示。我们希望存储模型保持较低的区块存储消耗的同时,具备较高的安全性。即存储模型的安全性越高或存储消耗越低时,安全存储比越高。
(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节点,对待选存储集合通过选择存储算法,确定每个区块的存储方案。
3.根据权利要求1所述的基于节点分组的联盟链区块存储方法,其特征在于,步骤S2中,采用存储分析算法收集分组内的节点存储复杂度和分析节点为非正常节点的概率的实现步骤如下:
S22,计算当前分组中非正常节点的数量,并累加获得当前分组的正常节点数量;非正常节点的数量的计算表达式如下:
其中,X i 表示分组i中非正常节点的数量; 表示分组i中节点j为非正常节点; 表示分组i中节点j为正常节点,非正常节点包括恶意节点和故障节点; 表示节
点j成为恶意节点的概率,当时,表示该节点为恶意节点;当时,表示该节点为
非恶意节点;表示节点j成为故障节点的概率,当时,表示该节点为故障节点,当时,表示该节点为非故障节点;
其中,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节点返回取模后的数字,取模后的数字对应待选存储集合中的索引,最终确定该区块的存储方式。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116248725A (zh) * | 2023-05-10 | 2023-06-09 | 南京信息工程大学 | 车联网环境中面向节点协作存储的区块链节点分片方法 |
Citations (5)
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两阶段共识机制 |
-
2022
- 2022-08-25 CN CN202211022134.4A patent/CN115118737B/zh active Active
Patent Citations (5)
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)
Title |
---|
王娟等: "一种区块链动态授权的共识机制", 《黑龙江科技大学学报》 * |
Cited By (1)
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 |