Sécurisation de la blockchain : le rôle de la tolérance aux pannes byzantines

Chaque fois que vous effectuez une transaction en cryptomonnaie, recevez un paiement ou interagissez avec un contrat intelligent, un réseau d'ordinateurs indépendants doit valider la transaction et l'enregistrer de manière permanente. Certains de ces ordinateurs peuvent être hors ligne, d'autres contrôlés par des personnes malveillantes qui diffusent délibérément de fausses informations. Pourtant, la blockchain doit parvenir à la même conclusion correcte sur chaque nœud honnête.

Le mécanisme qui rend cela possible est la tolérance aux pannes byzantines (BFT). C'est l'un des concepts les plus importants et les moins bien compris des systèmes distribués, constituant le fondement de sécurité de la technologie blockchain , de la finance décentralisée, des registres d'entreprise et de l'Internet des objets.

Ce guide couvre la tolérance aux pannes byzantines, de ses principes fondamentaux à ses implémentations modernes les plus avancées, en expliquant notamment sa comparaison avec la preuve de travail et la preuve d'enjeu, les vecteurs d'attaque spécifiques contre lesquels elle protège, les protocoles qui s'appuient aujourd'hui sur elle et les défis que les chercheurs s'efforcent encore de résoudre.

Le problème des généraux byzantins : les origines

Pour comprendre la tolérance aux pannes byzantines, il faut comprendre le problème qu'elle vise à résoudre. Le problème des généraux byzantins a été formellement décrit pour la première fois en 1982 par les informaticiens Leslie Lamport, Robert Shostak et Marshall Pease dans un article intitulé « The Byzantine Generals Problem », publié dans la revue ACM Transactions on Programming Languages ​​and Systems.

Le problème est présenté sous forme d'analogie militaire. Imaginez plusieurs divisions d'une armée byzantine encerclant une ville ennemie. Chaque division est commandée par un général, et elles ne peuvent communiquer entre elles que par messager. Elles doivent s'accorder sur un plan d'action commun : attaquer ou battre en retraite. Si elles attaquent toutes ensemble, elles remportent la victoire. Si elles battent toutes en retraite ensemble, elles survivent. Mais si certaines attaquent tandis que d'autres battent en retraite, elles sont anéanties.

La difficulté réside dans le fait que certains généraux pourraient être des traîtres. Un traître pourrait envoyer des messages différents à différents généraux, ordonnant à certains d'« attaquer » et à d'autres de « battre en retraite », dans le but délibéré d'empêcher tout accord. Les généraux loyaux ne peuvent se permettre d'ignorer les messages qu'ils soupçonnent d'être faux, car il leur est impossible d'identifier immédiatement les traîtres.

Le problème pose la question suivante : quel algorithme les généraux loyaux peuvent-ils utiliser pour garantir qu'ils parviennent tous à la même décision, même lorsqu'une partie d'entre eux sont des traîtres qui tentent activement de semer la discorde ?

Lamport, Shostak et Pease ont démontré qu'une solution est possible si et seulement si plus des deux tiers des généraux sont loyaux. Autrement dit : un système de n nœuds peut tolérer au plus f nœuds défaillants ou malveillants, pourvu que n soit au moins égal à 3f + 1. Avec moins des deux tiers de participants honnêtes, aucun algorithme ne peut garantir un accord.

Ce résultat mathématique est devenu le fondement théorique de tous les algorithmes de consensus BFT qui ont suivi.

Lire aussi : Comment le hachage protège la technologie blockchain

Qu'est-ce que la tolérance aux pannes byzantines ?

La tolérance aux pannes byzantines désigne la propriété d'un système distribué qui lui permet de continuer à fonctionner correctement et d'atteindre un consensus même lorsque certains de ses nœuds tombent en panne de manière arbitraire, notamment en envoyant des messages contradictoires ou erronés, en répondant de manière incohérente à différents participants ou en se comportant de manière malveillante pour perturber le réseau.

Le terme « byzantin » désigne spécifiquement la catégorie de défaillance la plus grave : un comportement arbitraire, conflictuel et incohérent. Ce type de défaillance est bien plus difficile à gérer qu’une simple panne (où un nœud cesse complètement de répondre), car un nœud byzantin peut sembler se comporter correctement par moments tout en sapant activement le consensus à d’autres moments.

Dans le contexte de la technologie blockchain , la tolérance aux pannes byzantines signifie que le réseau blockchain peut maintenir son intégrité et continuer à valider correctement les transactions même lorsque certains validateurs ou nœuds sont compromis, hors ligne ou délibérément malveillants.

La règle établie par l'article de Lamport reste valable : tant qu'au moins deux tiers des nœuds du réseau sont honnêtes et fonctionnent correctement, un système BFT atteindra le consensus requis. Dès qu'un seul attaquant contrôle plus d'un tiers des nœuds, les garanties de sécurité des protocoles BFT classiques commencent à s'effondrer.

Obtenez la carte crypto UPay

Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.

S'inscrire

Tolérance aux pannes non byzantine vs. byzantine : une distinction cruciale

Tous les systèmes de tolérance aux pannes ne se valent pas. Comprendre la différence entre la tolérance aux pannes non byzantines et byzantines permet de clarifier pourquoi cette dernière est plus difficile à mettre en œuvre et pourquoi elle est si importante pour la blockchain.

La tolérance aux pannes non byzantines (par plantage) gère le cas simple où des nœuds peuvent tomber en panne : ils s’arrêtent, se déconnectent ou deviennent inaccessibles. Le système doit continuer à fonctionner malgré l’inactivité de certains nœuds. Ce cas est plus facile à gérer car un nœud défaillant n’envoie aucun message et ne provoque aucune perturbation. Des systèmes comme Apache ZooKeeper et les anciennes bases de données distribuées ont été conçus en tenant compte de la tolérance aux pannes par plantage.

La tolérance aux pannes byzantines gère le cas complexe où des nœuds défaillants peuvent se comporter de manière arbitraire, envoyant des messages erronés, contradictoires ou stratégiquement trompeurs à différentes parties du réseau. Un nœud byzantin ne se contente pas de rester silencieux ; il participe activement à des actions visant à semer la confusion ou à empêcher tout consensus. Les réseaux blockchain sont exposés à ce problème complexe car ils fonctionnent dans des environnements ouverts et sans autorisation, où n'importe qui, y compris des adversaires, peut exécuter un nœud.

Dans le domaine de la blockchain en particulier, les failles byzantines incluent : un mineur incluant des transactions frauduleuses dans un bloc proposé, un validateur signant des blocs conflictuels pour tenter une bifurcation, un nœud envoyant des informations d’ordre de transaction différentes à différents pairs, et des nœuds exécutant des attaques de double dépense en diffusant simultanément des transactions conflictuelles à différentes parties du réseau.

Un système tolérant aux pannes en cas de plantage mais non tolérant aux pannes byzantines ne conviendrait pas à une blockchain publique, où les nœuds sont exploités par des parties inconnues et potentiellement hostiles.

Comment la BFT est réalisée : les mécanismes fondamentaux

La tolérance aux pannes byzantines est obtenue grâce à la combinaison de trois mécanismes principaux qui fonctionnent ensemble pour permettre aux nœuds honnêtes de parvenir à un accord malgré la présence de participants adverses.

Redondance

Plutôt que de s'appuyer sur un seul nœud pour enregistrer ou valider une transaction, les systèmes BFT utilisent plusieurs nœuds redondants. Tant que plus des deux tiers de ces nœuds redondants sont fiables, le système peut identifier et éliminer la minorité de messages erronés ou contradictoires. La redondance est le fondement même du BFT : il est impossible d'atteindre la tolérance aux pannes byzantines sans utiliser plus de nœuds que strictement nécessaire au traitement des transactions.

Signatures cryptographiques

Les protocoles BFT utilisent la cryptographie à clé publique pour authentifier les messages entre les nœuds. Lorsqu'un nœud envoie un message (par exemple, un vote sur la validité d'un bloc proposé), il le signe avec sa clé privée. Les autres nœuds peuvent vérifier cette signature à l'aide de la clé publique de l'expéditeur, confirmant ainsi que le message provient bien de l'expéditeur déclaré et qu'il n'a pas été altéré lors de sa transmission. Ceci empêche l'une des attaques byzantines les plus dangereuses : l'usurpation d'identité d'un nœud malveillant par un autre en falsifiant ses messages.

Protocoles de consensus structurés

Les protocoles de consensus BFT définissent des règles précises régissant la proposition, le vote et la finalisation des nouvelles données par les nœuds. Ces protocoles sont spécifiquement conçus pour que, même en cas de votes contradictoires entre certains nœuds, la majorité honnête parvienne à une conclusion commune. La structure du protocole élimine toute ambiguïté : un processus est défini pour les situations de conflit de votes, de défaillance d'un leader et de désaccord entre les nœuds quant à l'état actuel.

Les trois propriétés qui définissent le consensus BFT

Tout protocole de consensus BFT, quelle que soit sa conception spécifique, doit satisfaire trois propriétés fondamentales :

La sécurité garantit que deux nœuds honnêtes ne pourront jamais décider de valeurs différentes. Si un nœud honnête valide une transaction, aucun autre nœud honnête ne la déclarera invalide. La sécurité assure ainsi que la blockchain ne se divise pas en historiques contradictoires entre les participants honnêtes.

La disponibilité du système signifie qu'il progresse. Si suffisamment de nœuds valides soumettent une transaction, celle-ci sera finalement validée. Le réseau ne se bloque pas indéfiniment. La disponibilité du système garantit que les participants honnêtes ne sont pas empêchés de traiter leurs transactions.

Un accord signifie que si un nœud valide transmet une transaction, alors chaque nœud valide transmet cette même transaction. Tous les nœuds honnêtes voient les mêmes données dans le même ordre.

Sécurité et disponibilité peuvent être contradictoires. Le célèbre théorème CAP des systèmes distribués démontre qu'aucun système distribué ne peut garantir simultanément la cohérence, la disponibilité et la tolérance aux partitions. Les protocoles BFT établissent des compromis délibérés. La plupart privilégient la sécurité à la disponibilité : ils interrompent l'exécution plutôt que de produire un résultat potentiellement erroné si un trop grand nombre de nœuds présentent un comportement incorrect.

Lire aussi : Qu’est-ce que le consensus dans la blockchain ?

Types d'algorithmes de tolérance aux pannes byzantines

Le protocole BFT a considérablement évolué depuis l'article de 1982. Il comprend désormais plusieurs familles de protocoles distinctes, chacune présentant des caractéristiques de performance, des hypothèses de confiance et des contextes d'implémentation différents.

Voir aussi   Comment utiliser l'IA pour les signaux de stratégie crypto

Tolérance aux pannes byzantine pratique (PBFT)

La tolérance aux pannes byzantines pratique a été introduite par Barbara Liskov et Miguel Castro au MIT en 1999. Il s'agissait du premier algorithme BFT suffisamment pratique pour un déploiement réel dans des systèmes distribués, résolvant le problème dans les réseaux asynchrones avec une faible surcharge par rapport aux travaux académiques antérieurs sur le BFT.

PBFT fonctionne à travers trois phases de communication entre les nœuds :

Phase de préparation : Le nœud principal (leader) reçoit une requête client, lui attribue un numéro de séquence et diffuse un message de préparation à tous les autres nœuds (appelés répliques). Ce message contient la requête, le numéro de séquence et le numéro de vue actuel.

Phase de préparation : Chaque réplique acceptant la pré-préparation diffuse un message de préparation à toutes les autres répliques. Une réplique passe à la phase suivante uniquement lorsqu'elle a reçu des messages de préparation correspondants d'au moins 2f nœuds (où f est le nombre maximal de nœuds défaillants toléré par le système). Cette condition de quorum empêche un leader défaillant d'induire en erreur différentes répliques et de leur faire accepter des numéros de séquence différents.

Phase de validation : Lorsqu’un nœud a collecté suffisamment de messages de préparation correspondants, il diffuse un message de validation. Une réplique exécute la requête et répond au client uniquement lorsqu’elle a reçu des messages de validation d’au moins 2f + 1 nœuds. Ce quorum final garantit que même si certains nœuds ayant envoyé des messages de validation tombent en panne ultérieurement, il reste suffisamment de nœuds validés pour assurer la pérennité du résultat.

Un client accepte un résultat lorsqu'il reçoit f + 1 réponses correspondantes, garantissant qu'au moins un nœud honnête a confirmé le résultat.

La complexité de communication de PBFT est de O(n²), ce qui signifie que le nombre de messages croît quadratiquement avec le nombre de nœuds. Cela reste gérable pour quelques dizaines ou centaines de nœuds, mais devient prohibitif à grande échelle. PBFT repose également sur un ensemble fixe et connu de validateurs, ce qui le rend particulièrement adapté aux environnements blockchain à accès restreint ou de consortium.

PBFT peut tolérer jusqu'à un tiers (33 %) de nœuds byzantins. Ce seuil est mathématiquement démontré comme étant le maximum théorique pour les protocoles BFT classiques.

L'utilisation du consensus dérivé de PBFT par Hyperledger Fabric constitue l'exemple le plus marquant en entreprise. Fabric utilise un service de commande (anciennement basé sur PBFT, désormais basé sur Raft avec une possibilité de mise à niveau vers BFT via SmartBFT) qui garantit un débit élevé et une faible latence pour les applications d'entreprise. Walmart a utilisé Hyperledger Fabric pour assurer la traçabilité des produits alimentaires de la production à la distribution, démontrant ainsi le déploiement concret de BFT dans un environnement de chaîne d'approvisionnement réel.

Accord byzantin fédéré (FBA)

L'accord byzantin fédéré (FBA) adopte une approche fondamentalement différente du problème de la confiance. Au lieu d'exiger que tous les validateurs connaissent et s'accordent sur l'ensemble complet des validateurs de confiance, le FBA permet à chaque nœud de définir son propre « quorum », c'est-à-dire le sous-ensemble d'autres nœuds auxquels il fait personnellement confiance.

Le système atteint un consensus global lorsque ces segments de confiance individuels forment des ensembles qui se chevauchent. Si le nœud A fait confiance aux nœuds B et C, et que le nœud B fait confiance aux nœuds A et D, leur confiance partagée crée un quorum global implicite, même si aucune autorité centrale n'en a défini un.

Le protocole FBA est le mécanisme de consensus sous-jacent au réseau Stellar et, sous une forme modifiée, au réseau Ripple. L'implémentation FBA de Stellar garantit la finalité des transactions en trois à cinq secondes et prend en charge des milliers de transactions par seconde, ce qui la rend idéale pour les paiements transfrontaliers. MoneyGram et d'autres prestataires de transfert de fonds utilisent Stellar précisément parce que son consensus FBA assure la finalité rapide et fiable requise par les applications de paiement.

L'approche FBA présente un compromis différent de celui de PBFT : elle permet une structure de confiance plus décentralisée, mais exige une conception rigoureuse des tranches de quorum afin de garantir le maintien de l'accord global. Si les tranches de quorum sont mal définies, certaines parties du réseau peuvent former des groupes de consensus déconnectés qui s'accordent sur des états différents.

Trucs chauds

HotStuff est un protocole de consensus BFT introduit en 2019 par les chercheurs Maofan Yin, Dahlia Malkhi, Michael Reiter, Guy Golan Gueta et Ittai Abraham. Il est devenu très influent en tant que base du protocole LibraBFT de Facebook (utilisé dans le projet blockchain Diem) et a influencé la conception de nombreux systèmes de consensus blockchain modernes.

L'innovation majeure de HotStuff réside dans sa complexité de communication linéaire, O(n), contrairement à la complexité quadratique O(n²) de PBFT. Ce résultat est obtenu grâce à une architecture basée sur un leader qui collecte les votes par signatures de seuil, agrégeant n votes individuels en une seule preuve compacte. Ainsi, la surcharge de communication reste maîtrisée même lorsque le nombre de validateurs augmente.

HotStuff utilise une structure en trois phases (préparation, pré-validation, validation) qui correspond conceptuellement aux phases de PBFT, mais fonctionne plus efficacement grâce au pipeline : pendant qu'un bloc est validé, le bloc suivant est déjà proposé, ce qui améliore considérablement le débit.

HotStuff sacrifie une latence légèrement supérieure (trois allers-retours contre deux pour PBFT) au profit d'une scalabilité nettement améliorée. Pour les grands ensembles de validateurs, composés de centaines ou de milliers de nœuds, ce compromis est très avantageux. CometBFT (anciennement Tendermint Core), composant de l'écosystème Cosmos, ainsi que le consensus utilisé par Aptos et Sui, s'appuient tous deux sur des architectures de la famille HotStuff.

Menthe tendre et CometBFT

Tendermint est un algorithme de consensus BFT spécialement conçu pour la blockchain, introduit par Jae Kwon en 2014. Il sépare la couche de consensus de la couche application grâce à l'interface Application BlockChain (ABCI), permettant à toute application d'utiliser le consensus Tendermint sans avoir à construire sa propre infrastructure réseau et de consensus.

Tendermint parvient à un consensus par cycles. À chaque cycle, un proposant diffuse un bloc. Les validateurs votent en deux phases (prévote et prévalidation). Un bloc est validé lorsqu'au moins deux tiers des validateurs envoient des votes de prévalidation concordants. Si le cycle échoue (en raison d'une erreur du proposant ou d'une lenteur du réseau), un nouveau cycle commence avec un nouveau proposant.

Tendermint garantit une finalité instantanée : une fois un bloc validé, il est irréversible sans enfreindre le principe de la majorité honnête des deux tiers. Il s’agit d’un avantage considérable par rapport aux systèmes de finalité probabilistes comme la preuve de travail, où une transaction n’est considérée comme définitive qu’après l’ajout de plusieurs blocs successifs.

Tendermint traite des milliers de transactions par seconde avec une latence d'environ une seconde. En 2023, il a été rebaptisé CometBFT afin de refléter un modèle de gouvernance communautaire plus large. Cosmos Hub et toutes les chaînes basées sur le SDK Cosmos (plus de 100 chaînes actives en 2025) utilisent CometBFT comme couche de consensus. Un exemple notable en production est l'arrêt de la chaîne Cosmos Hub v17.1, qui n'était pas dû à une faille dans la preuve de sécurité fondamentale de CometBFT, mais à un bug logiciel dans le code de mise à jour de l'ensemble des validateurs autour de EndBlock. Ceci illustre comment les garanties BFT s'intègrent à une pile d'implémentation complète, et ne sont pas isolées de manière théorique.

BFT en preuve d'enjeu : Casper et Ethereum

La transition d'Ethereum vers la preuve d'enjeu (Proof-of-Stake) suite à la fusion de septembre 2022 a introduit Casper FFG (Friendly Finality Gadget), combiné au choix de fork LMD-GHOST, pour former le protocole de consensus Gasper. Casper assure une finalité de type BFT en plus d'un ensemble de validateurs de preuve d'enjeu.

Casper fonctionne comme un mécanisme de finalité superposé à la production de blocs. Les validateurs votent sur les points de contrôle toutes les 32 minutes (environ 6.4 minutes). Lorsqu'un point de contrôle recueille les votes des deux tiers des ETH mis en jeu, il est « justifié ». Si deux points de contrôle consécutifs sont justifiés, le plus ancien est « finalisé ». Les blocs finalisés ne peuvent être annulés sans que l'attaquant ne brûle au moins un tiers des ETH mis en jeu, ce qui constitue une garantie économique robuste contre le vol de blocs.

Ce mécanisme de sanction économique est l'adaptation par Ethereum du BFT classique : au lieu de garanties purement mathématiques, la finalité est imposée par le coût économique des comportements fautifs. Si un validateur signe des blocs contradictoires, il perd la totalité de sa mise (il est « sablé »). La menace de perdre un capital important incite à adopter un comportement honnête, guidé par l'intérêt économique.

Tolérance aux pannes byzantines dans la preuve de travail

Le protocole de preuve de travail (PoW) de Bitcoin assure une tolérance aux pannes byzantines probabiliste grâce à un mécanisme différent de celui des protocoles BFT classiques. Le livre blanc de Bitcoin, publié en 2008 par Satoshi Nakamoto, a introduit la PoW comme solution au problème des généraux byzantins dans un contexte sans autorisation, où les participants sont inconnus et ne peuvent être identifiés à l'avance.

Dans le système de preuve de travail (PoW) de Bitcoin, la tolérance aux pannes byzantines garantit que tant que les mineurs honnêtes contrôlent plus de 50 % de la puissance de hachage totale du réseau, un attaquant contrôlant moins de 50 % ne peut pas modifier l'historique des transactions confirmées. Le coût d'une attaque à 51 % augmente avec la puissance de hachage de Bitcoin et la complexité des problèmes de minage.

Contrairement aux protocoles BFT classiques qui garantissent une finalité absolue après un seul tour de vote, la finalité de Bitcoin est probabiliste : la probabilité qu'une transaction soit annulée diminue exponentiellement à chaque bloc supplémentaire ajouté. C'est pourquoi, traditionnellement, les confirmations sur six blocs (environ une heure) sont utilisées pour les transactions Bitcoin importantes.

Le compromis est important : PoW fournit BFT dans un environnement sans autorisation au prix d'une consommation d'énergie énorme, d'une finalité lente (10 à 60 minutes) et de la vulnérabilité d'attaque de 51 % à laquelle les protocoles BFT classiques ne sont jamais confrontés en dessous de leur seuil.

Comparaison des protocoles BFT : un aperçu direct

PasserelleSeuil de défautFinalitéComplexité des messagesIdéal pour
PBFT (Castro-Liskov)1/3 byzantinAccesO(n au carré)Petits réseaux autorisés
Trucs chauds1/3 byzantinAccesO(n) linéairegrands ensembles de validateurs
Menthe tendre / ComèteBFT1/3 byzantinInstantané (~1s)O (n)Chaînes Cosmos, blockchains publiques
Accord byzantin fédéréTranches de quorum qui se chevauchentsecondes 3-5VariableRéseaux de paiement (Stellar, Ripple)
Casper FFG (Ethereum PoS)1/3 des ETH mis en jeuToutes les 6.4 minO(n) avec agrégation BLSblockchains PoS publiques
PoW Bitcoin50 % de puissance de hachageProbabiliste (6+ blocs)diffusion O(1)Réseaux sans autorisation et sans confiance
Algorand BA1/3 byzantin~4.5 secondesSous-linéaire avec VRFSans autorisation et avec une finalité rapide

Applications concrètes de la BFT en 2025

Hyperledger Fabric et la blockchain d'entreprise

Hyperledger Fabric est le framework blockchain d'entreprise le plus déployé en production. Il alimente le système de traçabilité alimentaire de Walmart, les solutions de chaîne d'approvisionnement d'IBM et des centaines d'applications financières et logistiques. Le service de commande de Fabric a connu une évolution significative : après avoir abandonné PBFT au profit de Raft (un consensus tolérant aux pannes pour les déploiements plus simples), Fabric a introduit SmartBFT, son service de commande tolérant aux pannes byzantines, pour les environnements exigeant des garanties BFT complètes. SmartBFT suit le modèle de diffusion en trois phases hérité de PBFT et offre un débit élevé avec une faible latence, adapté aux applications d'entreprise.

Voir aussi   Pièces axées sur l'anonymat : objectif, fonctions et avantages

Accord byzantin fédéré de Stellar dans les paiements mondiaux

L'implémentation FBA de Stellar traite quotidiennement des millions de transactions. MoneyGram, Wirex et d'autres institutions financières l'utilisent pour les paiements transfrontaliers. Le consensus de Stellar permet un règlement final en trois à cinq secondes, soit beaucoup plus rapidement que les services bancaires correspondants traditionnels (un à cinq jours) et que la plupart des autres solutions blockchain. Le modèle FBA permet à chaque nœud de définir ses propres relations de confiance tout en garantissant un consensus global. De ce fait, le modèle de consensus de Stellar est particulièrement adapté aux réseaux de paiement où la confiance mutuelle est parfois limitée, mais où tous les participants souhaitent un règlement fiable.

Protocole d'accord byzantin d'Algorand

Algorand utilise une approche BFT unique appelée Pure Proof of Stake, combinée à un tri cryptographique. À chaque cycle de consensus, un comité de validateurs est sélectionné aléatoirement à l'aide d'une fonction aléatoire vérifiable (VRF). Seuls les membres du comité sélectionnés savent qu'ils ont été choisis (et peuvent le prouver), ce qui rend les attaques ciblées contre eux pratiquement impossibles, puisque l'attaquant ne sait pas qui cibler à l'avance.

Le protocole BA d'Algorand atteint la finalité en environ 4.5 secondes avec un débit dépassant les 1 000 transactions par seconde en production. Sa conception permet un transfert de bout en bout (BFT) sans autorisation et sans le coût énergétique de la preuve de travail, une combinaison qui le distingue à la fois de Bitcoin et des systèmes BFT classiques nécessitant une autorisation.

Écosystème Cosmos et CometBFT

L'écosystème Cosmos en 2025 comprend plus de 100 blockchains souveraines, utilisant toutes CometBFT comme couche de consensus. Le protocole de communication inter-chaînes (IBC) repose sur la garantie de finalité instantanée de CometBFT : les preuves IBC ne sont valides que parce que le Cosmos Hub et ses chaînes contreparties peuvent prouver qu'une transaction est effectivement finalisée, et non simplement susceptible de l'être. Sans les garanties de finalité robustes offertes par le consensus BFT, ce type de communication inter-chaînes serait beaucoup plus difficile à sécuriser. L'écosystème traite quotidiennement des milliards de dollars de transferts de valeur inter-chaînes, tous sécurisés par le consensus tolérant aux pannes byzantines de CometBFT.

BFT d'Istanbul de Klaytn

Klaytn, déployé par la société sud-coréenne Kakao, utilise Istanbul BFT (IBFT), capable de traiter plus de 4 000 transactions par seconde avec un temps de bloc d'une seconde. IBFT est une variante de BFT compatible avec la machine virtuelle Ethereum (EVM), permettant à Klaytn de maintenir la compatibilité avec les outils Ethereum tout en offrant des performances bien supérieures à celles de la couche de base d'Ethereum. Son architecture hybride publique-privée permet aux entreprises d'exécuter des chaînes latérales à accès restreint, tandis que la chaîne principale publique garantit la décentralisation des transactions BFT.

Vecteurs d'attaque contre lesquels BFT se défend

Comprendre ce contre quoi la BFT protège permet de clarifier sa valeur et ses limites.

Attaques à double dépense

Lors d'une attaque par double dépense, un acteur malveillant tente de dépenser deux fois les mêmes fonds en diffusant simultanément deux transactions conflictuelles. Le consensus BFT empêche ce type d'attaque en exigeant l'accord des deux tiers des validateurs sur un ordre de transaction unique avant sa finalisation. Une fois une transaction validée dans un système BFT, aucune transaction concurrente portant sur les mêmes fonds ne peut être validée sans enfreindre le seuil des deux tiers.

Attaques d'éclipse

Lors d'une attaque par éclipse, un attaquant isole un nœud spécifique en l'encerclant de pairs malveillants, contrôlant ainsi toutes les informations qu'il reçoit. Un nœud éclipsé avec succès peut recevoir de fausses informations sur l'état de la blockchain. Les protocoles BFT s'en prémunissent en exigeant l'accord d'une supermajorité de l'ensemble des validateurs, et non seulement des voisins immédiats du nœud. Même si un nœud est éclipsé, la majorité honnête, plus large, rejettera les transactions qui contredisent l'état réel de la chaîne.

Attaques Sybil

Une attaque Sybil consiste pour un attaquant à créer de multiples identités de nœuds fictives afin d'obtenir une influence disproportionnée sur un réseau. Dans les systèmes BFT à accès restreint, les attaques Sybil sont empêchées par l'obligation d'enregistrer et d'authentifier formellement les validateurs. Dans les systèmes BFT à preuve d'enjeu comme Ethereum, la résistance aux attaques Sybil repose sur le coût économique du staking : la création de plusieurs validateurs nécessite de miser une valeur réelle pour chacun d'eux, ce qui rend les attaques Sybil coûteuses à mettre en œuvre à grande échelle.

Le seuil d'attaque de 33 %

Les protocoles BFT classiques n'offrent de garanties de sécurité que lorsque moins d'un tiers des nœuds sont byzantins. Si un attaquant contrôle plus d'un tiers des validateurs (ou plus d'un tiers de la valeur mise en jeu dans les systèmes PoS-BFT), la garantie de sécurité du protocole est compromise. Il s'agit de la limitation fondamentale du consensus BFT. Cela ne signifie pas qu'un attaquant détenant 33 % des nœuds peut voler des fonds arbitraires, mais qu'il peut potentiellement empêcher la finalité du processus ou, dans le pire des cas, amener des nœuds honnêtes à valider des états contradictoires.

C’est pourquoi le seuil de 33 % est un élément crucial du modèle de sécurité de tout système basé sur le BFT. Des protocoles comme Casper d’Ethereum ajoutent une pénalité économique au seuil du BFT : même si un attaquant parvient à s’emparer d’un tiers des ETH mis en jeu, une attaque réussie contre la finalité nécessiterait la perte totale de ses ETH, ce qui rend l’attaque économiquement dévastatrice pour lui.

Manipulation de messages et attaques par rejeu

Sans signatures cryptographiques , un nœud byzantin pourrait intercepter et modifier les messages échangés entre nœuds honnêtes, ou rejouer d'anciens messages valides afin de perturber le processus de consensus. Les protocoles BFT protègent contre la manipulation des messages en exigeant que chaque message de consensus soit signé avec la clé privée de l'expéditeur. Les numéros de séquence et les identifiants de tour intégrés aux messages empêchent la relecture de messages valides d'un tour à un tour ultérieur, évitant ainsi toute confusion.

Obtenez la carte crypto UPay

Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.

S'inscrire

Obtenez la carte crypto UPay

Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.

S'inscrire

Avantages de la tolérance aux pannes byzantines dans la blockchain

Finalité déterministe et instantanée de la transaction

L'avantage le plus important, en pratique, du consensus BFT par rapport aux systèmes de preuve de travail réside peut-être dans sa finalité instantanée. Dans Bitcoin, une transaction n'est jamais mathématiquement définitive ; sa réversibilité devient simplement de plus en plus difficile à mesure que de nouveaux blocs sont ajoutés. Dans un système BFT, dès que le seuil des deux tiers est atteint lors de la validation, la transaction est finalisée avec certitude, conformément aux hypothèses du protocole. Aucune confirmation supplémentaire n'est requise.

Ceci est crucial pour les applications financières. Les réseaux de paiement ne peuvent fonctionner efficacement si chaque transaction peut être annulée quelques heures plus tard. Les applications de finance décentralisée exigent une finalité fiable pour les liquidations, les prêts et le règlement des produits dérivés. La communication inter-chaînes via des protocoles comme IBC nécessite qu'une chaîne prouve à une autre qu'une transaction donnée est véritablement définitive.

L'efficacité énergétique

Le consensus BFT classique ne requiert pas la puissance de calcul massive exigée par la preuve de travail de Bitcoin. Les validateurs votent à l'aide de signatures numériques, et non en résolvant des problèmes complexes. Cela rend le BFT beaucoup plus économe en énergie. La transition d'Ethereum vers le PoS-BFT a permis de réduire sa consommation énergétique d'environ 99.95 %, une réduction rendue possible précisément par le remplacement de la preuve de travail par un système de vote des validateurs de type BFT.

Résilience aux pannes de réseau et aux nœuds malveillants

Un protocole BFT bien implémenté continue de fonctionner correctement tant que les deux tiers des nœuds restent honnêtes et connectés. Il gère les pannes critiques, les partitions réseau (temporaires), les nœuds byzantins et leurs combinaisons simultanées. Cette résilience est essentielle aux réseaux blockchain publics : ne pouvant prévoir les défaillances de nœuds ou les comportements malveillants, le protocole de consensus doit gérer les pannes arbitraires avec élégance.

Débit élevé pour les systèmes à accès restreint

Les protocoles BFT, dans des environnements à accès restreint comme Hyperledger Fabric, permettent d'atteindre un débit transactionnel très élevé. Grâce à un ensemble de validateurs fixe et connu, la surcharge de communication est prévisible et optimisable. Les déploiements en entreprise atteignent couramment des milliers de transactions par seconde avec une finalité inférieure à la seconde, une performance impossible à obtenir avec la preuve de travail et difficilement atteignable même pour de nombreux systèmes de preuve d'enjeu.

Sécurité contre les failles byzantines et les attaques coordonnées

Les mécanismes BFT offrent une protection robuste contre les attaques byzantines coordonnées. Un groupe de nœuds malveillants en collusion, représentant moins d'un tiers de l'ensemble des validateurs, ne peut perturber le consensus, quelle que soit la stratégie employée. Ils ne peuvent empêcher les nœuds honnêtes de parvenir à un accord, ni introduire de fausses transactions dans l'historique validé, ni amener les nœuds honnêtes à valider des états contradictoires. Cette garantie de sécurité solide est mathématiquement prouvée, et non simplement observée empiriquement.

Voir aussi   Comprendre les monnaies numériques des banques centrales (CBDC)

Défis et limites de la tolérance aux pannes byzantines

Contraintes d'évolutivité

Le principal défi des algorithmes BFT classiques réside dans la complexité croissante des communications avec le nombre de validateurs. La complexité de O(n²) des messages de PBFT rend l'ajout de validateurs supplémentaires rapidement impraticable. Un réseau de 100 validateurs PBFT nécessite jusqu'à 10 000 messages par cycle de consensus. Avec 1 000 validateurs, ce nombre atteint 1 000 000 de messages.

HotStuff et ses dérivés ont résolu ce problème de manière spectaculaire en réduisant la complexité à O(n) linéaire grâce à l'agrégation de signatures à seuil. Cependant, même la complexité linéaire a ses limites pratiques. La plupart des blockchains publiques actuelles basées sur BFT gèrent des ensembles de validateurs de l'ordre de quelques centaines à quelques milliers, contre plusieurs dizaines de milliers pour le réseau de minage de Bitcoin.

Ce plafond de scalabilité explique pourquoi le consensus BFT est courant dans les blockchains à autorisation et les réseaux de preuve d'enjeu avec des ensembles de validateurs limités, tandis que la preuve de travail sans autorisation reste le mécanisme des réseaux qui privilégient une participation sans restriction.

Dépendance à l'égard d'un ensemble de validateurs connu

La plupart des protocoles BFT exigent un ensemble de validateurs définis et authentifiés. Cela fonctionne bien dans les environnements à permission et dans les réseaux à preuve d'enjeu où les validateurs immobilisent des fonds pour obtenir leur place. C'est beaucoup plus difficile dans les environnements totalement ouverts où n'importe qui peut participer sans inscription. La preuve de travail (PoW) de Bitcoin a résolu la version ouverte du problème des généraux byzantins précisément parce qu'elle ne nécessite pas de connaître l'identité des participants à l'avance.

Frais généraux de performance

La tolérance aux pannes byzantines exige une communication inter-nœuds nettement plus importante que pour les systèmes non tolérants aux pannes byzantines. Le vote multi-phases requis par les protocoles de type PBFT, la nécessité de collecter et de vérifier un grand nombre de messages signés cryptographiquement, ainsi que la surcharge de coordination des protocoles de changement de vue (gestion des leaders défaillants) contribuent à augmenter la latence et le coût de calcul. Pour les applications nécessitant des milliers de transactions par seconde avec une latence très faible, ces surcharges requièrent une ingénierie rigoureuse.

Complexité de la mise en œuvre correcte

Les preuves mathématiques sous-jacentes aux algorithmes BFT sont exactes : le protocole est sûr et opérationnel s'il est implémenté conformément aux spécifications. Or, les logiciels sont rarement conformes aux spécifications. Les implémentations réelles contiennent des bogues de concurrence, des cas limites dans la gestion du réseau, des vulnérabilités liées au timing des messages et des erreurs d'implémentation cryptographique qui peuvent compromettre les garanties du protocole en pratique, même lorsque la conception théorique est irréprochable. L'arrêt de la chaîne Cosmos Hub v17.1 en est une illustration : la garantie de sécurité fondamentale de BFT a été respectée, mais une erreur logicielle dans le code environnant a provoqué un arrêt de la production. Une implémentation correcte de BFT exige une extrême rigueur à tous les niveaux de la pile d'implémentation, et pas seulement dans la logique du cycle de consensus.

Vulnérabilité au seuil de 33 %

L'exigence d'une majorité honnête de 33 % constitue à la fois la force et la limite absolue du BFT. Tant que cette condition est remplie, le système est sécurisé. Cependant, si un attaquant prend le contrôle d'un tiers ou plus des validateurs (ou d'un tiers de la valeur mise en jeu dans les systèmes PoS-BFT), les garanties de sécurité sont compromises. En pratique, cela nécessite des ressources considérables pour les réseaux établis, mais les réseaux plus petits, avec une valeur totale mise en jeu plus faible, sont plus vulnérables à cette attaque.

L'avenir de la tolérance aux pannes byzantines dans la blockchain

BFT post-quantique

Les protocoles BFT actuels reposent sur des schémas de signature cryptographique vulnérables aux ordinateurs quantiques. Un ordinateur quantique suffisamment puissant pourrait casser la cryptographie à clé publique utilisée par les protocoles BFT pour authentifier les votes des validateurs. La recherche post-quantique sur le BFT explore activement des schémas de signature résistants aux attaques quantiques, notamment la cryptographie sur réseau et la cryptographie par hachage. Le portefeuille matériel Trezor Safe 7 implémente déjà la cryptographie post-quantique normalisée par le NIST pour la vérification du firmware, ce qui indique que l'écosystème cryptographique dans son ensemble évolue vers la résistance quantique. Les protocoles BFT devront suivre cette évolution à mesure que l'informatique quantique progressera.

Protocoles BFT asynchrones

Le protocole PBFT classique et la plupart de ses dérivés reposent sur des hypothèses de synchronisation partielle : ils supposent que les délais de transmission des messages sont bornés, même si cette borne est inconnue. Dans des conditions totalement asynchrones (où les délais de transmission des messages peuvent être arbitrairement longs), le théorème d'impossibilité FLP démontre qu'un consensus déterministe est impossible. Cependant, les protocoles BFT asynchrones randomisés utilisant des fonctions aléatoires vérifiables peuvent atteindre un consensus probabiliste même en cas d'asynchronisme total. HoneyBadgerBFT et Dumbo sont des exemples de protocoles BFT asynchrones conçus pour fonctionner de manière fiable même lorsque les conditions du réseau sont fortement dégradées.

Évolutivité grâce au partitionnement et à la couche 2

Une approche prometteuse pour contourner les limites de scalabilité de BFT consiste à exécuter plusieurs instances de BFT en parallèle grâce au sharding. Le réseau est ainsi divisé en sous-ensembles (shards) qui gèrent chacun leur propre consensus BFT sur une partie des transactions. La feuille de route d'Ethereum prévoit le sharding, associé à une finalité de type BFT. L'architecture app-chain de Cosmos constitue une autre forme de scalabilité horizontale : chaque application exécute sa propre chaîne CometBFT, répartissant ainsi la charge de consensus. Les solutions de couche 2, telles que les rollups, ajoutent une dimension supplémentaire en regroupant les transactions hors chaîne et en utilisant des chaînes sécurisées par BFT pour le règlement final.

BFT dans l'Internet des objets

Les réseaux IoT constituent un cas d'utilisation convaincant pour le consensus BFT. Des milliards d'objets connectés doivent se coordonner et partager des données en toute sécurité sur des réseaux distribués où des dispositifs individuels peuvent être physiquement compromis, tomber en panne de courant ou être manipulés délibérément. Des recherches menées en 2025 montrent que les algorithmes basés sur le BFT offrent la faible latence requise par les applications IoT, bien que leur coût de calcul élevé et leur vulnérabilité aux attaques de 33 % imposent des architectures de réseau à accès restreint pour les déploiements IoT. L' Internet des objets représente l'un des secteurs de recherche et de déploiement du BFT connaissant la plus forte croissance.

BFT dans la finance décentralisée

Les applications de finance décentralisée (DeFi) , dont la valeur totale bloquée dépassait 56.3 milliards de dollars en 2025, reposent fondamentalement sur le consensus BFT pour la fiabilité de leurs opérations. Liquidations, flux de prix des oracles, positions de prêt et règlements de produits dérivés exigent tous une finalité fiable et rapide. Chaque protocole DeFi majeur fonctionne sur des chaînes utilisant un consensus de type BFT : Ethereum avec Casper, Cosmos Chain avec CometBFT et Stellar avec FBA. À mesure que les applications DeFi gagnent en sophistication et gèrent des volumes de transactions plus importants, la demande de garanties BFT devient plus cruciale.

Interopérabilité entre les systèmes BFT

Obtenez la carte crypto UPay

Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.

S'inscrire

L'avenir de la blockchain est de plus en plus multichaîne. Les actifs et les messages circulent entre Ethereum, Cosmos Chain, Stellar, Hyperledger Networks et d'autres réseaux. L'interopérabilité interchaîne exige que chaque chaîne vérifie la finalité des transactions effectuées sur les autres chaînes. La finalité instantanée de BFT simplifie considérablement ce processus : une preuve BFT finalisée est compacte et vérifiable, contrairement à la finalité probabiliste de la preuve de travail , qui nécessite l'attente de nombreuses confirmations avant qu'une opération interchaîne ne soit sécurisée. Le protocole IBC de l'écosystème Cosmos et les ponts interchaînes de l'écosystème au sens large dépendent tous deux de la finalité de BFT pour fonctionner en toute sécurité. La recherche sur l'interopérabilité est l'un des axes de recherche les plus actifs dans la conception du protocole BFT.

Questions fréquemment posées

Qu'est-ce que la tolérance aux pannes byzantines en termes simples ?

La tolérance aux pannes byzantines est une propriété des systèmes distribués qui leur permet de continuer à fonctionner correctement même lorsque certains participants sont malhonnêtes, défaillants ou tentent activement de perturber le système. Dans la blockchain, cela signifie que le réseau continue de valider correctement les transactions même si certains nœuds envoient de fausses informations ou tentent de manipuler le processus. La règle fondamentale est que tant que plus des deux tiers des nœuds sont honnêtes, le système aboutit à la bonne conclusion.

Pourquoi parle-t-on de tolérance aux pannes « byzantine » ?

Le nom provient du problème des généraux byzantins, une expérience de pensée publiée par les informaticiens Lamport, Shostak et Pease en 1982. Dans cette analogie, les généraux byzantins doivent s'accorder sur un plan de bataille malgré la présence de traîtres qui envoient de faux messages. Le terme « byzantin » désigne le pire type d'échec : un comportement arbitraire et conflictuel, et non un simple crash ou un silence.

Combien de nœuds défectueux un système BFT peut-il tolérer ?

Les protocoles BFT classiques, tels que PBFT, Tendermint et HotStuff, tolèrent au maximum un tiers de nœuds byzantins. Un système de n nœuds peut gérer f nœuds byzantins, pourvu que n soit supérieur ou égal à 3f + 1. Si plus d'un tiers des nœuds sont défectueux ou malveillants, la sécurité de ces protocoles est compromise. Il est mathématiquement prouvé que cette valeur représente le maximum théorique pour les protocoles BFT classiques dans le cadre d'hypothèses réseau standard.

Quelle est la différence entre PBFT et HotStuff ?

PBFT et HotStuff sont deux protocoles BFT à leader qui tolèrent jusqu'à un tiers de nœuds byzantins et garantissent une finalité instantanée. Leur principale différence réside dans la complexité de la communication. PBFT requiert O(n²) messages par cycle de consensus, ce qui le limite aux petits ensembles de validateurs. HotStuff, quant à lui, atteint une complexité linéaire O(n) en agrégeant les votes en signatures de seuil, le rendant ainsi utilisable pour des ensembles de validateurs beaucoup plus importants. HotStuff utilise trois allers-retours au lieu de deux pour PBFT, une légère augmentation de la latence largement compensée par le gain d'évolutivité.

Ethereum utilise-t-il la tolérance aux pannes byzantines ?

Oui. Le consensus de preuve d'enjeu d'Ethereum utilise Casper FFG comme mécanisme de finalité, un système de vote similaire à celui du BFT. Les validateurs votent sur les blocs de points de contrôle, et lorsqu'un point de contrôle recueille les votes des deux tiers des ETH mis en jeu, il est finalisé. Ethereum renforce la sécurité économique en complément du seuil classique du BFT : les validateurs aux comportements byzantins sont sanctionnés (ils perdent leurs ETH mis en jeu), ce qui rend les attaques financièrement dévastatrices autant que mathématiquement difficiles.

Avertissement : Cet article est fourni à titre informatif uniquement et ne constitue en aucun cas un conseil en matière de transactions ou d’investissement. Les informations qu’il contient ne sauraient être interprétées comme des conseils financiers, juridiques ou fiscaux. Investir dans les cryptomonnaies comporte un risque important de perte financière. Il est impératif de toujours effectuer vos propres recherches avant de prendre toute décision d’investissement.

Inscrivez-vous à notre infolettre

Rejoignez notre communauté et restez informé(e) des dernières actualités, mises à jour et offres exclusives en vous abonnant à notre newsletter. Saisissez votre adresse e-mail ci-dessous pour recevoir notre newsletter mensuelle directement dans votre boîte mail.

image contextuelle

Découvrez le meilleur du paiement en ligne avec Crypto

UPay offre un accès facile aux cryptomonnaies. Achetez, échangez, effectuez des paiements et gérez vos fonds facilement grâce à notre carte crypto. Aucuns frais transfrontaliers.