当前位置: 首页 > 专利查询>新疆大学专利>正文

一种基于聚类的可扩展的分片共识算法制造技术

技术编号:37519652 阅读:9 留言:0更新日期:2023-05-12 15:41
本发明专利技术为一种基于聚类的可扩展的分片共识算法。一种基于聚类的可扩展的分片共识算法,包括以下步骤:(1)使用K

【技术实现步骤摘要】
一种基于聚类的可扩展的分片共识算法


[0001]本专利技术具体涉及一种基于聚类的可扩展的分片共识算法。

技术介绍

[0002]区块链技术于2008年诞生。作为区块链的核心技术,共识算法对区块链起着至关重要的作用。目前,区块链根据开放程度的高低可以分为三种类型,分别为公共区块链、联盟链以及私有链。因此,共识算法也相应的分为了公共区块链共识算法,联盟链共识算法和私有链共识算法。
[0003]公共区块链共识算法通常是基于证明的,例如Proof

of

Work(PoW)和Proof

of

Stake(PoS)。作为区块链技术中第一个共识算法,PoW要求每个节点通过计算一个数学难题来竞争记账的权利,但是由于算力集中导致的不公平性以及计算所耗费的巨大电力资源而没有被广泛使用。POS算法是根据所持权益量来选择记账节点的,虽然POS解决了PoW算法耗费电力资源的问题但是会削弱去中心化。虽然基于证明的共识机制有非常好的节点可伸缩性但是会带来吞吐量低和时延长等问题。
[0004]随着区块链技术的快速发展,目前区块链已经由公共区块链时代发展到了联盟链时代,联盟链已经成为了许多领域和应用的首选的区块链。同时,联盟链中采用更多的是较轻的共识算法,如Paxos,Raft以及经典的拜占庭容错算法PBFT等,其中Paxos,Raft被广泛使用于没有拜占庭节点的系统中。然而,由于网络攻击的多变性与不确定性,网络中可能存在拜占庭节点,此时PBFT算法相较于Paxos和Raft共识算法则优势更为突出。同时,PBFT不需要使用大量的计算,因此它已被广泛应用于联盟链中。
[0005]诸多学者开展了广泛的研究来对PBFT算法进行改进和完善,例如有学者提出的EPBFT协议使用可验证随机函数(VRF)实现了共识节点的选择,使得该协议适用于动态网络。有学者提出的DGBFT共识协议将通过节点分组大大降低通信复杂度。有学者提出的CDBFT共识协议通过投票奖惩方案及其相应的信用评估方案激发了节点的积极性。上述协议虽然从不同的侧重点来改进PBFT算法,但是随着网络规模的增大时,存在通信复杂度高或者所使用的信用模型过于复杂等问题。因此设计一种能适用于大规模联盟链的共识算法至关重要。

技术实现思路

[0006]本专利技术的目的在于提供一种基于聚类的可扩展的分片共识算法(KBFT),针对联盟链主要使用的经典实用拜占庭容错算法(PBFT)在节点数量增多时,会导致通信阻塞以及吞吐量低等问题,提高了系统的运行效率的同时也使得系统的安全性和稳健性得到了保证。
[0007]为了实现上述目的,所采用的技术方案为:
[0008]一种基于聚类的可扩展的分片共识算法,包括以下步骤:
[0009](1)使用K

prototype聚类算法对网络中的节点,根据混合属性进行分片处理;
[0010](2)将各个所述的分片处理相应交易进行共识流程、合并与分发流程;
[0011](3)动态重新分片:在网络所设定的时间间隔结束后,K

prototype聚类算法对网络中的所有节点进行重新分片;
[0012](4)选取分片代理节点与全局代理节点。
[0013]进一步的,所述的步骤(1)中,根据节点的数值属性和分类属性进行分类。
[0014]再进一步的,所述的步骤(1)中,分类的步骤为:
[0015]a:随机选取g个节点作为初始原型;
[0016]b:根据相异度将节点对象分配到最近的簇,分配后即更新簇的原型;
[0017]c:再重新确定类别的原型;
[0018]d:重复所述的步骤b

c,直到没有节点样本改变类别,返回最后的分片结果。
[0019]再进一步的,所述的步骤(1)中,节点数据集X={X1,X2,X3,...,Xn},n为数据集X中节点对象的个数,并且节点数据集中每个节点数据均有m个属性,即Xi={x
i1
,x
i2
,x
i3
,...,x
ip
,x
i(p+1
),x
i(p+2)
,xim},其中数值属性在前共p个,分类属性在后共m

p个;
[0020]所述的相异度公式如下所示:
[0021][0022]式中,所述的参数γ是分类属性权重。
[0023]进一步的,所述的步骤(2)中,共识流程、合并与分发流程的具体操作步骤为:
[0024]①
请求阶段:客户端将请求消息发送给所处分片的代理节点,针对请求的共识将在分片内进行;
[0025]②
预准备阶段:分片内的代理节点构建一个新的区块,并将所述的区块广播发送给分片内其余的共识节点;
[0026]③
准备阶段1:节点对区块进行验证,如果验证有效则使用BLS算法进行签名,且将所述的签名反馈给代理节点;
[0027]④
准备阶段2:代理节点等待并收集来自其他共识节点的有效签名,当至少收到2f+1个相同的签名消息后,将所有单个的签名聚合为BLS多重签名,再将所述的BLS多重签名广播发送给所有的节点,至此,准备阶段结束;
[0028]⑤
提交阶段1:节点将验证所收到的所述的多重签名中是否至少含有2f+1个签名者,验证预准备阶段中所述的代理节点广播的区块中的交易,对所述的准备阶段2中收到消息进行签名,并将其发送给代理节点;
[0029]⑥
提交阶段2:所述的代理节点等待并收集至少2f+1个有效签名,将这些签名聚合在一起形成BLS聚合签名,并提交带有所述的BLS聚合签名的新的区块,然后将新的区块广播给所有节点验证提交,至此,提交阶段结束;
[0030]⑦
回复阶段:当节点提交结束后,将向客户端节点发送一个回复消息,当客户端接收至少f+1个由不同的节点发来的相同的确认消息时,表明当前请求已经达到了最终的共识;
[0031]⑧
反馈阶段:当所述的客户端收到分片内的回复消息后,将所有的回复消息反馈给监督节点,节点根据客户端的反馈结果对所述的节点的行为进行评分;
[0032]⑨
合并与分发阶段:各个分片的代理节点将所形成的本地区块广播发送到全局的
代理节点,全局的代理节点将接收到的所有的区块进行合并成全局区块,并将其分发给每一个分片代理节点;收到全局区块的代理节点会将其发送给所处分片内的节点。
[0033]进一步的,所述的步骤(3)中,在进行动态分片的同时,网络中要有新节点的加入与节点的退出。
[0034]进一步的,所述的步骤(4)中,网络初始化时,随机选择或者根据实际应用指定g个节点作为各个分片的代理节点;
[0035]在网络所设定的时间间隔结束后,通过节点信誉机制选取分片代理节点与全局代理节点。
[0036]与现有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于聚类的可扩展的分片共识算法,其特征在于,包括以下步骤:(1)使用K

prototype聚类算法对网络中的节点,根据混合属性进行分片处理;(2)将各个所述的分片处理相应交易进行共识流程、合并与分发流程;(3)动态重新分片:在网络所设定的时间间隔结束后,K

prototype聚类算法对网络中的所有节点进行重新分片;(4)选取分片代理节点与全局代理节点。2.根据权利要求1所述的分片共识算法,其特征在于,所述的步骤(1)中,根据节点的数值属性和分类属性进行分类。3.根据权利要求2所述的分片共识算法,其特征在于,所述的步骤(1)中,分类的步骤为:a:随机选取g个节点作为初始原型;b:根据相异度将节点对象分配到最近的簇,分配后即更新簇的原型;c:再重新确定类别的原型;d:重复所述的步骤b

c,直到没有节点样本改变类别,返回最后的分片结果。4.根据权利要求3所述的分片共识算法,其特征在于,所述的步骤(1)中,节点数据集X={X1,X2,X3,...,Xn},n为数据集X中节点对象的个数,并且节点数据集中每个节点数据均有m个属性,即Xi={x
i1
,x
i2
,x
i3
,...,x
ip
,x
i(p+1
),x
i(p+2)
,xim},其中数值属性在前共p个,分类属性在后共m

p个;所述的相异度公式如下所示:式中,所述的参数γ是分类属性权重。5.根据权利要求1所述的分片共识算法,其特征在于,所述的步骤(2)中,共识流程、合并与分发流程的具体操作步骤为:

请求阶段:客户端将请求消息发送给所处分片的代理节点,针对请求的共识将在分片内进行;

预准备阶段:分片内的代理节点构建一个新的区块,并将所述的区块广播发送给分片内其余的共识节点;

【专利技术属性】
技术研发人员:贾振红武晓雄
申请(专利权)人:新疆大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1