掌桥专利:专业的专利平台
掌桥专利
首页

一种基于通信模式结构的联盟链共识优化方法

文献发布时间:2023-06-19 11:17:41


一种基于通信模式结构的联盟链共识优化方法

技术领域

本发明属于区块链技术领域,特别是涉及一种基于通信模式结构的联盟链共识优化方法。

背景技术

近些年,联盟区块链的性能瓶颈一直制约着联盟链的发展,虽然相对于公有链,联盟链的性能已经显著提升。但是受限于共识协议的规则界定,即使节点数量得到扩展,也无法提升联盟链的性能表现,相反会降低吞吐量和增加交易延迟。而对共识协议的通信模式优化旨在降低共识的成本消耗,提升联盟链性能。联盟链共识成本是影响性能的主要原因,而高性能的共识协议正是解决该问题的关键因素。

联盟链共识成本是影响性能的主要原因,而高性能的共识协议正是解决该问题的关键因素。现有的DLS共识协议是在保证系统安全性和活性的情况下,有着相对不错的性能表现。联盟链共识成本是影响性能的主要原因,而高性能的共识协议正是解决该问题的关键因素。但是,DLS共识协议是基于部分同步网络环境,而在实际异步网络环境下,节点之间信息传输的时间间隔是没有上界的,信息传输中可能会由于节点故障或者网络故障导致信息无法到达确定的节点,从而影响共识流程的安全性和一致性;并且当节点中存在拜占庭节点时,用于节点间同步时间的时钟可能就会被当作攻击的对象,从而破坏协议节点间达成一致性的过程,就使得联盟链系统中断故障,就算节点间能达成一致性过程,也会导致共识流程时间开销巨大,吞吐量过低,性能低效。联盟链场景下应用最广泛共识协议是拜占庭容错算法PBFT(PracticalByzantineFaultTolerance),该容错算法包括Request、Pre-prepare、Prepare、Commit、Reply五个阶段,且基本能满足现有的性能需求,但是该协议仍然在算法资源消耗方面可以做进一步的优化,并且随着互联网技术的不断发展,对于性能需求也会随之更高,更高的交易吞吐量和更低的交易延迟才能满足日益增长的需求,所以基于通信模式结构优化的共识算法将会带来更高的性能表现。PBFT协议在克服了DLS的缺陷的基础上采用了基于回合投票机制,能够容忍三分之一的拜占庭节点,但是PBFT共识协议在每回合投票过程中,比如prepare、commit阶段都是采用全网广播的方式进行传输信息,所以在没回和的共识流程中需要巨大的信息交换量,造成信息冗余,增加消息验证工作量,节点通信复杂度过高,节点数量无法平行扩展(即无法增加节点数量提升性能);并且在拜占庭情况下(leader节点时拜占庭节点)为保证协议的活性,会触发一个资源消耗巨大的view-change事件,通信复杂度能达到O(N^2),从而导致该协议在正常情况下与拜占庭情况下性能相差巨大,往往拜占庭情况性能非常抵消,使得联盟链系统无法正常使用。

发明内容

为了解决上述问题,本发明提出了一种基于通信模式结构的联盟链共识优化方法,通过对联盟链采用的共识协议进行优化来达到缩短联盟链的出块时间、增加交易吞吐量以及降低交易延迟。

为达到上述目的,本发明采用的技术方案是:一种基于通信模式结构的联盟链共识优化方法,包括:在PBFT共识协议中的pre-prepare阶段、prepare阶段和commit阶段分别设置超时时钟,确定信息传输时延;根据PBFT共识,保留pre-prepare阶段和prepare阶段,对commit阶段通信模式结构进行优化调整;将PBFT共识协议在拜占庭情况下触发的view-change事件进行融入处理,使其融入到共识中。

进一步的是,在PBFT共识协议中的pre-prepare阶段、prepare阶段和commit阶段分别设置超时时钟,确定信息传输时延,包括步骤:

S11,在PBFT共识协议中的pre-prepare阶段、prepare阶段和commit阶段分别设置超时时钟,并设置超时规则和初始化时间间隔;

S12,在pre-prepare阶段,Replica节点如在初始化超时时间间隔内未收到leader节点广播的交易信息,即提议区块;则自动更新为否定的状态,并进入到prepare阶段,无需一直等待提议区块的发送;

S13,在prepare阶段,Replica节点相互广播各自的状态信息,如在初始化超时时间间隔内未收到足够数量且合法的状态信息,则自动更新为否定的状态信息,进入到commit阶段;

S14,在commit阶段,节点发送状态信息给leader节点,如在初始化时间间隔内为收集足够且合法的状态信息;则无需一直等待并发送否定的状态信息,提交空区块到区块链;

S15,根据上一轮共识三阶段中每个阶段消耗的实际时间,调整将超时时间间隔。

在本发明中设置超时时钟,确定信息传输间隔上界。采用一个超时时钟的优化策略,在节点进行某个阶段接受信息时,开启该时钟,当时钟在超时时间内未收到节点发送的信息,节点将会更新某个状态,而无需无限等待信息的传送。降低共识过程的时延,增强节点的响应性。

进一步的是,对commit阶段通信模式结构进行优化调整为星型通信模式。

进一步的是,对commit阶段通信模式结构进行优化调整为星型通信模式,包括步骤:

S21,当进入到commit阶段,Replica节点不再进行广播,将Replica节点自身的状态信息封装为pre-commit消息包并发送给leader节点;

S22,当leader节点收到Replica节点发送的pre-commit消息,对pre-commit消息进行合法性验证和数量验证;

S23,如果合法性通过并满足足够数量,将根据合法的pre-commit消息包生成一个附带验证结果的commit消息报并广播给Replica节点;

S24,由Replica节点对commit消息包的验证结果进行再次验证,然后再决定是否提交区块到区块链中。

在本发明中全网广播通信模式优化,commit阶段改进。针对PBFT共识协议中的共识三阶段(pre-prepare、prepare、commit)的通信复杂度过高的问题,对commit阶段的通信模式进行优化改进,因为前两个阶段确保协议的安全性和一致性,必须保留全网广播的通信模式,所以本发明只对commit阶段的通信模式进行优化,采用星型通信模式,将leader节点作为通信的中心节点,其他节点只需与leader节点进行信息交换。

进一步的是,将PBFT共识协议在拜占庭情况下触发的view-change事件进行融入处理,使其融入到共识中,包括步骤:

S31,在每一轮共识开始时根据一个最长链规则去切换一个可信任的leader节点,然后在该leader下进行对交易的共识流程;

S32,当进入到prepare阶段,先将交易信息构成的区块先锁定,正常情况下锁定的区块提交到区块链中并解锁;而若在之后遇到拜占庭情况,在本轮共识的结尾提交一个空的交易信息构成的空区块,然后在下一轮共识中切换主节点后再将锁定的交易信息继续进行正常的共识。

在本发明中合并view-change流程,增强协议的鲁棒性。针对PBFT共识协议在拜占庭情况下性能低效并且与正常情况下的性能表现相差巨大,本发明将view-change流程进行优化,当发生拜占庭错误,不会触发view-change事件,而是将该情况下各节点的状态先锁定,在下一回合进行共识流程解锁完成上一轮未完成的交易,从而合并view-change流程至正常流程,增强协议的鲁棒性。

采用本技术方案的有益效果:

本发明为确保新协议的安全性和活性,在保留PBFT共识协议前两个阶段(pre-prepare和prepare阶段)的基础上,对commit阶段的通信模式优化为可信赖的leader星型通信模式结构,从而降低信息通信复杂度,减小信息冗余和消息验证量。在每个阶段设置超时时钟,确定信息传输时延上界,降低共识过程的时延,增强节点的响应性。对PBFT共识协议的view-change流程进行合并优化,降低共识的通信复杂度,提高协议的性能;从而降低总体流程时间开销,提升总体性能,增加交易吞吐量,达到正常情况下与拜占庭情况下性能相差不大的目的。

本发明具有良好的响应性。在传统的共识协议的流程中,每个阶段都需要收集其他各个节点的信息以更新状态进入下一阶段,而在每个阶段可能由于信息接收失败或者接收的信息不能满足一定数量,那么该节点会一直等待足够的信息,导致共识流程的停滞。而本发明在每个阶段都设置一个超时时钟,从而确定一个信息传输间隔,在该间隔内无论是否收集信息数量达到要求,都会进入到下一阶段并更新节点的状态信息,并且该间隔可以根据之前的共识轮次中所消耗的实际时间来调整间隔的大小,既能确保节点的响应性,又能保证共识在最短的时间内完成。

本发明具有良好的性能。传统采用PBFT共识协议的联盟链,正常情况吞吐量能够达到几千的TPS,秒级出块速度,但是当在拜占庭情况下系统的吞吐量只能达到击败甚至0TPS,并且随着节点数量增加,就是系统处于正常运行,性能会急剧下降。本发明对PBFT共识协议的通信模式以及view-change流程进行改进,尽可能提升正常情况下的吞吐量和降低交易时延,以及增强拜占庭情况下的可靠性,即保持拜占庭情况下良好的吞吐量和交易延迟,联盟链采用优化后共识协议在任何情况下都能保证上万级别的吞吐量以及毫秒级的交易时延。

附图说明

图1为本发明的一种基于通信模式结构的联盟链共识优化方法的流程示意图;

图2为本发明实施例中Commit阶段的优化流程图;

图3为本发明实施例中优化后共识方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步阐述。

在本实施例中,参见图1所示,本发明提出了一种基于通信模式结构的联盟链共识优化方法,包括:在PBFT共识协议中的pre-prepare阶段、prepare阶段和commit阶段分别设置超时时钟,确定信息传输时延;根据PBFT共识,保留pre-prepare阶段和prepare阶段,对commit阶段通信模式结构进行优化调整;将PBFT共识协议在拜占庭情况下触发的view-change事件进行融入处理,使其融入到共识中。

作为上述实施例的优化方案1,在PBFT共识协议中的pre-prepare阶段、prepare阶段和commit阶段分别设置超时时钟,确定信息传输时延,包括步骤:

S11,在PBFT共识协议中的pre-prepare阶段、prepare阶段和commit阶段分别设置超时时钟,并设置超时规则和初始化时间间隔;

S12,在pre-prepare阶段,Replica节点如在初始化超时时间间隔内未收到leader节点广播的交易信息,即提议区块;则自动更新为否定的状态,并进入到prepare阶段,无需一直等待提议区块的发送;

S13,在prepare阶段,Replica节点相互广播各自的状态信息,如在初始化超时时间间隔内未收到足够数量且合法的状态信息,则自动更新为否定的状态信息,进入到commit阶段;

S14,在commit阶段,节点发送状态信息给leader节点,如在初始化时间间隔内为收集足够且合法的状态信息;则无需一直等待并发送否定的状态信息,提交空区块到区块链;

S15,根据上一轮共识三阶段中每个阶段消耗的实际时间,调整将超时时间间隔。

在本发明中设置超时时钟,确定信息传输间隔上界。采用一个超时时钟的优化策略,在节点进行某个阶段接受信息时,开启该时钟,当时钟在超时时间内未收到节点发送的信息,节点将会更新某个状态,而无需无限等待信息的传送。降低共识过程的时延,增强节点的响应性。

作为上述实施例的优化方案2,如图2所述,对commit阶段通信模式结构进行优化调整为星型通信模式,包括步骤:

S21,当进入到commit阶段,Replica节点不再进行广播,将Replica节点自身的状态信息封装为pre-commit消息包并发送给leader节点;

S22,当leader节点收到Replica节点发送的pre-commit消息,对pre-commit消息进行合法性验证和数量验证;

S23,如果合法性通过并满足足够数量,将根据合法的pre-commit消息包生成一个附带验证结果的commit消息报并广播给Replica节点;

S24,由Replica节点对commit消息包的验证结果进行再次验证,然后再决定是否提交区块到区块链中。

在本发明中全网广播通信模式优化,commit阶段改进。针对PBFT共识协议中的共识三阶段(pre-prepare、prepare、commit)的通信复杂度过高的问题,对commit阶段的通信模式进行优化改进,因为前两个阶段确保协议的安全性和一致性,必须保留全网广播的通信模式,所以本发明只对commit阶段的通信模式进行优化,采用星型通信模式,将leader节点作为通信的中心节点,其他节点只需与leader节点进行信息交换。

作为上述实施例的优化方案3,将PBFT共识协议在拜占庭情况下触发的view-change事件进行融入处理,使其融入到共识中,包括步骤:

S31,在每一轮共识开始时根据一个最长链规则去切换一个可信任的leader节点,然后在该leader下进行对交易的共识流程;

S32,当进入到prepare阶段,先将交易信息构成的区块先锁定,正常情况下锁定的区块提交到区块链中并解锁;而若在之后遇到拜占庭情况,在本轮共识的结尾提交一个空的交易信息构成的空区块,然后在下一轮共识中切换主节点后再将锁定的交易信息继续进行正常的共识。

在本发明中合并view-change流程,增强协议的鲁棒性。针对PBFT共识协议在拜占庭情况下性能低效并且与正常情况下的性能表现相差巨大,本发明将view-change流程进行优化,当发生拜占庭错误,不会触发view-change事件,而是将该情况下各节点的状态先锁定,在下一回合进行共识流程解锁完成上一轮未完成的交易,从而合并view-change流程至正常流程,增强协议的鲁棒性。

如图3所示,基于上述建立的新的共识方法,将第一Client节点接收的信息通过pre-prepare阶段的Leader节点并传递至各个Replica节点;pre-prepare阶段的各个Replica节点传递信息至prepare阶段的各个Replica节点;prepare阶段的各个Replica节点传递信息至commit阶段的leader节点;commit阶段的leader节点将信息传递至commit阶段的各个Replica节点;再由第二Client节点接收输出。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种基于通信模式结构的联盟链共识优化方法
  • 一种基于通信模式结构的联盟链共识优化方法
技术分类

06120112877484