SlideShare a Scribd company logo
1 of 17
Download to read offline
The Byzantine Generals Problems
LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEASE

!

Present by: Nguyen Thi Mai & Nguyen Van Luong
Motivation
A reliable computer system must be able to cope
with a failure of one or more of its components
A failed computer behaviour in this case:
Sending conflicting messages to different
parts of the system
Not sending some of the messages
Motivation
All generals must agree
upon a common battle
plan

Communicate only be
messenger

Some of generals are

traitors who try to confuse
the others
Outline
Motivation
Oral Messages algorithm
Signed Messages algorithm
Conclusion
Formally
1. All loyal lieutenants obey the same order
2. If the commander is loyal, then every loyal
lieutenant obeys the order he sends
Oral Message algorithm
Assumptions:
Every message that is sent is delivered
correctly
A receiver of a message knows who sent it
The absence of a message can be detected
Oral Message algorithm

A recursive definition, with a base case for m=0, and a recursive step for m > 0:

Algorithm OM(0) :
1.The commander sends his value to every lieutenant.
2.Each lieutenant uses the value he receives from the commander.

Algorithm OM(m), m > 0
1.The commander sends his value to each lieutenant.
2.For each i, let vi be the value lieutenant i receives from the commander. Lieutenant
i acts as the commander in Algorithm OM(m-1) to send the value vi to each of the
n-2 other lieutenants.
3.For each i, and each j ≠ i, let vi be the value lieutenant i received from lieutenant j in
step 2 (using Algorithm OM(m-1)). Lieutenant i uses the value Majority(v1, v2, …
vn).
Oral Message algorithm
Lemma 1:

For any m and k, Algorithm OM(m) satisfies (2)
if there are more than 2k+m generals and at
most k traitors
Theorem 1:
For any m, algorithm OM(m) satisfies conditions
1 and 2 if there are more than 3m generals, and
at most m traitors.
Oral Message algorithm
Example: Bad Lieutenant

Scenario: m=1, n=4, traitor = L3
OM(1):

C

A

A

A
L2

L1

L3

C
OM(0):???

L1

L2

A
A

Decision??

R

L3

R
L1 = m (A, A, R); L2 = m (A, A, R); Both attack!
Oral Message algorithm
Example: Bad Commander
Scenario: m=1, n=4, traitor = C
OM(1):

C

A

R
L2

L1

OM(0):???

A
L3

A
L1

R
A

L2

A
R

L3

A

Decision?? L1=m(A, R, A); L2=m(A, R, A); L3=m(A,R,A); Attack!
Signed Message algorithm
More assumptions:
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
=> There exists an algorithm that copes with m traitors
for any number of generals (n≥m+2)
Signed Message algorithm
1. Commander signs v and sends to all as (v:0)
2. Each lieutenant i:
	

A) If receive (v:0) and no other order

	

	 	

1) Vi = v

	

	 	

2) send (V:0:i) to all

	

B) If receive (v:0:j:...:k) and v not in Vi

	

	 	

1) Add v to Vi

	

	 	

2) if (k<m) send (v:0:j:...:k:i) to all not in j...k

3. When no more msgs, obey order of choice(Vi)
Signed Message algorithm
choice(V):

•
•

If V={v} then choice(V)= v
choice(Empty)=Default
Signed Message algorithm
SM(1) Example: Bad Commander
Scenario: m=1, n=m+2=3, bad commander
A:0

C

R:0
L2

L1
What next?

A:0:L1
L2

L1
R:0:L2

V1={A,R} V2={R,A}

Both L1 and L2 can trust orders are from C

Both apply same decision to {A,R}
Signed Message algorithm
SM(2): Bad Commander+
Scenario: m=2, n=m+2=4, bad commander and L3
A:0
L1
A:0:L1
L1 A:0:L2

C
A:0
L2

L2 A:0:L3 L3
R:0:L3

V1 = V2 = {A,R} ==> Same decision

x
L3

Goal? L1 and L2
must make same
decision

R:0:L3:L1
L2
L1
Conclusion

Problem: T implement a fault-tolerant service with coordinated replicas, must
o
agree on inputs

Byzantine failures make agreement challenging: Produce arbitrary output, can’t
detect, collude

User different agreement protocol depending on assumptions:
Oral messages:
Need 3f+1 nodes to tolerate f failures
Difficult because traitors can lie about what others said
Signed messages:
Need f+2 nodes
Easier because traitors can only lie about other traitors
“Question???”

More Related Content

What's hot

Network Security and Cryptography
Network Security and CryptographyNetwork Security and Cryptography
Network Security and CryptographyAdam Reagan
 
Message Authentication Code & HMAC
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMACKrishna Gehlot
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithmBushra M
 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSADr.Florence Dayana
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network securitybabak danyal
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correctionSiddique Ibrahim
 
Information and data security cryptography and network security
Information and data security cryptography and network securityInformation and data security cryptography and network security
Information and data security cryptography and network securityMazin Alwaaly
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocolsFabMinds
 
Secure Hash Algorithm (SHA-512)
Secure Hash Algorithm (SHA-512)Secure Hash Algorithm (SHA-512)
Secure Hash Algorithm (SHA-512)DUET
 
NLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological ParsingNLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological ParsingHemantha Kulathilake
 
Distance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmDistance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmMOHIT AGARWAL
 
DES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationDES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationsarhadisoftengg
 
Principles of public key cryptography and its Uses
Principles of  public key cryptography and its UsesPrinciples of  public key cryptography and its Uses
Principles of public key cryptography and its UsesMohsin Ali
 
Routing and routing algorithms
Routing and routing algorithmsRouting and routing algorithms
Routing and routing algorithmsBhatt Aadil
 

What's hot (20)

Network Security and Cryptography
Network Security and CryptographyNetwork Security and Cryptography
Network Security and Cryptography
 
Message Authentication Code & HMAC
Message Authentication Code & HMACMessage Authentication Code & HMAC
Message Authentication Code & HMAC
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
 
CRYPTOGRAPHY & NETWORK SECURITY
CRYPTOGRAPHY & NETWORK SECURITYCRYPTOGRAPHY & NETWORK SECURITY
CRYPTOGRAPHY & NETWORK SECURITY
 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSA
 
Application Layer
Application Layer Application Layer
Application Layer
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Error detection and correction
Error detection and correctionError detection and correction
Error detection and correction
 
TCP and UDP
TCP and UDP TCP and UDP
TCP and UDP
 
Information and data security cryptography and network security
Information and data security cryptography and network securityInformation and data security cryptography and network security
Information and data security cryptography and network security
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
Secure Hash Algorithm (SHA-512)
Secure Hash Algorithm (SHA-512)Secure Hash Algorithm (SHA-512)
Secure Hash Algorithm (SHA-512)
 
Message digest 5
Message digest 5Message digest 5
Message digest 5
 
NLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological ParsingNLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological Parsing
 
Distance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmDistance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing Algorithm
 
Error control
Error controlError control
Error control
 
Chapter 5 Syntax Directed Translation
Chapter 5   Syntax Directed TranslationChapter 5   Syntax Directed Translation
Chapter 5 Syntax Directed Translation
 
DES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentationDES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentation
 
Principles of public key cryptography and its Uses
Principles of  public key cryptography and its UsesPrinciples of  public key cryptography and its Uses
Principles of public key cryptography and its Uses
 
Routing and routing algorithms
Routing and routing algorithmsRouting and routing algorithms
Routing and routing algorithms
 

Viewers also liked

Fault Tolerance (Distributed computing)
Fault Tolerance (Distributed computing)Fault Tolerance (Distributed computing)
Fault Tolerance (Distributed computing)Sri Prasanna
 
Byzantine General Problem - Siddharth Chaudhry
Byzantine General Problem - Siddharth ChaudhryByzantine General Problem - Siddharth Chaudhry
Byzantine General Problem - Siddharth ChaudhrySiddharth Chaudhry
 
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocolsMayank Jain
 
Blockchain Consensus Protocols
Blockchain Consensus ProtocolsBlockchain Consensus Protocols
Blockchain Consensus ProtocolsMelanie Swan
 
Byzantine architecture ppt
Byzantine architecture pptByzantine architecture ppt
Byzantine architecture pptDespoina Potnia
 

Viewers also liked (6)

Fault Tolerance (Distributed computing)
Fault Tolerance (Distributed computing)Fault Tolerance (Distributed computing)
Fault Tolerance (Distributed computing)
 
Byzantine General Problem - Siddharth Chaudhry
Byzantine General Problem - Siddharth ChaudhryByzantine General Problem - Siddharth Chaudhry
Byzantine General Problem - Siddharth Chaudhry
 
Byzantine Generals
Byzantine GeneralsByzantine Generals
Byzantine Generals
 
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocols
 
Blockchain Consensus Protocols
Blockchain Consensus ProtocolsBlockchain Consensus Protocols
Blockchain Consensus Protocols
 
Byzantine architecture ppt
Byzantine architecture pptByzantine architecture ppt
Byzantine architecture ppt
 

More from NGUYEN VAN LUONG

Reducing energy consumption of computing
Reducing energy consumption of computing Reducing energy consumption of computing
Reducing energy consumption of computing NGUYEN VAN LUONG
 
Programming android game using and engine
Programming android game using and engineProgramming android game using and engine
Programming android game using and engineNGUYEN VAN LUONG
 
Vietnamese math chess game - Design pattern study
Vietnamese math chess game - Design pattern studyVietnamese math chess game - Design pattern study
Vietnamese math chess game - Design pattern studyNGUYEN VAN LUONG
 
Tan Le emotive - introduction
Tan Le   emotive - introductionTan Le   emotive - introduction
Tan Le emotive - introductionNGUYEN VAN LUONG
 
Ngo Bao Chau - introduction
Ngo Bao Chau  - introductionNgo Bao Chau  - introduction
Ngo Bao Chau - introductionNGUYEN VAN LUONG
 
Giai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tangGiai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tangNGUYEN VAN LUONG
 

More from NGUYEN VAN LUONG (9)

Reducing energy consumption of computing
Reducing energy consumption of computing Reducing energy consumption of computing
Reducing energy consumption of computing
 
Emotiv epoc introduction
Emotiv epoc introductionEmotiv epoc introduction
Emotiv epoc introduction
 
Open gl introduction
Open gl introductionOpen gl introduction
Open gl introduction
 
Programming android game using and engine
Programming android game using and engineProgramming android game using and engine
Programming android game using and engine
 
Vietnamese math chess game - Design pattern study
Vietnamese math chess game - Design pattern studyVietnamese math chess game - Design pattern study
Vietnamese math chess game - Design pattern study
 
Tan Le emotive - introduction
Tan Le   emotive - introductionTan Le   emotive - introduction
Tan Le emotive - introduction
 
Ngo Bao Chau - introduction
Ngo Bao Chau  - introductionNgo Bao Chau  - introduction
Ngo Bao Chau - introduction
 
Emotion detection
Emotion detectionEmotion detection
Emotion detection
 
Giai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tangGiai thuat di truyen giai bai toan mang quang chiu loi da tang
Giai thuat di truyen giai bai toan mang quang chiu loi da tang
 

Recently uploaded

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

The byzantine generals problem

  • 1. The Byzantine Generals Problems LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEASE ! Present by: Nguyen Thi Mai & Nguyen Van Luong
  • 2. Motivation A reliable computer system must be able to cope with a failure of one or more of its components A failed computer behaviour in this case: Sending conflicting messages to different parts of the system Not sending some of the messages
  • 3. Motivation All generals must agree upon a common battle plan Communicate only be messenger Some of generals are traitors who try to confuse the others
  • 5. Formally 1. All loyal lieutenants obey the same order 2. If the commander is loyal, then every loyal lieutenant obeys the order he sends
  • 6. Oral Message algorithm Assumptions: Every message that is sent is delivered correctly A receiver of a message knows who sent it The absence of a message can be detected
  • 7. Oral Message algorithm A recursive definition, with a base case for m=0, and a recursive step for m > 0: Algorithm OM(0) : 1.The commander sends his value to every lieutenant. 2.Each lieutenant uses the value he receives from the commander. Algorithm OM(m), m > 0 1.The commander sends his value to each lieutenant. 2.For each i, let vi be the value lieutenant i receives from the commander. Lieutenant i acts as the commander in Algorithm OM(m-1) to send the value vi to each of the n-2 other lieutenants. 3.For each i, and each j ≠ i, let vi be the value lieutenant i received from lieutenant j in step 2 (using Algorithm OM(m-1)). Lieutenant i uses the value Majority(v1, v2, … vn).
  • 8. Oral Message algorithm Lemma 1: For any m and k, Algorithm OM(m) satisfies (2) if there are more than 2k+m generals and at most k traitors Theorem 1: For any m, algorithm OM(m) satisfies conditions 1 and 2 if there are more than 3m generals, and at most m traitors.
  • 9. Oral Message algorithm Example: Bad Lieutenant Scenario: m=1, n=4, traitor = L3 OM(1): C A A A L2 L1 L3 C OM(0):??? L1 L2 A A Decision?? R L3 R L1 = m (A, A, R); L2 = m (A, A, R); Both attack!
  • 10. Oral Message algorithm Example: Bad Commander Scenario: m=1, n=4, traitor = C OM(1): C A R L2 L1 OM(0):??? A L3 A L1 R A L2 A R L3 A Decision?? L1=m(A, R, A); L2=m(A, R, A); L3=m(A,R,A); Attack!
  • 11. Signed Message algorithm More assumptions: 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 => There exists an algorithm that copes with m traitors for any number of generals (n≥m+2)
  • 12. Signed Message algorithm 1. Commander signs v and sends to all as (v:0) 2. Each lieutenant i: A) If receive (v:0) and no other order 1) Vi = v 2) send (V:0:i) to all B) If receive (v:0:j:...:k) and v not in Vi 1) Add v to Vi 2) if (k<m) send (v:0:j:...:k:i) to all not in j...k 3. When no more msgs, obey order of choice(Vi)
  • 13. Signed Message algorithm choice(V): • • If V={v} then choice(V)= v choice(Empty)=Default
  • 14. Signed Message algorithm SM(1) Example: Bad Commander Scenario: m=1, n=m+2=3, bad commander A:0 C R:0 L2 L1 What next? A:0:L1 L2 L1 R:0:L2 V1={A,R} V2={R,A} Both L1 and L2 can trust orders are from C Both apply same decision to {A,R}
  • 15. Signed Message algorithm SM(2): Bad Commander+ Scenario: m=2, n=m+2=4, bad commander and L3 A:0 L1 A:0:L1 L1 A:0:L2 C A:0 L2 L2 A:0:L3 L3 R:0:L3 V1 = V2 = {A,R} ==> Same decision x L3 Goal? L1 and L2 must make same decision R:0:L3:L1 L2 L1
  • 16. Conclusion Problem: T implement a fault-tolerant service with coordinated replicas, must o agree on inputs Byzantine failures make agreement challenging: Produce arbitrary output, can’t detect, collude User different agreement protocol depending on assumptions: Oral messages: Need 3f+1 nodes to tolerate f failures Difficult because traitors can lie about what others said Signed messages: Need f+2 nodes Easier because traitors can only lie about other traitors