[发明专利]一种基于切片的共识方法在审
申请号: | 202310463108.3 | 申请日: | 2023-04-26 |
公开(公告)号: | CN116582543A | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 李想;蔡亮;王强 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L67/1004 | 分类号: | H04L67/1004;H04L9/00;H04L9/40;H04L9/32 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 切片 共识 方法 | ||
1.一种基于切片的共识方法,其特征在于,该方法中对每轮共识提案中的交易区块进行了切片,并向区块链系统中的每个节点发送包含不同切片的提案;各节点收到切片后,通过通信协作,恢复原始交易区块的信息;恢复过程的消息由共识消息捎带,恢复过程在共识流程中自然发生,不产生额外的通信轮次;该方法依赖半同步网络模型保证活性;在节点总数为N的区块链系统中能够容忍拜占庭节点数量该方法的共识轮次由一个单调递增的i标记,每个共识轮次具体包括如下步骤:
(1)准备阶段:当第i轮的领导节点Li等待至收集到达到第一数量阈值的i-1轮的NEWVIEW消息时,Li将NEWVIEW打包形成证书QC,并从本地的交易池中取出数量为batchsiz的交易,打包成当前轮次的区块Bi,并计算区块的哈希BHashi;领导节点Li使用切片方法的编码函数对Bi进行编码,得到包含N个切片的切片集合S;领导节点Li对切片集合S中的每一个切片生成证明,形成证明集合P;领导节点Li生成提案集合领导节点Li对节点k发送一条提案PROPOSALk∈Proposals;
任一节点k等待至收到PROPOSALk时,验证pk以及QC,如果验证通过,则储存切片sk,广播其收到的切片及其证明echosk,pk,并向领导节点Li发送投票prepareVote;当其他节点收到来自节点k的切片及其证明echosk,pk时,验证pk,如果验证通过,则储存sk;
(2)预提交阶段:当领导节点Li等待至收到了第一数量阈值的投票prepareVote时,Li将prepareVote打包形成证书QC,并广播PRECOMMITQC;
当任一节点等待至收到了来自领导节点Li的PRECOMMITQC消息时,验证QC,如果验证通过,则将本地的prepareQC设置为QC;如果节点存储了达到第二数量阈值的属于当前共识轮次的切片,则向领导节点Li发送投票precVote;
(3)提交阶段:当领导节点Li等待至收到了第一数量阈值的投票precVote时,Li将precVote打包形成证书QC,并广播COMMITQC;
当任一节点等待至收到了来自领导节点Li的COMMITQC消息时,验证QC,如果验证通过,则从本地存储的切片中取出第二数量阈值的切片形成切片集合S′;使用切片方法的解码函数对S′进行解码,恢复交易区块B′i;对B′i计算哈希BHash′i,如果BHash′i=BHashi,则将本地的lockQC设置为QC,并向领导节点Li发送投票commitVote;
(4)决定阶段:当领导节点Li等待至收到了第一数量阈值的投票commitVote时,Li将commitVote打包形成证书QC,并广播DECIDEQC;
当任一节点等待至收到了来自领导节点Li的DECIDEQC消息时,验证QC,如果验证通过,则执行区块B′i,并向i+1轮领导节点Li+1发送NEWVIEW消息;
在上述(1)~(4)过程中的任意一个“等待至”超时,则节点向i+1轮领导节点Li+1发送NEWVIEW消息。
2.根据权利要求1所述的基于切片的共识方法,其特征在于,每一轮的领导节点由确定性的算法决定,即,各节点运行同一个领导选举算法,将轮次i输入算法,确定得到相同的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310463108.3/1.html,转载请声明来源钻瓜专利网。