Asynchronous Byazantine Broadcast
Foundations of Blockchain
Suyash Bagad
#2.1
Recall
- FLP Impossibility
No deterministic protocol solves consensus in a message-relaying asynchronous system in which at most one process may fail by crashing
deterministic
asynchronous
one
crashing
- Circumventing FLP
probabilistic
\(f\)
crashing
asynchronous
Protocols with probabilistic termination can solve consensus in a message-relaying asynchronous system in which at most \(f\) process fail by crashing s.t.
probabilistic
\(f\)
byzantine
asynchronous
Protocols with probabilistic termination can solve consensus in a message-relaying asynchronous system in which at most \(f\) process are byzantine s.t.
Asynchronous Byazantine Broadcast
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
Broadcast
asynchronous
malicious
- Unbounded delay in processing and delivering messages
- Undetectable faulty process
- Agreement
- Probabilistic termination
- Validity
- Byzantine failures
\((p,m)\)
- \(\texttt{send}(e), \ e=(p,m)\)
Asynchronous Byazantine Broadcast
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
Broadcast
asynchronous
- Unbounded delay in processing and delivering messages
- Undetectable faulty process
- Agreement
- Probabilistic termination
- Validity
- Byzantine failures
\((p,m)\)
- \(\texttt{send}(e), \ e=(p,m)\)
- \(\texttt{receive}(p)\)
malicious
Asynchronous Byazantine Broadcast
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
Broadcast
asynchronous
- Unbounded delay in processing and delivering messages
- Undetectable faulty process
- Agreement
- Probabilistic termination
- Validity
- Byzantine failures
\(p\)
- \(\texttt{send}(e), \ e=(p,m)\)
- \(\texttt{receive}(p)\)
\(m\)
malicious
Asynchronous Byazantine Broadcast
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
Broadcast
asynchronous
- Unbounded delay in processing and delivering messages
- Undetectable faulty process
- Agreement
- Probabilistic termination
- Validity
- Byzantine failures
\((p,m)\)
- \(\texttt{send}(e), \ e=(p,m)\)
- \(\texttt{receive}(p)\)
\(\perp\)
malicious
Asynchronous Byazantine Broadcast
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
Broadcast
asynchronous
- Unbounded delay in processing and delivering messages
- Undetectable faulty process
- Agreement
- Probabilistic termination
- Validity
- Byzantine failures
\((p,m)\)
- \(\texttt{send}(e), \ e=(p,m)\)
- \(\texttt{receive}(p)\)
\(\perp\)
malicious
Consensus in Async. BB
- Desginate one of the processes as being the transmitter that sends
a value to all the rest of the processes.
transmitter
- Consensus is defines as:
- If the transmitter is correct, all the correct processes decide on its value
- If the transmitter is malicious, then either no correct process will decide or they will all decide on the same value
\(v\)
\(v\)
\(v\)
\(v\)
\(v\)
Agreed on \(v\)
\(v_1\)
\(v_2\)
\(v_3\)
\(v_4\)
\(v_5\)
No decision
Agree on \(v'\)
The Proof
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
- Proof. Consider the case \(n=10,f=4\) for simplicity
The Proof
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
- Groups of at most \(f\) processes in each
\(A\)
\(C\)
\(B\)
The Proof
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
- Case \(\text{I}\): All processes in \(C\) are malicious
\(A\)
\(C\)
\(B\)
\(0\)
\(0\)
\(0\)
\(0\)
- Honest \(T\) sends \(0\) to all the processes
- No process in \(C\) responds
- Processes in \(A,B\) decide \(0\) in time \(t\)
Agreed on \(0\)
The Proof
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
\(A\)
\(C\)
\(B\)
- Case \(\text{II}\): \(T\) is malicious
- \(T\) sends \(0\) to \(C\) and \(1\) to the rest
\(0\)
\(1\)
\(1\)
\(1\)
- Suppose processes in \(C\) delayed by \(t\)
- \(A,B\)'s view same as Case \(\text{I} \implies\) decide \(1\)
Agreed on \(1\)
The Proof
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
\(A\)
\(C\)
\(B\)
\(1\)
- Case \(\text{III}\): Again \(T\) is malicious
- \(T\) sends \(0\) to \(B\) and 1 to the rest
- Suppose messages in \(B\) delayed by \(t'\)
- \(A,C\) will proceed to decide \(1\)
\(1\)
\(1\)
\(0\)
Agreed on \(1\)
The Proof
- It is impossible to achieve asynchronous Byzantine Broadcast with
\(f \ge \frac{n}{3},\) where out of n processes, at most f are malicious processes.
\(A\)
\(C\)
\(B\)
- Case \(\text{IV}\): All processes in \(A\) malicious
- \(T\) sends \(1,0\) to \(C,B\) resp.
- Messages from \(C,B\) delayed by \(\text{max}\{t,t'\}\)
- \(C,B\) individually decide \(1,0\).
Agreement Violated!
\(0\)
\(1\)
Coming Soon...
- In the upcoming talk, we will talk about lower bound for synchronous Byzantine Agreement
- We will also look at the similarities/differences between BA and BB which will drive our way forward
- Next would be Authenticated Byzantine Agreement...
- References
- G. Bracha and S. Toueg, “Asynchronous consensus and broadcast protocols,” J. ACM, vol. 32, no. 4, pp. 824–840, Oct. 1985. [Online]. Available: https://doi.org/10.1145/4221.214134
- L. Lamport, R. Shostak, and M. Pease, “The byzantine generals problem,” ACM Trans. Program. Lang. Syst., vol. 4, no. 3, pp. 382–401, Jul. 1982. [Online]. Available: https://doi.org/10.1145/357172.357176
Asynchronous Byzantine Broadcast
By Suyash Bagad
Asynchronous Byzantine Broadcast
Short, interactive presentation about upper bounds on the numbers of faulty processes in asynchronous Byzantine Broadcast.
- 54