1 / 24

Blockchains

Learn about best-effort and reliable broadcast protocols in blockchains, including examples and guarantees. Explore Bracha's Byzantine Reliable Broadcast algorithm and its implementation.

agiles
Download Presentation

Blockchains

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. Blockchains Lecture 7

  2. Broadcast • Best-effort broadcast or simply broadcast (BEB) • Unreliable • Reliable broadcast (RB) • Reliable • We are interested

  3. Unreliable Broadcast broadcast(m) p1 deliver(p1,m) p2 p3 deliver(p1,m) p3

  4. Reliable Broadcast Abstractions • Best-effort broadcast • Guarantees reliability only if sender is correct • Reliable broadcast • Guarantees reliability independent of whether sender is correct

  5. BEB Example No • Is this allowed? broadcast(m) p1 deliver(p1,m) p2 p3 deliver(p1,m) p3 Ali Ghodsi, alig(at)cs.berkeley.edu

  6. BEB Example (2) Yes • Is this allowed? broadcast(m) p1 deliver(p1,m) p2 p3 deliver(p1,m) p3 Ali Ghodsi, alig(at)cs.berkeley.edu

  7. Reliable Broadcast • BEB gives no guarantees if sender crashes • Strengthen to give guarantees if sender crashes Ali Ghodsi, alig(at)cs.berkeley.edu

  8. Reliable Broadcast A designated replica (the broadcaster) broadcasts a message to all replicas, with the following guarantees: • (Validity) If the broadcaster is correct, then every correct replica delivers the broadcaster’s message. • (Consistency) If two correct servers deliver two messages B and B′ then B = B′. • (Totality) If any correct replica delivers a broadcast message B, then all correct replicas deliver B.

  9. RB Example Yes • Is this allowed? broadcast(m) p1 p2 p3 p3 Ali Ghodsi, alig(at)cs.berkeley.edu

  10. RB Example Yes • Is this allowed? broadcast(m) p1 p2 p3 deliver(p1,m) p3 Ali Ghodsi, alig(at)cs.berkeley.edu

  11. RB Example No • Is this allowed? broadcast(m) p1 p2 p3 deliver(p1,m) p3 Ali Ghodsi, alig(at)cs.berkeley.edu

  12. RB Example No • Is this allowed? broadcast(m) p1 deliver(p1,m) p2 p3 p3 Ali Ghodsi, alig(at)cs.berkeley.edu

  13. How to achieve Byzantine Reliable Broadcast

  14. Reliable Broadcast [Bracha, Information and Computation2018] • Bracha’s protocol tolerates f faulty replicas out of n = 3f+1.

  15. Bracha’s Reliable Broadcast [Bracha, Information and Computation2018] B p0 p1 p2 p3 “Initiate”

  16. Bracha’s Reliable Broadcast [Bracha, Information and Computation2018] B p0 p1 p2 p3 “Initiate” “Echo”

  17. Bracha’s Reliable Broadcast [Bracha, Information and Computation2018] B p0 p1 p2 p3 “Initiate” “Echo”

  18. Bracha’s Reliable Broadcast [Bracha, Information and Computation2018] Communication complexity is O(n2|B|) B p0 p1 p2 p3 “Initiate” “Ready” “Echo”

  19. Bracha’s Reliable Broadcast [Bracha, Information and Computation2018] The algorithm implements Byzantine reliable broadcast if n > 3t.

  20. Bracha’s Reliable Broadcast [Bracha, Information and Computation2018] The algorithm implements Byzantine reliable broadcast if n > 3t.

  21. Proof? (Discussion Time!) B p0 p1 p2 p3 “Initiate” “Ready” “Echo” (Validity) If the broadcaster is correct, then every correct replica delivers the broadcaster’s message. (Easy!) (Consistency) If two correct servers deliver two messages B and B′ then B = B′. (Note that n > 3t) (Totality) If any correct replica delivers a broadcast message B, then all correct replicas deliver B. (Hint: Use Amplification!)

  22. Applications?

  23. Reliable Broadcast • One building primitive for one particular BFT (aka atomic broadcast, permissioned blockchain) • Weaker than BFT • BFT implies reliable broadcast

  24. Acknowledgement • Some slides from Dr. Ali Ghodsi with some adaptations.

More Related