首页 / 专利库 / 人工智能 / 共指链 / 一种用于判断网络拓扑支持拜占庭容错与否的方法

一种用于判断网络拓扑支持拜占庭容错与否的方法

阅读:1015发布:2020-09-01

专利汇可以提供一种用于判断网络拓扑支持拜占庭容错与否的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种用于判断网络拓扑支持拜占庭容错与否的方法,该方法通过对网络中的用于处理共识的主机的网络连接拓扑进行分析,计算出该网络拓扑可支持的最大容错数K,然后将该数据与拜占庭容错数F进行比较,如果K大于F,则说明该网络拓扑可以支持拜占庭容错;否则,则说明该网络拓扑无法支持拜占庭容错。通过该方法可以有效的指导 区 块 链 网络的搭建,既可以避免建立不必要的连接,简化区块链,尤其是联盟链的部署,又可以防止由于网络连通能 力 不足,造成系统实际上无法达到拜占庭容错要求,个别主机成为区块链系统的 瓶颈 。,下面是一种用于判断网络拓扑支持拜占庭容错与否的方法专利的具体信息内容。

1.一种用于判断网络拓扑支持拜占庭容错与否的方法,其特征在于,该方法具体包括如下步骤:
S1:接收用户输入的网络中的主机连接信息,生成原始网络拓扑,所述的原始网络拓扑中的节点为网络中的主机,两节点之间的连线表示连接的两台主机可直接通过IP地址进行连接。
S2:将所述的原始网络拓扑中的每个节点都拆成两个节点,分别称为原始节点的入节点和原始节点的出节点,并从所述的原始节点的入节点向所述的原始节点的出节点连接一条容量为1的连线,然后,将所述的原始网络拓扑中的两节点之间的连线拆分成两条有向连线,方向均为从其中一个原始节点的出节点到另一个节点的入节点,容量也均为1,从而形成新的网络拓扑。
S3:计算新的网络拓扑中原始网络拓扑任意两个节点之间最大流量,具体如下:
(1)设原始网络拓扑中的两个节点为A,B,节点A在新的网络拓扑中对应的入节点和出节点分别为A’、A”,节点B在新的网络拓扑中对应的入节点和出节点分别为B’、B”,采用使用Ford-Fulkerson最大流算法计算从A”到B’的最大流量;
(2)对新的网络拓扑中原始网络拓扑的所有节点两两进行以上操作,并记录每次得到的最大流的值,选取所有最大流值中的最小值作为原始网络拓扑中的K值;
S4:比较K值与拜占庭容错数F,如果K大于F,那么该网络拓扑可以支持拜占庭容错;如果K小于等于F,那么该网络拓扑不能支持拜占庭容错。
2.根据权利要求1所述的用于判断网络拓扑支持拜占庭容错与否的方法,其特征在于,所述的S3中采用Ford-Fulkerson最大流算法过程中,通过深度优先搜索来判断是否存在容量为1的增广路,从而加速最大流的计算。
3.根据权利要求1所述的用于判断网络拓扑支持拜占庭容错与否的方法,其特征在于,所述的S3中计算完任意两个节点间的最大流量f后,即将其与拜占庭容错数F比较,如果f小于等于F,则提前结束计算,并且给出该网络拓扑不支持拜占庭容错算法的结论。

说明书全文

一种用于判断网络拓扑支持拜占庭容错与否的方法

技术领域

[0001] 本发明涉及链技术,尤其涉及一种用于判断网络拓扑支持拜占庭容错与否的方法。

背景技术

[0002] 区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改。区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性。通过所有节点共同维护同一个账本,可以保证区块链中的信息无法被篡改,在有节点作恶的情况下仍然可以维护数据的完整性。
[0003] 区块链又可以细分为公有链,联盟链,私有链。对于不同类型的区块链,使用的共识算法也不尽相同。对于公有链,常用工作量证明等算法来达成共识。但是这类算法效率比较低,对于联盟链和私有链,往往采用经典的拜占庭容错算法,例如PBFT,来保证一致性。这类算法效率高,可以极大的提升区块链系统处理交易的能。经典的拜占庭容错算法要求使用3*F+1个节点来达到容忍F个节点发生拜占庭错误的效果。这也是理论上的最小值。
[0004] 在联盟链的使用中,需要对各个组织机构进行组网,只有认证的主机才能够参与到共识中来。但是在组网的过程中,由于不同的组织机构网络管理的方法不同,对网络连接有不同的要求,要求所有主机可以直接相连不太现实,也没有必要。但是,如果主机之间的连接过少,则可能造成某些主机成为关键节点,达不到拜占庭容错要求。于是,分析网络拓扑支持拜占庭容错与否对于保证系统的稳定性和可维护性至关重要。

发明内容

[0005] 针对现有技术的不足,本发明提出一种用于判断网络拓扑支持拜占庭容错与否的方法,从而为区块链系统的网络设计提供指导意见,具体技术方案如下:
[0006] 一种用于判断网络拓扑支持拜占庭容错与否的方法,其特征在于,该方法具体包括如下步骤:
[0007] S1:接收用户输入的网络中的主机连接信息,生成原始网络拓扑,所述的原始网络拓扑中的节点为网络中的主机,两节点之间的连线表示连接的两台主机可直接通过IP地址进行连接;
[0008] S2:将所述的原始网络拓扑中的每个节点都拆成两个节点,分别称为原始节点的入节点和原始节点的出节点,并从所述的原始节点的入节点向所述的原始节点的出节点连接一条容量为1的连线,然后,将所述的原始网络拓扑中的两节点之间的连线拆分成两条有向连线,方向均为从其中一个原始节点的出节点到另一个节点的入节点,容量也均为1,从而形成新的网络拓扑;
[0009] S3:计算新的网络拓扑中原始网络拓扑任意两个节点之间最大流量,具体如下:
[0010] (1)设原始网络拓扑中的两个节点为A,B,节点A在新的网络拓扑中对应的入节点和出节点分别为A’、A”,节点B在新的网络拓扑中对应的入节点和出节点分别为B’、B”,采用使用Ford-Fulkerson最大流算法计算从A”到B’的最大流量;
[0011] (2)对新的网络拓扑中原始网络拓扑的所有节点两两进行以上操作,并记录每次得到的最大流的值,选取所有最大流值中的最小值作为原始网络拓扑中的K值;
[0012] S4:比较K值与拜占庭容错数F,如果K大于F,那么该网络拓扑可以支持拜占庭容错;如果K小于等于F,那么该网络拓扑不能支持拜占庭容错。
[0013] 进一步地,所述的S3中采用Ford-Fulkerson最大流算法过程中,通过深度优先搜索来判断是否存在容量为1的增广路,从而加速最大流的计算。
[0014] 进一步地,所述的S3中计算完任意两个节点间的最大流量f后,即将其与拜占庭容错数F比较,如果f小于等于F,则提前结束计算,并且给出该网络拓扑不支持拜占庭容错算法的结论。
[0015] 本发明的有益效果如下:
[0016] 本发明应用于区块链平台上,为区块链系统的网络设计提供指导意见。本发明的方法可以简明的判断当前的网络能否支持区块链系统要求的拜占庭容错数,避免网络成为区块链系统的瓶颈。也可以间接的指导网络中冗余连接的去除,从而提高区块链系统的稳定性和可维护性。附图说明
[0017] 图1是原始网络拓扑图;
[0018] 图2是新的网络拓扑图;
[0019] 图3是在新的网络拓扑图中A到F的最大流示意图;
[0020] 图4是原始网络拓扑中A到F的路径示意图。

具体实施方式

[0021] 下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施案例仅仅用以解释本发明,并不用于限定本发明。
[0022] 如图1-4所示,一种用于判断网络拓扑支持拜占庭容错与否的方法,该方法具体包括如下步骤:
[0023] S1:接收用户输入的网络中的主机连接信息,生成原始网络拓扑,所述的原始网络拓扑中的节点为网络中的主机,两节点之间的连线表示连接的两台主机可以直接通过IP地址进行连接;
[0024] S2:将所述的原始网络拓扑中的每个节点都拆成两个节点,分别称为原始节点的入节点和原始节点的出节点,并从所述的原始节点的入节点向所述的原始节点的出节点连接一条容量为1的连线,然后,将所述的原始网络拓扑中的两节点之间的连线拆分成两条有向连线,方向均为从其中一个原始节点的出节点到另一个节点的入节点,容量也均为1,从而形成新的网络拓扑;
[0025] S3:计算新的网络拓扑中原始网络拓扑任意两个节点之间最大流量,具体如下:
[0026] (1)设原始网络拓扑中的两个节点为A,B,节点A在新的网络拓扑中对应的入节点和出节点分别为A’、A”,节点B在新的网络拓扑中对应的入节点和出节点分别为B’、B”,采用使用Ford-Fulkerson最大流算法计算从A”到B’的最大流量;
[0027] (2)对新的网络拓扑中原始网络拓扑的所有节点两两进行以上操作,并记录每次得到的最大流的值,选取所有最大流值中的最小值作为原始网络拓扑中的K值;
[0028] S4:比较K值与拜占庭容错数F,如果K大于F,那么该网络拓扑可以支持拜占庭容错;如果K小于等于F,那么该网络拓扑不能支持拜占庭容错。
[0029] 优选地,所述的S3中采用Ford-Fulkerson最大流算法过程中,通过深度优先搜索来判断是否存在容量为1的增广路,从而加速最大流的计算。
[0030] 优选地,所述的S3中计算完任意两个节点间的最大流量f后,即将其与拜占庭容错数F比较,如果f小于等于F,则提前结束计算,并且给出该网络拓扑不支持拜占庭容错算法的结论。
[0031] 如图1所示,原始网络拓扑是一个无向图,如图1所示,其中的节点A-G表示网络中的主机,边表示对应的两台主机可以直接通过IP地址进行连接;如图2所示,为新的网络拓扑,新的网络拓扑是一个有向图,对比图1和图2可知,将节点A拆成两个节点A’、A”。A’与A”直接连接一条容量为1的边,图1中A到B的边拆成A”到B’与B”到A’两条容量为1的有向边。
[0032] 图3给出了新的网络拓扑图中A到F的最大流示意图,使用Ford-Fulkerson最大流算法计算从A”到F’的最大流量为1,用加粗线条表示。通过对所有节点两两进行以上操作,记录下每次得到的最大流的值。选取这些最大流值中的最小的值作为原始网络拓扑中的K值,即原始网络拓扑中的K值为1。因为图1中的原始网络拓扑中存在7个节点,F值为节点数减一后除以3再向下取整,为2,因此,K
[0033] 本发明应用于区块链平台上,为区块链系统的网络设计提供指导意见。可以简明的判断当前的网络能否支持区块链系统要求的拜占庭容错数,避免网络成为区块链系统的瓶颈。也可以间接的指导网络中冗余连接的去除,从而提高区块链系统的稳定性和可维护性。
[0034] 本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈