Tolérance aux pannes byzantine pratique

Les modèles de consensus sont un composant principal des systèmes de blockchain distribués et certainement l’un des plus importants pour leur fonctionnalité. Ils sont l’épine dorsale permettant aux utilisateurs d’interagir les uns avec les autres de manière sans confiance, et leur mise en œuvre correcte dans les plates-formes de crypto-monnaie a créé une nouvelle variété de réseaux au potentiel extraordinaire..

Dans le contexte des systèmes distribués, Tolérance aux pannes byzantines est la capacité d’un réseau informatique distribué à fonctionner comme souhaité et à atteindre correctement un consensus suffisant malgré la défaillance de composants malveillants (nœuds) du système ou la propagation d’informations incorrectes à d’autres pairs.

L’objectif est de se défendre contre les défaillances catastrophiques du système en atténuant l’influence de ces nœuds malveillants sur le bon fonctionnement du réseau et le bon consensus atteint par les nœuds honnêtes du système..

Dérivé du Problème des généraux byzantins, ce dilemme a été largement étudié et optimisé avec un ensemble diversifié de solutions en pratique et en cours de développement.

Problème des généraux byzantins

Problème des généraux byzantins, Image de Debraj Ghosh

La tolérance aux pannes byzantine pratique (pBFT) est l’une de ces optimisations et a été introduite par Miguel Castro et Barbara Liskov dans un article académique en 1999 intitulé «Tolérance aux pannes byzantine pratique“.

Il vise à améliorer les mécanismes de consensus BFT originaux et a été mis en œuvre et amélioré dans plusieurs systèmes informatiques distribués modernes, y compris certaines plates-formes blockchain populaires..

Un aperçu de la tolérance aux pannes byzantine pratique

Le modèle pBFT se concentre principalement sur la fourniture d’une réplication de machine d’état byzantine pratique qui tolère les fautes byzantines (nœuds malveillants) en supposant qu’il existe des défaillances de nœuds indépendants et des messages manipulés propagés par des nœuds spécifiques et indépendants..

L’algorithme est conçu pour fonctionner dans des systèmes asynchrones et est optimisé pour être haute performance avec un temps d’exécution impressionnant et une légère augmentation de la latence.

  • Essentiellement, tous les nœuds du modèle pBFT sont classés dans une séquence avec un nœud étant le nœud principal (chef de file) et les autres appelés nœuds de sauvegarde.
  • Tous les nœuds du système communiquent entre eux et l’objectif est que tous les nœuds honnêtes parviennent à un accord sur l’état du système par une majorité.
  • Les nœuds communiquent fortement les uns avec les autres et doivent non seulement prouver que les messages proviennent d’un nœud pair spécifique, mais doivent également vérifier que le message n’a pas été modifié pendant la transmission..

Tolérance aux pannes byzantine pratique

Tolérance aux pannes byzantine pratique, Image de Altoros

Pour que le modèle pBFT fonctionne, l’hypothèse est que le nombre de nœuds malveillants dans le réseau ne peut pas simultanément égaler ou dépasser ⅓ de l’ensemble des nœuds du système dans une fenêtre de vulnérabilité donnée.

Plus il y a de nœuds dans le système, plus il est mathématiquement improbable qu’un nombre approchant les ⅓ de l’ensemble des nœuds soit malveillant. L’algorithme fournit effectivement à la fois vivacité et sécurité tant qu’au plus (n-1) / ⅓), où n représente le nombre total de nœuds, sont malveillants ou défectueux en même temps.

Le résultat suivant est que finalement, les réponses reçues par les clients de leurs demandes sont correctes en raison de linéarisation.

Chaque cycle de consensus pBFT (appelé vues) se résume à 4 phases. Ce modèle suit davantage un format «commandant et lieutenant» qu’un pur problème de généraux byzantins, où tous les généraux sont égaux, en raison de la présence d’un nœud de chef. Les phases sont ci-dessous.

  1. Un client envoie une demande au nœud principal pour appeler une opération de service.
  2. Le nœud leader multidiffuse la demande vers les nœuds de sauvegarde.
  3. Les nœuds exécutent la demande puis envoient une réponse au client.
  4. Le client attend f + 1 (f représente le nombre maximum de nœuds pouvant être défectueux) des réponses de différents nœuds avec le même résultat. Ce résultat est le résultat de l’opération.

Les exigences pour les nœuds sont qu’ils sont déterministes et commencent dans le même état. Le résultat final est que tous les nœuds honnêtes parviennent à un accord sur l’ordre de l’enregistrement et ils l’acceptent ou le rejettent.

Le nœud leader est modifié dans un format de type round robin lors de chaque vue et peut même être remplacé par un protocole appelé changement de vue si un laps de temps spécifique s’est écoulé sans que le nœud leader diffuse la demande..

Une très grande majorité de nœuds honnêtes peut également décider si un leader est défectueux et les supprimer avec le prochain leader en ligne en remplacement..

Avantages et préoccupations avec le modèle pBFT

Le modèle de consensus pBFT a été conçu pour des applications pratiques et ses lacunes spécifiques sont mentionnées dans l’article académique original avec quelques optimisations clés pour implémenter l’algorithme dans des systèmes du monde réel..

Au contraire, le modèle pBFT offre des avantages significatifs par rapport aux autres modèles de consensus.

Avantages pBFT

Avantages de pBFT, Image by Zilliqa

L’un des principaux avantages du modèle pBFT est sa capacité à fournir la finalité des transactions sans avoir besoin de confirmations comme dans les modèles de preuve de travail tels que celui utilisé par Bitcoin..

Si un bloc proposé est accepté par les nœuds dans un système pBFT, alors ce bloc est définitif. Ceci est rendu possible par le fait que tous les nœuds honnêtes sont d’accord sur l’état du système à ce moment précis en raison de leur communication les uns avec les autres.

Un autre avantage important du modèle pBFT par rapport aux systèmes PoW est sa réduction significative de la consommation d’énergie.

Dans un modèle de preuve de travail tel que Bitcoin, un tour de PoW est requis pour chaque bloc. Cela a conduit à la consommation électrique du réseau Bitcoin par des mineurs rivalisant chaque année avec les petits pays.

Qu'est-ce que Bitcoin? Guide completQu’est-ce que Bitcoin? Le guide ultime pour les débutants

Le pBFT n’étant pas intensif en calcul, une réduction substantielle de l’énergie électrique est inévitable car les mineurs ne résolvent pas un algorithme de hachage PoW intensif en calcul à chaque bloc..

Malgré ses avantages clairs et prometteurs, le mécanisme de consensus pBFT présente certaines limites clés. Plus précisément, le modèle ne fonctionne bien que dans sa forme classique avec de petites tailles de groupe de consensus en raison de la quantité de communication encombrante requise entre les nœuds.

Le document mentionne l’utilisation de signatures numériques et de MAC (Method Authentication Codes) comme format d’authentification des messages, mais l’utilisation de MAC est extrêmement inefficace avec la quantité de communication nécessaire entre les nœuds dans les grands groupes de consensus tels que les réseaux de crypto-monnaie, et avec les MAC, il y a une incapacité inhérente à prouver l’authenticité des messages à un tiers.

Bien que les signatures numériques et les multisigs fournissent une amélioration considérable par rapport aux MAC, surmonter la limitation de communication du modèle pBFT tout en maintenant simultanément la sécurité est le développement le plus important nécessaire pour tout système qui cherche à l’implémenter efficacement..

Le modèle pBFT est également susceptible de attaques de sybille où une seule partie peut créer ou manipuler un grand nombre d’identités (nœuds du réseau), compromettant ainsi le réseau.

Ceci est atténué par des tailles de réseau plus grandes, mais l’évolutivité et la capacité à haut débit du modèle pBFT sont réduites avec des tailles plus grandes et doivent donc être optimisées ou utilisées en combinaison avec un autre mécanisme de consensus.

Plateformes mettant en œuvre des versions optimisées de pBFT aujourd’hui

Aujourd’hui, il existe une poignée de plates-formes de blockchain qui utilisent des versions optimisées ou hybrides de l’algorithme pBFT comme modèle de consensus ou au moins une partie de celui-ci, en combinaison avec un autre mécanisme de consensus..

Zilliqa

Zilliqa utilise une version hautement optimisée du pBFT classique en combinaison avec un consensus PoW tous les ~ 100 blocs. Ils utilisent des multisignatures pour réduire la surcharge de communication du pBFT classique et dans leurs propres environnements de test, ils ont atteint un TPS de quelques milliers avec l’espoir de passer à encore plus de nœuds..

Ceci est également un résultat direct de leur implémentation de pBFT dans leur architecture de partitionnement afin que les groupes de consensus pBFT restent plus petits dans des fragments spécifiques, conservant ainsi la nature à haut débit du mécanisme tout en limitant la taille du groupe de consensus..

Zilliqa

Hyperledger

Tissu Hyperledger est un environnement collaboratif open-source pour les projets et technologies blockchain qui est hébergé par la Linux Foundation et utilise une version autorisée de l’algorithme pBFT pour sa plate-forme.

Étant donné que les chaînes autorisées utilisent de petits groupes de consensus et n’ont pas besoin de décentraliser les chaînes de blocs ouvertes et publiques telles que Ethereum, pBFT est un protocole de consensus efficace pour fournir des transactions à haut débit sans avoir à s’inquiéter de l’optimisation de la plate-forme pour s’adapter à de grands groupes de consensus..

Tissu Hyperledger

De plus, les blockchains autorisées sont privées et sur invitation avec des identités connues, de sorte que la confiance entre les parties existe déjà, atténuant le besoin inhérent d’un environnement sans confiance car il est supposé que moins de ⅓ des parties connues compromettraient intentionnellement le système..

Conclusion

Byzantine Fault Tolerance est un concept bien étudié dans les systèmes distribués et son intégration via l’algorithme Practical Byzantine Fault Tolerance dans les systèmes et plates-formes du monde réel, que ce soit via une version optimisée ou une forme hybride, reste un composant clé de l’infrastructure des crypto-monnaies aujourd’hui..

Alors que les plates-formes continuent à se développer et à innover dans le domaine des modèles de consensus pour les systèmes de blockchain publics à grande échelle, la fourniture de mécanismes avancés de tolérance aux pannes byzantines sera cruciale pour maintenir l’intégrité de divers systèmes et leur nature sans confiance..