1. 如果只有1个Proposer会有什么问题?
Q: Proposer宕机的话,整个服务不可用。
2. 那如果多Proposer和多Acceptor如何选定一个Value?
P1:一个Acceptor必须接受他收到的第一个提案
Q: 不同的Proposer分别提出不同的value
P1a:一个提案被选定需要半数以上的Acceptor
暗示:一个Acceptor必须能够接受不止一个提案!
提案=value已不满足,需要重新设计,提案=[提案编号+value]
P2:如果某个value为v的提案被chosen,那么每个编号更高的<b>被选定</b>的提案,value也必须是v
P2a:如果某个value为v的提案被chosen,那么每个编号更高的<b>被Acceptor接受</b>的提案,value也必须是v
对Acceptor接收的提案约束
P2b:如果某个value为v的提案被chosen,那么之后任何Proposer提出编号更高的提案value也必须是v
对Proposer提出提案的约束
Q如何保证? A-P2c
P2c:对于任意N和V,如果提案[N,V]被提出,那么存在一个半数以上的Acceptor集合S,满足以下2个条件中的一个:①S中的每个Acceptor没有接受过编号小于N的提案;②S中接受过的最大编号的提案value为V