The Byzantine General Problem Leslie Lamport, Robert Shostak, Marshall Pease.SRI International presented by Muyuan Wang.

Slides:



Advertisements
Similar presentations
Fault Tolerance. Basic System Concept Basic Definitions Failure: deviation of a system from behaviour described in its specification. Error: part of.
Advertisements

+ The Byzantine Generals Problem Leslie Lamport, Robert Shostak and Marshall Pease Presenter: Jose Calvo-Villagran
Byzantine Generals. Outline r Byzantine generals problem.
The Byzantine Generals Problem Leslie Lamport, Robert Shostak and Marshall Pease Presenter: Phyo Thiha Date: 4/1/2008.
Agreement: Byzantine Generals UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau Paper: “The.
BASIC BUILDING BLOCKS -Harit Desai. Byzantine Generals Problem If a computer fails, –it behaves in a well defined manner A component always shows a zero.
The Byzantine Generals Problem Boon Thau Loo CS294-4.
The Byzantine Generals Problem Leslie Lamport, Robert Shostak, Marshall Pease Distributed Algorithms A1 Presented by: Anna Bendersky.
Achieving Byzantine Agreement and Broadcast against Rational Adversaries Adam Groce Aishwarya Thiruvengadam Ateeq Sharfuddin CMSC 858F: Algorithmic Game.
Prepared by Ilya Kolchinsky.  n generals, communicating through messengers  some of the generals (up to m) might be traitors  all loyal generals should.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
DISTRIBUTED SYSTEMS II FAULT-TOLERANT AGREEMENT Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Byzantine Generals Problem: Solution using signed messages.
Byzantine Generals Problem Anthony Soo Kaim Ryan Chu Stephen Wu.
The Byzantine Generals Problem (M. Pease, R. Shostak, and L. Lamport) January 2011 Presentation by Avishay Tal.
Copyright 2006 Koren & Krishna ECE655/ByzGen.1 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing ECE 655.
Computer Science Lecture 17, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 15 Wenbing Zhao Department of Electrical and Computer Engineering.
A Look at Byzantine Generals Problem R J Walters.
Byzantine Generals Problem in the Light of P2P Computing Natalya Fedotova Luca Veltri International Workshop on Ubiquitous Access Control July 17, 2006.
The Byzantine Generals Problem L. Lamport R. Shostak M. Pease Presented by: Emmanuel Grumbach Raphael Unglik January 2004.
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
The Byzantine Generals Problem Leslie Lamport Robert Shostak Marshall Pease.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
9/14/20151 Lecture 18: Distributed Agreement CSC 469H1F / CSC 2208H1F Fall 2007 Angela Demke Brown.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Ch11 Distributed Agreement. Outline Distributed Agreement Adversaries Byzantine Agreement Impossibility of Consensus Randomized Distributed Agreement.
DISTRIBUTED SYSTEMS II FAULT-TOLERANT AGREEMENT Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Practical Byzantine Fault Tolerance
1 Chapter 12 Consensus ( Fault Tolerance). 2 Reliable Systems Distributed processing creates faster systems by exploiting parallelism but also improve.
1 The Byzantine Generals Problem Leslie Lamport, Robert Shostak, Marshall Pease Presented by Radu Handorean.
Byzantine Fault Tolerance in Stateful Web Service Yilei ZHANG 30/10/2009.
1 Resilience by Distributed Consensus : Byzantine Generals Problem Adapted from various sources by: T. K. Prasad, Professor Kno.e.sis : Ohio Center of.
EECS 262a Advanced Topics in Computer Systems Lecture 25 Byzantine Agreement November 28 th, 2012 John Kubiatowicz and Anthony D. Joseph Electrical Engineering.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
Hwajung Lee. Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit or Abort.
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
Byzantine Fault Tolerance
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Behavior of Byzantine Algorithm Chun Zhang. Index Introduction Experimental Setup Behavior Observation Result Analysis Conclusion Future Work.
Distributed Agreement. Agreement Problems High-level goal: Processes in a distributed system reach agreement on a value Numerous problems can be cast.
1 AGREEMENT PROTOCOLS. 2 Introduction Processes/Sites in distributed systems often compete as well as cooperate to achieve a common goal. Mutual Trust/agreement.
Byzantine fault tolerance Srivatsan ravi. BYZANTINE GENERALS Lamport Shostak Marshall Pease.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
reaching agreement in the presence of faults
Synchronizing Processes
Coordination and Agreement
The OM(m) algorithm Recall what the oral message model is.
Synchronizing Processes
Distributed System UNIT-III.
COMP28112 – Lecture 14 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 13-Oct-18 COMP28112.
Byzantine Fault Tolerance
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
COMP28112 – Lecture 13 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 19-Nov-18 COMP28112.
Distributed Consensus
Agreement Protocols CS60002: Distributed Systems
Distributed Consensus
Jacob Gardner & Chuan Guo
EEC 688/788 Secure and Dependable Computing
Byzantine Generals Problem
Byzantine Faults definition and problem statement impossibility
Consensus in Synchronous Systems: Byzantine Generals Problem
The Byzantine Generals Problem
COMP28112 – Lecture 13 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 22-Feb-19 COMP28112.
EEC 688/788 Secure and Dependable Computing
John Kubiatowicz Electrical Engineering and Computer Sciences
Byzantine Generals Problem
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Basic building blocks in Fault Tolerant distributed systems
Presentation transcript:

The Byzantine General Problem Leslie Lamport, Robert Shostak, Marshall Pease.SRI International presented by Muyuan Wang

Once upon a time... The pictures are taken from: R. Goscinny and A. Uderzo, Asterix and Latraviata. Communicating only by messenger Generals must agree upon a common battle plan Some of them may be traitors who will try to confuse the others

Byzantine Generals Problem & Impossible Results Find an algorithm  To ensure that the loyal generals will reach agreement  A small number of traitors cannot cause the loyal generals to adopt a bad plan Remodeled as a commanding general sending an order to his lieutenants  IC1: All loyal generals get same result  IC2: If commander is loyal, all loyal generals follow his choice No solution will work unless there are more than 2/3 loyal ones

Example: Poor Lieutenant 1 ’ s Dilemma Lieutenant 1 Attack He said retreat Lieutenant 2 (Traitor) Commander Lieutenant 1 Attack Retreat He said retreat Lieutenant 2 Commander (Traitor) The two situations are identical to me! IC1 violated ! Attack Retreat

Solutions Solution 1: Using Oral Messages Solution 2: Using Signed Messages

Solution using Oral Message Solution for more than 3m+1 generals with m traitors 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 Function 'majority':  With the property that if a majority of the values v i equals v, then majority(v 1,...,v n-1 ) equals v. Order set V i  Each lieutenant uses it to store orders from others Algorithm OM(m) can deal with m traitors  Defined recursively

Base case: OM(0) Lieutenant i attack Lieutenant k Commander 0 Lieutenant j attack Commander sends messages to Lieutenants Each Lieutenant receives and records it. V i ={v 0 :attack}

OM(m) Lieutenant i attack Lieutenant k Commander Lieutenant j attack …… attack Each Lieutenant act as the commander in OM(m-1) Send messages to ‘his’ Lieutenants Do this recursively attack

Step 3: Majority Vote Lieutenant 1Lieutenant n-1 Commander Lieutenant 2 My decision is: majority(v1,v2,…,v_n-1) …… Me too For any m, Algorithm OM(m) satisfies conditions IC1 and IC2 if there are more than 3m generals and at most m traitors

OM(1): Lieutenant 3 is a traitor Lieutenant 1 Attack Lieutenant 3 (Traitor) Commander Lieutenant 2 Attack Retreat Attack Majority(attack,attack,attack) =attack Majority(attack,attack,retreat) =attack IC1 achieved IC2 achieved

OM(1): Commander is a traitor Lieutenant 1 Attack Retreat IC1 achieved IC2 need not be satisfied Lieutenant 3 Commander (Traitor) Lieutenant 2 Attack Retreat AttackRetreat Majority(attack,retreat,retreat) =retreat Majority(attack,retreat,retreat) =retreat Majority(attack,retreat,retreat) =retreat

Solution with Signed Messages What is a signed message?  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 Function choice(V): decision making  If the set V consists of the single element v, then choice(V)=v Note: no other characteristics needed for choice(V)

Step 1 attack:0 retreat:0 Commander (Traitor) Lieutenant k Commander sends message to each Lieutenant For any Lieutenant i, if he receives the v:0 message and he has not received any order yet Let V i ={v} Send v:0:i to other lieutenants attack:0:i Lieutenant i Lieutenant j attack:0 attack:0:i V i ={attack} V j ={attack} V k ={retreat} V j ={attack,attack} V k ={retreat,attack}

Step 2 Attack:0 retreat:0 Commander (Traitor) Lieutenant k If Lieutenant i receives a message of v:0:j 1 :…:j k, and v is NOT in set V i, then Add v to V i If k<m, send v:0:j 1 :…:j k :i to every lieutenant except j 1,…,j k When any Lieutenant i will receive no more messages Make decision using choice(V i ) Lieutenant i Lieutenant j Attack:0 V i ={attack,attack,retreat} V j ={attack,attack,retreat} V k ={attack,attack,retreat} They get the same order set! V i =V j =V k

Example Lieutenant 1 Attack:0 Retreat:0 Lieutenant 2 Commander (Traitor) Retreat:0:2 For any m, Algoritym SM(m) solves the Byzantine Generals Problem if there are at most m traitors. The traitor can not cheat now! Attack:0:1 V1 = {Attack,Retreat}V2 = {Attack,Retreat} They get same information, thus same decision

Conclusion The requirements (Interactive Consistency Condition)  IC1: All loyal generals get same result  IC2: If commander is loyal, all loyal generals follow his choice Theorems to remember:  1. For any m, Algorithm OM(m) satisfies conditions IC1 and IC2 if there are more than 3m generals and at most m traitors  2. For any m, Algorithm SM(m) solves the Byzantine Generals Problem if there are at most m traitors.

Discussions These solutions are not used in practice  Why? What if the messages get lost a lot during communication? Are there any other way besides ‘majority’ and ‘same information’?