Another advantage of free choice (Extended Abstract)
Paper: Another advantage of free choice (Extended Abstract). Michael Ben-Or. 1983
- Byzantine faults
High level protocol idea
- Protocol proceeds in rounds
- Every round we check if we have \((n+t)/2+1\) messages for the same value.
- If we do, output it but continue
- Else, if there is a value that \(t+1\) nodes support use that for future rounds
- Else, set a random value
- If a node decides, all nodes will set the decided value in future, and therefore the remaining honest nodes will also eventually decide the same value
- The protocol guarantees termination if there is no initial consensus, since nodes will randomly choose values until they are at consensus.
Protocols
This paper presents a consensus protocol.
Async.
- Protocol in Theorem 1: Tolerates \(t
- Protocol in Theorem 2: Tolerates \(t
- Expected exponential running time
- Trick: Set \(t=O(\sqrt{n})\) to make the running time constant
- Protocol in Theorem 2: Tolerates \(t
Sync.
- Tolerates \(t=O(\sqrt{n})\) Byzantine faults
- Constant expected running time
Notes
- This paper points out that consensus is impossible for \(n \le 2t\).
- This paper also shows how a randomized algorithm can do better than the \(t+1\) round bound by Dolev and Reischuk.
References
Michael Ben-Or. 1983. “Another advantage of free choice (Extended Abstract).” https://dl.acm.org/doi/abs/10.1145/800221.806707.