【技术实现步骤摘要】
一种轻量化的拜占庭容错共识方法及系统
[0001]本专利技术属于通信
,具体涉及一种在存储和通信带宽方面轻量化的新拜占庭容错方法及系统,其采用分级副本复制方法解决共识中的消息复制问题。
技术介绍
[0002]实用拜占庭容错协议是一种能够容忍恶意节点作恶的分布式共识协议。在实用拜占庭容错协议中,要容忍任意f个节点的恶意行为,至少需要N=3f+1个节点,通俗来讲就是拜占庭节点不超过全体节点的1/3。此外,目前实用的拜占庭容错协议通常包含三个阶段,其中两个阶段为全节点广播通信,因此其通信开销为O(N2),相应的存储成本也是原始数据量的N倍。在分布式存储场景中,节点的数量规模更大,存储容量达到几百PB甚至是EB级别。
[0003]传统的实用拜占庭容错协议在一致性方面采用全副本复制机制:当原文件大小为M比特,系统中数据交互量至少为M的N倍,仅三阶段的投票消息,其通信数据量为2N2‑
N
‑
1的倍数;从请求文件的发布来看,通信数据量为N的倍数。因此,所述共识中的消息与节点数量呈正相关。传统的拜占庭容错协议在节点作恶方面有显著的容错优势,但其复杂度高、灵活性差。
技术实现思路
[0004]针对上述现状,本专利技术采用分级副本复制方法实现拜占庭共识的优化,提供一种低带宽消耗、低存储的拜占庭容错共识方法及系统。
[0005]本专利技术采取如下技术方案:
[0006]一种轻量化的拜占庭容错共识方法,其按如下步骤进行:
[0007]步骤1、在联盟链应用场景中, ...
【技术保护点】
【技术特征摘要】
1.一种轻量化的拜占庭容错共识方法,其特征是按如下步骤进行:步骤1、在联盟链应用场景中,共识主节点向节点集群发送心跳包,根据固定时间内节点回应数量确认节点数量;步骤2、客户端生成请求,向共识主节点传递请求消息;步骤3、主节点验证请求消息后,共识进入三阶段投票;步骤4、经过步骤3投票后,三阶段投票的消息通过双级复制方法存储到节点的消息池。2.如权利要求1所述一种轻量化的拜占庭容错共识方法,其特征是:步骤3具体如下:节点生成不同的消息文件;节点在广播消息之前先对消息进行遍历,以确定不同的复制方法;若消息文件表示为X,判断方法如下公式:将不包含请求文件消息文件记为A,否则记为B;M为请求消息中包含的具体请求内容;步骤3.1、若X=A,节点采用一级副本复制方法,目标节点上存有与源节点相同的内容;步骤3.2、若X=B,源节点遍历副本,将M与副本其他内容解耦;对余下的消息头仍采用一级复制,而对M采用二级复制。3.如权利要求2所述一种轻量化的拜占庭容错共识方法,其特征是:步骤3.1具体如下:步骤3.1.1、源节点选用数据备份或数据复制的方法创建多个X文件的副本;步骤3.1.2、源节点依次向目标节点传输一个完整副本;步骤3.1.3、若副本签名被目标节点验证有效,则将其放入消息池中,等待确认。4.如权利要求3所述一种轻量化的拜占庭容错共识方法,其特征是:步骤3.2具体如下:步骤3.2.1、源节点填充M的长度直至其为N的倍数;依次向N个空文件内写入M的部分数据,得到N
×
1的消息块矩阵;N为节点数量;步骤3.2.2、源节点在消息块矩阵前左乘编码矩阵,生成k个原始数据块和m个冗余块;若N=256,M将分成256个数据块,对M的编码表示为:{D1,D2,
…
,D
256
}为切分后的数据块,左乘256
×
(256+X)编码矩阵,得到需要分发的数据块{D1,D2,
…
,D
256
,C1,C2,
…
,C
X
};步骤3.2.3、源节点将{D1,D2,
…
,D
256
,C1,C2,
…
,C
X
}数据块和消息头结合,再分发到各个节点上;步骤3.2.4、目标节点接收并检测副本,检测合格的数据块存入消息池中,等待确认。5.如权利要求1
‑
4任...
【专利技术属性】
技术研发人员:高国敏,王明阳,刘涛,姚英彪,徐欣,梁军学,李齐良,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。