一种基于联盟区块链的改进的实用拜占庭容错系统技术方案

技术编号:23345469 阅读:61 留言:0更新日期:2020-02-15 04:35
本发明专利技术提出一种基于联盟区块链技术的改进的实用拜占庭容错系统。该系统主要包括两类节点主节点和从节点。所述主节点将由投票选举的系统在联盟链中所有节点中选出来,主节点将作为生产节点负责生产区块,所述从节点将对生产的区块进行共识验证,通过共识达成一致的区块将存储到区块链中,所述投票系统将结合信用系数,节点的过往行为将对能否成为主节点产生影响。通过上述方式,本发明专利技术提供一种去中心化、不可篡改、可靠性高的实用拜占庭容错系统。

An improved practical Byzantine fault tolerant system based on alliance blockchain

【技术实现步骤摘要】
一种基于联盟区块链的改进的实用拜占庭容错系统
本专利技术属于区块链
,特别是涉及一种基于联盟链的实用拜占庭容错系统。
技术介绍
随着比特币的兴起,其背后的区块链技术也引起越来越多的人的关注,其中Hyperledgerfabric超级账本被广泛应用于搭建联盟链,Hyperledgerfabric最初使用的共识系统是实用拜占庭容错系统(PBFT),共识算法是区块链系统中的核心部分,共识算法是为了确保多方在没有信任主体的情况下,依然能够让所有节点进行大规模协同工作,确保交易信息的一致性。共识算法的优劣性将对整个系统的交易吞吐量、时延和容错性有重要影响。当前广泛应用于联盟链的共识算法PBFT,基于C/S架构的,不太适合于点对点的对等网络。而且PBFT共识步骤太多,导致系统的吞吐量较低。因此需要一个在确保容错性的基础上有着更高性能的共识算法。
技术实现思路
本专利技术提出了一种改进的实用拜占庭容错系统及系统。更加适用于联盟链的网络环境,同时具有高可靠性、低消耗的特点。方案1:一种基于联盟区块链技术的改进的实用拜占庭容错系统,其特征在于,该系统采用链式结构的存储,网络结构为peer-to-peer,将所有节点分为两类,一类是主节点,一类是从节点,主节点将作为生产节点,将系统中的交易信息收集并封装成区块,以及将通过共识确认的区块存储上链。从节点负责将主节点生成的区块进行共识。所有区块中节点有m个,其中拜占庭节点为f个,所有节点的总数大于3f+1个。整个系统包含四个模块,交易模块、共识模块、选举模块、存储模块。本方案适用于点对点结构,更适用于联盟链。方案2::根据方案1所述的一种基于联盟区块链技术的实用拜占庭容错系统,其特征在于,所述的共识模块负责将主节点生产的区块进行广播共识,共识模块包括两个步骤,共识请求(Consensusrequest)和共识确认(Consensusconfirmation),该系统具体为,共识请求将主节点封装好的区块发送给所有从节点,从节点收到区块之后进行验证,验证之后将进入共识确认阶段,共识确认就是将验证正确的区块信息广播给除自己之外的所有节点,在主节点接收到2f+1个消息之后,就不在接受其他节点发送来的消息,若其中有f+1个达成一致的确认消息之后,将把区块存储上链。本改进方案有哪些好的技术效果本改进方案相比较传统的PBFT共识算法提高了吞吐量,降低了时延和功耗。方案3:根据方案1所述的一种基于联盟区块链技术的实用拜占庭容错系统,其特征在于,所述的选举模块负责从所有节点中选举出一个可信主节点,主节点负责生成区块,并将共识请求广播给所有从节点。选举模块首先由主节点发送投票请求消息给各个从节点,从节点收到消息之后进行投票,每个从节点随机选出10个节点作为候选主节点,随后视图内所有节点进入广播投票阶段,即每个从节点将投票结果广播给其余从节点,其余从节点在收到其余节点消息之后计算出每个节点i(i=1,2,3…n)的最终票数z,计算公式为z=s*x,其中s为节点i收到的实际票数,x为节点i的信用系数。最终票数z最高的节点i将作为候选主节点,若有多个节点最终票数z相同,将节点编号最小的作为候选节点,在选出候选节点之后,视图内所有节点将进入投票确认阶段,所有从节点将选出的候选节点编号发送给主节点,主节点收到2f+1个消息之后,将至少f+1个从节点选出的候选主节点作为下一视图内的主节点。并将投票信息封装成区块,上链保存。本方案具有哪些好的技术效果本方案使系统主节点拥有高可信性,并没有因为系统性能的提升而降低系统的安全性。方案4:根据方案3所述的一种基于联盟区块链技术的实用拜占庭容错系统,其特征在于,信用积分分为三个级别,分别是A级[100,60],B级(60,40),C级[40,0],节点的初始信用积分都是50分,若节点当选为主节点,在主节点任期之内,每次生产成功一次区块将加1分,若在任期内没有成功生成区块,引起视图更换,则一次扣除20分,不同的信用级别将对应不同的投票系数x,A级节点对应投票系数x=1,B级节点对用投票系数x=0.75,C级节点对用投票系数x=0.5。本方案具有哪些好的技术效果,可以说这个区段数字的设计的好处,就如上次说的那样。本方案可以在让主节点选举受到每个节点的过往表现的影响,提高节点作恶成本,提高拜占庭节点当选为主节点的难度。附图说明图1为本专利技术基于联盟区块链技术的改进的实用拜占庭容错系统示意图;图2为本专利技术基于联盟区块链技术的改进的实用拜占庭容错系统共识模块示意图;图3为本专利技术基于联盟区块链技术的改进的实用拜占庭容错系统选举模块示意图;图4本专利技术与PBFT时延比较图;图5本专利技术与PBFT吞吐量比较图。具体实施方式以下通过具体实例说明本专利技术的实现方式,本领域技术人员可由本说明书所阐述的内容轻易地了解本专利技术的优点,本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,以下实施例及实施例中的特征可以相互组合。实施例1:本实施例提供一种基于联盟区块链技术的改进的实用拜占庭容错系统,该系统包括成员有m个节点,其中有f个拜占庭节点,节点总数至少有3f+1个节点。该系统包括四个模块,交易模块、共识模块、选举模块和存储模块,首先交易模块中主节点负责收集交易信息,然后将交易信息封装到区块中,随后由共识模块完成区块共识,由主节点将区块广播给所有从节点,从节点在收到主节点发送的区块之后,进行验证,若通过验证则将验证通过的消息广播给除自己之外的所有节点,主节点在收到2f+1个消息之后不再获取新的消息,若其中包括f+1个一致的共识通过的消息其中f+1个共识一致的消息,则通过存储模块将通过共识的区块上链保存。其中主节点是由选举模块选举产生。实施例2:本实施例1的基础上,所述的主节点生成的区块有两种,一种是交易区块,包含交易信息;一种是投票区块,包含投票信息,不包含交易信息。每个主节点在其任期内可以生成n个区块,其中编号为(1,2,3……n-1)为交易区块,编号为n的区块为投票区块,交易区块主要由两部分构成,区块头和区块体,区块头保存上个区块的哈希值、本区块的哈希值、视图号以及时间戳。区块体则保存交易数量和交易信息的哈希值。投票区块主要由两部分构成,区块头和区块体,区块头包括上个区块的哈希值、本区块的哈希值、视图号以及时间戳。区块体则保存投票目标节点id。实施例3:本实施例1的基础上,所述的共识模块包括两个步骤共识请求和共识确认。首先进入共识请求步骤,由主节点发送请求消息给所有从节点,消息格式为<Consensus-request,i,v,p,bi,Block>,其中i为主节点编号,v是当前视图编号,p是在当前视图中区块编号,bi是区块Block摘要。在收到主节点发出的验证区块之后,从节点将进项验证,首先验证当前视图编号是否与主节点发送的本文档来自技高网...

【技术保护点】
1.一种基于联盟区块链技术的改进的实用拜占庭容错系统,其特征在于,整个系统包含四个模块,交易模块、共识模块、选举模块、存储模块,该系统采用链式结构的存储,网络结构为peer-to-peer,将所有节点分为两类,一类是主节点,一类是从节点,主节点将作为生产节点,将系统中的交易信息收集并封装成区块,以及将通过共识确认的区块存储上链;从节点负责将主节点生成的区块进行共识;所有区块中节点有m个,其中拜占庭节点为f个,所有节点的总数大于3f+1个。/n

【技术特征摘要】
1.一种基于联盟区块链技术的改进的实用拜占庭容错系统,其特征在于,整个系统包含四个模块,交易模块、共识模块、选举模块、存储模块,该系统采用链式结构的存储,网络结构为peer-to-peer,将所有节点分为两类,一类是主节点,一类是从节点,主节点将作为生产节点,将系统中的交易信息收集并封装成区块,以及将通过共识确认的区块存储上链;从节点负责将主节点生成的区块进行共识;所有区块中节点有m个,其中拜占庭节点为f个,所有节点的总数大于3f+1个。


2.根据权利要求1所述的基于联盟区块链技术的实用拜占庭容错系统,其特征在于,所述的共识模块负责将主节点生产的区块进行广播共识,共识模块包括两个步骤,共识请求和共识确认,该系统具体为,共识请求将主节点封装好的区块发送给所有从节点,从节点收到区块之后进行验证,验证之后将进入共识确认阶段,共识确认就是将验证正确的区块信息广播给除自己之外的所有节点,在主节点接收到2f+1个消息之后,就不再接收其他节点发送来的消息,若收到f+1个一致的确认消息之后,将区块存储上链。


3.根据权利要求1所述的基于联盟区块链技术的实用拜占庭容错系统,其特征在于,所述的选举模块负责从所有节点中选举出一个可信主节点,主节点负责生成区块,并将共识请求广播给所有从节点;选举模块首先...

【专利技术属性】
技术研发人员:王勇宋哲程通
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西;45

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

1