【技术实现步骤摘要】
一种可再投票的二元共识方法及装置
[0001]本申请涉及计算机
,具体地,涉及一种可再投票的二元共识方法及装置。
技术介绍
[0002]二元共识是拜占庭容错协议(拜占庭共识,BFT)的主要组成部分,目前已知的异步拜占庭共识协议都直接或者间接依赖二元共识,其可以使分布式系统在异步环境下达成共识。同时,二元共识也可以用于构造状态机复制(state machine replication),进而使用状态机复制为分布式容错系统建立基础,另外,二元共识还可以应用在数据库等
因此,对于二元共识的研究是目前业界重要的研究方向。
技术实现思路
[0003]本申请实施例中提供了一种可再投票的二元共识方法即装置,用于解决现有技术中二元共识效率低的问题。
[0004]根据本申请实施例的第一个方面,提供了一种二元共识方法,其特征在于,应用于分布式系统中的任一共识节点,所述分布式系统至少包括N个共识节点,其中N≥3f+1,所述f为大于0的整数,所述方法包括:
[0005]针对任一待共识提议确定初始投票值; ...
【技术保护点】
【技术特征摘要】
1.一种可再投票的二元共识方法,其特征在于,应用于分布式系统中的任一共识节点,所述分布式系统至少包括N个共识节点,其中N≥3f+1,所述f为大于0的整数,所述方法包括:针对任一待共识提议确定初始投票值;其中,投票值包括优先投票值以及其他投票值两种值,初始投票值为优先投票值或其他投票值;在所述初始投票值为其他投票值、且满足预设条件的情况下,重新将所述初始投票值确定为优先投票值;广播携带有投票值的首轮三类共识消息;基于其他共识节点广播的首轮三类共识消息就所述优先投票值达成共识。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在首轮未就所述优先投票值达成共识的情况下,循环执行以下其他轮共识步骤,直到达到预设停止条件,其中其他轮共识步骤包括:广播本轮三类共识消息,所述本轮三类共识消息中携带本轮投票值;基于接收到的其他共识节点广播的本轮三类共识消息确定该待共识提议的共识情况。3.根据权利要求1所述的方法,其特征在于,所述广播携带有投票值的首轮三类共识消息,包括:将初始投票值携带在首轮第一共识消息中进行广播;接收其他共识节点广播的首轮第一共识消息;基于所述初始投票值以及其他共识节点广播的首轮第一共识消息,重新确定首轮投票值,并将重新确定的首轮投票值携带在首轮第二共识消息中进行广播;基于所述重新确定的首轮投票值以及其他共识节点广播的首轮第二共识消息确定第二集合中的值,将第二集合携带在首轮第三共识消息中进行广播。4.根据权利要求3所述的方法,其特征在于,所述基于所述初始投票值以及其他共识节点广播的首轮第一共识消息,重新确定首轮投票值,包括:在所述初始投票值为优先投票值的情况下,将所述优先投票值重新确定为首轮投票值。5.根据权利要求4所述的方法,其特征在于,还包括:在所述初始投票值不为优先投票值,且在接收到其他共识节点广播的2f+1条首轮第一共识消息的情况下,若所述2f+1条第一共识消息中携带的投票值相同,则将该投票值添加到首轮第一集合中,并将最先添加所述首轮第一集合中的投票值重新确定为首轮投票值。6.根据权利要求5所述的方法,其特征在于,所述基于所述重新确定的首轮投票值以及其他共识节点广播的首轮第二共识消息确定第二集合中的值,包括:若所述重新确定的首轮投票值为优先投票值,则确定优先投票值为第二集合中的值;若所述重新确定的首轮投票值不为优先投票值,则在收到N
‑
f条合法第二共识消息的情况下,将收到的第二共识消息中的全部投票值,确定为首轮第二集合中的值。7.根据权利要求6所述的方法,其特征在于,所述基于其他共识节点广播的首轮三类共识消息就所述优先投票值达成共识,包括:在收到N
‑
f条合法第三共识消息的情况下,将首轮公共抛币值置为优先投票值,若接收到的第三共识消息中携带的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。