[发明专利]一种基于PBFT的S-PBFT简化共识协议运行及并行优化方法有效
| 申请号: | 202111429918.4 | 申请日: | 2021-11-29 |
| 公开(公告)号: | CN114157672B | 公开(公告)日: | 2022-10-28 |
| 发明(设计)人: | 胡凯;王子凯 | 申请(专利权)人: | 北京航空航天大学 |
| 主分类号: | H04L67/1042 | 分类号: | H04L67/1042 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100191*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 pbft 简化 共识 协议 运行 并行 优化 方法 | ||
1.一种基于PBFT的S-PBFT简化共识协议运行方法,其特征在于,包括:
(1)请求阶段:请求将广播至全网节点,每一个节点接收请求的行为是相同的;
(2)预准备阶段:通过区块高度和轮数计算以轮询的方式进行选主,以保证节点之间的对等性;每一轮共识开始前将完成选主;所述区块高度指的是共识开始前,已确认并加入区块链数据中区块的数量;轮数指的是针对基于区块高度的下一区块,已进行过多少次共识计算;所述选主的过程为:
Propose(hash(h,r))=n (1)
其中,Propose函数将计算出本轮主节点的编号n,n为小于当前网络节点总数N的自然数,用于索引唯一的节点;在主节点被唯一确定后,主节点将会将收集到的请求信息进行打包并广播给全网节点;
(3)提交阶段:S-PBFT共识协议在本阶段将进行投票操作,投票由全网节点共同参与,并且每一个节点的投票行为相互独立;节点收到了预准备阶段的广播数据后,基于本地区块数据对主节点的做块行为进行验证;验证结束后,将验证的结果转换为投票结果,进行全网广播;
(4)结束阶段:经过上一轮的全网投票,每一个节点都将会收到投票信息;当节点收到的投票信息足以使得其作出判断时,节点将进行做块或否定做块;之后,本轮结束,每一个节点均将进入下一轮的共识;
所述基于PBFT的S-PBFT简化共识协议运行方法的内部并行方法依次包括:区块生成、区块广播、区块验证、投票广播和区块写入/回滚;所述内部并行方法依照耗时瓶颈的诱因分为两类:本地计算耗时和网络通信耗时;本地计算耗时的流程有区块生成、区块验证和区块写入;网络通信耗时的流程为区块广播与投票广播;
所述基于PBFT的S-PBFT简化共识协议的内部并行方法包括:
(1)收集交易:节点维护一个交易缓冲区,用于存放未执行的交易;每一轮共识开始时,主节点从缓冲区中收集一定量的交易,等待做块;
(2)选取交易:主节点基于本地的区块数据,筛选出不重复并且合法的交易,用于构造区块;
(3)构造区块:主节点将上一步收集的交易数据打包并计算Merkle树根,之后检查本地区块数据并获得上一个区块的区块头,状态树树根等数据,进行摘要生成新的区块头;
(4)广播区块:主节点将构造的区块进行全网广播,广播区块这一流程是S-PBFT共识协议的开始;
(5)验证区块:收到广播的节点将会验证区块,验证过程将针对区块中的区块头、Merkle树根、版本号等字段进行验算和比对,以生成本节点的投票值;
(6)广播投票:节点将验证区块的结果全网广播;
(7)出块/回滚:在这一个阶段中,每一个节点将会持续收到投票广播;当收到第一个投票广播时,节点将进入计票阶段并且临时维护一个投票记录缓冲区,这个缓冲区仅仅用于当前高度与轮数的S-PBFT共识过程;每当收到投票信息时,节点记录投票结果并判断是否达到出块/回滚的票数阈值;当投票赞成数超过阈值时,节点出块并且自动进入下一轮共识;当投票反对数超过阈值时,节点将废弃当前的共识,进入下一轮共识;
当第N轮做块执行到区块广播的步骤时,全网节点在收到广播后,可以直接进入第N+1轮的共识;由于收到区块广播后,节点已知当前轮数共识的区块中交易的摘要,使得其可以对下一轮共识的交易进行预先筛选;
选取交易,当第N轮以节点A为主节点,交易集合为TX1、TX2和TX3时,广播过后其余的节点将会提前搜集当前交易池中的和当前区块内部交易集合不重复的合法交易,并且进行读取、计算Merkle树根和封装;
当第N+1轮完成区块生成后,将被阻塞,直至第N轮共识进行到投票广播;投票的结果将会被共享到第N+1轮的逻辑判断中,当得知第N轮投票通过时,第N+1轮即可解除阻塞并进行下一个流程;当得知第N轮投票不通过时,丢弃第N+1轮生成的交易数据并进入下一轮。
2.根据权利要求1所述的一种基于PBFT的S-PBFT简化共识协议运行方法,其特征在于,所述基于PBFT的S-PBFT简化共识协议面向联盟链设计,所述联盟链的节点需要一定的审批许可,方能加入共识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111429918.4/1.html,转载请声明来源钻瓜专利网。





