[发明专利]一种PBFT算法在区块链共识中的保活方法、区块链节点和存储介质在审

专利信息
申请号: 202211639135.3 申请日: 2022-12-20
公开(公告)号: CN116032921A 公开(公告)日: 2023-04-28
发明(设计)人: 路京磊 申请(专利权)人: 北京众享比特科技有限公司
主分类号: H04L67/10 分类号: H04L67/10;H04L41/00
代理公司: 北京山允知识产权代理事务所(特殊普通合伙) 11741 代理人: 胡冰;宋少华
地址: 100016 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 pbft 算法 区块 共识 中的 方法 节点 存储 介质
【说明书】:

发明提出一种PBFT算法在区块链共识中的保活方法,包括:当节点View‑Change超时达不成共识时,判断是否有比当前节点共识过的区块号更高的节点;如果有,则获取最高共识过区块的所有COMMIT投票,以切换到区块号最高的区块重新开启共识。本发明还提出一种基于PBFT算法的区块链节点,以及一种区块链存储介质。本发明能够增加PBFT共识算法在区块链应用中的活性,或者可用性。

技术领域

本发明涉及区块链共识技术,更具体地,涉及一种PBFT算法在区块链共识中的保活方法、区块链节点和存储介质。

背景技术

PBFT(实用拜占庭容错,Practical Byzantine Fault Tolerance)是联盟链中很经典的共识算法,该算法的本质是对请求列表进行排序共识,最终得到一个全局有序的请求列表,在恶意节点不高于总数1/3的情况下,该算法能够同时保证安全性(Safety)和活性(Liveness)。

PBFT共识算法中通过View-Change机制来实现活性(Liveness),触发View-Change的核心因素只有一个:即节点认为在当前主节点的有限时间内,无法达成一致,则发起View-Change来切换主节点,当有2f+1个节点都发生View-Change要求切换到同一个视图时,View-Change达成,进入新一轮共识,新的主节点重新发起提案。如果新的主节点在有限时间内依然达不成共识,那么继续View-Change,直到能达成共识。

PBFT共识算法本身只是对客户端请求进行排序共识,但在应用在区块链时,需要进行一些变通,因为很多情况下只是达成交易集共识还不够,像以太坊,区块中除了需要有顺序一致的交易集合,还有一个状态集合,而状态集合的变化是在上一区块的基础上,执行所有交易集合中所有的交易来驱动的。区块hash是由交易树的树根hash,状态树的树根hash,以及其它一些变量序列化后再做hash得到的。所以除了共识交易集外,还要共识区块hash,才能最终达成一致的区块序列。

所以大多基于状态的区块链,在应用PBFT共识算法时,把PBFT的两轮共识做了以下变通:首先是当前轮的主节点提案交易集合,发起PRE-PREPARE,这一点与PBFT算法一致,然后副节点收到主节点收到的交易集合时,进行必要的检查,检查通过后,按PBFT共识算法,应该发起第一轮的PREPARE投票,但在区块链中可能会有两种不同的处理:一种是与PBFT算法一致,立即发起PREPARE投票,然后,在节点收集够2f+1个PREPARE投票后,执行所有交易,得到新的状态集合,并更新新的区块信息,然后在对区块hash进行投票,相当于PBFT的COMMIT投票阶段,这一轮投票结束,同一个区块hash依然能得到2f+1的投票,则认为区块共识通过。另一种,是收到主节点的PRE-PREPARE提案,先执行交易集合中的交易,执行完之后,得到新的状态集合并更新新区块的区块头信息,得到新的区块hash,然后各自发起PREPARE投票,这时投票的对象变成了新区块的hash,PREPARE投票收集到2f+1时,继续对区块hash进行COMMIT阶段投票,再次达成2f+1个投票,则区块共识通过。

无论是哪一种方案,COMMIT阶段都是针对应用了交易集合的新区块hash进行的投票。假如,总共4个节点(编号1,2,3,4),f=1,那么在第二轮投票时,其中两个节点(3,4)对新区块hash投票后,由于某些原因(比如节点crash)错过了另外两个节点的投票,过一段时间后节点又恢复运行了,那么就会形成2个节点(1,2)对新区块hash达成共识,2个节点(3,4)未达成共识的情况,后面就会基于不一致区块进行新一轮共识。

这样就会形成2v2的场景,PBFT的View-Change机制只能解决切换主节点的问题,却解决不了这种基于的区块号不一致的问题,最终会导致节点无法继续共识,失去活性。

发明内容

本发明要解决的是部分节点收集够PBFT共识中的COMMIT投票,部分节点未收集够COMMIT投票,后面不同节点基于不同的的前置状态去共识,最终无法通过View-Change达成一致的问题。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京众享比特科技有限公司,未经北京众享比特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211639135.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top