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

f < \frac{n}{2}

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.

f < \frac{n}{3}

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:
  1. If the transmitter is correct, all the correct processes decide on its value
  2. 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

  1. 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
  2. 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.

  • 66