买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于Raft算法的区块链共识方法及系统_浪潮云信息技术股份公司_202210420723.1 

申请/专利权人:浪潮云信息技术股份公司

申请日:2022-04-21

公开(公告)日:2024-04-12

公开(公告)号:CN114844891B

主分类号:H04L67/10

分类号:H04L67/10;H04L9/40;H04L67/1097

优先权:

专利状态码:有效-授权

法律状态:2024.04.12#授权;2022.08.19#实质审查的生效;2022.08.02#公开

摘要:本发明公开了基于Raft算法的区块链共识方法及系统,属于区块链共识技术领域,本发明要解决的技术问题为无法规避作恶节点带来的危害,消除了原有Raft算法因为集群扩容可能导致分裂的安全隐患,采用的技术方案为:该方法是在领导者、跟随者以及候选人节点的基础上新增观察者节点,集群初始状态对除观察者节点外的所有节点设置随机超时时间;在领导者选举过程中,观察者对候选人进行监控,识别候选人是否为作恶节点,并对领导者的产生具有最终决定权;当领导者产生后,对包括观察者在内的所有节点进行日志复制RPC消息,观察者不反馈信息;在集群变更过程中,观察者将新日志项发送给领导者,领导者将该新日志项广播,并将该新日志项放入本地状态机。

主权项:1.一种基于Raft算法的区块链共识方法,其特征在于,该方法是在领导者、跟随者以及候选人节点的基础上新增观察者节点,集群初始状态对除观察者节点外的所有节点设置随机超时时间;在领导者选举过程中,观察者对候选人进行监控,识别候选人是否为作恶节点,并对领导者的产生具有最终决定权;当领导者产生后,对包括观察者在内的所有节点进行日志复制RPC消息,观察者不反馈信息;在集群变更过程中,观察者将新日志项发送给领导者,领导者将该新日志项广播,并将该新日志项放入本地状态机;具体如下:集群初始化:最开始除了一个固有的观察点N0外,所有节点都是跟随者;选举领导者:通过跟随者未收到心跳信息触发候选人的请求投票RPC进行领导者选举;具体如下:最开始集群中没有领导者,当任意一个节点的超时时间Ti最先到达,并且在这一过程中未收到来自领导者的心跳信息T0,则将使自己的任期编号TermNumj加一,使自己成为候选人Cii,Votes,TermNumj+1,Journali;向自己投一张选票并且向其它所有节点发起请求投票RPC,公式如下:TermNumj+1=TermNumj+1;Votes=0+1;其中,TermNumj表示上一个任期编号,默认值为0;Votes默认值为0,当一个跟随者Ni成为候选人Ci后,Votes将获取来自Ci的一张选票,即自增加一;当其它跟随者收到来自任期编号更大的节点的投票请求,且自己没有在候选人的任期编号内投票,则跟随者结点将把选票投给发起请求投票RPC消息的候选人节点,随后投票的跟随者自增自己的任期编号与所投票的候选人一致,具体如下: Votes+Voteb;Voteb=0;其中,Caa,Votes,TermNumj+1,Journala表示一个发起投票请求的候选者节点;Nbb,TermNumj,Tb,Voteb,Journalb表示还没有投票的跟随者节点;Votes表示该候选者目前获得的票数;Voteb表示该跟随者节点所投出的选票;上述式子表示候选者节点a向其它任期编号为a任期编号减一的跟随者节点发送请求投票RPC消息,然后跟随者节点对该候选者节点投票,使跟随者节点的选票减一,候选者节点获得的选票加一;若一个候选人节点Cii,Votes,TermNumj+i在一个超时时间Ti内赢得了大多数选票,则将在获得观察者投票后成为该任期编号即本届任期内的新领导者Li,公式如下: 上式表示,选举时间不能超过一个超时时间,候选者获得的所有选票必须大于所有跟随者节点数目的50%以上,且必须获得观察者节点的选票;Votes表示该候选者目前获得的票数;Votei表示投票的跟随者的选票;t表示选举的时间;Ti表示一个超时时间,n表示跟随者节点的数量;Wvote表示观察者节点的选票;当该新领导者当选后,将以Ti时间周期性的发送心跳信息,阻止其它节点发起新选举;识别作恶节点:在候选者发起请求投票RPC时对其进行作恶节点识别;具体如下:在集群中设置一个新角色观察者,当候选人发起请求投票RPC消息时,观察者将监测该候选人节点在执行过程中是否存在异常行为:若监测到异常行为,则观察者将不会给候选人投票并且广播该候选人的任期编号使所有节点都与其保持一致,再开始下一轮投票;若在候选人投票过程中未发现其存在异常行为,则观察者节点将在其获得大多数选票后为其投票,具体如下: 其中,上述式子表示在投票选举过程中,观察者节点会检测候选者节点,如果它出现异常就不为其投票,并将其任期编号广播给所有跟随者节点;如果没出现异常就为其投票;WTermNumj+1,Wvote,Journalj+1表示观察者节点;Caa,Votes,TermNumj+1,Journala表示一个发起投票请求的候选者节点;Wvote表示观察者节点的选票;Nii,TermNumj,Ti,Votei,Journali表示跟随者节点;复制日志:日志是由多个日志项组成,每个日志项由指令、索引值及任期编号构成,形式为: 其中,上式表示日志由多个日志项组成,日志项由索引值、任期编号及指令构成;Journali表示通道i的日志;表示该日志的第n个日志项的索引值;TermNumj表示上一个任期编号;表示该日志第n个日志项的指令;关于成员变更。

全文数据:

权利要求:

百度查询: 浪潮云信息技术股份公司 基于Raft算法的区块链共识方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。