Consensus and Related Problems

Slides:



Advertisements
Similar presentations
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 14: Time and.
Advertisements

DISTRIBUTED SYSTEMS II FAULT-TOLERANT AGREEMENT Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Byzantine Generals. Outline r Byzantine generals problem.
Teaser - Introduction to Distributed Computing
DISTRIBUTED SYSTEMS II FAULT-TOLERANT AGREEMENT Prof Philippas Tsigas Distributed Computing and Systems Research Group.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 14: TIME.
Slides for Chapter 10: Time and Global State
Byzantine Generals Problem in the Light of P2P Computing Natalya Fedotova Luca Veltri International Workshop on Ubiquitous Access Control July 17, 2006.
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
Consensus and Related Problems Béat Hirsbrunner References G. Coulouris, J. Dollimore and T. Kindberg "Distributed Systems: Concepts and Design", Ed. 4,
Slides for Chapter 12: Coordination and Agreement From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson.
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.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 9: Web Services.
1 Chapter 12 Consensus ( Fault Tolerance). 2 Reliable Systems Distributed processing creates faster systems by exploiting parallelism but also improve.
1 ZYZZYVA: SPECULATIVE BYZANTINE FAULT TOLERANCE R.Kotla, L. Alvisi, M. Dahlin, A. Clement and E. Wong U. T. Austin Best Paper Award at SOSP 2007.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 11: Security.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 21: Designing.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
Fault Tolerant Services
Exercises for Chapter 15: COORDINATION AND AGREEMENT From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 15: Coordination.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 9 Web Services.
1 AGREEMENT PROTOCOLS. 2 Introduction Processes/Sites in distributed systems often compete as well as cooperate to achieve a common goal. Mutual Trust/agreement.
Slides for Chapter 11: Coordination and Agreement From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
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
The Consensus Problem in Fault Tolerant Computing
reaching agreement in the presence of faults
Synchronizing Processes
Exercises for Chapter 14: Replication
Exercises for Chapter 11: COORDINATION AND AGREEMENT
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
8.2. Process resilience Shreyas Karandikar.
Slides for Chapter 2: Architectural Models
COMP28112 – Lecture 14 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 13-Oct-18 COMP28112.
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
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 Systems, Consensus and Replicated State Machines
Distributed Consensus
Slides for Chapter 2: Architectural Models
Jacob Gardner & Chuan Guo
Distributed Systems CS
Byzantine Faults definition and problem statement impossibility
EEC 688/788 Secure and Dependable Computing
From Viewstamped Replication to BFT
Consensus in Synchronous Systems: Byzantine Generals Problem
The Byzantine Generals Problem
Distributed Systems through Web Services
EEC 688/788 Secure and Dependable Computing
COMP28112 – Lecture 13 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 22-Feb-19 COMP28112.
IS 651: Distributed Systems Final Exam
Exercises for Chapter 11: TIME AND GLOBAL STATES
Slides for Chapter 15: Replication
EEC 688/788 Secure and Dependable Computing
Exercises for Chapter 14: Distributed Transactions
Slides for Chapter 11: Time and Global State
Exercises for Chapter 20: CORBA CASE STUDY
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Slides for Chapter 18: Replication
EEC 688/788 Secure and Dependable Computing
Byzantine Generals Problem
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Slides for Chapter 14: Time and Global States
Presentation transcript:

Consensus and Related Problems Chapter 15 Only 15.5 Bina Ramamurthy

References http://www.slate.com/blogs/atlas_obscura/2013/10/15/cash_card_o r_car_sized_stone_payment_options_on_the_island_of_yap.html https://en.wikipedia.org/wiki/Yap#/media/File:HH1883_pg125_Hafen _von_Jap.jpg http://www2003.org/cdrom/papers/alternate/P712/p712- vogels.html https://www.npr.org/sections/money/2011/02/15/131934618/the- island-of-stone-money http://www.pmg.csail.mit.edu/papers/bft-tocs.pdf

Topics Need for consensus Yap island stone money and consensus Reaching consensus in the presence of faults (Pease et al.) https://lamport.azurewebsites.net/pubs/reaching.pdf Leslie Lamport: Byzantine General Problem and Interactive Consistency (1982) https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf Yap island stone money and consensus Leader-based algorithms and how to elect leaders

Consensus Problems of agreement are eternal problems.. Reaching a consensus on your holiday menu to numerous issues under consideration in your government bodies such as the US congress and US senate. We refer to these collectively as problems of agreement. The problem is for processes to agree on a value after one or more of the processes has proposed what the value should be. Example 1: Two armies (separated) decide consistently to attack the common enemy or retreat. Example 2: We may require that all the correct processes controlling a spaceship’s engines should decide to either “proceed” or “abort” after each has proposed one action or other. Example 3: In a transaction to transfer funds from one account to another the processes involved must consistently agree to perform the respective debit and credit. We will focus only one of them today: Byzantine generals

Figure 15.18 Three Byzantine generals p 1 (Commander) 2 3 1:v 2:1:v 3:1:u 1:x 1:w 2:1:w 3:1:x Faulty processes are shown coloured 3:1:u is read “3 says 1 says u” Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Three Processes There is no ways to come to consensus with the simplistic scenarios above. Ah! There is a way..Byzantine agreement can be reached for three generals, with one of them faulty, if the generals digitally sign their messages. Pease et all, generalized the 3-process solution to a theorem: It is impossible to come to consensus among N processes if N <= 3*f where f is the number of faulty process. In the three process case: N = 3, f = 1, N =3*f Apply this rule to the next diagram: Conider multiple rounds P.667

Figure 15.19 Four Byzantine generals p 1 (Commander) 2 3 1:v 2:1:v 3:1:u Faulty processes are shown coloured 4 4:1:v 3:1:w 1:w 1:u 2:1:u Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Figure 5.19 N = 4 Two rounds: First round from commander to all generals From each general to others Each applies majority function and know what the decision is Lets check it out for the graph on the left: P2 decides majority (v,u,v) = v P4 decides majority (v,v,w) = v In the right graph: P2, P3 and P4 For p2, p3, and p4 majority (u,v,w) = T , they all agree there is no majority and possibly the leader is faulty/culprit.

Lamport’s Algorithm In general case, for unsigned messages f+1 rounds of messages Next one to study is Barbara Liskov’s Practical Byzantine Fault Tolerant (PBFT) : We will not consider it now. Winter reading for you.

Summary Study the two diagram and tracing the BFT majority.