System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链的商业应用领域,尤其涉及基于轮转领导者的可扩展bft共识保持活性方法。
技术介绍
1、区块链的应用继续扩展到各个领域,包括从企业到政府应用,许可的区块链,如linux基金会托管的开源项目hyperledger fabric,以及专门从事金融和合同领域的corda,正获得越来越多的关注。与无许可的区块链相比,许可的区块链提供更高的吞吐量,特别是在小规模系统中。大多数受许可的区块链采用的核心协议是拜占庭容错状态机复制。该协议为应用程序提供了集中的、可信的、始终可用的服务器抽象,同时遵守两个重要的约束。首先,它通过维持提交的顺序来确保公平运作。其次,该协议具有可伸缩性,能够扩展到数百个副本。最近获得许可的区块链通常需要数百个参与者。例如,diem声称,它需要找到一种协议,该协议最初可以支持至少100个参与者,将来可以扩展到500-1000个参与者。然而,目前大多数被许可的区块链都是经典拜占庭容错(bft)共识协议的变体,随着参与者数量的增加,它们的可扩展性下降。
2、最初的bft协议是为同步网络设计的,在同步网络中,没有故障的副本之间的消息可以及时传递。假设有一个最大的网络延迟(标记为δ),早期的同步协议协调所有副本以锁步前进。然而,这种方法面临着安全与效率之间的微妙权衡。如果δ设置得太小,则会违反同步性并危及协议的安全性。另一方面,如果δ设置得太大,则每个锁步长周期需要相当多的时间,导致不必要的延迟和糟糕的性能。
3、此外,在异步设置中,fischer等人的证明,在存在单个故障时,问题的确
4、这些共识协议的可拓展性受限于网络,随着参与人数的增多,达成共识需要发送、接收和处理大量消息。例如,最为著名的pbft协议需要将所有参与者组成一个集合,然后对集合中所有参与者进行二次复杂度的全对全通信。虽然目前已经有许多协议针对pbft存在的各个问题提出了改进方案,但是他们大多数都保留了其通信模式。
5、hotstuff通过以领导者为中心的星形拓扑将pbft协议中全对全的通信模式改为只有领导者直接从其他所有节点收集或发送消息的模式。由此,hotstuff实现了线性消息复杂度。但是领导者仍然需要接收和验证来自至少2f+1的消息。因此,系统的性能受限于领导者的性能。byzcoin、elastico以及omniledger等方法通过构建以领导者为根的树形拓扑来解决领导者瓶颈问题。该树用于将信息从领导者传播到各个节点,并采用多重签名bls聚合各个节点的投票。通过树的所有内部节点分配负载,减小了单个节点接收和发送消息的数量。然而树在突破领导者瓶颈的同时也带来了额外的通信延迟。在pbft及其变体中,一轮通信只需要一个通信步骤,在hotstuff中一轮通信也只需要往返两个通信步骤。然而,在omniledger中一轮通信需要2h个通信步骤,其中h是树的高度。每轮延迟的增加会对系统的吞吐量产生影响进而抵消分配负载带来的优势。
6、流水线可以减轻通信步骤的增加对吞吐量的影响。每个协议都需要至少两个投票轮次,每个投票阶段的目的是收集大多数诚实节点的签名投票来建立一个仲裁证书。区块链可以将连续提案的投票阶段进行流水线处理以避免冗余的协调和签名过程并减小后续提案的延迟。kauri通过传播/聚合树实现负载分配并采用流水线模式进一步增大吞吐量的同时还减小了延迟。然而kauri并不注重于公平性,协议设定只有在领导者节点难以取得进展的时候才开始更换领导者。ittai等称这种协议模式为稳定领导者协议,并提出了与之相对的协议并将这种协议称为lso模式协议。在lso模式中,每一个领导者在提出一个提案之后就开始进行视图变换,从而保证连续的提案不会由同一个领导者提出。lso模式获得更好的公平性、抗审查性,但是需要在视图变换中耗费更多的资源。为此,对视图变换进行区分,在领导者能够取得进展的时候采用快速视图变换切换,而在领导者不能取得进展的时候则采用和稳定领导者协议一样的慢速视图变换更换,同时为了提高吞吐量采用了流水型范式。然而ittai等人在之后的研究发现,在流水型范式中协议的活性依托与连续的诚实领导者,对于类似于hotstuff这样的三段式共识协议,一般只有在连续四个诚实领导者的情况下,协议才能快速推进,他们将这种属性称之为chl。为了保证共识协议的活性,他们通过实例化证书来检测规避冲突区块的方式使得维持活性的要求降低为后续存在四个诚实领导者,并将这种属性称之为ahl。
7、然而,这些方法并不能同时满足在非存在连续的诚实领导者的情况下保持活性与可扩展性并维持高吞吐量的能力。因此,设计出可以在非存在连续的诚实领导者的情况下保持活性并维持高吞吐量成为本领域技术人员亟待解决的问题。
技术实现思路
1、本专利技术的目的在于提供基于轮转领导者的可扩展bft共识保持活性方法,命名为:sarlbft;能够在非存在连续的诚实领导者的情况下保持活性并维持高吞吐量。
2、本专利技术采用的技术方案是:
3、基于轮转领导者的可扩展bft共识保持活性方法,其包括以下步骤:
4、s1,构建树形结构并使操作流水线化,使得一个qc同时成为多个连续区块的不同qc;
5、s2,诚实领导者提出一个区块并由其他节点进行投票,判断票数是大于(2f+1),f表示错误节点数;如果是,则执行s3;否则,中止;
6、s3,判断视图时间计时器vt是否超时;如果是,执行s4;否则,采用快速视图变换,选择新的领导者将信息传递给下一个视图并执行s6;
7、s4,候选领导者轮转,判断当前领导者的vt是否超时;如果是,则执行s4;否则,采用慢速视图变换维持所有节点的一致性以及保持活性,寻找父节点并将隐式qc实例化保持活性后执行s5;
8、s5,检验视图变换是否成功;如果是,则执行s6;否则,中止;
9、s6,区块待提交,并判断是否有相同视图区块冲突;如果是,则中止提交区块;否则,安全地提交区块后执行s2。
10、进一步地,所述操作流水线化使得单个qc同时作为连续区块的prepareqc、precommitqc和commitqc。
11、进一步地,s3中快速视图变换分为两个阶段:
12、1)发送阶段,当新视图v+1的领导者接收到对当前视图v中提出的区块b的2f+1个投票后形成qc并向所有节点提议一个新区块bnew,区块bnew以区块b为父区块;
本文档来自技高网...
【技术保护点】
1.基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:其包括以下步骤:
2.根据权利要求1所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:所述操作流水线化使得单个QC同时作为连续区块的prepareQC、precommitQC和commitQC。
3.根据权利要求1所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:S3中快速视图变换分为两个阶段:
4.根据权利要求1所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:S3中新领导者的选取方法为:在快速视图变换中,在原先的候选领导者集合外额外设计一个新的领导者候选集合,新的领导者候选集合由树的内部节点构成。
5.根据权利要求4所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:在稳态轮换时,以树的内部节点作为候选集合实现树的重新配置;领导者被轮换后成为树的内部节点并加入候选领导者集合。
6.根据权利要求1所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:S4中慢速视图变换的具体步骤为:
8.根据权利要求1所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:步骤S5中视图变换检验具体为:在完成视图变换后,节点接收到领导者广播的新区块时对新区块包含的内容进行检验,检查以下内容:1)是否包含至少(n-f)个Newview信息;2)父区块是否是NVset信息中高度最高的区块;3)新区块是否继承于父区块;当检查内容满足时,节点对新区块进行投票并经由树向上聚合。
9.根据权利要求1所述的基于轮转领导者的可扩展BFT共识保持活性方法,其特征在于:步骤S6中相同视图区块冲突的检验如下:
...【技术特征摘要】
1.基于轮转领导者的可扩展bft共识保持活性方法,其特征在于:其包括以下步骤:
2.根据权利要求1所述的基于轮转领导者的可扩展bft共识保持活性方法,其特征在于:所述操作流水线化使得单个qc同时作为连续区块的prepareqc、precommitqc和commitqc。
3.根据权利要求1所述的基于轮转领导者的可扩展bft共识保持活性方法,其特征在于:s3中快速视图变换分为两个阶段:
4.根据权利要求1所述的基于轮转领导者的可扩展bft共识保持活性方法,其特征在于:s3中新领导者的选取方法为:在快速视图变换中,在原先的候选领导者集合外额外设计一个新的领导者候选集合,新的领导者候选集合由树的内部节点构成。
5.根据权利要求4所述的基于轮转领导者的可扩展bft共识保持活性方法,其特征在于:在稳态轮换时,以树的内部节点作为候选集合实现树的重新配置;领导者被轮换后成为树的内部节点并加入候选领导者集合。
6.根据权利要求1所述的基于轮转领导者的可扩展bft共识保持活性方法,其特征在于:s...
【专利技术属性】
技术研发人员:汪晓丁,阙友雄,赵敏,吴期滨,杨建新,林晖,
申请(专利权)人:福建师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。