Your SlideShare is downloading. ×
0
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
PODC 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PODC 2011

182

Published on

Error-Free Multi-Valued Consensus with Byzantine Failures

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
182
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Error-FreeE FMulti-Valued Consensuswith Byzantine Failures yGuanfeng LiangElectrical and Computer EngineeringUniversity of Illinois at Urbana-ChampaignJoint work with Nitin Vaidya
  • 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. 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. Our Work Error-free consensus within 4x optimal p Can be improved to 2x optimal 4
  • 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. 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. S-f 3 1 i … 2 n 7
  • 8. N 31 i … 2 n Encode with (N, S-f) MDS code 8
  • 9. 31 i … 2 n 9
  • 10. 11 0 3 1 i 1 … 0 2 n Same as the local one? If not inputs must be different 10
  • 11. 11 0 3 1 i 1 … 0 2 n 11
  • 12. 1 11 1 0 1 3 1 i 1 1 … 0 1 2 n 12
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Thank you! u! 25
  • 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. Failure models Crash failure – fail by stopping (“do no harm”) y pp g ( ) Byzantine failure – arbitrary, potentially harmful, behavior 27
  • 28. Known results Need N ≥ 3f + 1 nodes to tolerate f failures Need Ω(N2) messages 28
  • 29. 1-bit value Each message at least 1 bit O(N2) bits “communication complexity” to agree on just 1 bit value 29
  • 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. 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. 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. Algorithm structure g Fast round (as in the example) 33

×