【技术实现步骤摘要】
联盟链中的共识方法和系统
本文件涉及计算机
,尤其涉及一种联盟链中的共识方法和系统。
技术介绍
目前,采用实用拜占庭容错算法(PracticalByzantineFaultTolerance,PBFT)主要包括两个部分,即包括NormalCasePhase和ViewChangePhase这两个部分。其中,NormalCasePhase部分包括Pre-Prepare(预准备阶段)、Prepare(准备阶段)和Commit(提交阶段)这三个阶段来完成共识。在预准备阶段,由共识主节点发起一个提议,向各共识备份节点发送针对该提议的PRE-PREPARE消息;在准备阶段,各共识备份节点对接收到的PRE-PREPARE消息进行验证,验证通过后,向其他共识备份节点和共识主节点发送PREPARE消息;在提交阶段,共识备份节点或共识主节点接收到1个PRE-PREPARE消息和来自不少于2f个共识节点的PREPARE消息,且验证通过,则向联盟链中的其他共识节点发送COMMIT消息。如果在预设时间段内没有完成对目标提议的共识 ...
【技术保护点】
1.一种联盟链中的共识方法,包括:/n当联盟链的共识网络中的第一共识节点在预设时间段内没有完成对目标待共识数据的共识操作时,所述第一共识节点基于接收到的ECHO消息构建的P集合和Q集合,在所述共识网络中广播视图切换ViewChange消息,所述第一共识节点为触发所述ViewChange消息时所述共识网络的当前视图对应的第一共识主节点以外的共识节点,所述第一共识节点接收到的ECHO消息是所述共识网络中的共识节点针对所述目标待共识数据广播的;/n第二共识节点针对接收到的ViewChange消息,向第二共识主节点发送与接收到的ViewChange消息相对应的视图切换确认ViewC ...
【技术特征摘要】
1.一种联盟链中的共识方法,包括:
当联盟链的共识网络中的第一共识节点在预设时间段内没有完成对目标待共识数据的共识操作时,所述第一共识节点基于接收到的ECHO消息构建的P集合和Q集合,在所述共识网络中广播视图切换ViewChange消息,所述第一共识节点为触发所述ViewChange消息时所述共识网络的当前视图对应的第一共识主节点以外的共识节点,所述第一共识节点接收到的ECHO消息是所述共识网络中的共识节点针对所述目标待共识数据广播的;
第二共识节点针对接收到的ViewChange消息,向第二共识主节点发送与接收到的ViewChange消息相对应的视图切换确认ViewChangeACK消息,所述第二共识主节点为所述第一共识主节点之后的共识主节点;
所述第二共识主节点在接收到所述共识网络中的共识节点发送的N-f-2个ViewChangeACK消息时,获取接收到的ViewChange消息中的多个相同的P集合及多个相同的Q集合,f为所述共识网络中允许的最大异常共识节点数量;
所述第二共识主节点基于接收到的ViewChange消息中的多个相同的P集合及多个相同的Q集合,做出视图切换决策。
2.如权利要求1所述的方法,所述共识网络中的第一共识节点基于接收到的ECHO消息构建的P集合和Q集合,在所述共识网络中广播视图切换ViewChange消息之前,所述方法还包括:
所述第一共识主节点基于指定纠删码技术,将所述目标待共识数据拆分为与所述共识网络中的共识节点数量等量的多个有序排列的数据分片;
所述第一共识主节点基于所述多个有序排列的数据分片,构建默克树;
所述第一共识主节点将与所述第一共识主节点相对应的数据分片、对应的默克树路径、以及所述默克树的根哈希保存在本地,并将携带有其它各数据分片、对应的默克树路径、以及所述默克树的根哈希的VAL消息发送给所述共识网络中对应的共识节点,一个数据分片对应于所述共识网络中的一个共识节点。
3.如权利要求2所述的方法,所述第一共识主节点将与所述第一共识主节点相对应的数据分片、对应的默克树路径、以及所述默克树的根哈希保存在本地,并将携带有其它各数据分片、对应的默克树路径、以及所述默克树的根哈希的VAL消息发送给所述共识网络中对应的共识节点之后,所述方法还包括:
接收到VAL消息的共识节点,针对接收到的VAL消息构建ECHO消息,并将构建的ECHO消息广播至所述共识网络中,所述构建的ECHO消息中包含接收到的VAL消息中的数据分片、对应的默克树路径和所述默克树的根哈希;
所述第一共识主节点基于保存在本地的数据分片、对应的默克树路径、以及所述默克树的根哈希构建ECHO消息,并将构建的ECHO消息广播至所述共识网络中。
4.如权利要求3所述的方法,第二共识主节点基于接收到的ViewChange消息中的多个相同的P集合及多个相同的Q集合,做出视图切换决策,包括:
所述第二共识主节点从接收到的ViewChange消息中获取多个相同的P集合及多个相同的Q集合;
所述第二共识主节点若确定接收到的ViewChange消息满足指定条件,则在所述共识网络中广播NewView消息。
5.如权利要求4所述的方法,所述指定条件包括下述至少一种:
所述第二共识主节点接收到的ViewChange消息中存在N-f个相同的P集合,其中,N≥3f+1;
所述第二共识主节点接收到的ViewChange消息中存在f+1个相同的Q集合。
6.如权利要求5所述的方法,当所述指定条件包括所述第二共识主节点接收到的ViewChange消息中存在N-f个相同的P集合和f+1个相同的Q集合时,所述第二共识主节点在所述共识网络中广播NewView消息,包括:
所述第二共识主节点从所述N-f个相同的P集合和所述f+1个相同的Q集合中,获取所述...
【专利技术属性】
技术研发人员:李帅,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。