SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Byzantine Generals Problem


Wednesday, August 18, 2010
Motivation

Wednesday, August 18, 2010
Each division is directed by its own
                                           general



Wednesday, August 18, 2010
There are n
                       generals


Wednesday, August 18, 2010
All armies are camped outside enemy
                                    castle, observing enemy



Wednesday, August 18, 2010
Communicate
                       with each
                       other by
                      messengers




Wednesday, August 18, 2010
Requirement
                      A: All loyal generals
                     decide upon the same
                         plan of action




Wednesday, August 18, 2010
Requirement
                      B: A small number of traitors
                          cannot cause the loyal
                      generals to adopt a bad plan




Wednesday, August 18, 2010
Agreemeent
                                             G2
                                   V1



                                                       General 1 sends his
                                                       ideas on what to do
                             G1    V1
                                                              next




                                                  G4
                                  V1



                                        G3




Wednesday, August 18, 2010
Agreemeent
                                                           { V1, V2 }
                                       V2
                                                  G2
                             { V1 }                                          General 2 sends his
                                                                             ideas on what to do
                                  G1                                    V2
                                                                                    next
                                             V2




                                                                        G4
                                            G3                               { V1 }


                                                  { V1 }




Wednesday, August 18, 2010
Apply combination method
                            to all values
                                                            { V1, V2, V3, V4 }


                                                       G2
                             { V1, V2, V3, V4 }                    A: All loyal generals
                                                                  decide upon the same
                                       G1
                                                                      plan of action

                                                                       G4
                                                  G3                             { V1, V2, V3, V4 }




Wednesday, August 18, 2010
Beware of the wolves…
                                                            { V1, V2 }
                                       V2
                                                   G2                          General might be a
                             { V1 }
                                                                               traitor, sabotaging
                                  G1                                     V2'
                                                                                  the process.
                                             V2'




                                                                         G4
                                            G3                                  { V1 }


                                                   { V1 }


                                                                                B: A small number of traitors
                                                                               cannot cause the loyal generals
                                                                                     to adopt a bad plan


Wednesday, August 18, 2010
Requirements reworked


                        • From A: Every loyal general must obtain the same
                             information v(1), .... v(n)

                        • From B: 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)




Wednesday, August 18, 2010
Rewritten


                        • From A: Any two loyal generals use the same value of v
                             (i)

                        • From B: 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)
                                                                                   2
                                                   ... an d since now both 1 and
                                                     are  conditions on the single
                                                                               al:
                                                       value of a single gener




Wednesday, August 18, 2010
Byzantine Generals
                                      Problem
                             A commanding general must
                             send an order to his n - 1           C
                             lieutenant generals such that

                             IC1: All loyal lieutenants
                             obey the same order

                             IC2: If the commanding          L1   L2   L3
                             general is loyal, then every
                             loyal general obeys the order
                             he sends




Wednesday, August 18, 2010
Byzantine Generals
                                      Problem
                             A commanding general must
                             send an order to his n - 1                      C
                             lieutenant generals such that

                             IC1: All loyal lieutenants
                             obey the same order

                             IC2: If the commanding            L1            L2   L3
                             general is loyal, then every
                             loyal general obeys the order
                             he sends
                                                                         y
                                                   Interactive Consistenc
                                                         Conditions



Wednesday, August 18, 2010
Assuming oral messages…


                        • Every message that is sent is delivered correctly
                        • The receiver of a message knows who sent it
                        • The absence of a message can be detected




Wednesday, August 18, 2010
No solution for 3 generals,
                                1 traitor
                                               C                                                 C


                             ?                                                ?
                                 attack                       attack               attack                       retreat




                         L1               he said 'retreat'
                                                                       L2    L1             he said 'retreat'
                                                                                                                          L2


                                                                                          e
                                                          From L 1’s perspective, both th
                                                                                   s the
                                                            commanding general a
                                                           other  lieutenant could be the
                                                                                    ion.
                                                             traitor causing confus


Wednesday, August 18, 2010
General
                                Impossibility
                                   (Oral Messages)

                              In general, no solutions with
                             fewer than 3m+1 generals can
                                  cope with m traitors.




Wednesday, August 18, 2010
Assuming
                                         Signatures
                        •     Every message that is sent is delivered correctly

                        •     The receiver of a message knows who sent it

                        •     The absence of a message can be detected

                        •     Signatures

                             • A loyal general’s signature cannot be forged, and any
                                alteration of the contents of his signed messages can be
                                detected.

                             • Anyone can verify the authenticity of a general’s signature




Wednesday, August 18, 2010
Algorithm SM(m)
                        •        Each lieutenant maintains a set V of properly signed orders received so
                                 far.

                        •        The commander sends a signed order to lieutenants

                        •        A lieutenant receives an order from someone (either from commander
                                 or other lieutenants),

                             •       Verifies authenticity and puts it in V.

                                 •     If there are less than m distinct signatures on the order

                                 •     Augments orders with signature

                        •        Relays messages to lieutenants who have not seen the order.

                        •        When lieutenant receives no new messages, and use choice(V) as the
                                 desired action.

                        •        If you want to protect against more traitors, increase m




Wednesday, August 18, 2010
SM(m) and Traitors

                                                             C
                 V = attack, retreat =>
                                        !
               C ommander is a traitor
                                            attack : C                  retreat : C



                                                         retreat : C : L2


                                       L1            attack : C : L1
                                                                                      L2




Wednesday, August 18, 2010
But what if…
                             not all generals can reach all
                               other generals directly?




Wednesday, August 18, 2010
p-Regular Graphs
                        1. A set of nodes { i1, …, ip } is said to be a regular set of
                           neighbors of a node i if:

                             1. each ij is a neighbor of i, and

                             2. for any general k different from i, there exists paths γj,k
                                from ij to k not passing through i such that any two
                                different paths γj,k have no node in common other than k.

                        2. The graph G is said to be p-regular if every node has a
                           regular set of neighbors consisting of p distinct nodes.




Wednesday, August 18, 2010
p-Regular Graphs
                        1. A set of nodes { i1, …, ip } is said to be a regular set of
                           neighbors of a node i if:

                             1. each ij is a neighbor of i, and

                                               *SNAP*
                             2. for any general k different from i, there exists paths γj,k
                                from ij to k not passing through i such that any two
                                different paths γj,k have no node in common other than k.

                        2. The graph G is said to be p-regular if every node has a
                           regular set of neighbors consisting of p distinct nodes.




Wednesday, August 18, 2010
Samples
                             3-regular         not 3-regular




Wednesday, August 18, 2010
Missing communication
                                      paths
                             For any m and any p ≥ 3m, algorithm OM(m, p) solves the
                             Byzantine Generals Problem if there are at most m
                             traitors.




Wednesday, August 18, 2010
Missing communication
                                      paths
                             For any m and any p ≥ 3m, algorithm OM(m, p) solves the
                             Byzantine Generals Problem if there are at most m
                             traitors.
                                                                                ssing
                                     In other words: in case of messengers pa
                                                                                 h
                                         oral messages  only, if you send enoug
                                                                                   an
                                      messages, there m  ay be a way to come to
                                                                                 of
                                        agreement on w   hat to do, even in face
                                                                                  s. (It
                                     traitors and missin g communication path
                                                                                 hich
                                      all depends on ho w many traitors and w
                                                   paths are missing.)




Wednesday, August 18, 2010
Missing
                    Communication Paths


                             For any m, SM(m) solves the Byzantine Generals
                             Problem if there are at most m traitors.




Wednesday, August 18, 2010
Practical Use of BGP
                                   General                       Processor
                                Loyal general               Non-faulty processor



                        • IC1: All nonfaulty processors must use the same input
                             value (so they produce the same output)

                        • IC2: If the input unit is nonfaulty, then all nonfaulty
                             processes use the value it provides as input (so they
                             produce the correct output)




Wednesday, August 18, 2010
Assumption A1

                             Every message sent by non-faulty process is delivered
                             correctly.

                             • Failure of communication line cannot be distinguished
                                from failure of nodes.

                             • OK because we still are tolerating m failures.




Wednesday, August 18, 2010
Assumption A2


                             A processor can determine origin of message

                    • In a fixed line network, this can be assumed.
                    • In a switched network, A2 is not needed since the
                             messages will be signed.




Wednesday, August 18, 2010
Assumption A3

                             The absence of a message can be detected

                    • Only by the use of some time-out convention
                             • Fixed maximum time needed for the generation and
                                   transmission of a message.

                               •     The sender and receiver have clocks that are synchronized to
                                     within some maximum error




Wednesday, August 18, 2010
Assumption A4

                             Unforgeable signatures. Anyone can verify authenticity
                             of signature

                             • Message signed by i = (M, Si(M))
                             • If i is not faulty, no one can generate Si(M). (Faulty
                                 processor used for generating signatures.)

                             • Given M and X, anyone can verify if X=Si(M)




Wednesday, August 18, 2010
Conclusions
                        • BGP solutions are expensive (communication
                             overheads and signatures)

                        • Use of redundancy and voting to achieve reliability.
                             What if >1/3 nodes (processors) are faulty?

                        • 3m+1 replicas for m failures. Is that expensive?
                        • Tradeoffs between reliability and performance
                        • How would you determine m in a practical system?




Wednesday, August 18, 2010

Más contenido relacionado

Más de Wilfred Springer (10)

Unfiltered Unveiled
Unfiltered UnveiledUnfiltered Unveiled
Unfiltered Unveiled
 
Mongo
MongoMongo
Mongo
 
NoSQL
NoSQLNoSQL
NoSQL
 
NoSQL Rollercoaster
NoSQL RollercoasterNoSQL Rollercoaster
NoSQL Rollercoaster
 
Eventually Consistent
Eventually ConsistentEventually Consistent
Eventually Consistent
 
Into the Wild
Into the WildInto the Wild
Into the Wild
 
OOPSLA Talk on Preon
OOPSLA Talk on PreonOOPSLA Talk on Preon
OOPSLA Talk on Preon
 
Spring ME JavaOne
Spring ME JavaOneSpring ME JavaOne
Spring ME JavaOne
 
Spring ME
Spring MESpring ME
Spring ME
 
Preon (J-Fall 2008)
Preon (J-Fall 2008)Preon (J-Fall 2008)
Preon (J-Fall 2008)
 

Último

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Byzantine Generals

  • 3. Each division is directed by its own general Wednesday, August 18, 2010
  • 4. There are n generals Wednesday, August 18, 2010
  • 5. All armies are camped outside enemy castle, observing enemy Wednesday, August 18, 2010
  • 6. Communicate with each other by messengers Wednesday, August 18, 2010
  • 7. Requirement A: All loyal generals decide upon the same plan of action Wednesday, August 18, 2010
  • 8. Requirement B: A small number of traitors cannot cause the loyal generals to adopt a bad plan Wednesday, August 18, 2010
  • 9. Agreemeent G2 V1 General 1 sends his ideas on what to do G1 V1 next G4 V1 G3 Wednesday, August 18, 2010
  • 10. Agreemeent { V1, V2 } V2 G2 { V1 } General 2 sends his ideas on what to do G1 V2 next V2 G4 G3 { V1 } { V1 } Wednesday, August 18, 2010
  • 11. Apply combination method to all values { V1, V2, V3, V4 } G2 { V1, V2, V3, V4 } A: All loyal generals decide upon the same G1 plan of action G4 G3 { V1, V2, V3, V4 } Wednesday, August 18, 2010
  • 12. Beware of the wolves… { V1, V2 } V2 G2 General might be a { V1 } traitor, sabotaging G1 V2' the process. V2' G4 G3 { V1 } { V1 } B: A small number of traitors cannot cause the loyal generals to adopt a bad plan Wednesday, August 18, 2010
  • 13. Requirements reworked • From A: Every loyal general must obtain the same information v(1), .... v(n) • From B: 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) Wednesday, August 18, 2010
  • 14. Rewritten • From A: Any two loyal generals use the same value of v (i) • From B: 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) 2 ... an d since now both 1 and are conditions on the single al: value of a single gener Wednesday, August 18, 2010
  • 15. Byzantine Generals Problem A commanding general must send an order to his n - 1 C lieutenant generals such that IC1: All loyal lieutenants obey the same order IC2: If the commanding L1 L2 L3 general is loyal, then every loyal general obeys the order he sends Wednesday, August 18, 2010
  • 16. Byzantine Generals Problem A commanding general must send an order to his n - 1 C lieutenant generals such that IC1: All loyal lieutenants obey the same order IC2: If the commanding L1 L2 L3 general is loyal, then every loyal general obeys the order he sends y Interactive Consistenc Conditions Wednesday, August 18, 2010
  • 17. Assuming oral messages… • Every message that is sent is delivered correctly • The receiver of a message knows who sent it • The absence of a message can be detected Wednesday, August 18, 2010
  • 18. No solution for 3 generals, 1 traitor C C ? ? attack attack attack retreat L1 he said 'retreat' L2 L1 he said 'retreat' L2 e From L 1’s perspective, both th s the commanding general a other lieutenant could be the ion. traitor causing confus Wednesday, August 18, 2010
  • 19. General Impossibility (Oral Messages) In general, no solutions with fewer than 3m+1 generals can cope with m traitors. Wednesday, August 18, 2010
  • 20. Assuming Signatures • Every message that is sent is delivered correctly • The receiver of a message knows who sent it • The absence of a message can be detected • Signatures • A loyal general’s signature cannot be forged, and any alteration of the contents of his signed messages can be detected. • Anyone can verify the authenticity of a general’s signature Wednesday, August 18, 2010
  • 21. Algorithm SM(m) • Each lieutenant maintains a set V of properly signed orders received so far. • The commander sends a signed order to lieutenants • A lieutenant receives an order from someone (either from commander or other lieutenants), • Verifies authenticity and puts it in V. • If there are less than m distinct signatures on the order • Augments orders with signature • Relays messages to lieutenants who have not seen the order. • When lieutenant receives no new messages, and use choice(V) as the desired action. • If you want to protect against more traitors, increase m Wednesday, August 18, 2010
  • 22. SM(m) and Traitors C V = attack, retreat => ! C ommander is a traitor attack : C retreat : C retreat : C : L2 L1 attack : C : L1 L2 Wednesday, August 18, 2010
  • 23. But what if… not all generals can reach all other generals directly? Wednesday, August 18, 2010
  • 24. p-Regular Graphs 1. A set of nodes { i1, …, ip } is said to be a regular set of neighbors of a node i if: 1. each ij is a neighbor of i, and 2. for any general k different from i, there exists paths γj,k from ij to k not passing through i such that any two different paths γj,k have no node in common other than k. 2. The graph G is said to be p-regular if every node has a regular set of neighbors consisting of p distinct nodes. Wednesday, August 18, 2010
  • 25. p-Regular Graphs 1. A set of nodes { i1, …, ip } is said to be a regular set of neighbors of a node i if: 1. each ij is a neighbor of i, and *SNAP* 2. for any general k different from i, there exists paths γj,k from ij to k not passing through i such that any two different paths γj,k have no node in common other than k. 2. The graph G is said to be p-regular if every node has a regular set of neighbors consisting of p distinct nodes. Wednesday, August 18, 2010
  • 26. Samples 3-regular not 3-regular Wednesday, August 18, 2010
  • 27. Missing communication paths For any m and any p ≥ 3m, algorithm OM(m, p) solves the Byzantine Generals Problem if there are at most m traitors. Wednesday, August 18, 2010
  • 28. Missing communication paths For any m and any p ≥ 3m, algorithm OM(m, p) solves the Byzantine Generals Problem if there are at most m traitors. ssing In other words: in case of messengers pa h oral messages only, if you send enoug an messages, there m ay be a way to come to of agreement on w hat to do, even in face s. (It traitors and missin g communication path hich all depends on ho w many traitors and w paths are missing.) Wednesday, August 18, 2010
  • 29. Missing Communication Paths For any m, SM(m) solves the Byzantine Generals Problem if there are at most m traitors. Wednesday, August 18, 2010
  • 30. Practical Use of BGP General Processor Loyal general Non-faulty processor • IC1: All nonfaulty processors must use the same input value (so they produce the same output) • IC2: If the input unit is nonfaulty, then all nonfaulty processes use the value it provides as input (so they produce the correct output) Wednesday, August 18, 2010
  • 31. Assumption A1 Every message sent by non-faulty process is delivered correctly. • Failure of communication line cannot be distinguished from failure of nodes. • OK because we still are tolerating m failures. Wednesday, August 18, 2010
  • 32. Assumption A2 A processor can determine origin of message • In a fixed line network, this can be assumed. • In a switched network, A2 is not needed since the messages will be signed. Wednesday, August 18, 2010
  • 33. Assumption A3 The absence of a message can be detected • Only by the use of some time-out convention • Fixed maximum time needed for the generation and transmission of a message. • The sender and receiver have clocks that are synchronized to within some maximum error Wednesday, August 18, 2010
  • 34. Assumption A4 Unforgeable signatures. Anyone can verify authenticity of signature • Message signed by i = (M, Si(M)) • If i is not faulty, no one can generate Si(M). (Faulty processor used for generating signatures.) • Given M and X, anyone can verify if X=Si(M) Wednesday, August 18, 2010
  • 35. Conclusions • BGP solutions are expensive (communication overheads and signatures) • Use of redundancy and voting to achieve reliability. What if >1/3 nodes (processors) are faulty? • 3m+1 replicas for m failures. Is that expensive? • Tradeoffs between reliability and performance • How would you determine m in a practical system? Wednesday, August 18, 2010