Tolérance aux pannes byzantines (BFT)
The property of a distributed system to reach consensus and operate correctly even when algunos nodes act maliciously or fail arbitrarily.
Byzantine Fault Tolerance (BFT) is the capacity of a network to withstand 'Byzantine faults'—a class of failures where components may not only stop working but also provide conflicting or false information. In a BFT system, consensus is maintained as long as the number of faulty nodes does not exceed a certain threshold, typically defined as (n-1)/3. Unlike simple crash-fault tolerance, BFT assumes that nodes can be adversarial and intentionally attempt to subvert the network.
graph LR
Center["Tolérance aux pannes byzantines (BFT)"]:::main
Pre_distributed_systems["distributed-systems"]:::pre --> Center
click Pre_distributed_systems "/terms/distributed-systems"
Pre_consensus_mechanism["consensus-mechanism"]:::pre --> Center
click Pre_consensus_mechanism "/terms/consensus-mechanism"
Rel_byzantine_generals_problem["byzantine-generals-problem"]:::related -.-> Center
click Rel_byzantine_generals_problem "/terms/byzantine-generals-problem"
Rel_sybil_attack["sybil-attack"]:::related -.-> Center
click Rel_sybil_attack "/terms/sybil-attack"
Rel_consensus_mechanism["consensus-mechanism"]:::related -.-> Center
click Rel_consensus_mechanism "/terms/consensus-mechanism"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explique-moi comme si j'avais 5 ans
🛡️ C'est une règle de vote qui permet à un groupe de s'entendre sur un plan, même si quelques personnes essaient de semer la confusion.
🤓 Expert Deep Dive
La BFT est plus complexe que la tolérance aux pannes simples (CFT). Elle nécessite que $2/3$ des nœuds soient honnêtes. Le protocole pBFT a été le premier à être utilisable concrètement avant d'être optimisé par des algorithmes comme HotStuff.