distributed systems
play

Distributed Systems Making Byzantine Fault-Tolerant Systems - PowerPoint PPT Presentation

Distributed Systems Making Byzantine Fault-Tolerant Systems Tolerate Byzantine Faults Hubert Jaworski Byzantine system Copies of critical components Concurent replicas Response agreement Omission failure proof Robustness


  1. Distributed Systems Making Byzantine Fault-Tolerant Systems Tolerate Byzantine Faults Hubert Jaworski

  2. Byzantine system  Copies of critical components  Concurent replicas  Response agreement  Omission failure proof  Robustness

  3. Byzantine failure  Incorrectly working components  State corruption  Inconsistent responses

  4. Byzantine fault tolerance replication systems:  PBFT  Q/U  HQ  Zyzzyva  Aardvark

  5. Basic concept  Accepting requests by primary  Broadcasting requests to replicas  Processing request by replicas  Replica-to-replica communication  Replying to client  Reaching consensus

  6. PBFT  Practical Byzantine Fault Tolerance  Optimized gracious execution path  Message authentication codes  3-round quorum-based  Consensus over 3f+1 replicas

  7. Connection concept example

  8. PBFT communication patern

  9. Q/U  Conflict-free Quorum-based BFT Protocol  Query/Update  Single-round quorum-based  Requires 5f + 1 replicas  Carefully optimized  Requires a significantly lower number of messages  No primary replica

  10. HQ  Two-round quorum protocol  Requires 3f + 1 replicas  Quorum of 2f + 1  Better at resolving concurrency conflicts  No primary replica

  11. Zyzzyva  Speculative Byzantine Fault Tolerance  3f+1 total replicas, 2f+1 replicas with state  MAC authentication  Agreement, view change, checkpoint protocols

  12. Aardvark  Robust BFT  Requires 3f+1 replicas  Gracious and uncivil executions  Traded some performace for robustness  Client-side signature generation  hybrid MAC-signature construct  separate network interface controllers  Regular view changes

  13. Aardvark  Blacklisting  Caching responses  Round-robin client-based request scheduler 

  14. Efficiency

  15. Verifying client request

  16. Message from replica

  17. Faulty client

  18. Faulty replica

  19. Faulty primary

  20. The End Thank you for your time

Recommend


More recommend