Distributed Consensus

  1. Consensus in Byzantine-Failure Models
    1. The Byzantine Generals Problem
      1. Problem Formulation
        1. Coordinating with Traitors
          1. Communication Constraints
            1. Agreement Requirements
            2. Oral Messages Algorithm
              1. Recursive Message Passing
                1. Majority Voting
                  1. Fault Tolerance Bounds
                  2. Signed Messages Algorithm
                    1. Digital Signature Usage
                      1. Authentication Benefits
                        1. Reduced Communication
                        2. Lower Bounds
                          1. n > 3f Requirement
                            1. Impossibility Proofs
                              1. Communication Complexity
                            2. Classical Byzantine Fault Tolerance
                              1. Lamport-Shostak-Pease Algorithm
                                1. Exponential Message Complexity
                                  1. Theoretical Foundation
                                    1. Practical Limitations
                                    2. Dolev-Strong Algorithm
                                      1. Polynomial Complexity
                                        1. Signature-based Approach
                                          1. Round Structure
                                        2. Practical Byzantine Fault Tolerance (PBFT)
                                          1. System Model
                                            1. Partial Synchrony Assumption
                                              1. Bounded Byzantine Faults
                                                1. Network Reliability
                                                2. Algorithm Phases
                                                  1. Request Processing
                                                    1. Pre-Prepare Phase
                                                      1. Primary Proposal
                                                        1. Sequence Number Assignment
                                                          1. View Management
                                                          2. Prepare Phase
                                                            1. Message Broadcasting
                                                              1. Quorum Formation
                                                                1. Prepared Certificates
                                                                2. Commit Phase
                                                                  1. Commit Broadcasting
                                                                    1. Committed Certificates
                                                                      1. Execution Triggering
                                                                    2. View Changes
                                                                      1. Primary Failure Detection
                                                                        1. View Change Initiation
                                                                          1. New View Formation
                                                                            1. State Transfer
                                                                            2. Optimizations
                                                                              1. Checkpointing
                                                                                1. Garbage Collection
                                                                                  1. State Compression
                                                                                  2. Performance Analysis
                                                                                    1. Message Complexity
                                                                                      1. Latency Characteristics
                                                                                        1. Throughput Limitations
                                                                                      2. Modern BFT Protocols
                                                                                        1. Tendermint Consensus
                                                                                          1. Proposer-based Rounds
                                                                                            1. Prevote Phase
                                                                                              1. Precommit Phase
                                                                                                1. Commit and Finality
                                                                                                  1. Accountability Features
                                                                                                  2. HotStuff Family
                                                                                                    1. Linear Communication
                                                                                                      1. Chained Structure
                                                                                                        1. Responsive Leadership
                                                                                                          1. View Synchronization
                                                                                                          2. SBFT
                                                                                                            1. Scalable Byzantine Fault Tolerance
                                                                                                              1. Collector-based Approach
                                                                                                                1. Threshold Signatures
                                                                                                                2. Algorand
                                                                                                                  1. Cryptographic Sortition
                                                                                                                    1. Verifiable Random Functions
                                                                                                                      1. Committee Selection
                                                                                                                      2. Casper Protocols
                                                                                                                        1. Casper FFG
                                                                                                                          1. Casper CBC
                                                                                                                            1. Finality Gadgets
                                                                                                                          2. BFT in Blockchain Context
                                                                                                                            1. Permissioned vs Permissionless
                                                                                                                              1. Finality Properties
                                                                                                                                1. Fork Choice Rules
                                                                                                                                  1. Economic Security Models