Points clés

  • La tolérance aux fautes byzantines (TFB, BFT) est une propriété qui permet aux systèmes distribués, y compris les blockchains, de continuer à fonctionner même lorsque certains nœuds tombent en panne ou agissent de manière malhonnête.

  • L’idée vient du problème des généraux byzantins : une expérience de pensée sur la manière dont des acteurs indépendants peuvent parvenir à un accord lorsque certains peuvent ne pas être fiables.

  • La plupart des blockchains utilisent un algorithme de consensus, comme la preuve de travail ou la preuve d’enjeu, pour atteindre la TFB et sécuriser le réseau.

  • En général, un réseau a besoin d’au moins deux tiers de ses participants pour être honnêtes afin que la TFB (BFT) tienne.

Binance Academy courses banner

Introduction

Depuis le lancement de Bitcoin en 2008 en tant que système de paiement électronique pair-à-pair, les blockchains se sont appuyées sur une propriété essentielle : la capacité à parvenir à un accord entre de nombreux participants indépendants sans faire confiance à un seul d’entre eux. C’est plus difficile qu’il n’y paraît, surtout lorsque certains participants peuvent se comporter de manière imprévisible ou malhonnête.

Le concept qui répond à ce défi s’appelle la tolérance aux fautes byzantines. Le comprendre aide à expliquer pourquoi les réseaux blockchain peuvent fonctionner de façon sécurisée même en présence d’acteurs malveillants ou de pannes matérielles.

Quel est le problème des généraux byzantins ?

Le problème des généraux byzantins a été décrit pour la première fois en 1982. Il s’appuie sur une expérience de pensée militaire pour illustrer la difficulté d’atteindre un accord dans un système distribué lorsque certains participants ne peuvent pas être considérés comme dignes de confiance.

Imaginez un groupe de généraux, chacun commandant une armée distincte, encerclant une ville. Ils doivent s’accorder sur un plan : attaquer ensemble ou battre en retraite ensemble. S’ils agissent indépendamment, ils échouent. Le problème, c’est qu’ils ne peuvent communiquer que par l’intermédiaire de messagers, et certains généraux peuvent être des traîtres qui envoient des messages contradictoires ou faux.

Le défi central est le suivant : comment les généraux loyaux peuvent-ils s’accorder sur un plan lorsqu’ils ne peuvent pas identifier qui ment ? Dans le contexte d’une blockchain, chaque général représente un nœud du réseau, et la décision « attaquer ou battre en retraite » est remplacée par l’accord sur les transactions qui sont valides.

La conclusion de la recherche originale est qu’un système BFT nécessite qu’au moins deux tiers des participants soient honnêtes. Si un tiers ou plus est défaillant ou malveillant, parvenir à un consensus fiable devient impossible.

Tolérance aux fautes byzantines (TFB, BFT)

La tolérance aux fautes byzantines est la propriété d’un système qui peut continuer à fonctionner correctement même lorsque certains composants tombent en panne ou se comportent de manière malveillante. Un système BFT peut tolérer un certain nombre de nœuds défaillants sans compromettre l’intégrité de l’ensemble du réseau.

Dans la pratique, cela signifie qu’une blockchain BFT peut gérer des scénarios où des nœuds se mettent en panne, perdent la connectivité, envoient des messages en double ou tentent délibérément de manipuler le réseau. Le système aboutit au bon résultat tant que la proportion de nœuds défaillants reste inférieure au seuil acceptable.

Il existe plusieurs façons de construire un système BFT. L’approche adoptée par une blockchain dépend de ses priorités de conception, telles que la rapidité, la décentralisation et la sécurité. Cela conduit au développement de différents algorithmes de consensus.

Algorithmes de consensus de blockchain

Un algorithme de consensus est le mécanisme qu’une blockchain utilise pour se mettre d’accord sur l’état du registre. Les approches les plus courantes sont la preuve de travail (Proof-of-Work, PoW) et la preuve d’enjeu (Proof-of-Stake, PoS).

Bitcoin utilise la PoW, que Satoshi Nakamoto a adaptée pour en faire ce qui est connu sous le nom de consensus de Nakamoto. Dans ce modèle, les nœuds s’affrontent pour résoudre une énigme coûteuse sur le plan computationnel afin d’ajouter un nouveau bloc. Le coût de ce travail rend économiquement peu pratique, pour un mauvais acteur, de réécrire la chaîne sans contrôler plus de la moitié de la puissance de calcul totale. Ce type d’attaque s’appelle une attaque des 51 %.

La PoW n’est pas totalement immunisée contre les fautes byzantines, mais le coût du minage et la sécurité cryptographique de la chaîne l’ont rendue très fiable dans la pratique.

La PoS poursuit des objectifs similaires, mais d’une autre manière. Au lieu d’un travail computationnel, les validateurs bloquent des cryptomonnaies en guise de garantie. Un comportement malhonnête peut entraîner la perte de cette mise, ce qui crée une forte incitation économique à participer honnêtement.

Ethereum est passé à la PoS en 2022, et son mécanisme de finalité s’appuie sur des principes BFT utilisés dans des protocoles comme Tendermint. Ces protocoles permettent à un réseau de confirmer des blocs comme finaux une fois qu’un nombre suffisant de validateurs a donné son accord par signature, améliorant à la fois la rapidité et la sécurité par rapport à la finalité probabiliste des chaînes basées sur la PoW.

FAQ

Que signifie la tolérance aux fautes byzantines ?

La tolérance aux fautes byzantines signifie qu’un système peut continuer à fonctionner correctement même si certains de ses composants se comportent de manière imprévisible ou malhonnête. Dans la blockchain, cela signifie que le réseau peut parvenir à un consensus sur des transactions valides même si certains nœuds envoient des informations fausses ou contradictoires.

Pourquoi l’appelle-t-on tolérance aux fautes byzantines ?

Le nom fait référence au problème des généraux byzantins (Byzantine Generals’ Problem), une expérience de pensée de 1982 qui utilisait une histoire de généraux militaires pour décrire le défi consistant à parvenir à un accord lorsque certains participants ne peuvent pas être considérés comme dignes de confiance. Dans le domaine de l’informatique, le terme « byzantin » renvoie à des défaillances arbitraires ou malveillantes, contrairement à de simples plantages.

Quelle proportion d’un réseau doit être honnête pour que la TFB (BFT) fonctionne ?

En général, un système BFT nécessite qu’au moins deux tiers des participants se comportent honnêtement. Si un tiers ou plus du réseau agit de manière malveillante ou échoue, la plupart des protocoles BFT ne peuvent plus garantir un résultat correct. Ce seuil varie légèrement selon le protocole de consensus précis utilisé.

La preuve de travail (Proof-of-Work) est-elle une tolérance aux fautes byzantines ?

La preuve de travail n’est pas une tolérance aux fautes byzantines parfaitement formelle, mais elle atteint une résilience pratique grâce au coût élevé du minage. Un attaquant devrait contrôler plus de 50 % de la puissance de calcul totale du réseau pour manipuler la chaîne de façon constante, ce qui rend ce type d’attaque coûteux et difficile à maintenir.

Réflexions finales

La tolérance aux fautes byzantines est une notion fondamentale dans la conception des blockchains. Elle explique pourquoi des réseaux comme Bitcoin et Ethereum peuvent fonctionner de manière fiable même dans un environnement où les participants sont anonymes et où certains peuvent tenter de tricher. Que ce soit via la preuve de travail, la preuve d’enjeu (proof-of-stake) ou de nouveaux protocoles BFT utilisés dans des chaînes modernes, l’objectif est le même : permettre à des nœuds indépendants de s’accorder sur la vérité sans avoir besoin de se faire confiance individuellement.

Pour aller plus loin

  • Qu’est-ce qu’un algorithme de consensus de blockchain ?

  • Qu’est-ce que la preuve de travail (Proof of Work, PoW) ?

  • Qu’est-ce que la preuve d’enjeu (Proof of Stake, PoS) ?

  • Qu’est-ce qu’une attaque des 51 % ?


Avertissement : ce contenu vous est fourni « tel quel » à des fins strictement informatives et éducatives générales, sans déclaration ni garantie d’aucune sorte. Il ne doit pas être interprété comme un conseil financier, juridique ou professionnel, ni comme une recommandation d’achat d’un produit ou d’un service spécifique. Vous devez demander votre propre avis à des conseillers professionnels appropriés. Lorsque le contenu est fourni par un contributeur tiers, veuillez noter que les opinions exprimées appartiennent au contributeur tiers et ne reflètent pas nécessairement celles de Binance Academy. Les prix des actifs numériques peuvent être volatils. La valeur de votre investissement peut diminuer ou augmenter et vous pourriez ne pas récupérer le montant investi. Vous êtes seul responsable de vos décisions d’investissement et Binance Academy ne saurait être tenue responsable de toute perte que vous pourriez subir. Pour plus d’informations, consultez nos Conditions d’utilisation, l’Avertissement relatif au risque et les Conditions de Binance Academy.