Unlocking protocol
rphmeier opened this issue · comments
robert commented
If a proposer for round r is locked:
- it multicasts
RequestLockProof(r)
- good nodes then broadcast back their lock proof
- the proposer waits to receive 2f lock proofs (
Locked(r, Proof)
orNotLocked
messages ) - the proposer locks to the highest one
Locked(k, X)
and then broadcasts it with his proposal. Note that this cannot lead to a safety violation: if something has been accepted, then at least f + 1 good guys are locked to it. If f + 1 good guys are locked to something, nothing other than that thing can be threshold-prepared, and thus nobody honest can lock to anything different in the future. - honest nodes should also ignore lock proofs that don't come from the proposer