本发明涉及计算机科学,尤其涉及一种针对bft共识的多级鲁棒通信拓扑系统。
背景技术:
1、bft(拜占庭容错)共识是分布式系统中的一种重要机制,尤其在区块链领域应用广泛,用于确保多个副本的一致性。然而,随着副本数量增加,bft共识的性能会迅速下降,限制了其可扩展性。自从pbft提出以来,许多工作致力于降低bft共识的通信复杂度。例如,hotstuff和marlin等协议将bft共识每个区块的通信复杂度降低到了o(n),其中n是副本节点的数量。然而,这导致主节点(leader)承担了几乎全部的通信负载,成为通信瓶颈,而其他大部分副本则相对空闲。共识的推进速度取决于通信瓶颈的复杂度,即处理一个区块时通信负载最大的副本的复杂度。
2、为了降低主节点的通信复杂度,从而减轻通信瓶颈,需要使用中继副本(relayreplicas),让部分节点通过与中继副本通信来间接与主节点通信。然而,在这种情况下,中继副本中的拜占庭节点可能影响其他副本,增加了拜占庭容错的难度。此外,由于中继副本无法确定其通信对象中的拜占庭节点比例,节点难以判断是否收到了足够的消息,从而导致响应性问题。因此,降低bft共识的通信瓶颈复杂度具有挑战性,可能需要牺牲其他重要性质,对容错性或性能产生显著影响。
3、为了解决主节点通信瓶颈的挑战,一个直接的方法是减少直接与主节点进行通信的节点数量。然而,这种调整可能带来两个严重问题。首先,系统中不是所有节点都直接与主节点通信,而是通过其他节点间接传递信息,这会降低系统对拜占庭节点的容错能力。因为中间节点可能不可靠,无法保证消息的完整性和准确性。其次,每个节点无法准确判断与其通信的节点中拜占庭节点的比例,因此很难确保节点接收到的消息数量和质量足以支持决策和共识形成。除此之外,还存在一个额外的问题。如果仅仅减少了主节点的通信负载而没有优化通信流程,主节点可能会长时间处于空闲状态,等待其他节点的响应,导致整体处理效率下降,无法充分利用系统资源。
4、如果我们能在减少通信瓶颈的同时,保持系统的容错性和响应性,并对通信流程进行优化,就可以建立一个具有恒定通信瓶颈复杂度的bft共识系统。这将确保bft共识系统的性能不会随着节点数量增加而下降,从而实现对bft共识系统可扩展性的重大突破。
技术实现思路
1、本发明目的就是为了弥补已有技术的缺陷,提供一种针对bft共识的多级鲁棒通信拓扑系统。本发明通过构建一个针对bft共识的鲁棒通信拓扑系统,使得每个节点在通信拓扑中的出入度都是常数级别,降低节点的通信瓶颈,从而提升共识的性能。
2、本发明是通过以下技术方案实现的:
3、一种针对bft共识的多级鲁棒通信拓扑系统,假设多级鲁棒通信拓扑系统中有n个副本节点、f个拜占庭节点、冗余参数r以及扩展参数k;
4、首先,将全部的副本节点划分为多层,节点划分的流程如下:
5、节点划分1-1:第一层有一个节点,作为主节点;
6、节点划分1-2:第二层有r*k个节点,都与主节点直接相连;
7、节点划分1-3:从第三层开始,每一层的节点数都是上一层的k倍,只和上一层节点相连;
8、设定每个节点在上一层中有r个前继节点和它相连,前继节点给该副本发送区块,并收集它的投票,所以r个前继节点中,只要有一个前继节点和主节点连通,该节点就和主节点连通,经过推导,得出每个节点的后继节点有r*k个,节点连接的流程如下:
9、节点连接2-1:将第i层的节点划分为r组,每次的节点个数为ki-1个,记录每个节点在本组中是第几个;
10、节点连接2-2:将第i+1层的节点划分为ki-1组,每组的个数为r*k个,记录节点属于第几组;
11、节点连接2-3:将第i层每一组的第x个节点和第i+1层中第x组的节点全部连接,第i层每一组的第x个节点是第i+1层中第x组的节点的全部前继节点,第i+1层中第x组的节点是第i层每一组的第x个节点的全部后继节点。
12、还包括有冗余参数a,冗余参数a表示每个副本节点在拓扑中出现的次数,所有n个副本节点都在拓扑中出现了a次,冗余参数a的范围为1-k,当a大于1时,把多次出现的节点附加到最底层节点下面。
13、所述的经过推导,得出每个节点的后继节点有r*k个,具体如下:第i层节点的数量是上一层的k倍,每个节点在有r个前继节点,因此,第i-1层的每个节点需要有r*k个出边,才能满足条件。
14、本发明的优点是:(1)恒定通信瓶颈复杂度:相比于现有的协议,实现了恒定的通信瓶颈复杂度,这意味着随着副本数量的增加,其性能保持稳定,几乎不受影响;
15、(2)使用中继副本实现三分之一拜占庭容错:在使用中继副本的情况下实现了三分之一拜占庭容错,与相关协议相比具有更高的容错能力,且不会牺牲共识机制的容错性能。设计了异步区块传输协议,避免了节点带宽不同,网络波动所带来的性能影响;
16、(3)确保响应性:确保了共识进度速度与时间假设无关,即使在存在非拜占庭的主节点的情况下,其进度速度也不会因拜占庭节点增加而显著降低,具有很高的响应性;
17、(4)动态调整区块生成速度:能够动态调整区块生成速度,保证副本始终繁忙,始终以最大网络速度推进共识,避免不必要的等待时间浪费。
1.一种针对bft共识的多级鲁棒通信拓扑系统,其特征在于:假设多级鲁棒通信拓扑系统中有n个副本节点、f个拜占庭节点、冗余参数r以及扩展参数k;
2.根据权利要求1所述的一种针对bft共识的多级鲁棒通信拓扑系统,其特征在于:还包括有冗余参数a,冗余参数a表示每个副本节点在拓扑中出现的次数,所有n个副本节点都在拓扑中出现了a次,冗余参数a的范围为1-k,当a大于1时,把多次出现的节点附加到最底层节点下面。
3.根据权利要求1所述的一种针对bft共识的多级鲁棒通信拓扑系统,其特征在于:所述的经过推导,得出每个节点的后继节点有r*k个,具体如下:第i层节点的数量是上一层的k倍,每个节点在有r个前继节点,因此,第i-1层的每个节点需要有r*k个出边,才能满足条件。
