利索能及
我要发布
收藏
专利号: 2020107850784
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于Paxos算法的共识机制优化方法,应用于区块链网络中,所述区块链网络包括提案节点、接受节点和学习节点,其特征在于,所述方法包括:主提案节点向所有接受节点发送携带提案编号N的准备请求,其中所述主提案节点为多个所述提案节点中当前向所述接受节点发起提案的提案节点;

若所述准备请求非第一次所接收的准备请求,所述接受节点判断所接收到的所述提案编号N是否大于其已批准的提案的最高提案编号M;

若所接收到的所述提案编号N大于其已批准的提案的最高提案编号M,所述接受节点向所述主提案节点返回承诺应答以告知其已批准的最高提案编号M的决议,并承诺将不会批准任何提案编号小于所述提案编号N的提案;

所述主提案节点判断是否接收到半数以上的所述接受节点发送的所述承诺应答;

若未接收到半数以上的所述接受节点发送的所述承诺应答,所述主提案节点根据预设规则确定提案重发时间;

若到达所述提案重发时间,所述主提案节点再次向所有所述接受节点发送新一轮的携带提案编号大于N的准备请求和批准请求;

所述主提案节点根据预设规则确定提案重发时间的步骤,包括:

所述主提案节点获取由随机机制所生成的等待时长;

所述主提案节点根据当前时间以及所述等待时长确定再次向所有所述接受节点发送新一轮的准备请求的时间点作为所述提案重发时间。

2.根据权利要求1所述的基于Paxos算法的共识机制优化方法,其特征在于,所述接受节点向所述主提案节点返回承诺应答以告知其已批准的最高提案编号M的决议,并承诺将不会批准任何提案编号小于所述提案编号N的提案的步骤之后,所述方法还包括:若接收到新的主提案节点所发送的携带提案编号大于所述提案编号N的准备请求,所述接受节点立即向提案编号N所对应的所述主提案节点发送拒绝应答;

若提案编号N所对应的所述主提案节点接收到所述接受节点所发送的所述拒绝应答,所述主提案节点停止向发送所述拒绝应答的接受节点发送批准请求。

3.根据权利要求1所述的基于Paxos算法的共识机制优化方法,其特征在于,所述方法还包括:若接收到半数以上的所述接受节点发送的所述承诺应答,所述主提案节点向半数以上的所述接受节点发送批准请求,所述批准请求包含所述提案编号N和所述接受节点发送的承诺应答中所述最高提案编号M的决议;

若所述批准请求非第一次所接收的批准请求,所述接受节点判断其所接收到的所述批准请求的所述提案编号N是否大于其已批准过的提案的最高提案编号M;

若所述接受节点接收到的所述批准请求的所述提案编号N大于其所批准过的提案的最高提案编号M,所述接受节点向所述主提案节点发送批准应答;

所述主提案节点判断是否接收到半数以上所述接受节点发送的批准应答;

若所述主提案节点接收到半数以上所述接受节点发送的批准应答,所述主提案节点确定本轮提案成功。

4.根据权利要求3所述的基于Paxos算法的共识机制优化方法,其特征在于,所述方法还包括:若所述接受节点接收到的所述批准请求的所述提案编号N不大于其所批准过的提案的最高提案编号M,所述接受节点立即向所述主提案节点发送拒绝应答,所述拒绝应答包含所述接受节点所批准过的最高提案编号M的决议。

5.根据权利要求3所述的基于Paxos算法的共识机制优化方法,其特征在于,所述区块链网络中的学习节点划分为多个学习节点集合,所述方法还包括:所述接受节点从所述多个学习节点集合中选择其中一个学习节点集合作为目标学习节点集合;

所述接受节点将已成功批准的提案作为成功提案发送至所述目标学习节点集合中的学习节点;

所述目标学习节点集合中的学习节点对所述成功提案进行学习,并将所述成功提案转发至所述多个学习节点集合中的其余学习节点集合以使所述其余学习节点集合中的学习节点对所述成功提案进行学习。

6.根据权利要求1所述的基于Paxos算法的共识机制优化方法,其特征在于,所述方法还包括:若所述准备请求为第一次所接收的准备请求,所述接受节点向所述主提案节点返回承诺应答,所述承诺应答包含所述接受节点任意选择的一决议或所述承诺应答为空,并承诺将不会批准任何提案编号小于所述提案编号N的提案。

7.一种基于Paxos算法的共识机制优化系统,应用于区块链网络中,所述区块链网络包括提案节点、接受节点和学习节点,其特征在于,所述提案节点中的主提案节点配置有第一发送单元、第二判断单元、确定单元以及重提单元;所述接受节点配置有第一判断单元和返回单元,其中所述主提案节点为多个所述提案节点中当前向所述接受节点发起提案的提案节点;

所述第一发送单元用于向所有接受节点发送携带提案编号N的准备请求;

所述第一判断单元用于若所述准备请求非第一次所接收的准备请求,判断所接收到的所述提案编号N是否大于其已批准的提案的最高提案编号M;

所述返回单元用于若所接收到的所述提案编号N大于其已批准的提案的最高提案编号M,向所述主提案节点返回承诺应答以告知其已批准的最高提案编号M的决议,并承诺将不会批准任何提案编号小于所述提案编号N的提案;

所述第二判断单元用于判断是否接收到半数以上的所述接受节点发送的所述承诺应答;

所述确定单元用于若未接收到半数以上的所述接受节点发送的所述承诺应答,根据预设规则确定提案重发时间;

所述重提单元用于若当前时间到达所述提案重发时间,再次向所有所述接受节点发送新一轮的携带提案编号大于N的准备请求;

所述主提案节点还配置有等待单元、第二确定单元;

所述等待单元用于所述主提案节点获取由随机机制所生成的等待时长;

所述第二确定单元用于所述主提案节点根据当前时间以及所述等待时长确定再次向所有所述接受节点发送新一轮的准备请求的时间点作为所述提案重发时间。

8.一种区块链网络,所述区块链网络包括多个节点,所述多个节点包括提案节点、接受节点和学习节点,每个所述节点对应一台计算机设备,所述计算机设备包括存储器以及与所述存储器相连的处理器;所述存储器用于存储计算机程序;其特征在于,所述多个节点所对应的处理器用于运行相应存储器中存储的计算机程序,以共同执行如权利要求1‑6中任一项所述方法的步骤。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多个计算机程序,所述多个计算机程序当分别被多个处理器执行时可共同实现如权利要求1‑6任一项所述方法的步骤。