La tolérance aux pannes byzantine déléguée (dBFT) et le problème des généraux expliqués

Tolérance aux pannes byzantine déléguée (dBFT)

Les développeurs de NÉO, l’une des plus grandes plates-formes au monde pour la création et le déploiement d’applications décentralisées (dApps), a proposé un nouveau type d’algorithme de consensus blockchain appelé la tolérance aux pannes byzantine déléguée (dBFT).

En tant que nouveau mécanisme de consensus de NEO, dBFT a été dérivé du classique Le problème des généraux byzantins. Filip Martinsson, co-fondateur de Stockholm Blockchain, explique que ce problème implique «Un groupe de généraux essayant d’envahir une ville et le succès de cette invasion» dépend de «tous les généraux agissant de la même manière». Par exemple, si tous les généraux planifient une attaque contre une ville, cela pourrait potentiellement réussir. Sinon, si tous les généraux décident de battre en retraite, cela pourrait également réussir.

Problème des généraux byzantins: gérer les acteurs malhonnêtes

Cependant, nous devons envisager la possibilité que si tous les généraux élaboraient un plan pour attaquer la ville et qu’un général mentait, et «au lieu d’attaquer la ville, ce général ou son armée partirait», note Martinsson. Il souligne que cela «poserait un problème à l’armée dans son ensemble, car maintenant ils ne travaillent plus dans une unité». En conséquence, l’invasion pourrait ne pas se dérouler comme prévu et cela «pourrait être exploité par l’ennemi». Afin de résoudre ce problème, nous devons traiter quelques problèmes, déclare Martinsson.

Tout d’abord, Martinsson soutient qu’il est possible que les généraux mentent sur leurs intentions. Ils pourraient «dire une chose et en faire une autre». Par exemple, “ils peuvent dire que” je vote [pour] envahir la ville et tout le monde aussi. “” Au lieu de cela, ils peuvent décider de battre en retraite avec leur armée. Un autre problème potentiel, mentionne Martinsson, peut survenir avec les coursiers. Parce que ces «généraux sont répartis dans toute la ville», les messages doivent être envoyés (d’un général à un autre) en utilisant un coursier.

Courriers responsables de l’envoi fiable des messages entre tous les généraux

Chaque général peut prendre sa propre décision quant à ce qu’il veut faire, et il doit également transmettre son plan d’action aux autres généraux. Afin de communiquer avec les autres généraux, il y a des personnes désignées comme courriers qui portent des messages sur le champ de bataille entre tous les généraux, explique Martinsson. Il ajoute qu’il est possible que les courriers soient corrompus car ils ne disent pas toujours la vérité.

Des courriers malhonnêtes pourraient potentiellement «induire en erreur» certains des généraux en leur disant d’attaquer une ville ou un ennemi – alors que tous les autres généraux battent en retraite. Cela peut entraîner de nombreuses pertes sur le champ de bataille et aussi «l’échec de l’invasion».

Réaliser le problème des généraux byzantins sur les réseaux cryptographiques décentralisés

Ces mêmes types de problèmes peuvent survenir sur des réseaux informatiques décentralisés où de nombreux nœuds communiquent entre eux et traitent des transactions, note Martinsson. Il mentionne qu’il existe un risque d’avoir des nœuds défectueux ou des nœuds “non fiables” sur un blockchain réseau. Nous devons envisager la possibilité qu’un nœud agisse de manière malhonnête en ne «disant pas la vérité» ou en ne transmettant pas un message important aux autres nœuds du réseau. Ces types de problèmes peuvent être résolus de différentes manières, dit Martinsson.

Les développeurs de systèmes distribués utilisent actuellement divers algorithmes de consensus tels que preuve de travail (PoW), preuve de participation (PoS), preuve de participation déléguée (DPoS), entre autres, pour gérer les réseaux blockchain. Le nouveau protocole de consensus de tolérance aux pannes byzantine déléguée (dBFT) de NEO est similaire au DPoS en ce sens que chaque utilisateur de la blockchain NEO est en mesure de choisir des délégués, explique Martinsson. Il ajoute que les utilisateurs votent et nomment des délégués qui représentent leurs intérêts (comme une démocratie).

Les parties prenantes, ou les utilisateurs qui détiennent la crypto-monnaie native d’un réseau blockchain, ont un certain intérêt pour la plate-forme. Par exemple, Martinsson note que ceux qui ont un intérêt dans une plate-forme blockchain voudraient que le système régissant le réseau soit honnête. Afin de maintenir l’intégrité du réseau blockchain, les utilisateurs essaient de voter pour les délégués qui, selon eux, seraient véridiques et «les représentent d’une bonne manière».

Les orateurs sont «choisis au hasard parmi un groupe de délégués»

Une fois que les délégués ont été nommés, ils commencent à «voter sur la vérité», explique Martinsson.

Il souligne également que sur un réseau de crypto-monnaie basé sur une chaîne de blocs, cela signifie que les délégués votent sur quels blocs sont valides (contiennent un ensemble légitime de transactions) et quels blocs peuvent être corrompus. Chaque fois qu’un nouveau bloc est généré sur la blockchain, un orateur est «tiré au hasard dans le groupe de délégués». Une fois que l’orateur a été choisi, il procédera à proposer un nouveau bloc comme «la vérité» aux autres délégués.

Il poursuit en expliquant qu’au moins 66%, soit les deux tiers des délégués, devront alors «approuver» le bloc proposé par l’orateur. Une fois qu’un bloc a été approuvé, l’ensemble des transactions associées à ce bloc particulier sera traité, ajoute Martinsson. Cependant, si 66% (ou plus) des délégués n’approuvent pas le blocage recommandé par un orateur, alors ce blocage est rejeté. Après cela, un orateur «redevient délégué», note le co-fondateur de Stockholm Blockchain.

Les orateurs proposent des blocs (pour validation) aux délégués

Lorsque le processus d’approbation du bloc suivant est lancé, un nouveau locuteur est choisi au hasard dans le groupe de délégués. L’orateur désigné propose alors un bloc qui, selon lui, devrait être traité sur le réseau. Cet orateur nouvellement nommé peut avoir «une vérité différente» qu’il propose aux délégués.

Il continue de noter que si au moins 66% des délégués décident d’approuver le bloc recommandé par l’orateur, alors ce bloc particulier est traité et les transactions qui lui sont associées sont enregistrées sur la blockchain. Cependant, si au moins deux tiers des délégués n’approuvent pas ou n’acceptent pas de traiter le bloc, le même cycle (tel que décrit) continue de se répéter.

Problèmes potentiels de gouvernance de la blockchain: les délégués pourraient être malhonnêtes lorsqu’ils votent sur la proposition du président

Certains problèmes potentiels dans ce type de gouvernance de la blockchain incluent la malhonnêteté des délégués lors du vote sur la proposition de l’orateur.

Par exemple, un délégué peut recevoir une proposition de nouveau bloc et induire en erreur les participants du réseau en leur faisant croire qu’un bloc est valide, même s’ils savent que le bloc est corrompu ou défectueux.

Les développeurs de l’algorithme dBFT supposent que seule une minorité de délégués agira de manière malhonnête, explique Martinsson. Sur la base de cette hypothèse, un bloc corrompu ou défectueux ne sera pas choisi et sera rejeté. Les utilisateurs responsables des réseaux cryptographiques basés sur dBFT «doivent savoir quel délégué n’est pas digne de confiance, quel délégué nous ment et quel délégué se comporte mal avec leur vote», déclare Martinsson. Savoir quels délégués sont honnêtes et lesquels agissent de manière malveillante aide les utilisateurs à décider quels délégués ils devraient choisir pour les représenter.

Un autre problème potentiel qui peut survenir sur un réseau blockchain (qui utilise dBFT comme mécanisme de consensus) est d’avoir des haut-parleurs malhonnêtes. Cela signifie que le nœud qui propose le nouveau bloc pourrait proposer un bloc défectueux. Dans ce cas, nous «devons compter sur les délégués pour voter le blocage [corrompu ou défectueux]». Afin de s’assurer qu’un bloc défectueux n’est pas approuvé, la majorité (ou 66%) des délégués doivent agir honnêtement. Si un délégué se comporte mal, il doit être remplacé pour que le réseau blockchain puisse fonctionner de manière fiable.

La dernière version de dBFT de NEO a été publiée

Le 14 mars 2019, Erik Zhang, co-fondateur de NEO, annoncé que le développement de la version 2.0 dBFT de NEO était terminé (selon un document de spécification) et que la version 2.10.0 de l’interface de ligne de commande (CLI) NEO avait été publiée. Zhang a également révélé que la dernière version de l’algorithme dBFT de NEO serait déployée sur le réseau de test de la plate-forme. Si le protocole de consensus nouvellement mis en œuvre fonctionne correctement sur le réseau de test, les développeurs de NEO activeront le dernier mécanisme de consensus dBFT sur le contrat intelligent réseau principal du réseau.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me