BChain High-Throughput BFT Protocols by Haibin Zhang

bchain high throughput bft protocols l.w
1 / 34
Embed
Share

"Explore BChain's high-throughput Byzantine Fault-Tolerant (BFT) protocols bridging theory and practice in security, reliability, applied cryptography, and distributed systems. Learn about State Machine Replication (SMR), Crash Fault-Tolerance (CFT), and the critical role of BFT protocols in ensuring secure and reliable cloud computing."

  • BChain
  • BFT Protocols
  • Security
  • Reliability
  • Cryptography

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. BChain: High-Throughput BFT Protocols Haibin Zhang (UConn) haibin.zhang@uconn.edu

  2. Research Interests: Security and Reliability Connecting theory and practice Applied cryptography Systems and Distributed Systems Cloud storage and cloud computing Slide 2

  3. This Talk State Machine Replication (SMR) Crash Fault-Tolerant (CFT) Byzantine Fault-Tolerant (BFT) BChain: A high-throughput BFT SMR protocol

  4. Client-Server Model client client Server/state machine client client Scenario 1: With a single server Slide 4

  5. Client-Server Model client client replicated servers/state machines client client Scenario 2: With replicated servers Slide 5

  6. State Machine Replication (SMR) Replicas maintain the same state Replicas start in the same state Operations are deterministic Replicas execute operations in the same order Replicas send replies to clients Clients vote on replica replies

  7. Crash Fault-Tolerant SMR Example: Paxos: SMR for crash failures [Lamport, ACM TOCS 1998]; going back to 1980s The most important backbone architecture Each major service BigTable, Chubby, Spanner, Azure, Amazon Web Services, Ceph, IBM SAN, VMware NSX, Slide 7

  8. BFT SMR = BFT Protocols Traditionally important Powerful: arbitrary failures & attacks Systems, distributed systems, theory, crypto, security, Recently gain prominence Cryptocurrencies, or blockchains Secure and reliable cloud Pub/Sub, SDN, Storage

  9. Leader-Based (BFT) SMR Leader-based SMR Primary (one of the replicas) orders the operations Other replicas follow the order Other replicas monitor the primary and do a view change if primary fails/behaves maliciously

  10. Leader-Based SMR: Broadcast- vs. Chain-Based Broadcast-based SMR CFT: e.g., Paxos BFT: e.g., PBFT Zyzzyva Reasonable performance + Robust against attacks Chain-based SMR CFT: Chain replication BFT: BChain (this talk) Better performance + No such protocols until BChain [Castro and Liskov, ACM TOCS 2002]; earlier version [OSDI 1999] [Kotla et al. SOSP 07] [Renesse and Schneider,OSDI 04] [Duan, Meling, Sean, and Zhang, OPODIS 2014]

  11. Some Efforts towards Chain-Based BFT Aliph-Chain A sub-protocol of a BFT protocol Only works in the failure-free case Has to switch to a (slower) backup BFT protocol; The switch is slow [Aublin et al., ACM TOCS 2015]; earlier version [EuroSys 2010] Byzantine Chain Replication Relies on trusted data center Olympus (to help achieve liveness) [Renesse,Ho, and Schiper,OPODIS 12]

  12. BChain Fully fledged BFT High throughput Failure handling Avoiding view changes (for most failure scenarios) Proactive security Reconfiguring failures Not as robust as broadcast-based BFT under certain performance attacks

  13. BChain Overview: BChain-3 and BChain-5 Chaining Failure-free case Re-chaining Normal case: there are failures but primary is correct Reconfiguration May or may not need View Change Primary is faulty

  14. BChain-3 3f+1 replicas Replicas are in a chain Two sets A: Agreement set (2f+1 replicas) B: Backup set For failure reconfiguration head proxy tail tail 1 2 2f 2f+1 2f+2 3f+1 : 2f+1 replicas : f replicas

  15. BChain-3: Chaining Free-free case Client sends a request to the head c REQUEST 1 2 f+1 f+2 2f+1 2f+2 3f+1 head proxy tail tail

  16. BChain-3: Chaining Head assigns sequence number and sends <chain> message Replicas in A execute request and send <chain> message c 1 2 f+1 f+2 2f+1 2f+2 3f+1 CHAIN head proxy tail tail

  17. BChain-3: Chaining Proxy tail sends <reply> to the client and commits An <ack> message is sent backward to the head Set A replicas verify <ack> message and commit Replicas that have committed the requests forward <chain> messages to set B c REPLY CHAIN 1 2 f+1 f+2 2f+1 2f+2 3f+1 ACK head proxy tail tail

  18. BChain-3: Re-chaining Normal case: during failures but head is correct Re-chaining! Much faster than view change or protocol switch

  19. BChain-3: Re-chaining Replica monitors its successor Sets up a timer when sending <chain> Suspects its successor if it did not receive <ack> in time When there are reported failures Re-chaining: Head reassigns the order of the chain Reconfiguration: Replicas in set B get reconfigured

  20. BChain-3: Re-chaining Algorithm

  21. BChain-3: Re-chaining Type I: Faulty replica (in yellow, replica 4) did not send <ack> (or <chain>) in time timeout! 1 2 3 4 2f+1 2f+2 3f+1 head proxy tail tail SUSPECT 1 2f+2 2 3 3f+1 4 head proxy tail reconfiguration

  22. BChain-3: Re-chaining Type II: Faulty replica (in yellow, replica 3) tries to frame its correct successor (replica 4). timeout! 1 2 3 4 2f+1 2f+2 3f+1 head proxy tail tail SUSPECT timeout! 1 2f+2 2f+1 3 3f+1 4 head proxy tail reconfiguration SUSPECT 1 2f+3 2f 2f+1 4 3 head proxy tail reconfiguration

  23. BChain-3: Reconfiguration When replicas are moved to set B It is replaced with a new one Faulty replicas are reconfigured before they are moved back to set A Replicas in set A keeps running without waiting

  24. BChain-3 Summary 3f+1 replicas Reconfiguration needed Re-chaining algorithms are simple Proofs are very complex

  25. BChain-5 5f+1 replicas; Byzantine quorum is 3f+1 Re-chaining: When a replica suspects its successor, both are moved to set B No reconfiguration needed (but you still can!) head proxy tail tail 1 2 3f 3f+1 3f+2 5f+1 : 3f+1 replicas : 2f replicas

  26. BChain Optimizations Almost all signatures can be replaced with MACs A hybrid protocol Signatures needed only for re-chaining In its most applicable case for BChain-3: f=1 and n=4 No reconfiguration needed All MACs

  27. Implementation and Evaluation Failure-free: BChain is almost as efficient as Aliph- Chain 100 10 Aliph-Chain BChain-3 80 8 BChain-5 PBFT Throughput (Kops/sec) Zyzzyva Zyzzyva Latency (ms) 60 6 BChain-5 PBFT BChain-3 40 4 Aliph-Chain 20 2 PBFT Zyzzyva BChain-3 BChain-5 Aliph-Chain PBFT Zyzzyva BChain-3 BChain-5 Aliph-Chain 0 0 0 10 20 30 40 50 60 0 10 20 30 40 50 60 Number of clients Number of clients

  28. Implementation and Evaluation Under failures: BChain quickly recovers steady state performance 100 BChain-3 80 BChain-5 Throughput (Kops/sec) 60 PBFT 40 Aliph Zyzzyva 20 BChain-3 BChain-5 PBFT Aliph Zyzzyva 0 0 1 2 3 4 5 6 Time(s)

  29. BFT Three most important security goals: Integrity (= Safety) Availability (= Liveness) Confidentiality BFT naturally achieves Integrity and Availability What about BFT with Confidentiality?

  30. Cloud Storage BFT + Confidentiality? Achieving confidentiality in replicated state machines is difficult Why? replication increases reliability replication reduces confidentiality (by, say, taking control of the weakest replica) Slide 30

  31. CBFT and CP-BFT [Yin et al., SOSP 03] CBFT: confidential BFT Separating agreement from execution [Duan and Zhang, SRDS 16] [Reiter and Birman, TOPLAS 94] CP-BFT: causality-preserving BFT A confidentiality notion that only exists in BFT/atomic broadcast/distributed systems [Reiter and Zhang, 2016]

  32. CP-BFT Scenario A trading service that trades stocks. A client issues a request to purchase stock shares. A corrupt replica could collude with a corrupt client to issue a request for the same stock. If the new request is processed earlier than the original request, this may adjust the demand for the stock Slide 32

  33. MACS Related Projects UC Isolated Computation UC Keystone Secure and Fault-Tolerant Keystone and Swift

  34. Thank you! Slide 34

Related


More Related Content