【技术实现步骤摘要】
一种应用于联盟链的并行拜占庭容错共识方法及终端
[0001]本专利技术涉及拜占庭容错共识
,具体是涉及一种应用于联盟链的并行拜占庭容错共识方法及终端。
技术介绍
[0002]BFT共识(拜占庭共识)允许一组节点在存在某些拜占庭故障(即任意行为)的情况下就相同的交易序列达成一致。大多数现有的拜占庭容错共识协议都遵循简单高效的基于领导者的方案,其中协议在视图中运行,每个视图都有一个领导者,以广播其提案(即一批客户的交易),然后协调其他正常节点以达成共识。然而在大规模设置中,领导者方案被证明具有更严重的性能瓶颈,其广播请求负载随着节点数量的增加而线性增加。
[0003]综上所述,现有BFT共识在大规模设置中吞吐量低。
[0004]因此,现有技术还有待改进和提高。
技术实现思路
[0005]为解决上述技术问题,本专利技术提供了一种应用于联盟链的并行拜占庭容错共识方法及终端,解决了现有技术吞吐量降低的问题。
[0006]为实现上述目的,本专利技术采用了以下技术方案:第一方面,本专利技术提供 ...
【技术保护点】
【技术特征摘要】
1.一种应用于联盟链的并行拜占庭容错共识方法,其特征在于,包括:控制各个节点并行执行客户端请求所对应的各个实例,得到各个所述实例上的区块,所述区块所占据的局部日志位置连续,所述实例为基于拜占庭容错共识的进程;将所述区块在日志中所占据的位置根据局部索引号和实例编号进行排序,得到各个所述区块所对应的全局日志位置顺序;将各个所述区块按照各个所述区块的全局日志位置顺序发送至客户端。2.如权利要求1所述的应用于联盟链的并行拜占庭容错共识方法,其特征在于,所述控制各个节点并行执行客户端请求所对应的各个实例,得到各个所述实例上的区块,所述区块所占据的局部日志位置连续,所述实例为基于拜占庭容错共识的进程,包括:获取各个所述节点执行完一轮共识之后各个所述实例上的区块局部索引,若干轮共识构成一个实例;在所述区块局部索引不连续的所述实例上填充空区块,所述空区块为无共识结果的区块,所述空区块所占据的局部日志位置和各个所述节点执行完一轮共识产生的区块所占据的局部日志位置连续。3.如权利要求1所述的应用于联盟链的并行拜占庭容错共识方法,其特征在于,所述控制各个节点并行执行客户端请求所对应的各个实例,得到各个所述实例上的区块,所述区块所占据的局部日志位置连续,所述实例为基于拜占庭容错共识的进程,包括:控制各个节点并行执行客户端请求所对应的各个实例中的各轮共识;给每轮共识之后产生的实区块赋予局部索引号,所述局部索引号与局部日志位置相对应,一个实例上的各个区块的各个局部索引号连续,所述实区块为节点执行所述客户端请求产生的数据包,各个所述实例的最小局部索引号相同;在同一实例上所述局部索引号不连续的位置处填充空区块直至所述局部索引号连续,所述空区块所占据的局部日志位置和各个所述节点执行完每轮共识产生的实区块所占据的局部日志位置连续,所述实区块为节点执行所述客户端请求产生的数据包。4.如权利要求3所述的应用于联盟链的并行拜占庭容错共识方法,其特征在于,所述控制各个节点并行执行客户端请求所对应的各个实例中的各轮共识,包括:控制各个节点并行执行客户端请求所对应的各个实例中的上一轮共识之后,监控每个节点接收的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。