Proof of Byzantine Fault Tolerance
Mathematics of Hashgraph
Assumptions
Assumptions
Assumptions
Assumptions
Definitions
Definitions
Definitions
Definitions
Lemma 1: All members have consistent hashgraphs.
Lemma 1: All members have consistent hashgraphs.
Definition:
Two hashgraphs A and B are consistent if for any event x in A and B, both contain the same set of ancestors for x (with the same edges between those ancestors).
Lemma 1: All members have consistent hashgraphs.
Proof:
x
Hashgraph A
Hashgraph B
Lemma 1: All members have consistent hashgraphs.
Proof:
x
y’
z’
y’’
z’’
Hashgraph A
Hashgraph B
Lemma 1: All members have consistent hashgraphs.
Proof:
x
y
z
Hashgraph A
Hashgraph B
Lemma 2 (Strongly Seeing Lemma)
Lemma 2 (Strongly Seeing Lemma)
Definition:
An event x can strongly see y if
S
Lemma 2 (Strongly Seeing Lemma)
If the pair of events (x, y) is a fork and x is strongly seen by v in hashgraph A, then y will not be strongly seen by any event in any hashgraph B that is consistent with A.
Lemma 2 (Strongly Seeing Lemma)
If the pair of events (x, y) is a fork and x is strongly seen by v in hashgraph A, then y will not be strongly seen by any event in any hashgraph B that is consistent with A.
S
S
A
B
x
y
v
w
A, B
consistent
Lemma 2 (Strongly Seeing Lemma)
Proof:
Assume, there exists a hashgraph B that is consistent with A, such that
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
Part of the members, created events in SA:
Lemma 2 (Strongly Seeing Lemma)
Proof:
Part of the members, created events in SB:
Lemma 2 (Strongly Seeing Lemma)
Proof:
Part of the members, created events in both:
Lemma 2 (Strongly Seeing Lemma)
Proof:
At least one honest member created events here!
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
Proof:
S
S
A
B
x
y
v
w
Lemma 2 (Strongly Seeing Lemma)
If the pair of events (x, y) is a fork and x is strongly seen by v in hashgraph A, then y will not be strongly seen by any event in any hashgraph B that is consistent with A.
S
S
A
B
x
y
v
w
A, B
consistent
Summary so far and further implications
Summary so far and further implications
Implications:
Byzantine Fault Tolerance Theorem
Each event x created by an honest member will eventually be assigned a consensus position in the total order of events, with probability 1.
Demo
The Coq Proof Assistant
Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs.
Any Questions?
Thank you for your attention!
Sources
Contact Details