System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,具体涉及一种基于扩展集群聚类算法的区块图共识方法及装置。
技术介绍
1、区块共识图是一种用于展示区块链网络中节点达成共识过程的图表或图示;在区块链技术中,共识机制是确保分布式系统中各个节点对数据状态或交易顺序达成一致的关键机制。
2、相关技术方案虽提供了区块图的共识方法,但易受攻击者对图拓扑结构的影响,难以维持区块图共识方法的后向一致性,从而无法产生稳定和安全的共识结果。
技术实现思路
1、有鉴于此,本专利技术提供了一种基于扩展集群聚类算法的区块图共识方法及装置,以解决相关区块图的共识方法易受攻击者对图拓扑结构的影响,难以维持区块图共识方法的后向一致性,无法产生稳定和安全的共识结果的问题。
2、第一方面,本专利技术提供了一种基于扩展集群聚类算法的区块图共识方法,该方法包括:
3、获取目标区块图,对目标区块图进行分层处理,基于分层处理结果构建区块支持集;目标区块图由创世区块和引用可达区块构成;
4、基于区块支持集确定区块属性,并基于区块属性计算区块支持集的聚集程度得分;
5、对区块支持集进行划分,对划分后的区块支持集进行聚集程度评分,得到划分集合的聚集程度得分;
6、将区块支持集的聚集程度得分和划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识结果。
7、本实施例提供的基于扩展集群聚类算法的区块图共识方法,通过获取目标区块图,对目标区块图进行分层处理,基于分层处理结果构建
8、在一种可选的实施方式中,获取目标区块图,对目标区块图进行分层处理,基于分层处理结果构建区块支持集,包括:
9、定义目标区块图中各区块的区块高度;其中,引用可达区块的区块高度为根据创世区块的区块高度和区块引用关系确定的;
10、按照区块高度对目标区块图进行分层处理,得到多层引用可达区块;
11、基于区块引用关系分别对各层引用可达区块进行聚类,并基于聚类结果构建区块支持集。
12、本实施例提供的基于扩展集群聚类算法的区块图共识方法,通过定义目标区块图中各区块的区块高度,进而按照区块高度对目标区块图进行分层处理,得到多层引用可达区块;最后将多层引用可达区块进行聚类,得到了区块支持集,用引用可达区块的区块集合来表示区块支持集,区块支持集的规模及其交集的规模可以侧面描述聚集的程度,支持集规模越大,则被支持区块传播的范围越广,新区块引用可达的可能性越高,上述聚集效应使得后向一致性得到满足;同时,支持集的交集规模越大,则分叉之间关联关系越紧密,攻击者想通过构造其他分叉来影响公示结果的成本也越高,从而共识方案的安全性也有一定保障。
13、在一种可选的实施方式中,基于区块支持集确定区块属性,并基于区块属性计算区块支持集的聚集程度得分,包括:
14、将区块支持集的规模作为点的体量,将区块支持集之间交集的规模作为边的权重;
15、基于点的体量和边的权重计算区块支持集对应的集合聚类系数;
16、基于点的体量和集合聚类系数计算区块支持集的聚集程度得分。
17、本实施例提供的基于扩展集群聚类算法的区块图共识方法,将区块支持集的规模作为点的体量,将区块支持集之间交集的规模作为边的权重,将集合聚类问题转换为社区划分问题,进而基于点的体量、边的权重,以及集合聚类系数计算区块支持集的聚集程度得分,为区块支持集的聚集程度判断提供依据,为得到划分集合奠定了基础。
18、在一种可选的实施方式中,对区块支持集进行划分,对划分后的区块支持集进行聚集程度评分,得到划分集合的聚集程度得分,包括:
19、将区块支持集中区块数量与预设阈值进行比较,若区块支持集中区块数量大于预设阈值,则基于区块属性确定区块列表;
20、将区块列表进行排序,基于排序结果对区块支持集中的区块进行合并,得到划分集合;
21、对划分集合进行聚集程度评分,得到划分集合的聚集程度得分。
22、本实施例提供的基于扩展集群聚类算法的区块图共识方法,通过将区块支持集中区块数量与预设阈值进行比较,若区块支持集中区块数量大于预设阈值,则基于区块属性确定区块列表;将区块列表进行排序,基于排序结果对区块支持集中的区块进行合并,得到划分集合,实现了对区块支持集内的向上聚类,进而对划分集合进行聚集程度评分,得到划分集合的聚集程度得分,为划分集合的聚集程度判断提供依据,保证了区块图共识结果的后向一致性。
23、在一种可选的实施方式中,将区块支持集的聚集程度得分和划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识结果,包括:
24、将区块支持集的聚集程度得分和划分集合的聚集程度得分进行比较;
25、若区块支持集的聚集程度得分大于或等于划分集合的聚集程度得分,则基于划分集合对目标区块图进行划分,得到区块子图,将区块子图作为区块图共识结果。
26、本实施例提供的基于扩展集群聚类算法的区块图共识方法,通过将区块支持集的聚集程度得分和划分集合的聚集程度得分进行比较,针对每层区块支持集的聚集程度得分,根据比较结果自适应地产生得分最大的聚类和划分集合,将每层的结果合并成子图进行输出,保证了区块图共识结果的后向一致性和安全性。
27、在一种可选的实施方式中,将区块支持集的聚集程度得分和划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识结果,还包括:
28、若区块支持集的聚集程度得分小于划分集合的聚集程度得分,则对划分集合进行划分,直至划分集合的聚集程度得分大于或等于划分后集合的聚集程度得分,停止划分,得到划分后的集合,并基于划分后的集合确定区块图共识结果。
29、第二方面,本专利技术提供了一种基于扩展集群聚类算法的区块图共识装置,该装置包括:
30、分层模块,用于获取目标区块图,对目标区块图进行分层处理,基于分层处理结果构建区块支持集;目标区块图由创世区块和引用可达区块构成;
31、计算模块,用于基于区块支持集确定区块属性,并基于区块属性计算区块支持集的聚集程度得分;
32、评分模块,用于对区块支持集进行划分,对划分后的区块支持集进行聚集程度评分,得到划分集合的聚集程度得分;
33、比较模块,用于将区块支持集的聚集程度得分和划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识结果。
34、第三方面,本专利技术提供了一种计算本文档来自技高网...
【技术保护点】
1.一种基于扩展集群聚类算法的区块图共识方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取目标区块图,对所述目标区块图进行分层处理,基于分层处理结果构建区块支持集,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述区块支持集确定区块属性,并基于所述区块属性计算区块支持集的聚集程度得分,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述区块支持集进行划分,对划分后的区块支持集进行聚集程度评分,得到划分集合的聚集程度得分,包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述区块支持集的聚集程度得分和所述划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识结果,包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述区块支持集的聚集程度得分和所述划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识结果,还包括:
7.一种基于扩展集群聚类算法的区块图共识装置,其特征在于,所述装置包括:
8.一种计算机设备,其特征在于,包括:<
...【技术特征摘要】
1.一种基于扩展集群聚类算法的区块图共识方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取目标区块图,对所述目标区块图进行分层处理,基于分层处理结果构建区块支持集,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述区块支持集确定区块属性,并基于所述区块属性计算区块支持集的聚集程度得分,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述区块支持集进行划分,对划分后的区块支持集进行聚集程度评分,得到划分集合的聚集程度得分,包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述区块支持集的聚集程度得分和所述划分集合的聚集程度得分进行比较,基于比较结果确定区块图共识...
【专利技术属性】
技术研发人员:尹昊,周昌令,文伟平,张庆峰,郑婷婷,
申请(专利权)人:北京大学长沙计算与数字经济研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。