PODC 2011

307 views

Published on

Error-Free Multi-Valued Consensus with Byzantine Failures

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
307
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PODC 2011

  1. 1. Error-FreeE FMulti-Valued Consensuswith Byzantine Failures yGuanfeng LiangElectrical and Computer EngineeringUniversity of Illinois at Urbana-ChampaignJoint work with Nitin Vaidya
  2. 2. Multi-Valued Byzantine Consensus yN nodes each given an L-bit input value, want to g pcompute their L-bit outputs such that Fault-free nodes must agree If all fault-free nodes have identical inputs values agree on this value Up to f < N/3 Byzantine failures p y 2
  3. 3. Related Work Consensus: Ω(N2) for 1-bit agreement Error-free [Dolev and Reischuk, J.ACM’85] O(N1.5) for 1-bit with randomized May error [King and Saia, PODC’10] g O(NL) for large L with hashing May error [Fitzi and Hirt PODC’06] Hirt, PODC 06] Broadcast: roa cast O(NL) for large L [Beerliova-Trubiniova and Hirt, TCC’08] Error-free 3
  4. 4. Our Work Error-free consensus within 4x optimal p Can be improved to 2x optimal 4
  5. 5. Overview of the Algorithm g Divide L-bit input into many generations of D bits Consensus one generation at a time E chang nf rmat n ff c nt y with c ng Exchange information efficiently w th coding Identify a clique of S nodes that “trust” each other, y q and appear to have identical inputs: If not found, terminate with default output If found: Try to agree with the inputs in the clique Any misbehave will be detected, then update “trust”: trust If X did “bad” things to Y, Y will not trust X any more Repeat f next generation R t for t ti Memory of “trust” across generations 5
  6. 6. Code used for info exchange g(n,k) MDS (minimum distance separable) code p n n: length; k: dimension k k data symbols n coded symbols Any k coded symbols k data symbols Any m ≥ k locations consist a (m k) MDS code (m,k) (also has dimension k) 6
  7. 7. S-f 3 1 i … 2 n 7
  8. 8. N 31 i … 2 n Encode with (N, S-f) MDS code 8
  9. 9. 31 i … 2 n 9
  10. 10. 11 0 3 1 i 1 … 0 2 n Same as the local one? If not inputs must be different 10
  11. 11. 11 0 3 1 i 1 … 0 2 n 11
  12. 12. 1 11 1 0 1 3 1 i 1 1 … 0 1 2 n 12
  13. 13. 1 1 1 1 1 0 11 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 n Broadcast the 1-bit flags gFind a “clique” of S nodes match with each other 13
  14. 14. 1 1 1 1 1 0 11 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 n If not found: Good nodes have different inputs 14
  15. 15. 1 1 1 1 1 0 11 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 n If clique of S nodes is found: found Try to “agree” using packets from the clique 15
  16. 16. 1 1 1 1 1 0 11 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 n At most f bad nodes At least S - f good nodes in the clique Good nodes share ≥S – f packets identically 16
  17. 17. 1 1 1 1 1 0 11 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 n The code has dimension S - f All good nodes in the clique have same input 17
  18. 18. 1 1 1 1 1 0 11 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 n Nodes not in the clique: Either ll have id ti l codeword of (S S - f) Eith all h identical d d f (S, Or someone is not a codeword 18
  19. 19. 1 1 1 1 1 0 1 1 1 1 1 1 0 1 3 0 1 1 0 0 1 0 1 i 1 1 1 1 1 0 1 … 0 1 0 0 0 0 1 2 nEither all decode to the input of good nodes in the clique Or someone can’t decode misbehavior detected 19
  20. 20. Overview of the Algorithm g Divide L-bit input into many generations of D bits Consensus one generation at a time E chang nf rmat n ff c nt y with c ng Exchange information efficiently w th coding Identify a clique of S nodes that trust each other, y q and appear to have identical inputs: If not found, terminate with default output If found: Try to agree with the inputs in the clique Any misbehave will be detected, then update “trust”: trust If X did “bad” things to Y, Y will not trust X any more Repeat f next generation R t for t ti Memory of “trust” across generations 20
  21. 21. Complexity of the Algorithm p y g Many generations without failure y g Few expensive generations with failure p g Total cost dominated by the failure-free y generations For large L, communication complexity is N ( N − 1) L× S− f 21
  22. 22. Property of the Algorithm p y g S = N – f : original consensus with g N ( N − 1) L× ≤ 3 NL N− f Stronger property satisfied when S < N – f : If S fault-free nodes have same input output is input of a fault-free node S > N/2 : If S fault-free nodes have same input output is the majority input 22
  23. 23. Summary of Results y Error-free multi-valued Byzantine consensus y with complexity < 3NL Order optimal, 4x optimal Same complexity for many consensus of small inputs, inputs instead of one very long one Can be improved to 1.5NL (2x optimal) 23
  24. 24. Future Work & Latest Results Is 1.5NL the best we can do? Generalize to other network models: point-to- point, wireless, etc. i i l Point-to-Point network model: max m x # of bits t f transmit on each li k per unit tim smit h link p it time independent with other links Capacity of Byzantine agreement: max # of bits agreed per unit time Achieve at least 1/2 of capacity using Random Linear Codes 24
  25. 25. Thank you! u! 25
  26. 26. Flow of the Algorithm g Fast generation (no failure) Fast generation…… Fast generation in which failure is detected Expensive operation to learn new info about failure Fast generation Fast generation…… Fast generation in which failure is detected Expensive operation to learn new info about failure p p f f Failures identified after a small number of generations Only fast generations hereon 26
  27. 27. Failure models Crash failure – fail by stopping (“do no harm”) y pp g ( ) Byzantine failure – arbitrary, potentially harmful, behavior 27
  28. 28. Known results Need N ≥ 3f + 1 nodes to tolerate f failures Need Ω(N2) messages 28
  29. 29. 1-bit value Each message at least 1 bit O(N2) bits “communication complexity” to agree on just 1 bit value 29
  30. 30. Larger values(L bits) Upper bound: Agree on each bit separately pp g p y O(N2 L) bits communication complexity Lower bound: Need Ω(N L) bits to agree on g L bits 30
  31. 31. Effort ToImprove complexity L = 1: O(N1.5) with randomized algorithm [ g [King and Saia, PODC’10] ] Large L: O(N L) with hashing [Fitzi and Hirt, PODC’06] Both B th probabilistically correct b bili ti ll t = Not error-free 31
  32. 32. Modification Try to agree on small pieces (D bits) our of L y g p bits data in each “round” If X misbehaves with Y in a given round, avoid using XY links in the next round (for next g ( rounds D bits of data) Repeat 32
  33. 33. Algorithm structure g Fast round (as in the example) 33

×