Impossibility of Synchronous Byzantine Agreement
Foundations of Blockchain
Suyash Bagad
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Intuition
- Say we have processes \(A, B, C\) and \(B\) is Byzantine.
- \(B\) tells \(A\) that \(C\) is byzantine and \(C\) that \(A\) is byzantine
- From an honest \(C\)'s point of view, both \(A,B\) are telling the same
- Disallows consensus
- Ideas for Proof
- Indistinguishability - processes cannot tell the difference in two worlds
- Hybridization - build intermediate worlds between the two contradicting worlds
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{I}\):
\(C'\)
\(B\)
\(A\)
\(C\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{I}\):
\(C'\)
\(B\)
\(A\)
\(C\)
\(A'\)
\(B'\)
\(1\)
\(1\)
\(1\)
\(0\)
\(0\)
\(0\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{I}\):
\(C'\)
\(B\)
\(A\)
\(C\)
\(A'\)
\(B'\)
- \(C\) frames \(A\) as if \(A\) starts from \(0\)
- Similarly, \(C\) frames \(B\)
- Since validity must hold, \(A,B\) proceed to decide \(1\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{II}\)
\(A'\)
\(B\)
\(C\)
\(A\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{II}\)
\(A'\)
\(B\)
\(C\)
\(A\)
\(B'\)
\(C'\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{II}\)
\(A'\)
\(A\)
- \(A\) is byzantine
- \(A\) frames \(B,C\) similar to the world \(\text{I}\)
- \(B,C\) proceed to decide \(0\)
\(B\)
\(C\)
\(B'\)
\(C'\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{III}\)
\(B'\)
\(A\)
\(C\)
\(B\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{III}\)
\(B'\)
\(B\)
\(C'\)
\(A'\)
\(A\)
\(C\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Consider world \(\text{III}\)
\(B'\)
\(B\)
- \(B\) is byzantine,
- \(A,B,C\) starts with \(1,1,0\) respectively
- \(A,C\) output \(1\) and \(0\) respectively. Why?
\(C'\)
\(A'\)
\(A\)
\(C\)
Impossibility of Synchronous BA
- There is no consensus algorithm for \(n=3\) processes out of which \(f=1\) process is byzantine in a synchronous setting.
- Proof. Compare with world \(\text{I}\)
\(C'\)
\(B\)
\(A\)
\(C\)
\(A'\)
\(B'\)
\(B'\)
\(B\)
\(C'\)
\(A'\)
World \(\text{I}\)
World \(\text{III}\)
- Validity in worlds \(\text{I,II} \ \implies\) agreement violation in world \(\text{III}\)
\(A\)
\(C\)
Closing Notes
- Proof for Byzantine Broadcast for \(f < \frac{n}{3}\) in synchronous systems is similar in flavour
- In fact, if we can achieve broadcast and \(f < \frac{n}{2}\), then we can achieve Byzantine agreement
- Other way round is also true for any \(f < n\)
- To sum up, \(\text{BB} \Longleftrightarrow \text{BA}\) (to be discussed in detail in the next talk)
- References
- M. Fischer, N. Lynch, and M. Merritt. 1985. "Easy impossibility proofs for distributed consensus problems". In PODC '85. ACM, NY, USA, 59–70. DOI:https://doi.org/10.1145/323596.323602
- K. Nayak and I. Abraham. 2019. "Byzantine Agreement is Impossible for \(n\le 3f\) if the Adversary can Simulate", Decentralized Thoughts Blog, Online: link
Impossibility of Synchronous Byzantine Agreement
By Suyash Bagad
Impossibility of Synchronous Byzantine Agreement
Short, interactive presentation about impossibility of consensus for f >= n/3 in synchronous byzantine agreement.
- 70