Le domaine des crypto-monnaies s’est considérablement développé au cours des deux dernières années. La montée en puissance de nouveaux projets présente également diverses façons dont les développeurs s’attaquent aux problèmes existants sur le terrain.

Un terme qui revient assez souvent est le «mécanisme de consensus BFT». BFT signifie Byzantine Fault Tolerance, et il présente un problème théorique dans les systèmes informatiques qui existaient bien avant Bitcoin.

Cependant, de nombreux protocoles basés sur la blockchain sont engagés dans la résolution des problèmes associés à la tolérance aux pannes byzantine, et ce qui suit examine de plus près la question et tout ce qui en découle.

Le problème des généraux byzantins expliqué

Le problème des généraux byzantins est l’une des situations théoriques les plus discutées chaque fois que le sujet du consensus est abordé.

Le problème a été reconnu pour la première fois dans un article de 1982 intitulé Le problème des généraux byzantins par Leslie Lamport, Robert Shostak et Marshall Pease. Le papier lit:

Un système informatique fiable doit pouvoir faire face à la défaillance d’un ou plusieurs de ses composants. Un composant défaillant peut présenter un type de comportement souvent négligé, à savoir l’envoi d’informations contradictoires à différentes parties du système. Le problème de faire face à ce type d’échec est exprimé abstraitement comme le problème des généraux byzantins.

Le nom est dérivé de l’analogie présentée dans l’article. Plus précisément, les auteurs décrivent une situation théorique où plusieurs divisions de l’armée byzantine campent à l’extérieur d’une ville ennemie. Chaque division est commandée par son propre général, qui siègent tous dans des campements différents. Les commandants doivent élaborer un plan d’action commun (qu’il s’agisse d’attaquer ou de battre en retraite), et ils ne peuvent communiquer qu’avec des messages. Cependant, certains généraux peuvent être des traîtres et tenter d’empêcher les généraux fidèles de parvenir à un accord (consensus).

bft_img2
Source : Wikipédia

Par conséquent, les généraux doivent trouver un moyen de garantir que :

  • Tous les généraux fidèles décident du même plan d’action.
  • Un petit nombre de traîtres ne peut amener les généraux fidèles à adopter un mauvais plan.

Un système capable de résoudre ce qui précède est réputé avoir une tolérance aux pannes byzantines (BFT). C’est de là que vient l’algorithme de consensus BFT.

Essentiellement, la tolérance aux pannes byzantines est une condition qui empêche le système de souffrir de participants non fiables (non loyaux).

Résoudre le problème du général byzantin

Pour résoudre le problème des généraux byzantins et atteindre la tolérance aux pannes byzantines (BFT), il doit y avoir un accord majoritaire parmi les généraux sur leur stratégie.

Ceci est réalisé de différentes manières en fonction du système et de ses nécessités. Dans le contexte de la blockchain, la preuve de travail et la preuve de participation sont capables d’atteindre la tolérance aux pannes byzantines, mais l’approche dans les deux cas est différente.

La plupart des chaînes de blocs de preuve de participation peuvent tolérer jusqu’à un tiers de leurs nœuds défectueux, ce qui donne une marge de manœuvre au 3f+1 où F est le nombre de nœuds non fidèles, et la formule donne le nombre de nœuds fidèles dont le système a besoin.

Par exemple, dans un système à 4 nœuds, un seul d’entre eux peut être défaillant pour répondre aux critères (3f+1).

En février 1999, Miguel Castro et Barbara Liskov du Laboratoire d’informatique du Massachusetts Institute of Technology (MIT), ont publié un article présentant une solution au problème à travers le soi-disant Tolérance aux pannes byzantine pratique.

Comment Blockchain résout-il le problème des généraux byzantins ?

La technologie basée sur la blockchain présente plusieurs solutions au problème des généraux byzantins. Les différences proviennent de l’algorithme de consensus désigné et de leur approche du BFT, mais la preuve de travail et la preuve de participation fournissent des solutions viables.

bft_img1

Comment Bitcoin résout-il le problème des généraux byzantins ?

Chose intéressante, dans le livre blanc original, Satoshi Nakamoto n’a pas mentionné le problème des généraux byzantins, mais avec l’introduction du réseau Bitcoin, le créateur pseudonyme l’a essentiellement résolu grâce à l’algorithme de consensus Proof-of-Work (PoW).

Pour résoudre le problème, Satoshi a créé un moyen d’utiliser la sécurité cryptographique ainsi que le cryptage à clé publique dans un réseau numérique. Pour éviter toute altération des données, la sécurité cryptographique utilise le hachage, tandis que l’identité d’un utilisateur du réseau est vérifiée grâce à sa clé publique.

Les transactions sont sécurisées dans des blocs, qui sont connectés à d’autres blocs par leur valeur de hachage et sécurisés par cryptographie. Il est important de noter que la blockchain utilise un arbre Merkle pour vérifier les hachages qui proviennent du bloc de genèse (initial). Chaque bloc provenant du bloc de genèse est valide. Ces blocs sont validés par des mineurs qui résolvent des énigmes cryptographiques lors d’une compétition pour produire des blocs dans le cadre de la méthode du consensus.

Bitcoin a établi un règlement clair et définitivement objectif que la blockchain doit suivre pour surmonter le problème des généraux byzantins. Un membre du réseau doit publier la preuve qu’il a terminé le travail afin de pouvoir ajouter des informations à la blockchain (d’où la preuve de travail). Cela a un coût élevé pour le membre et le décourage de partager des informations erronées car elles seront réfutées par les autres États membres.

Toutes les règles sont claires et objectives, ce qui signifie qu’il ne peut pas y avoir de falsification des informations.

Comment la preuve de participation résout-elle le problème des généraux byzantins ?

Les réseaux régis par l’algorithme de consensus de preuve de participation ne reposent pas sur l’exploitation minière – ils reposent sur le jalonnement. Pour devenir un validateur de réseau, l’utilisateur doit d’abord miser des fonds dans le système. Ceux qui possèdent une plus grande part peuvent également valider plus de blocs et gagner de plus grandes récompenses. Ceux qui tentent de falsifier les informations risquent de perdre leur montant misé.

La façon dont ces systèmes résolvent le problème varie. Par exemple, Ethereum 2.0 utilise l’algorithme Casper. Il faut au moins une majorité des deux tiers de tous les nœuds pour s’entendre sur un bloc spécifique avant qu’il puisse être créé et ajouté au réseau.

Il existe des tentatives variables pour résoudre le problème en fonction de la nécessité du système et de l’approche de l’équipe. Par exemple, avec Delegated Proof of Stake (dPoS), parvenir à un consensus est beaucoup plus rapide. D’autre part, certains systèmes implémentent la tolérance aux pannes byzantine pratique.

OFFRE SPÉCIALE (Sponsorisé)

Binance Free 100 $ (Exclusif) : Utilisez ce lien pour vous inscrire et recevoir 100 $ gratuits et 10 % de réduction sur les frais de Binance Futures le premier mois (conditions).

Offre spéciale PrimeXBT : utilisez ce lien pour vous inscrire et entrez le code CRYPTOPOTATO50 pour recevoir jusqu’à 7 000 $ sur vos dépôts.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *