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

Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented CommunicationDilum Bandara
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems Haitham Ahmed
 
Error Detection And Correction
Error Detection And CorrectionError Detection And Correction
Error Detection And CorrectionRenu Kewalramani
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architectureraksharao
 
Query Decomposition and data localization
Query Decomposition and data localization Query Decomposition and data localization
Query Decomposition and data localization Hafiz faiz
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical ClocksDilum Bandara
 
Mac protocols
Mac protocolsMac protocols
Mac protocolsjuno susi
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating SystemsDr Sandeep Kumar Poonia
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemorySHIKHA GAUTAM
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbmsDilouar Hossain
 
TCP over wireless slides
TCP over wireless slidesTCP over wireless slides
TCP over wireless slidesMahesh Rajawat
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to VirtualizationRahul Hada
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Samip jain
 

What's hot (20)

CRYPTOGRAPHY AND NETWORK SECURITY- E-Mail Security
CRYPTOGRAPHY AND NETWORK SECURITY- E-Mail SecurityCRYPTOGRAPHY AND NETWORK SECURITY- E-Mail Security
CRYPTOGRAPHY AND NETWORK SECURITY- E-Mail Security
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
 
Error Detection And Correction
Error Detection And CorrectionError Detection And Correction
Error Detection And Correction
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
 
Elgamal digital signature
Elgamal digital signatureElgamal digital signature
Elgamal digital signature
 
Query Decomposition and data localization
Query Decomposition and data localization Query Decomposition and data localization
Query Decomposition and data localization
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Mac protocols
Mac protocolsMac protocols
Mac protocols
 
8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems8. mutual exclusion in Distributed Operating Systems
8. mutual exclusion in Distributed Operating Systems
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
Mycin
MycinMycin
Mycin
 
Client server model
Client server modelClient server model
Client server model
 
Distance vector routing
Distance vector routingDistance vector routing
Distance vector routing
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbms
 
Gsm architecture
Gsm architectureGsm architecture
Gsm architecture
 
Elgamal &amp; schnorr digital signature scheme copy
Elgamal &amp; schnorr digital signature scheme   copyElgamal &amp; schnorr digital signature scheme   copy
Elgamal &amp; schnorr digital signature scheme copy
 
TCP over wireless slides
TCP over wireless slidesTCP over wireless slides
TCP over wireless slides
 
Introduction to Virtualization
Introduction to VirtualizationIntroduction to Virtualization
Introduction to Virtualization
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
 

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

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

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