Byzantine Vector Consensus in Complete Graphs Nitin Vaidya University of Illinois at Urbana-Champaign Vijay Garg University of Texas at Austin.

Slides:



Advertisements
Similar presentations
The Contest between Simplicity and Efficiency in Asynchronous Byzantine Agreement Allison Lewko The University of Texas at Austin TexPoint fonts used in.
Advertisements

Impossibility of Distributed Consensus with One Faulty Process
DISTRIBUTED SYSTEMS II FAULT-TOLERANT AGREEMENT Prof Philippas Tsigas Distributed Computing and Systems Research Group.
The weakest failure detector question in distributed computing Petr Kouznetsov Distributed Programming Lab EPFL.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Announcements. Midterm Open book, open note, closed neighbor No other external sources No portable electronic devices other than medically necessary medical.
Computer Science 425 Distributed Systems CS 425 / ECE 428 Consensus
Prepared by Ilya Kolchinsky.  n generals, communicating through messengers  some of the generals (up to m) might be traitors  all loyal generals should.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Byzantine Generals Problem: Solution using signed messages.
Data Consistency in Sensor Networks: Secure Agreement Fatemeh Borran Supervised by: Panos Papadimitratos, Marcin Poturalski Prof. Jean-Pierre Hubaux IC-29.
Sergio Rajsbaum 2006 Lecture 3 Introduction to Principles of Distributed Computing Sergio Rajsbaum Math Institute UNAM, Mexico.
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Randomized Byzantine Agreements (Sam Toueg 1984).
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Zoë Abrams, Ashish Goel, Serge Plotkin Stanford University Set K-Cover Algorithms for Energy Efficient Monitoring in Wireless Sensor Networks.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 2 – Distributed Systems.
Preference Analysis Joachim Giesen and Eva Schuberth May 24, 2006.
Reaching Approximate Agreement in an Asynchronous Environment And what does it have to do with the Witness Protection Program.
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
On the Cost of Fault-Tolerant Consensus When There are no Faults Idit Keidar & Sergio Rajsbaum Appears in SIGACT News; MIT Tech. Report.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
1 Principles of Reliable Distributed Systems Recitation 7 Byz. Consensus without Authentication ◊S-based Consensus Spring 2008 Alex Shraer.
Consensus and Related Problems Béat Hirsbrunner References G. Coulouris, J. Dollimore and T. Kindberg "Distributed Systems: Concepts and Design", Ed. 4,
1 Fault Tolerance in Collaborative Sensor Networks for Target Detection IEEE TRANSACTIONS ON COMPUTERS, VOL. 53, NO. 3, MARCH 2004.
1 Clock Synchronization Ronilda Lacson, MD, SM. 2 Introduction Accurate reliable time is necessary for financial and legal transactions, transportation.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Lecture 8-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2010 Indranil Gupta (Indy) September 16, 2010 Lecture 8 The Consensus.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Consensus and Its Impossibility in Asynchronous 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.
Chapter 9: Geometric Selection Theorems 11/01/2013
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 8 Instructor: Haifeng YU.
BFTW 3 workshop (Sep 22, 2009)© 2009 Andreas Haeberlen 1 The Fault Detection Problem Andreas Haeberlen MPI-SWS Petr Kuznetsov TU Berlin / Deutsche Telekom.
Random Graph Generator University of CS 8910 – Final Research Project Presentation Professor: Dr. Zhu Presented: December 8, 2010 By: Hanh Tran.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
Approximation of δ-Timeliness Carole Delporte-Gallet, LIAFA UMR 7089, Paris VII Stéphane Devismes, VERIMAG UMR 5104, Grenoble I Hugues Fauconnier, LIAFA.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
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.
1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign.
Reaching Agreement in the Presence of Faults M. Pease, R. Shotak and L. Lamport Sanjana Patel Dec 3, 2003.
Iterative Byzantine Vector Consensus in Incomplete Graphs Nitin Vaidya University of Illinois at Urbana-Champaign ICDCN presentation by Srikanth Sastry.
SysRép / 2.5A. SchiperEté The consensus problem.
Impossibility of Distributed Consensus with One Faulty Process By, Michael J.Fischer Nancy A. Lynch Michael S.Paterson.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
Chapter 21 Asynchronous Network Computing with Process Failures By Sindhu Karthikeyan.
Failure Detectors n motivation n failure detector properties n failure detector classes u detector reduction u equivalence between classes n consensus.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 9: Fault Tolerant Consensus 1.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 9 Instructor: Haifeng YU.
1 Fault-Tolerant Consensus. 2 Communication Model Complete graph Synchronous, network.
1 Distributed Resilient Consensus Nitin Vaidya University of Illinois at Urbana-Champaign Some research reported here is supported in part by.
Distributed Agreement. Agreement Problems High-level goal: Processes in a distributed system reach agreement on a value Numerous problems can be cast.
© 2007 P. Kouznetsov On the Weakest Failure Detector Ever Petr Kouznetsov (Max Planck Institute for SWS) Joint work with: Rachid Guerraoui (EPFL) Maurice.
1 AGREEMENT PROTOCOLS. 2 Introduction Processes/Sites in distributed systems often compete as well as cooperate to achieve a common goal. Mutual Trust/agreement.
Intrusion Tolerant Consensus in Wireless Ad hoc Networks Henrique Moniz, Nuno Neves, Miguel Correia LASIGE Dep. Informática da Faculdade de Ciências Universidade.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Privacy and Fault-Tolerance in Distributed Optimization Nitin Vaidya University of Illinois at Urbana-Champaign.
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
Agreement Protocols CS60002: Distributed Systems
Fault-tolerant Consensus in Directed Networks Lewis Tseng Boston College Oct. 13, 2017 (joint work with Nitin H. Vaidya)
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
6.852: Distributed Algorithms Spring, 2008
Presentation transcript:

Byzantine Vector Consensus in Complete Graphs Nitin Vaidya University of Illinois at Urbana-Champaign Vijay Garg University of Texas at Austin

Assumptions  Complete graph of n processes  f Byzantine faults  Each process has d-dimensional vector input

d = 2 Inputs

Exact Vector Consensus  Agreement: Fault-free processes agree exactly  Validity: Output vector in convex hull of inputs at fault-free processes  Termination: In finite time 4

5 Inputs Output

Approximate Vector Consensus  ε-Agreement: output vector elements differ by ≤ ε  Validity: Output vector in convex hull of inputs at fault-free processes  Termination: In finite time 6

7 ε = 0.04

Traditional Consensus Problem  Special case of vector consensus : d = 1  Necessary & sufficient condition for complete graphs: n ≥ 3 f +1 in synchronous [Lamport,Shostak,Pease] & asynchronous systems [Abraham,Amit,Dolev] 8

Results 9

Necessary and Sufficient Conditions (Complete Graphs)  Exact consensus in synchronous systems n ≥ max(3,d+1) f +1  Approximate consensus in asynchronous systems n ≥ (d+2) f +1

STOC 2013 Similar results for asynchronous systems Hammurabi Mendes & Maurice Herlihy

Talk Outline NecessitySufficiency Synchronousmax(3,d+1) f +1 Asynchronous(d+2) f +1

Synchronous Systems: n ≥ max(3,d+1) f +1 necessary  n ≥ 3f +1 necessary due to Lamport, Shostak, Pease

Synchronous Systems: n ≥ max(3,d+1) f +1 necessary  n ≥ 3f +1 necessary due to Lamport, Shostak, Pease  Proof of n ≥ (d+1) f +1 by contradiction … suppose that f = 1 n ≤ (d+1)

n ≤ d+1 = 3 when d = 2  Three fault-free processes, with inputs shown below Process A Process C Process B

Process A’s Viewpoint  If B faulty : output on green segment (for validity) 16 Process A Process C Process B

Process A’s Viewpoint  If B faulty : output on green segment (for validity)  If C faulty : output on red segment 17 Process A Process C Process B

Process A’s Viewpoint  If B faulty : output on green segment (for validity)  If C faulty : output on red segment  Output must be on both segments = initial state 18 Process A Process C Process B

d = 2  Validity forces each process to choose output = own input  No agreement  n = (d+1) insufficient when f = 1  By simulation, (d+1)f insufficient Proof generalizes to all d

Talk Outline NecessitySufficiency Synchronousmax(3,d+1) f +1 Asynchronous(d+2) f +1

Synchronous System n ≥ max(3,d+1) f Reliably broadcast input vector to all processes [Lamport,Shostak,Pease] 2. Receive multiset Y containing n vectors 3. Output = a deterministically chosen point in

d = 2, f = 1, n = 4  Y contains 4 points, one from faulty process 22

n-f = 3  Y contains 4 points, one from faulty process  Output in intersection of hulls of (n-f)-sets in Y

Proof of Validity  Claim 1 : Intersection is non-empty  Claim 2 : All points in intersection are in convex hull of fault-free inputs Output in

Tverberg’s Theorem ≥ (d+1)f+1 points can be partitioned into (f+1) sets such that their convex hulls intersect d = 2 f = 2 n = 8 25

Tverberg’s Theorem ≥ (d+1)f+1 points can be partitioned into (f+1) sets such that their convex hulls intersect d = 2 f = 2 n = 8 26 Tverberg points

Claim 1: Intersection is Non-Empty  Each T contains one set in Tverberg partition of Y

Claim 1: Intersection is Non-Empty  Each T contains one set in Tverberg partition of Y  Intersection contains all Tverberg points of Y

Claim 1: Intersection is Non-Empty  Each T contains one set in Tverberg partition of Y  Intersection contains all Tverberg points of Y  Non-empty by Tverberg theorem when ≥ (d+1)f+1

Claim 2: Intersection in Convex Hull of Fault-Free Inputs  At least one T contains inputs of only fault-free processes  Claim 2

Talk Outline NecessitySufficiency Synchronousmax(3,d+1) f +1 Asynchronous(d+2) f +1

Asynchronous System n ≥ (d+2) f +1 is Necessary  Suppose f=1, n=d+2  One process very slow … remaining d+1 must terminate on their own  d+1 processes choose output = own input (as in synchronous case) 32

Talk Outline NecessitySufficiency Synchronousmax(3,d+1) f +1 Asynchronous(d+2) f +1

Asynchronous System n ≥ (d+2) f +1  Algorithm executes in asynchronous rounds  Process i computes v i [t] in its round t  Initialization: v i [0] = input vector

Asynchronous System n ≥ (d+2) f +1  Algorithm executes in asynchronous rounds  Process i computes v i [t] in its round t  Initialization: v i [0] = input vector … 2 steps per round

Step 1 in Round t  Reliably broadcast state v i [t-1]  Primitive from [Abraham, Amit, Dolev] ensures that each pair of fault-free processes receives (n-f) identical messages 36

Step 2 in Round t  Process i receives multiset B i of vectors in step 1 |B i | ≥ n-f 37

Step 2 in Round t  Process i receives multiset B i of vectors in step 1 |B i | ≥ n-f  For each (n-f)-subset Y of B i … choose a point in Γ(Y) 38

Step 2 in Round t  Process i receives multiset B i of vectors in step 1 |B i | ≥ n-f  For each (n-f)-subset Y of B i … choose a point in Γ(Y)  New state v i [t] = average over these points 39

Validity  |B i | ≥ n-f  Validity proof similar to synchronous 40 n ≥ (d+2) f +1  n-f ≥ (d+1) f +1  Tverberg applies

Recall from Step 2  For each (n-f)-subset Y of B i … choose a point in Γ(Y)  New state v i [t] = average over these points ε-Agreement

Recall from Step 2  For each (n-f)-subset Y of B i … choose a point in Γ(Y)  New state v i [t] = average over these points Because i and j receive identical n-f messages in step 1, they choose at least one identical point above ε-Agreement

Recall from Step 2  For each (n-f)-subset Y of B i … choose a point in Γ(Y)  New state v i [t] = average over these points Because i and j receive identical n-f messages in step 1, they choose at least one identical point above ε-Agreement v i [t] and v i [t] as convex combination of fault-free states, with non-zero weight for an identical process

Rest of the argument standard in convergence proofs ε-Agreement v i [t] and v i [t] as convex combination of fault-free states, with non-zero weight for an identical process

Rest of the argument standard in convergence proofs  Range of each vector element shrinks by a factor < 1 in each round  ε-Agreement after sufficient number of rounds ε-Agreement v i [t] and v i [t] as convex combination of fault-free states, with non-zero weight for an identical process

Summary  Necessary and sufficient n for vector consensus  Synchronous & asynchronous systems

Matrix Form v[t] = M[t] v[t-1] where M[t] is row stochastic with a coefficient of ergodicity < 1 v i [t] and v i [t] as convex combination of fault-free states, with non-zero weight for an identical process

Matrix Form v[t] = M[t] v[t-1] where M[t] is row stochastic with a coefficient of ergodicity < 1  Consensus because ΠM[t] has a limit with identical rows v i [t] and v i [t] as convex combination of fault-free states, with non-zero weight for an identical process Hajnal 1957 Wolfowitz 1963

Matrix Form  Popular tool in decentralized control literature on fault-free iterative consensus [Tsitsiklis,Jadbabaei]  Allows derivation of stronger results  Incomplete graphs  Time-varying graphs 49

Thanks! 50

51

Exact Consensus  Agreement: Fault-free processes agree exactly  Validity: Agreed value in convex hull of inputs at fault-free processes  Termination: In finite time  Must agree on 0

Exact Consensus  Agreement: Fault-free processes agree exactly  Validity: Agreed value in convex hull of inputs at fault-free processes  Termination: In finite time  May agree on.4

Exact Consensus Impossible with asynchrony [FLP] 54

Approximate Consensus  Agreement: Fault-free processes agree approximately  Validity: …  Termination: …

Approximate Consensus  Agreement: Fault-free processes agree approximately  Validity: …  Termination: …  May agree on ≈.4

Necessary & Sufficient Condition (Complete Graphs)  n ≥ 3f+1 57

Necessary & Sufficient Condition (Complete Graphs)  n ≥ 3f+1 for  Exact consensus with synchrony  Approximate consensus with asynchrony 58

Necessary & Sufficient Condition (Complete Graphs)  n ≥ 3f+1 for  Exact consensus with synchrony  Approximate consensus with asynchrony with scalar inputs

0101 Inputs Exact vector consensus Outputs Approximate vector consensus Outputs