BFT (Byzantine Fault Tolerance)
BFT désigne les algorithmes capables de fonctionner malgré des pannes byzantines. Bitcoin est probabilistic-BFT. Indispensable au consensus distribué.
Le problème des généraux byzantins
Le concept de Byzantine Fault Tolerance vient d'un article publié en 1982 par Leslie Lamport, Robert Shostak et Marshall Pease. Ils décrivent une métaphore restée célèbre : plusieurs généraux byzantins entourent une ville et doivent décider simultanément d'attaquer ou non. Ils ne peuvent communiquer que par messagers, et certains généraux peuvent être traîtres. Comment se mettre d'accord ?
La question est fondamentale pour tout système distribué : comment atteindre un consensus quand certains acteurs mentent, panne, ou retardent leurs messages ?
Définition rigoureuse
Un système est BFT s'il peut fonctionner correctement tant que moins de 1/3 de ses nœuds sont byzantins (théorème de Lamport). Pour n nœuds, on tolère f traîtres tant que n ≥ 3f + 1. C'est la limite mathématique du consensus avec messages asynchrones et signatures.
Les deux familles d'algorithmes BFT
| Famille | Exemples | Caractéristiques | |---------|----------|------------------| | BFT classique | PBFT, Tendermint, HotStuff | Liste de validateurs connue, finalité immédiate, sensible aux DoS | | BFT probabiliste | Bitcoin, Ethereum PoW | Validators ouverts (PoW), finalité probabiliste, robuste aux attaques Sybil |
Bitcoin n'est pas BFT au sens strict (Lamport) car il fonctionne dans un modèle ouvert où n'importe qui peut entrer et sortir. Satoshi a résolu ce problème par la preuve de travail : voter coûte de l'énergie réelle, ce qui rend le Sybil attack économiquement impossible.
Bitcoin et la finalité probabiliste
Dans Bitcoin, le consensus n'est jamais absolu. Une transaction confirmée 1 fois a 99 % de chances d'être permanente, 99,9999 % à 6 confirmations. C'est cette propriété qui rend Bitcoin résilient à des attaques byzantines massives : il faudrait à un attaquant plus de 50 % du hashrate global pour réécrire l'histoire récente, et plus encore pour les blocs anciens.
Comparaison avec PoS et BFT pur
Les protocoles Proof of Stake modernes (Ethereum 2.0, Cosmos, Solana) utilisent souvent des variantes BFT classiques (Casper FFG, Tendermint). Avantage : finalité quasi-instantanée. Inconvénient : la liste des validateurs est connue, ce qui ouvre des attaques de coercition ou de censure ciblée. Bitcoin troque la vitesse pour la robustesse.
À retenir
BFT est la branche de l'informatique théorique qui rend Bitcoin possible. Comprendre ce concept aide à saisir pourquoi Bitcoin attend 10 minutes, accumule des confirmations et résiste à des attaques étatiques que des chaînes BFT classiques ne supporteraient pas.
Termes lies
- Panne byzantineUne panne byzantine est une défaillance arbitraire d'un acteur dans un système distribué. Le BFT vise à tolérer ces pannes. Bitcoin propose une solution probabiliste via la PoW au problème des Généraux byzantins.
- ConsensusLe consensus Bitcoin est l'ensemble des règles que tous les nœuds appliquent pour valider la chaîne. Modifier le consensus exige un soft fork (compatible) ou un hard fork (incompatible). Garantit l'immuabilité.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.