欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2020108055775
申请人: 西华大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于权益激励的结合Raft和PBFT算法的区块链共识方法,其特征是包括如下步骤:步骤S1、进行拜占庭容错PBFT;拜占庭容错算法主要应用于低延迟存储系统设计,其通过将一个副本作为主节点,其他副本作为备份节点,用户向主节点发送服务操作请求,主节点将请求广播给其他副本;所有副本执行请求后将结果返回至用户端,用户端需要等待一定数量的用户节点返回相同结果后作为最终的结果;其包括预准备阶段、准备阶段和确认阶段;预准备阶段完成主节点信息的发送和分发,准备阶段完成信息的校验,确认阶段完成一致性,信息的确认;其计算效率依赖于参与协议的节点数量,不适用于节点数量过大的区块链系统,扩展性差;系统节点是固定的,无法应对公有链的开放环境,只适用于联盟链或私有链环境;PBFT算法要求总节点数n>=3f+1,其中,f代表作恶节点数;系统的失效节点数量不得超过全网节点的1/3,容错率相对较低;

步骤S2、Raft:Raft为用于管理日志一致性的协议,基于此协议,将系统中的角色分为领导者、跟从者和候选者;领导者接受客户端的请求,并向跟从者同步请求日志,当日志同步到大多数节点上后,提醒跟随者提交日志;Raft特有的机制对通信质量提供了更好的保证;

步骤S3、IRaft中文描述:Raft算法采用谁获得最多的票数作为判断是否为领导者的依据,但最先获得最多票数的节点未必为最优领导者的选择,还应该结合工作量的判定作为选举领导者的依据;Iraft算法有效结合了工作量的判定作为选举领导者的依据;

步骤S4、结合PBFT算法和Raft算法和IRaft算法的各自的优点,能够有效且准确的达成共识;

结合PBFT算法和Raft算法和IRaft算法之后,能有效综合PBFT算法中对作恶节点的鲁棒性和Raft算法对通信质量的容错性,同时也能有效结合了基于权益激励的Raft算法来确定最佳首次领导者,因此能有效地改变Raft算法的效率,使其首次确定领导者的过程中能够更加高效可靠,同时结合这三种方法的有效性能够更加全面的判断区块链是否达成共识;

步骤S4.1当S2和S3和S1中的日志达成一致之后,则可以确定达成了共识。

2.根据权利要求1所述的一种基于权益激励的结合Raft和PBFT算法的区块链共识方法,其特征是所述步骤S1具体包括如下步骤:步骤S1S1.1计算每个参与者的工作量。F(Nonce)

步骤S1S1.2收到pre-pre消息,是否接受此消息,只要本机不存在宕机,则均接受;

步骤S1S1.3向其他节点发送pre消息;

步骤S1S1.4判断每个节点是否疏导2f个不同副本的pre消息,若为是则向其他节点进行广播,若否,则继续向其他节点发送pre消息,f为可容忍的拜占庭节点数;

步骤S1S1.5如果一个节点收到2f+1个广播消息,则达成共识,执行请求;否则转到S1.2。

3.根据权利要求1所述的一种基于权益激励的结合Raft和PBFT算法的区块链共识方法,其特征是所述步骤S2具体包括如下步骤:S2.1客户端发送消息开始投票领导者;

S2.2开始投票,每个节点决定rand<1/2作为判断,决定是否将自身所携带的票投给其余节点,也可以投给自己节点,若rand<1/2成立则投给自身,否则投给随机产生的随机节点的整数编号;最快达到1/2票数的节点则确定为领导节点,是否产生领导者,若否,则继续投票;

S2.3选择出领导者之后,则进行向追随者进行发送消息;

S2.4向其余节点复制日志。每次向所有节点分发日志;

S2.4.1领导者将客户端的请求命令作为一条新的条目写入日志;

S2.4.2追随者将收到领导者消息后,将该条目记录到日志并返回回应给领导者;

S2.4.3当该条日志被安全的备份即领导者收到了半数以上的机器回应该条目已记录,则可认为该条目是有效的;

S2.5判断是否达到时间的轮换片,若达到,则继续判断日志是否一致,若否,则继续投票产生领导者。

4.根据权利要求1所述的一种基于权益激励的结合Raft和PBFT算法的区块链共识方法,其特征是所述步骤S3具体包括如下步骤:步骤S3.1计算每个参与者的工作量;F(Nonce)

步骤S3.2将参与节点的工作量标准化之后, u1为第一个节点的工

作量,标准化共识为: 计算得计算节点的工作量权重;

步骤S3.3对参与节点的工作量权重进行排序,

步骤S3.4选择拥有最大工作量权重的节点为首次领导者;

步骤S3.5向追随者发送消息;

步骤S3.6向其余节点复制日志;每次向所有节点分发日志;

步骤S3.6.1领导者将客户端的请求命令作为一条新的条目写入日志;

步骤S3.6.2追随者将收到领导者消息后,将该条目记录到日志并返回回应给领导者;

步骤S3.6.3当该条日志被安全的备份即领导者收到了半数以上的机器回应该条目已记录,则可认为该条目是有效的;

步骤S3.7判断是否达到时间的轮换片,若达到,则继续判断日志是否一致,若否,则继续投票产生领导者。