Les systèmes informatiques distribués souffrent d'une myriade d'erreurs, et l'échec byzantin est l'un des plus courants. Ces types d'erreurs sont très difficiles à résoudre, car le système de détection a du mal à décider si l'erreur existe ou non.
UUne faute byzantine est une condition d'un système informatique, en particulier des systèmes informatiques distribués. Cette condition se produit lorsqu'un ou plusieurs composants sont tombés en panne et qu'il n'existe aucune information précise indiquant si un composant a échoué ou si les informations système sont correctes.
Sur une faute byzantine, un composant comme un serveur peut apparaître de manière incohérente, comme une défaillance et un fonctionnement dans les systèmes de détection de défaut. Cela se produit car le système présente des symptômes différents selon les observateurs. À ce stade, il est difficile pour les autres composants de prendre la décision de déclarer l'échec et de l'exclure du réseau. Eh bien, pour cela, vous devez parvenir à un consensus sur le composant qui a échoué en premier lieu.
La faute byzantine comme problème de consensus
Le terme tire son nom de la connaissance "Problème des généraux byzantins". Ceci a été développé pour décrire une situation où les parties prenantes doivent s'entendre sur une stratégie ou consentement pour éviter une défaillance catastrophique du système. Et ils doivent aussi atteindre cet objectif en sachant que parmi eux, il peut y avoir des acteurs peu fiables.
Le problème des généraux byzantins a été décrit par Robert Chostak en 1978, dans le cadre d'un projet du laboratoire d'informatique de SRI International. Ce projet s'appelait SIFT, et avait le soutien de la même agence aérospatiale NASA. La cas décrit représente en substance, un problème de communication distribuée entre ordinateurs. Dans ce document, les ordinateurs axés sur des objectifs différents doivent pouvoir établir une communication par paires et parvenir à un consensus. Et ils devraient pouvoir le faire même si certains d'entre eux sont cassés. Pour mieux le comprendre, voyons son approche:
Lancez-vous sur Bit2Me et plongez dans le monde des crypto-monnaies avec une longueur d'avance. Inscrivez-vous facilement et obtenez 5 € GRATUITS sur votre premier achat avec ce lien. N'attendez plus pour rejoindre la révolution crypto ! Inscription
Le problème des généraux byzantins (PGB)
- Plusieurs généraux du même camp et leurs armées sont situés à des extrémités différentes d'une ville avec l'intention de l'assiéger.
- Pour réussir, ils doivent attaquer la ville de manière coordonnée pour vaincre les défenses ou battre en retraite de manière coordonnée. En cas de non synchronisation de leurs actions, ils tomberont devant les puissantes forces ennemies.
- Pour y parvenir, les généraux attaquants communiquent entre eux via des messagers.
- Bien que la ville regorge d'ennemis, les messagers doivent traverser la ville pour passer d'un camp à l'autre avec les ordres d'attaque.
- L'hypothèse indique que le messager d'une armée informera une autre de son intention d'attaquer ou non, et quand le faire.
- Au fur et à mesure que les propositions seront reçues, les généraux les confirmeront ou les rejetteront pour établir un accord de vote sur les mesures à prendre.
Comment l'observer, le problème est que dans la ville les ennemis pourraient capturer les messagers. S'ils sont interceptés, le message pourrait être modifié et par conséquent, l'attaque ne serait pas menée de manière coordonnée. En n'étant pas menées de manière coordonnée, les armées attaquantes seraient vaincues, échouant ainsi à leur mission.
Par exemple, si un message des généraux était "Attaquer demain», le texte pourrait être modifié en ajoutant « seulement s'il pleut » après. De cette façon, l'autre armée pourrait penser que vous n'acceptez d'attaquer qu'en cas de pluie et confirmer le message. Avec quoi la première armée attaquerait et la seconde ne pourrait pas le faire et se retirerait s'il ne pleuvait pas.
Dans un ensemble de systèmes informatiques distribués avec un objectif commun, chaque ordinateur équivaudrait à un général et son armée. Et donc, le réseau de données serait analogue aux messagers qui doivent traverser la ville pour informer les généraux.
Quel effet ont les fautes byzantines?
Les fautes byzantines sont considérées classe de fautes plus générales et plus complexes à résoudre. Il en est ainsi parce que le nœud qui échoue sur le réseau, peut générer des données arbitraires et prétendre être correct. Les défauts byzantins sont capables de dérouter les systèmes de détection de défauts. Malgré l'analogie, un défaut byzantin n'est pas nécessairement un problème de sécurité qui implique une interférence humaine hostile: il peut survenir de manière aléatoire en raison de l'accumulation de défauts électriques.
Pour expliquer un peu plus les effets et la portée de ces échecs, nous en expliquerons quelques cas connus:
Cas n ° 1: Découverte de la navette spatiale - Vol STS-124
La NASA a constaté que l'un des échecs de la mission STS-124, était impliqué le système de contrôle du carburant. De ses quatre systèmes de contrôle, tous les quatre ont donné des informations erronées et complètement différentes du système de contrôle. Cependant, l'échec n'était pas la programmation, mais physique. Cela a pris naissance dans un carte de contrôle qui a communiqué aux quatre ordinateurs. Une fissure dans une diode, était à l'origine de ce défaut byzantin. La panne de diode, était coupable d'une transmogrification en convertissant une diode en condensateur. Cette situation a retardé le lancement de la navette jusqu'à ce que le défaut soit corrigé.
Si le système Shuttle n'avait pas toléré les pannes byzantines, cette panne aurait été désastreuse. Sans le contrôle du système d'alimentation en carburant, cela aurait signifié l'explosion de la navette. Ce défaut est un exemple clair de la dangerosité des défauts byzantins et de la difficulté de les détecter ou de les prévenir.
Cas n ° 2: technologie Blockchain
Dans le cas de l' blockchain Des failles byzantines peuvent se produire dans les performances des nœuds non fiables ou malveillants. Si un membre de la communauté envoie des informations incohérentes à d'autres sur les transactions, la fiabilité de la blockchain est rompue. Pour résoudre ce problème, PoW offre des mécanismes de tolérance aux pannes byzantines (BFT) pour éviter ce problème.
Un autre problème qui se produit dans la blockchain lié aux échecs byzantins est la double dépense. El double dépense, est une attaque dans laquelle un acteur utilise les mêmes crypto-monnaies à deux occasions différentes. Dans ce cas, le réseau blockchain doit résister au fait que la même crypto-monnaie est utilisée de cette manière. Faire cela est assez complexe. Pour y parvenir, il faut concevoir des mécanismes tolérants aux pannes byzantines partielles ou complètes.
Cliquez ici pour ouvrir votre compte utilisateur en espagnol GRATUITEMENT et en toute sécurité et recevoir un cadeau de 5 €.