0.定义
1.maxVote定义
多轮投票是顺序的,从多轮投票里找比当前提议编号小的那些提议中,最大编号的提议。
比如:
Bbal=2的提议,没有比他编号更小的提议了,因此MaxVote=null;
Bbal=5的提议,比他小的提议编号有2,因此MaxVote依然是编号为2的提议;
Bbal=3的提议,比他小的提议编号有2,因此MaxVote=编号为2的提议;
Bbal=9的提议,比他小的提议编号有2、3、5,因此MaxVote是编号为5的提议。
上述投票中,并没有规定提议的顺序(编号并非增序)、投票大于一半才算投票成功(如编号3的提议,投票未超过一半,但依然算做投票成功)等。
2.投票约束
注意:文中“第二点要求任意两轮投票的Bqrm交集不为空,其实意思很明确,就是要求Bqrm超过半数的意思。”有误,应为“第二点要求任意两轮投票的Bvot交集不为空,其实意思很明确,就是要求Bvot超过半数的意思。”
3.投票约束下的多轮投票
多轮投票中,编号2、3、5的提议,实际投票小于一半;编号9的提议实际投票大于一半,但其中C投了编号为3的提议,因此maxvote为编号3的提议。
参考链接:
Paxos理论介绍(1): 朴素Paxos算法理论推导与证明 https://zhuanlan.zhihu.com/p/21438357?refer=lynncui