CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance --- 1 Steve Ko Computer Sciences and Engineering University at Buffalo.

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

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
Byzantine Generals. Outline r Byzantine generals problem.
Agreement: Byzantine Generals UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau Paper: “The.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Reliable Multicast Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
1 Indranil Gupta (Indy) Lecture 8 Paxos February 12, 2015 CS 525 Advanced Distributed Systems Spring 2015 All Slides © IG 1.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Copyright 2006 Koren & Krishna ECE655/ByzGen.1 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing ECE 655.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Synchronous Byzantine.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 15 Wenbing Zhao Department of Electrical and Computer Engineering.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Failure Detectors Steve Ko Computer Sciences and Engineering University at Buffalo.
Last Class: Weak Consistency
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 19: Paxos All slides © IG.
The Byzantine Generals Problem Leslie Lamport Robert Shostak Marshall Pease.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Failure Detectors
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mid-Semester Overview Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
CSE 486/586 CSE 486/586 Distributed Systems Concurrency Control Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Concurrency Control Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
1 Chapter 12 Consensus ( Fault Tolerance). 2 Reliable Systems Distributed processing creates faster systems by exploiting parallelism but also improve.
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.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
The Byzantine General Problem Leslie Lamport, Robert Shostak, Marshall Pease.SRI International presented by Muyuan Wang.
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.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
CSE 486/586 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
CSE 486/586 Distributed Systems Consistency --- 3
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Transactions on Replicated Data Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Google Spanner Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems The Internet in 2 Hours: The First Hour Steve Ko Computer Sciences and Engineering University.
Distributed Agreement. Agreement Problems High-level goal: Processes in a distributed system reach agreement on a value Numerous problems can be cast.
CSE 486/586 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
reaching agreement in the presence of faults
CSE 486/586 Distributed Systems Wrap-up
CSE 486/586 Distributed Systems Leader Election
CS 525 Advanced Distributed Systems Spring 2013
CSE 486/586 Distributed Systems Wrap-up
COMP28112 – Lecture 14 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 13-Oct-18 COMP28112.
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.
CS 525 Advanced Distributed Systems Spring 2018
CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy)
The Byzantine Generals Problem
COMP28112 – Lecture 13 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 22-Feb-19 COMP28112.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
CSE 486/586 Distributed Systems Mid-Semester Overview
Presentation transcript:

CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo

CSE 486/586, Spring 2013 Recap Digital certificates –Binds a public key to its owner –Establishes a chain of trust TLS –Provides an application-transparent way of secure communication –Uses digital certificates to verify the origin identity Authentication –Needham-Schroeder & Kerberos 2

CSE 486/586, Spring 2013 Byzantine Fault Tolerance Fault categories –Benign: failures we’ve been talking about –Byzantine: arbitrary failures Benign –Fail-stop & crash: process halted –Omission: msg loss, send-omission, receive-omission –All entities still follow the protocol Byzantine –A broader category than benign failures –Process or channel exhibits arbitrary behavior. –May deviate from the protocol –Can be malicious (attacks, software bugs, etc.) 3

CSE 486/586, Spring 2013 Byzantine Fault Tolerance Result: with f faulty nodes, we need 3f + 1 nodes to tolerate their Byzantine behavior. –Fundamental limitation –Today’s goal is to understand this limitation. –Next lecture: a protocol that provides this guarantee. How about Paxos (that tolerates benign failures)? –With f faulty nodes, we need 2f + 1 to obtain the majority. 4

CSE 486/586, Spring 2013 “Byzantine” Leslie Lamport (again!) defined the problem & presented the result. “I have long felt that, because it was posed as a cute problem about philosophers seated around a table, Dijkstra's dining philosopher's problem received much more attention than it deserves.” “At the time, Albania was a completely closed society, and I felt it unlikely that there would be any Albanians around to object, so the original title of this paper was The Albanian Generals Problem.” “…The obviously more appropriate Byzantine generals then occurred to me.” 5

CSE 486/586, Spring 2013 Introducing the Byzantine Generals Imagine several divisions of the Byzantine army camped outside of a city Each division has a general. The generals can only communicate by a messenger. 6

CSE 486/586, Spring 2013 Introducing the Byzantine Generals They must decide on a common plan of action. –What is this problem? But, some of the generals can be traitors. 7 Attack Retreat Attack Attack/Retrea t

CSE 486/586, Spring 2013 Requirements All loyal generals decide upon the same plan of action (e.g., attack or retreat). A small number of traitors cannot cause the loyal generals to adopt a bad plan. There has to be a way to communicate one’s opinion to others correctly. 8

CSE 486/586, Spring 2013 The Byzantine Generals Problem The problem boils down to how a single general sends the general’s own value to the others. –Thus, we can simplify it in terms of a single commanding general sending an order to lieutenant generals. Byzantine Generals Problem: a commanding general must send an order to n-1 lieutenant generals such that –All loyal lieutenants obey the same order. –If the commanding general is loyal, then every loyal lieutenant obeys the order the commanding general sends. We’ll try a simple strategy and see if it works. –All-to-all communication: every general sends the opinion & repeatedly sends others’ opinions for reliability. –Majority: the final decision is the decision of the majority –Similar to reliable multicast 9

CSE 486/586, Spring 2013 CSE 486/586 Administrivia PA4 due this 2:59pm. Final: 5/6, Monday, 3:30pm – 6:30pm –Davis 101 –Everything up to this Friday Anonymous feedback form still available. Please come talk to me! 10

CSE 486/586, Spring 2013 Question Can three generals agree on the plan of action? –One commander –Two lieutenants –One of them can be a traitor. –This means that we have 2f + 1 nodes. Protocol –Commander sends out an order (“attack”/“retreat”). –Lieutenants relay the order to each other for reliability. –Lieutenants follow the order of the commander. Can you come up with some scenarios where this protocol doesn’t work? 11

CSE 486/586, Spring 2013 Understanding the Problem 12 Commander (Traitor) Lieutenant 1Lieutenant 2 “attack” “retreat” “he said ‘retreat’”

CSE 486/586, Spring 2013 Understanding the Problem 13 Commander Lieutenant 1 Lieutenant 2 (Traitor) “attack” “he said ‘retreat’”

CSE 486/586, Spring 2013 Understanding the Problem With three generals, it is impossible to solve this problem with one traitor. Why not Paxos? –Paxos works with 2f + 1 nodes when f nodes are faulty. –In Paxos, f nodes can fail (or disappear) from the system, but they don’t lie. In the Byzantine generals problem, f nodes might be alive and lie. In general, you need 3f + 1 nodes to tolerate f faulty nodes in the Byzantine generals problem. Why? 14

CSE 486/586, Spring 2013 Intuition for the Result Going back to the original problem setting –Each one expresses its opinion (yes/no), we choose the majority’s opinion. Question: how many votes do I need? –In Paxos, I need f + 1 votes (agreeing on either yes or no) out of 2f + 1 nodes, since that’s the majority. –Will this work with Byzantine failures? Let’s apply this to the Byzantine generals problem. –Let’s say we obtain f + 1 votes on yes. –Up to f nodes can lie  getting f + 1 votes means that the result can be determined by the Byzantine nodes. –E.g., let’s say we have 2f + 1 nodes, and we get f + 1 votes on yes. f (faulty) nodes lie (say yes), one non-faulty node says yes, and f non-faulty nodes say no. What do we need? 15

CSE 486/586, Spring 2013 Intuition for the Result We need more votes from the honest nodes than the faulty nodes. –So the faulty nodes can’t influence the outcome. –If we obtain 2f + 1 votes, then we have at least f + 1 votes from honest nodes, one more than the number of potential faulty nodes. –This way, we can make sure that honest nodes determine the outcome. But, f nodes still might just simply fail, not reply at all. –In order to get 2f + 1 votes under the possibility of f no replies, –We need at least 3f + 1 nodes in total. 16

CSE 486/586, Spring 2013 Summary Byzantine generals problem –They must decide on a common plan of action. –But, some of the generals can be traitors. Requirements –All loyal generals decide upon the same plan of action (e.g., attack or retreat). –A small number of traitors cannot cause the loyal generals to adopt a bad plan. Impossibility results –With three generals, it’s impossible to reach a consensus with one traitor –In general, with less than 3f + 1 nodes, we cannot tolerate f faulty nodes. 17

CSE 486/586, Spring Acknowledgements These slides contain material developed and copyrighted by Indranil Gupta (UIUC).