The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the...
Transcript of The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the...
![Page 1: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/1.jpg)
The Byzantine Generals Problem
- Kushal Babel
![Page 2: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/2.jpg)
Authors
● Leslie Lamport○ Turing Award○ Paxos, Lamport Clocks,
LaTex...● Robert Shostak
○ PhD at Harvard○ Entrepreneur
● Marshall Pease
![Page 3: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/3.jpg)
Reinvented & Re-branded many times...1978Lamport claims to have first discovered Byzantine faults
The Implementation of Reliable Distributed Multiprocess System
1978Shostak et al. working on SIFT at SRI formulate the problem and give non-cryptographic solution
1980Lamport adds cryptographic solution
Reaching Agreement in the presence of Faults
1982Re-branded to The Byzantine Generals Problem
![Page 4: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/4.jpg)
"I have long felt that, because it was posed as a cute problem about philosophers seated around a table, Dijkstra’s dining philosopher’s problem received much more attention than it deserves…...The popularity of the dining philosophers problem taught me that the best way to attract attention to a problem is to present it in terms of a story"
- Lamport https://www.microsoft.com/en-us/research/publication/byzantine-generals-problem/ (Recipient of Dijkstra Prize)
Two Generals Problem Reaching Agreement in the Presence of Faults
The Byzantine Generals Problem
![Page 5: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/5.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 6: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/6.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 7: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/7.jpg)
Consensus
● Every process must agree on the same value● The value should be proposed by some processor i.e. consensus algorithm can't
invent a new value
![Page 8: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/8.jpg)
BGP Formulation
Success if all attack or all retreat (common plan of action)
![Page 9: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/9.jpg)
Byzantine behaviour
No general a priori knows if a counterpart is loyal or traitor
Traitor tries to prevent agreement between loyal generals. Can lie or not respond.
Not fail-stop, neither fail-crash but byzantine.
![Page 10: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/10.jpg)
Assumptions
● Absence of message can be detected (Synchronous Communication)● Every message that is sent is delivered correctly● Receiver of a message knows who sent it
![Page 11: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/11.jpg)
Objectives
1. All loyal generals decide upon the same plan of action2. A small number of traitors cannot cause the loyal generals to adopt a bad plan
1. Every loyal general must obtain the same information v(1), ….., v(n) 2. If the ith general is loyal, then the value that he sends must be used by every loyal
general as the value of v(i)
1. Any two loyal generals use the same value of v(i)2. If the ith general is loyal, then the value that he sends must be used by every loyal
general as the value of v(i)
![Page 12: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/12.jpg)
Byzantine Generals Problem
A commanding general must send an order to his n-1 lieutenant generals such that:
IC1 : All loyal lieutenant generals obey the same order
IC2 : If the commanding general is loyal, then every loyal lieutenant obeys the order he sends
Remark : IC2 implies IC1 if the commanding general is loyal
![Page 13: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/13.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 14: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/14.jpg)
No solution with fewer than 3m+1 generals can cope with m traitors
![Page 15: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/15.jpg)
One Traitor
"attack"
he said "retreat"
"attack""attack"
he said "retreat"
"retreat"
![Page 16: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/16.jpg)
One Traitor
"attack"
he said "retreat"
"attack""attack"
he said "retreat"
"retreat"
![Page 17: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/17.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 18: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/18.jpg)
Formal Formulation
Setting: Communication Graph G with bidirectional edges and each node running a certain type of agreement device. Device is undefined primitive.
Instantiation: Supply a boolean input (1 or 0) to each device. This results in certain boolean output (1 or 0) on each device and certain behaviour of each edge.
Locality Axiom: The output of every device in any subgraph is determined only by the type of device, the input to the device, and the behaviour of incoming edges from the remainder of the graph.
Fault Axiom: Any behavior exhibited by a device over different edges in different instantiations can be exhibited by a faulty device in a single instantiation.
![Page 19: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/19.jpg)
Locality
i1
i?
i?
i2
o1
o2
b1
b2 b?
U Z
V
W X
Y
![Page 20: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/20.jpg)
Locality
b1
b2
U Z
V
W X
Y
b3
b4
b2
Xb3
![Page 21: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/21.jpg)
Byzantine Agreement (n,m)
For a graph G with n devices, out of which m are faulty, byzantine agreement is reached if the following two conditions are satisfied:
Agreement: Every correct device chooses the same output
Validity: If all the correct nodes have the same input, that input must be the output chosen.
Sound familiar?
![Page 22: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/22.jpg)
Byzantine Agreement (n,m)
Byzantine Agreement can't be reached if n <= 3m
![Page 23: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/23.jpg)
m=1, Proof by Contradiction
A C
B
C A
B0
0
0
1
1
1
![Page 24: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/24.jpg)
m=1, Proof by Contradiction
A C
B
C A
B0
0
0
1
1
1
A
B C
00
0 0
0
0
![Page 25: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/25.jpg)
m=1, Proof by Contradiction
A C
B
C A
B0
0
0
1
1
1
A
B C
0
1
0
00
00
![Page 26: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/26.jpg)
m=1, Proof by Contradiction
A C
B
C A
B0
0
0
1
1
1
A
B C
1
1
0
0
1
10
![Page 27: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/27.jpg)
m, Proof by Contradiction
A C
B
C A
B0
0
0
1
1
1
A
B C
00
0 0
0
0
![Page 28: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/28.jpg)
n > 3m is necessary condition for consensus
Is it sufficient as well?
![Page 29: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/29.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 30: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/30.jpg)
Assumptions
● Absence of message can be detected● Every message that is sent is delivered correctly● Receiver of a message knows who sent it
![Page 31: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/31.jpg)
Recursive Algorithm
OM(0)
1. Commander sends his value to every lieutenant2. Each lieutenant uses the received value or "retreat" if no value received
OM(m)
1. Commander sends his value to every lieutenant2. Everyone runs OM(m-1) and acts as the commander to send the value received in
step 1 to all the other lieutenant3. Each lieutenant uses the majority value out of the values received.
Intuition : On receiving every message, tell others that you have received that message
![Page 32: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/32.jpg)
OM(1) for n=4
vvv
xv
OM(m)
1. Commander sends his value to every lieutenant2. Everyone runs OM(m-1) and acts as the commander to send the value received in step 1 to all the other
lieutenant3. Each lieutenant uses the majority value out of the values received.
![Page 33: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/33.jpg)
OM(1) for n=4
zyx
zx
yy
x
z
OM(m)
1. Commander sends his value to every lieutenant
2. Everyone runs OM(m-1) and acts as the commander to send the value received in step 1 to all the other lieutenant
3. Each lieutenant uses the majority value out of the values received.
![Page 34: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/34.jpg)
Number of messages
= (n-1)*(n-2)*....(n-m-1)
= O(nm)
Exponential in number of traitors!
![Page 35: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/35.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 36: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/36.jpg)
Authors
● Miguel Castro○ MSR
● Barbara Liskov○ MIT○ Turing Award - OOP○ Andrew's Advisor
![Page 37: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/37.jpg)
PBFT
● 3-phase commit : Pre-Prepare, Prepare, Commit
● Only 3% slower than non-replicated implementation of NFS
● Requires 3n+1 nodes to cope with n byzantine failures
● Semi-synchronous
![Page 38: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/38.jpg)
Safety
● One replica acts as commander for a particular view
● Commander sends a value v to each lieutenant
● Each lieutenant waits for atleast 2m + 1 messages of v from different lieutenants
before commiting value v
● Clients need to get m + 1 replies
● Normal-operation and view change works with asynchronous communication
![Page 39: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/39.jpg)
Liveness
● Use local timer to check for timeouts
● Every replica gets to become leader in round robin fashion, called view change
● Synchronous view change if timeout occurs
![Page 40: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/40.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 41: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/41.jpg)
n >= m+1 is sufficient condition to cope with m traitors
![Page 42: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/42.jpg)
Assumptions
● Synchronous Communication● Absence of message can be detected● Every message that is sent is delivered correctly● Receiver of a message knows who sent it● A loyal general's signature cannot be forged, and any alteration of the contents of
his signed message can be detected● Anyone can verify the authenticity of a general's signature
![Page 43: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/43.jpg)
Algorithm
SM(m)
Initialise Vi = φ for each i
1. Commander signs and sends his value to every lieutenant2. Every lieutenant i : Insert the value in Vi if not present. If chain of signatures has
length < m, sign the message and forward to every lieutenant who hasn't signed this value already
3. Choose the majority value from Vi
Number of messages : nPm+1
![Page 44: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/44.jpg)
Notation
v : i denotes a value v signed by general i
v : i : j : k denotes i signed v, and the result is signed by j, whose result is signed by k
: is left-associative
![Page 45: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/45.jpg)
One Traitor
attack : A retreat : A
SM(m)
Initialise Vi = φ for each i
1. Commander signs and sends his value to every lieutenant2. Every lieutenant i : Insert the value in Vi if not present. If chain of signatures has length <= m, sign the message and forward to every
lieutenant who hasnt signed this value already3. Choose the majority value from Vi
A
CBretreat : A : C
attack : A : B
![Page 46: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/46.jpg)
General Case Proof
1. IC1 : All loyal lieutenant generals obey the same order
2. IC2 : If the commanding general is loyal, then every loyal lieutenant obeys the order he sends
Only non-trivial case is to prove IC1 when commander is traitor
Need to prove that if honest lieutenant i received v, then honest lieutenant j also received v
lieutenant i forwards v to lieutenant j, except when m+1 signatures are already present in which case some honest lieutenant in that chain must have forwarded it to lieutenant j
![Page 47: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/47.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 48: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/48.jpg)
Examine Assumptions
● Synchronous Communication -> Timeout ● Absence of message can be detected -> Timeout● Every message that is sent is delivered correctly● Receiver of a message knows who sent it● A loyal general's signature cannot be forged, and any alteration of the contents of
his signed message can be detected● Anyone can verify the authenticity of a general's signature
![Page 49: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/49.jpg)
Examine Assumptions
● Synchronous Communication -> Timeout ● Absence of message can be detected -> Timeout● Every message that is sent is delivered correctly -> Same as byzantine failure● Receiver of a message knows who sent it● A loyal general's signature cannot be forged, and any alteration of the contents of
his signed message can be detected● Anyone can verify the authenticity of a general's signature
![Page 50: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/50.jpg)
Examine Assumptions
● Synchronous Communication -> Timeout ● Absence of message can be detected -> Timeout● Every message that is sent is delivered correctly -> Same as byzantine failure● Receiver of a message knows who sent it -> Do not use a switching network● A loyal general's signature cannot be forged, and any alteration of the contents of
his signed message can be detected● Anyone can verify the authenticity of a general's signature
![Page 51: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/51.jpg)
Examine Assumptions
● Synchronous Communication -> Timeout ● Absence of message can be detected -> Timeout● Every message that is sent is delivered correctly -> Same as byzantine failure● Receiver of a message knows who sent it -> Do not use a switching network● A loyal general's signature cannot be forged, and any alteration of the contents of
his signed message can be detected -> Public Key Cryptography or HMAC● Anyone can verify the authenticity of a general's signature -> Public Key
Cryptography or HMAC
![Page 52: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/52.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 53: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/53.jpg)
Bitcoin Probabilistic Safety….
![Page 54: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/54.jpg)
Talk Overview
● Byzantine Generals Problem Formulation● Impossibility Result● Easy Impossibility Result● Oral Message Solution● Practical Byzantine Fault Tolerance● Signed Message Solution● Reliable Systems● Bitcoin● Conclusion
![Page 55: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/55.jpg)
Synchronous Semi-synchronous Asynchronous
Unsigned Messages n >= 3m + 1 Impossible
Signed Messages n >= m + 1 n >= 3m + 1 Impossible
Necessary & Sufficient number of nodes to cope up with m byzantine failures
![Page 56: The Byzantine Generals Problem - Cornell University...Two Generals Problem Reaching Agreement in the Presence of Faults The Byzantine Generals Problem Talk Overview Byzantine Generals](https://reader035.fdocuments.in/reader035/viewer/2022062223/5fdfa32fb17df816407d1e81/html5/thumbnails/56.jpg)
Questions?