Distributed Systems Making Byzantine Fault-Tolerant Systems - - PowerPoint PPT Presentation
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
Byzantine system
Copies of critical components Concurent replicas Response agreement Omission failure proof Robustness
Byzantine failure
Incorrectly working components State corruption Inconsistent responses
Byzantine fault tolerance
replication systems:
PBFT Q/U HQ Zyzzyva Aardvark
Basic concept
Accepting requests by primary Broadcasting requests to replicas Processing request by replicas Replica-to-replica communication Replying to client Reaching consensus
PBFT
Practical Byzantine Fault Tolerance Optimized gracious execution path Message authentication codes 3-round quorum-based Consensus over 3f+1 replicas
Connection concept example
PBFT communication patern
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
HQ
Two-round quorum protocol Requires 3f + 1 replicas Quorum of 2f + 1 Better at resolving concurrency conflicts No primary replica
Zyzzyva
Speculative Byzantine Fault Tolerance 3f+1 total replicas, 2f+1 replicas with state MAC authentication Agreement, view change, checkpoint
protocols
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
Aardvark
Blacklisting Caching responses Round-robin client-based request scheduler