[发明专利]一种动态分层的高效PBFT算法有效
申请号: | 202111126136.3 | 申请日: | 2021-09-26 |
公开(公告)号: | CN113570357B | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 周炜;李佳徽;周昌坤;高礼杰;王超;杜丙瑜;渠忠伟 | 申请(专利权)人: | 青岛理工大学 |
主分类号: | G06Q20/10 | 分类号: | G06Q20/10;G06Q20/38;G06Q20/40 |
代理公司: | 青岛华慧泽专利代理事务所(普通合伙) 37247 | 代理人: | 姜英昌 |
地址: | 266520 山东省青岛*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 分层 高效 pbft 算法 | ||
1.一种动态分层的高效PBFT算法,其特征在于:包括如下步骤:
步骤1:根据节点网络的状况、可靠性和节点的系统性能在节点加入联盟链时对节点进行审核,确定代理节点和普通节点;
步骤2:根据随机平均分组算法进行节点的分组,以选取的代理节点为各组的主节点,当系统中由于全局或者组内拜占庭节点数量较多需要重新分组时,则重新选择信任度高的节点作为代理节点进行重新分组;
系统通过节点审查员对拜占庭节点进行审核判断和处理,将拜占庭节点拉进黑名单,并将拜占庭节点放到拜占庭节点组中;
节点审查员管理所有节点信息,管理节点的动态进出,并且维护一个记录节点身份信息的NIT表,且所有节点完全信任节点审查员维护的NIT表中的信息;
每个节点在本地维护一个NIT表,并实时的与其他节点的NIT表进行同步;
步骤3:在组内实施简化的PBFT算法,将组内共识的结果传到组内的代理节点,代理节点负责收集和验证组内的共识结果,并代表各个组参与全局的PBFT算法;
在组内实施简化的PBFT算法具体步骤包括:
步骤3.1:请求阶段:向分布式系统中的全局主节点P发送请求,请求形式如下所示,其中:Request为消息名称包括消息内容m以及消息摘要d,o为请求的具体操作,t为请求时客户端追加的时间,c为客户端标识,θ是节点审查员的NIT表
;
步骤3.2:全局预准备阶段:全局的主节点P为请求Request分配一个序号n,全局的主节点P向系统中所有节点广播Global-Pre-Prepare的消息,并将m附加到所有活跃的代理节点中,将消息m附加到其日志中,并启动计时器T1,消息形式如下所示,其中m是消息内容,v是发送m的视图编号,d是消息摘要,t是发送Global-Pre-Prepare消息的时间,θ是主节点的本地NIT表,σp是节点P的签名;
;
步骤3.3:向组织内的代理节点回复一个Local-Prepare消息,并将消息添加到它的日志中,消息形式如下所示,其中m是消息内容,v是发送m的视图编号,n是全局的主节点P为请求Request分配的序号,d是消息摘要,t代表发送Local-Prepare消息的时间,θ是主节点的本地NIT表,i是节点的节点号,σi是节点i的签名
;
步骤3.4:代理节点接收到来自不同的活跃的节点的2f+1正确Local-Prepare消息后,它将发送消息给组织内所有活跃的节点,消息形式如下所示,其中ψ表示代理节点接收到的2f+1正确Local-Prepare消息集,v表示发送m的视图编号,θ是主节点的本地NIT表,c-t代表发送Local-Prepare-Confirm消息的时间,σp是节点P的签名,组织内其他节点收到消息后对签名进行校验,并检查v、θ是否正确,验证通过节点i进入Local-Commit;
;
步骤3.5:节点i进入本地提交Local-Commit阶段,发送消息到代理节点,消息形式如下所示,其中,v表示发送m的视图编号,n是全局的主节点P为请求Request分配的序号,d是消息摘要,θ是主节点的本地NIT表,i是节点的节点号,σi是节点i的签名
;
步骤3.6:代理节点接收2f+1的Local-Commit信息后对消息进行验证,当代理节点接收到来自不同的活跃的节点的2f+1正确Local-Commit消息后,代理节点发送如下消息是对所有活动备份的多播,其中ψ是一组2f+1正确的Local-Commit消息,v表示发送m的视图编号,n是全局的主节点P为请求Request分配的序号,d是消息摘要,θ是主节点的本地NIT表,c-t是Local-Commit-Confirm消息的发送时间,i是节点的节点号,σp是节点P的签名
;
步骤3.7:组织内节点收到主代理节点发送的Local-Commit-Confirm消息后,如果对Local-Commit-Confirm消息验证成功,则执行请求Local-Reply并回复给代理节点。
2.根据权利要求1所述的一种动态分层的高效PBFT算法,其特征在于,所述步骤2中代理节点根据节点的积分高低进行选举,积分高的节点会优先被选举为组内代理节点,其余节点负责投票。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛理工大学,未经青岛理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111126136.3/1.html,转载请声明来源钻瓜专利网。