La tolérance aux 'pannes byzantines'
Accueil
Articles
La tolérance aux 'pannes byzantines'

La tolérance aux 'pannes byzantines'

Avancé
Publié le Dec 6, 2018Mis à jour le Aug 17, 2023
5m

Depuis la crĂ©ation du Bitcoin en 2008, en tant que systĂšme de paiement Ă©lectronique de pair Ă  pair, de nombreuses autres crypto-monnaies ont Ă©tĂ© crĂ©Ă©es, chacune avec un mĂ©canisme de fonctionnement particulier. Mais une chose que presque toutes les crypto-monnaies ont en commun, c’est la blockchain, Ă©lĂ©ment central de leur architecture.

À quelques exceptions prĂšs, les blockchains sont conçues intentionnellement comme dĂ©centralisĂ©es et fonctionnent comme un registre numĂ©rique gĂ©rĂ© par un rĂ©seau distribuĂ© de noeuds d'ordinateurs. Dans ce cadre, la technologie blockchain a permis la crĂ©ation de systĂšmes Ă©conomiques exempts du besoin de confiance, dans lesquels des transactions financiĂšres transparentes et fiables pouvaient ĂȘtre exĂ©cutĂ©es sans recourir Ă  des intermĂ©diaires. Les crypto-monnaies sont en train d’ĂȘtre adoptĂ©es comme une alternative viable aux systĂšmes bancaires et de paiement traditionnels, qui dĂ©pendent fortement de la confiance.

Tout comme la plupart des systĂšmes informatiques distribuĂ©s, les participants d'un rĂ©seau de crypto-monnaie doivent trĂšs rĂ©guliĂšrement se mettre d'accord sur l'Ă©tat de la blockchain, c'est ce que l’on appelle la rĂ©alisation d'un consensus. Cependant, parvenir Ă  un consensus sur des rĂ©seaux distribuĂ©s, de maniĂšre sĂ©curisĂ©e et fiable, est loin d’ĂȘtre une tĂąche facile.

Alors, comment un rĂ©seau distribuĂ© de nƓuds d’ordinateur peut-il s’accorder sur une dĂ©cision si certains des nƓuds risquent d’échouer ou d’agir de maniĂšre malhonnĂȘte? C’est la question fondamentale du problĂšme dit des gĂ©nĂ©raux byzantins, qui a donnĂ© naissance au concept de tolĂ©rance aux pannes byzantines.


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

En quelques mots, le problĂšme des gĂ©nĂ©raux byzantins a Ă©tĂ© conçu en 1982 comme un dilemme logique qui dĂ©crit comment un groupe de gĂ©nĂ©raux byzantins peut avoir des problĂšmes de communication lorsqu’il essaie de s’accorder sur son prochain coup stratĂ©gique.

Le dilemme suppose que chaque gĂ©nĂ©ral a sa propre armĂ©e et que chaque groupe armĂ© est situĂ© Ă  diffĂ©rents endroits autour d’une ville qu’ils dĂ©sirent assiĂ©ger. Les gĂ©nĂ©raux doivent se mettre d’accord pour attaquer ou battre en retraite. Peu importe qu’ils attaquent ou qu’ils battent en retraite, il faut que tous les gĂ©nĂ©raux parviennent Ă  un consensus, c’est-Ă -dire Ă  s’entendre sur une dĂ©cision commune afin de l’exĂ©cuter en coordination.

Par conséquent, nous pouvons considérer les objectifs suivants:

  • Chaque gĂ©nĂ©ral doit prendre une dĂ©cision: attaque ou retraite (oui ou non);

  • Une fois la dĂ©cision prise, elle ne peut plus ĂȘtre modifiĂ©e.

  • Tous les gĂ©nĂ©raux doivent se mettre d'accord sur la mĂȘme dĂ©cision et l'exĂ©cuter de maniĂšre synchronisĂ©e.

Les problĂšmes de communication susmentionnĂ©s sont liĂ©s au fait qu’un gĂ©nĂ©ral ne peut communiquer avec un autre que par l’intermĂ©diaire de messages qui sont transmis par un Ă©missaire. Par consĂ©quent, le challenge central du problĂšme des gĂ©nĂ©raux byzantins est le suivant : les messages peuvent ĂȘtre retardĂ©s, dĂ©truits ou perdus.

En outre, mĂȘme si un message est dĂ©livrĂ© avec succĂšs, un ou plusieurs gĂ©nĂ©raux peuvent choisir (pour une raison quelconque) d’agir de maniĂšre malveillante et d’envoyer un message frauduleux afin d’embrouiller les autres gĂ©nĂ©raux, entraĂźnant ainsi un Ă©chec total.

Si nous appliquons le dilemme au contexte des blockchains, chaque gĂ©nĂ©ral reprĂ©sente un nƓud de rĂ©seau et les nƓuds doivent parvenir Ă  un consensus sur l'Ă©tat actuel du systĂšme. En d'autres termes, la majoritĂ© des participants d'un rĂ©seau distribuĂ© doivent se mettre d'accord et exĂ©cuter la mĂȘme action afin d'Ă©viter un Ă©chec complet.

Par consĂ©quent, la seule façon de parvenir Ă  un consensus dans ces types de systĂšmes distribuĂ©s consiste Ă  avoir au moins ⅔ de nƓuds de rĂ©seau fiables et honnĂȘtes. Cela signifie que si la majoritĂ© du rĂ©seau dĂ©cide d’agir de maniĂšre malicieuse, le systĂšme est sujet aux dĂ©faillances et aux attaques (comme l’attaque Ă  51%).


La Tolérance aux pannes byzantines (BFT)

En quelques mots, la tolĂ©rance aux pannes byzantines (BFT) caractĂ©rise un systĂšme capable de rĂ©sister Ă  la l’éventail de pannes dĂ©rivĂ©es du ProblĂšme des gĂ©nĂ©raux byzantins. Cela signifie qu'un systĂšme BFT est capable de continuer Ă  fonctionner mĂȘme si certains des nƓuds Ă©chouent ou agissent de maniĂšre malveillante.

Il existe plus d’une solution possible au problĂšme des gĂ©nĂ©raux byzantins et, par consĂ©quent, de multiples façons de construire un systĂšme BFT. De mĂȘme, il existe diffĂ©rentes approches permettant Ă  une blockchain d'atteindre la tolĂ©rance de panne byzantine, ce qui nous conduit aux algorithmes de consensus.


Les algorithmes de consensus de Blockchain

Nous pouvons définir un algorithme de consensus comme un mécanisme par lequel un réseau blockchain parvient à un consensus. Les implémentations les plus courantes sont la preuve de travail et la preuve de participation. Mais prenons le cas Bitcoin comme exemple.

Alors que le protocole Bitcoin prescrit les rÚgles principales du systÚme, c'est l'algorithme de consensus PoW qui définit comment ces rÚgles seront suivies afin de parvenir à un consensus (par exemple, lors de la vérification et de la validation des transactions).

Bien que le concept de preuve de travail soit plus ancien que les crypto-monnaies, Satoshi Nakamoto en a dĂ©veloppĂ© une version modifiĂ©e, en tant qu’algorithme et systĂšme BFT ayant permis la crĂ©ation du Bitcoin.

Notez que l'algorithme PoW n'est pas tolĂ©rant Ă  100% aux fautes byzantines, mais en raison du processus de minage coĂ»teux et des techniques cryptographiques sous-jacentes, PoW s'est avĂ©rĂ© ĂȘtre l'une des implĂ©mentations les plus sĂ©curisĂ©es et les plus fiables pour les rĂ©seaux blockchain. En ce sens, l'algorithme de consensus Proof of Work, conçu par Satoshi Nakamoto, est considĂ©rĂ© par beaucoup comme l'une des solutions les plus pertinentes aux fautes byzantines.


Conclusion

Le problÚme des généraux byzantins est un dilemme intrigant qui a finalement donné naissance aux systÚmes BFT, qui sont largement utilisés dans divers scénarios. Au-delà du secteur de la blockchain, quelques cas d'utilisation des systÚmes BFT incluent les secteurs de l'aviation, de l'espace et de l'énergie nucléaire.

Dans le contexte de la crypto-monnaie, une communication réseau efficace associée à un bon mécanisme de consensus sont essentiels pour tout écosystÚme blockchain. La sécurisation de ces systÚmes est un effort continu et les algorithmes de consensus existants doivent encore surmonter quelques limitations (telles que la scalabilité). Néanmoins, PoW et PoS sont des approches trÚs intéressantes en tant que systÚmes BFT, et leurs applications potentielles appellent certainement à une innovation généralisée.

Partager des publications
S’inscrire pour un compte.
Mettez vos connaissances en pratique en ouvrant un compte Binance dùs aujourd’hui.