Foundations of Blockchain
Suyash Bagad
consensus
message-relaying
asynchronous
crashing
\((p,m)\)
consensus
message-relaying
asynchronous
crashing
\((p,m)\)
consensus
message-relaying
asynchronous
crashing
\(p\)
\(m\)
consensus
message-relaying
asynchronous
crashing
\(p\)
\((p,m)\)
\(\perp\)
consensus
message-relaying
asynchronous
crashing
\(p\)
\((p,m)\)
\(\perp\)
deterministic
\(i_1, o_1\)
\(i_2, o_2\)
\(i_3, o_3\)
\(i_4, o_4\)
\(i_5, o_5\)
\(i_6, o_6\)
\(M\)
\((p_3, m)\)
\(C\)
\(i_1, o_1\)
\(i_2, o_2\)
\(i_3, o_3\)
\(i_4, o_4\)
\(i_5, o_5\)
\(i_6, o_6\)
\(M\)
\(m\)
\(C\)
\(i_1, o_1\)
\(i_2, o_2\)
\(i_3, o_3^{\prime}\)
\(i_4, o_4\)
\(i_5, o_5\)
\(i_6, o_6\)
\(M\)
\(m\)
\(C\)
\(i_1, o_1\)
\(i_2, o_2\)
\(i_3, o_3^{\prime}\)
\(i_4, o_4\)
\(i_5, o_5\)
\(i_6, o_6\)
\(M\)
\(C\)
\((p_1,m_1),\)
\((p_4,m_4)\)
\(\texttt{send}\big\{\)
\(\big\}\)
\(i_1, o_1\)
\(i_2, o_2\)
\(i_3, o_3^{\prime}\)
\(i_4, o_4\)
\(i_5, o_5\)
\(i_6, o_6\)
\(M\)
\(C'\)
\((p_1,m_1),\)
\((p_4,m_4)\)
\(C\)
\(C\)
\(C_1\)
\(C_2\)
\(C_3\)
\(\sigma_1\)
\(\sigma_2\)
\(\sigma_2\)
\(\sigma_1\)
\(C\)
\(C_1\)
\(C_M\)
\(C_2\)
\(\sigma_1\)
\(\sigma_M\)
\(\sigma_2\)
\(o_p = 0\)
\(\vdots\)
\(o_p = 0\)
\(o_p = 0\)
\(o_p = 0\)
\(C\)
\(C_1\)
\(\sigma_1\)
\(C_2\)
\(\sigma_2\)
\(C_M\)
\(\sigma_M\)
\(\vdots\)
\(o_p = 0\)
\(o_p = 1\)
\(o_p = 1\)
\(0\)-valent
Bivalent/Undecided
\(\rightarrow\) Suppose not. By validity, all initial configurations must be \(0\)-valent or \(1\)-valent.
\(p_1\)
\(p_2\)
\(p_3\)
\(p_4\)
\(p_5\)
\(p_6\)
\(0\)
\(0\)
\(0\)
\(0\)
\(0\)
\(0\)
\(C_0\)
\(0\)
\(C_1\)
\(1\)
\(0\)
\(0\)
\(0\)
\(0\)
\(1\)
\(0\)
\(0\)
\(C_2\)
\(0\)
\(0\)
\(0\)
\(1\)
\(0\)
\(0\)
\(0\)
\(C_i\)
\(0\)
\(1\)
\(0\)
\(1\)
\(0\)
\(1\)
\(0\)
\(C_{i+1}\)
\(0\)
\(1\)
\(0\)
\(1\)
\(1\)
\(0\)
\(\vdots\)
\(\vdots\)
\(\vdots\)
\(\vdots\)
\(\vdots\)
\(\vdots\)
Contradiction!
\(1\)
\(\rightarrow\) We'll prove this too by contraction.
\(C\)
\(\sigma_1\)
\(C_1\)
\(C_2\)
\(\sigma_2\)
\(C_i\)
\(\sigma_i\)
\(\vdots\)
\(\vdots\)
\(C_{M}\)
\(\sigma_{M}\)
\(D_1\)
\(\mathbb{C}\)
\(D_2\)
\(D_i\)
\(D_{M}\)
\(e\)
\(e\)
\(e\)
\(e\)
\(\vdots\)
\(\vdots\)
\(\mathbb{D}\)
\(C_i\)
\(D_i\)
\(C\)
\(\sigma(\bar{e})\)
\(E_0\)
\(D_0\)
\(e\)
Assume \(\mathbb{D}\) has no bivalent configurations, so it must contain both \(0\)-valent and \(1\)-valent configurations
\(\rightarrow\)
\(D_0\)
\(E_0\)
\(\sigma(\bar{e})\)
\(e\)
\(0\)
\(C\) is bivalent \(\implies \exists E_0, E_1 \) reachable from \(C\) which is \(0,1\)-valent resp.
\(\mathbb{C}\)
\(0\)
\(\mathbb{D}\)
\(\mathbb{D}\)
\(0\)
\(0\)
\(D_0 \in \mathbb{D}\) is \(0\)-valent!
Similarly, we can show that \(\exists D_1 \in \mathbb{D}\) is \(1\)-valent!
Consider neighbours \(C_0, C_1 \in \mathbb{C}\) s.t. \(C_1 = e'(C_0), \ e' = (p',m')\)
\(\rightarrow\)
\(C\)
\(\sigma(\bar{e})\)
\(C_0\)
\(C_{1}\)
\(D_0\)
\(D_{1}\)
\(e\)
\(e\)
\(e'\)
\(\mathbb{C}\)
\(\mathbb{D}\)
Let \(D_0, D_1 \in \mathbb{D}\) be \(0,1\)-valent resp.
Case I: \(p' \neq p\)
\(0\)
\(1\)
\(e'\)
Consider neighbours \(C_0, C_1 \in \mathbb{C}\) s.t. \(C_1 = e'(C_0), \ e' = (p',m')\)
\(\rightarrow\)
\(C\)
\(\sigma(\bar{e})\)
\(C_0\)
\(C_{1}\)
\(D_0\)
\(D_{1}\)
\(e\)
\(e\)
\(e'\)
\(\mathbb{C}\)
\(\mathbb{D}\)
Let \(D_0, D_1 \in \mathbb{D}\) be \(0,1\)-valent resp.
Case II: \(p' = p\)
\(0\)
\(1\)
\(R(\bar{p})\)
\(A\)
\(E_0\)
\(E_1\)
\(R(\bar{p})\)
\(R(\bar{p})\)
\(e\)
\(e,e'\)
\(0\)
\(1\)
deterministic
asynchronous
one
crashing