Upcoming SlideShare
×

# CSL_Talk_20101210

237 views

Published on

Brief presentation on the Byzantine agreement problem

1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
237
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
2
0
Likes
1
Embeds 0
No embeds

No notes for slide

### CSL_Talk_20101210

1. 1. Network-Aware Distributed Algorithm<br />Guanfeng Liang & NitinVaidya<br />
2. 2. A Classic Distributed Algorithm Problem<br />Byzantine Agreement (BA): source S wants to send message to n-1 peers<br />Fault-free peers must agree<br />S fault-free agree on its message<br />Up to f failures<br />2<br />
3. 3. Message Passing Model<br />Point-to-point private links<br />3<br />S<br />A<br />C<br />B<br />
4. 4. From a Networking Perspective<br />Q: What are the link capacities?<br />A: ∞ bits/second (implicitly)<br />Q: Is it realistic?<br />A: ......<br />4<br />How does link capacityaffect performance of BA?<br />
5. 5. Message Passing with Capacity<br />Point-to-point private links<br />Each link has its own fixed capacity<br />5<br />S<br />1<br />3<br />1<br />4<br />2<br />2<br />A<br />C<br />1<br />3<br />4<br />2<br />B<br />2<br />5<br />
6. 6. Capacity of Agreement<br />Borrow notions from communications literature<br />6<br />Number of bit agreed on [0,t]<br />t<br />Throughput = lim<br />t->∞<br />Capacity = sup{Throughput}<br />
7. 7. Traditional vs. Ours<br />Traditional BA alg’s<br />Send the whole message over each link<br />Agree on the whole message all at once<br />Proposed BA alg<br />Send a fraction of the message over each link using coding<br />Reach agreement incrementally<br />Adapts to the location of failures<br />7<br />
8. 8. Data = a, b <br />S<br />a<br />a+b<br />b<br />3<br />1<br />2<br />a, b non-binary<br />Generation 1 - Step 1<br />8<br />
9. 9. Generation 1 - Step 2<br />Data = a, b <br />S<br />a<br />a+b<br />b<br />3<br />1<br />b<br />2<br />b<br />a+b<br />9<br />a<br />
10. 10. A Bad Peer<br />Data = a, b <br />S<br />a<br />a+b<br />b<br />a<br />b<br />a+b<br />a<br />b’<br />a+b<br />3<br />1<br />b<br />2<br />b’<br />1 detects error<br />a<br />a+b<br />10<br />
11. 11. Which is bad?<br />11<br />S<br />S<br />Look the same to 1<br />a<br />a<br />a+b<br />a+b<br />b<br />b’<br />b<br />b’<br />3<br />3<br />1<br />1<br />2<br />2<br />b’<br />b’<br />a<br />a<br />a+b<br />a+b<br />
12. 12. Generation 1 – Extra Broadcast<br />a<br />b<br />a+b<br />S<br />a<br />b<br />a+b<br />a<br />b’<br />a+b<br />3<br />1<br />2<br />12<br />a<br />b<br />a+b<br />
13. 13. Generation 1 – Conflict Found<br />a<br />b<br />a+b<br />S<br />a<br />b<br />a+b<br />a<br />b’<br />a+b<br />3<br />1<br />2<br />13<br />a<br />b<br />a+b<br />
14. 14. Data = c, d <br />S<br />c<br />c+d<br />d<br />3<br />1<br />2<br />Generation 2 - Step 1<br />14<br />1 knows 2 is bad<br />
15. 15. Generation 2 – Step 2<br />Data = c, d <br />S<br />c<br />c+d<br />d<br />c<br />d’<br />c+d<br />c<br />c+d<br />3<br />1<br />d’<br />2<br />1 knows 2 is bad<br />3 detects error<br />c<br />c+d<br />15<br />
16. 16. Generation 2 – Extra Broadcast<br />c<br />d<br />c+d<br />S<br />c<br />d’<br />c+d<br />c<br />c+d<br />3<br />1<br />2<br />16<br />d’<br />c+d<br />
17. 17. Generation 2 – Failure Identified<br />c<br />d<br />c+d<br />S<br />c<br />d’<br />c+d<br />c<br />c+d<br />3<br />1<br />2<br />17<br />d’<br />c+d<br />
18. 18. Improvement over Traditional BA Algorithms<br />Traditional ≤ min(link) = ε<br />Proposed-> min(2 links) = R + ε<br />18<br />S<br />R<br />R<br />ε<br />3<br />1<br />2<br />
19. 19. Summary<br />Capacity of BA given link capacity<br />Other capacity constraints<br />Framework for efficient BA<br />Coding<br />Incremental agreement <br />Can be used for multicast with node failure<br />19<br />
20. 20. Thanks you!<br />
21. 21. Adversary Model<br />Byzantine adversary<br />Omniscient – no secret hidden<br />Arbitrary behavior – worst case analysis<br />Computationally unbounded – cryptography won’t help<br />21<br />