1 / 87

Byzantine Vector Consensus in Complete Graphs

Byzantine Vector Consensus in Complete Graphs. Paper by: Nitin H. Vaidya - University of Illinois Vijay K. Garg - University of Texas Presented by: Dima Ogurtsov. In This Presentation We Will. Briefly introduce Byzantine scalar consensus problem

duy
Download Presentation

Byzantine Vector Consensus in Complete Graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Byzantine Vector Consensus in Complete Graphs Paper by: Nitin H. Vaidya - University of Illinois Vijay K. Garg - University of Texas Presented by: Dima Ogurtsov

  2. In This Presentation We Will • Briefly introduce Byzantine scalar consensus problem • Introduce Byzantine vector consensus (BVC) problem • Present geometric and communicational primitives that will be used in BVC algorithms • Provide a necessary and sufficient condition for achieving exact BVCin a synchronous system (complete graph) • Provide a necessary and sufficient condition for achieving approximate BVCin an asynchronous system (complete graph) • Provide an algorithms for both versions of BVC

  3. Agenda • Introduction • The Byzantine Generals problem • Fun facts about scalar Byzantine consensus • Introducing Byzantine vector consensus (BVC) • Why is it a non trivial problem given scalar consensus solution • Communication primitives • Reliable broadcast • Witness technique • Geometric primitives • Tverberg’s theorem • Linear programming • Exact BVC in synchronous systems • Necessary condition • Algorithm and sufficient condition • Approximate BVC in asynchronous systems • Necessary condition • Algorithm and sufficient condition • Wrap up

  4. Introduction

  5. The Byzantine Generals Problem • Imagine several divisions of the Byzantine army are camped outside of an enemy city • Each division is commanded by its own general • Generals communicate with each other by messages • Generals must decide on common plan of action • However, some of the generals may be traitors trying to prevent loyal generals from reaching the agreement • We want to give an algorithm which guarantees a good solution

  6. What is a Good Solution • It depends on a specific problem • In general, consensus problem can be divided to two types • Exact consensus – all generals* get the same value • Approximate consensus – all generals* get values which are close enough (allowing some error margin) • In both cases we may want to put a constraint on the value that every general gets, such that a solution will be “good”. We will call this constraint a validity condition • We will discuss the problem in rational space and we will choose convexity constraint as a validity condition • * All loyal generals for Byzantine systems

  7. Exact Byzantine Consensus Problem • Assume a system of n processes • f out of n processes are faulty – can behave arbitrary • Each process Pi has a scalar input Xi • Find a decision value that satisfies the following: • Agreement: The decision value of all non-faulty processes is identical • Validity: The decision value of all non-faulty processes is in the convex hull of the input values of all non-faulty processes • Termination: Each non-faulty process must terminate within a finite amount of time

  8. Approximate Byzantine Consensus Problem • Assume a system of n processes • f out of n processes are faulty – can behave arbitrary • Each process Pi has a scalar input Xi • Find a decision value that satisfies the following: • -Agreement: The decision value of all non-faulty processes must be within of each other, where > 0 is a predefined constant • Validity: The decision value of all non-faulty processes is in the convex hull of the input values of all non-faulty processes • Termination: Each non-faulty process must terminate within a finite amount of time

  9. Synchronous and Asynchronous Systems • The problem needs to be solved separately for synchronous and asynchronoussystems • The asynchronous solution will work for synchronous system too but may be non optimal • The asynchronous system introduces several difficulties that can influence the solution • Arbitrary delays in messages • No synchronized clocks • Cannot distinguish between crash of a process or just slow execution

  10. Fun Facts About Scalar Byzantine Consensus • Necessary and sufficient condition for exact Byzantine consensus in a synchronous system: • L. Lamport, R. Shostak, and M. Pease. The Byzantine generals problem, 1982 • Exact Byzantine consensus cannot be achieved in an asynchronous system • M. J. Fischer, N. A. Lynch, and M. S. Paterson. Impossibility of distributed consensus with one faulty process, 1985 • Necessary and sufficient condition for approximate Byzantine consensus in an asynchronous system: • I. Abraham, Y. Amit, D. Dolev. Optimal Resilience Asynchronous Approximate Agreement, 2004

  11. Introducing BVC Problem • Assume a system of n processes • f out of n processes are faultyor Byzantine – can behave arbitrarily • Each process Pi has an input vector • Find a decision vectorthat satisfies the following:

  12. …vector that satisfies the following: • Validity: The decision vector at each non-faulty process must be in the convex hull of the input vectors at the non-faulty processes. • Termination: Each non-faulty process must terminate within a finite amount of time • For exact BVC • Agreement: The decision vector at all the non-faulty processes must be identical. • For approximate BVC • -Agreement: For 1 ≤ l ≤ d, the l-th elements of the decision vectors at any two non-faulty processes must be within of each other, where > 0 is a pre-defined constant.

  13. Why not scalar Byzantine consensus on each dimension • One might think that BVC problem can be solved by simply performing scalar consensus on each dimension of the input vectors independently • But in reality even if validity condition for scalar consensus is satisfied for each dimension of the vector separately, the validity condition of the decision vector may be not satisfied

  14. Why not scalar Byzantine consensus on each dimension (2) • For example let’s take n=4, f=1, d=3. Processes p1, p2 and p3 are not faulty and their input vectors are [1,0,0], [0,1,0], and [0,0,1] respectively. p4 is faulty. • If we perform Byzantine scalar consensus on each dimension of the vector separately, then the processes may possibly agree on the decision vector [0,0,0] which satisfies scalarvalidity condition along each dimension separately • However the decision vector is not in convex hull of the non-faulty inputs. The inputs are probability vectors, while the decision vector is not. • So the decision vector is not valid.

  15. Why not scalar Byzantine consensus on each dimension – visual example

  16. Communication Primitives In this section, we present distributed algorithms and their properties which we will use as primitive building blocks for communication in our BVC algorithms

  17. Reliable Broadcast • Two procedures: Reliable-Broadcast(m, r) and Reliable-Accept(p, m, r). • Guarantees the following properties: • Correctness. If a non-faulty process pwith a message mon round rperforms Reliable-Broadcast(m, r) then all non-faulty processes will eventually Reliable-Accept(p, m, r). • Non-forgeability.If a non-faulty process pdoes not perform at round rReliable-Broadcast(m, r) then no non-faulty process will ever perform Reliable-Accept(p, m, r). • Uniqueness. If a non-faulty process performs Reliable-Accept(p, m, r)and another non-faulty process performs Reliable-Accept(p, m’, r) then m = m’;

  18. Witness Technique • Assuming n > 3f • Witnessfor p is a process whose first accepted values were also accepted by p • A nonfaulty process waits for witnesses for each value • Every pair of nonfaulty processes have ≥ commonwitnesses • We will use this technique together with Reliable-Broadcast

  19. AAD and AAD-broadcast • Algorithm for approximate scalar agreement proposed in: I. Abraham, Y. Amit, D. Dolev. Optimal Resilience Asynchronous Approximate Agreement, 2004 • We will refer to it as AAD • AAD works in asynchronous rounds • Each round a combination of reliable broadcast and witness technique is used for communication • We will call this combined algorithm AAD-broadcast

  20. AAD-broadcast properties • In the end of AAD-broadcast in round r the following properties hold: • Common knowledge.Any two non faulty processes learn at least n-f identical tuples • Uniqueness. Process p cannot receive two tuples (q,msg1,r), (q’,msg2,r) such that • Non-forgeability. If process p gets message m from q, then q indeed broadcasted m.

  21. And now for something completely different

  22. Geometric Primitives In this section, we present geometric theorems, algorithms, definitions and ideas that we will use as primitive building blocks for decision vector computation in BVC algorithms

  23. Tverberg’s Theorem: Informal • Let’s assume we have n points in • We want to find a good partition of our points into several subsets • Good partition – we want all these subsets to have something in common • Convex hull of all points in a subset is a subspace of • We want all these subspaces to have at least one common point • In other words all these subspaces must have non-empty intersection • We argue that for n large enough such partition existsindependently of the actual points

  24. Example: Tverberg’s Theorem n = 7, d = 2, f = 2. We want f+1=3 subsets

  25. Example: Tverberg’s Theorem

  26. Example: Tverberg’s Theorem

  27. Example: Tverberg’s Theorem

  28. Example: Tverberg’s Theorem

  29. Tverberg’s Theorem: formal • For any integer f ≥ 1 • For every multiset Y such that points in • There exists a partition of Y into f+1 multisets such that • H() • H(X) is a convex hull of all points in X • Such partition is called Tverberg’s partition • All points in the common convex hull are calledTverberg’s points • Proof: http://gilkalai.wordpress.com/2008/11/26/sarkarias-proof-of-tverbergs-theorem-2

  30. function • Assume multiset Y, , • Assume integer f < n • Define • In other words • Take convex hull of each n-f size subset of Y • Intersect all of them

  31. example, n=5, f=1,d=2

  32. example, n=5, f=1,d=2

  33. example, n=5, f=1,d=2

  34. example, n=5, f=1,d=2

  35. example, n=5, f=1,d=2

  36. example, n=5, f=1,d=2

  37. example, n=4,f=1,d=3

  38. example, n=4,f=1,d=3

  39. example, n=4,f=1,d=3

  40. example, n=4,f=1,d=3

  41. example, n=4,f=1,d=3

  42. example, n=4,f=1,d=3 • No common intersection of 4 faces – Gamma is empty

  43. Non-empty lemma • Lemma: For any multiset Y containing at least points in , • Proof: • Consider a Tverberg’s partition of Y into f+1 subsets. Since such partition exists. Let’s call it Q • Reminder: • , there are f+1non-empty subsets in partitionQ T excludes elements from at mostf of these subsets • Thus T fully contains one of the subsets from Q

  44. Non-empty lemma (cont.) • Every T fully contains one of the subsets from • Because Q is Tverberg’s partition, H() • So H(T) for every T fully contains H() • Thus • We have proven: For any multiset Y containing at least points in ,

  45. Linear Programming • A technique for the optimization of a linear function, subject to linear equality and linear inequality constraints • Allows solution of problems of the following type: Maximizef(X)subject toC1(X),C2(X)..Ck(X) • f(X) is a linear function • C1..Ck(X) are k linear constraints on value of X • Time complexity - different implementations yield different results • polynomial in d and n • Linear in n, exponential in d

  46. Rest for a minute…

  47. Exact BVC in a Synchronous System In this section, we derive necessary and sufficient conditions for exact BVC in a synchronous system with up to f faulty processes. The discussion in the rest of this paper assumes that the network is a complete graph, even if this is not stated explicitly

  48. Necessary Condition for Exact BVC • We will prove that is necessary for exact BVC • n is number of processes • f is number of faulty processes • d is dimension of the input vectors

  49. Necessary Condition for Exact BVC • Necessary condition for scalar Byzantine consensus is • Basic reduction from scalar to vector problem • Assume solution exists for inputs in • Assume Xi is a scalar input of process Pi • Define Yi in = [Xi,Xi…Xi] (Vector in , all entries equal to Xi) • Because of validity condition the decision vector is of form [Di,Di…Di] (Vector in , all entries equal to Di) • The first component of the decision vector is a correct solution of the original problem • Agreement holds: all processes agree on the same decision vector • Termination holds: vector BVC terminates • Validity holds: in convex hull of Yis => between max and min

  50. Necessary Condition for Exact BVC • Assume f = 1, n = d+1 • For input Xi of process Pi is an all-zero vector except for i-ths component, which equals to 1 • is all-zero vector • For Let denote a convex hull of the inputs of all processes except • Define • Claim:

More Related