Problèmes des Généraux Byzantins

Documents pareils
aux différences est appelé équation aux différences d ordre n en forme normale.

Université Paris-Dauphine DUMI2E 1ère année, Applications

Programmation linéaire

Feuille TD n 1 Exercices d algorithmique éléments de correction

Rappels sur les suites - Algorithme

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

PRIME D UNE OPTION D ACHAT OU DE VENTE

Taux d évolution moyen.

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Chapitre 2 Le problème de l unicité des solutions

Limites finies en un point

Conception des systèmes répartis

Systèmes et algorithmes répartis

Cours de Probabilités et de Statistique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Correction du baccalauréat ES/L Métropole 20 juin 2014

Quelques algorithmes simples dont l analyse n est pas si simple

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Raisonnement par récurrence Suites numériques

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Équations non linéaires

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

L apprentissage automatique

Leçon 01 Exercices d'entraînement

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

3 Approximation de solutions d équations

LE PROBLEME DU PLUS COURT CHEMIN

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Les indices à surplus constant

1 Définition et premières propriétés des congruences

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Cours de Génie Logiciel

Introduction à la théorie des graphes. Solutions des exercices

Parallélisme et Répartition

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Chp. 4. Minimisation d une fonction d une variable

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Microsoft Excel : tables de données

L exclusion mutuelle distribuée

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

Logique. Plan du chapitre

Cours d Analyse. Fonctions de plusieurs variables

I. Ensemble de définition d'une fonction

L ordinateur quantique

MIS 102 Initiation à l Informatique

Ordonnancement temps réel

Problèmes de Mathématiques Filtres et ultrafiltres

Cours Fonctions de deux variables

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. (d'après A.-M. Hugues) màj 19/04/2007

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Angles orientés et trigonométrie

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Calculateur quantique: factorisation des entiers

Calculs de probabilités conditionelles

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Sommaire. Couverture de zone de surveillance dans les réseaux de capteurs. De quoi parle-t-on ici (1/2)? Objectif. De quoi parle-t-on ici (2/2)?

Probabilités sur un univers fini

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Réalisabilité et extraction de programmes

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Algorithmique et Programmation Fonctionnelle

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

JAUNE. Article. Fautes. T 120 fautes et sanctions Dec er groupe 1ère faute 2ème faute

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Modélisation du comportement habituel de la personne en smarthome

Intelligence Artificielle Planification

CHAPITRE 5. Stratégies Mixtes

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

I. Cas de l équiprobabilité

Chapitre 5 : Flot maximal dans un graphe

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Conception et contrôle des SMA tolérants aux fautes

Algorithmique des Systèmes Répartis Protocoles de Communications

Introduction au temps réel

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

CHAPITRE IV. L axiome du choix

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Suites numériques 3. 1 Convergence et limite d une suite

Exercices - Polynômes : corrigé. Opérations sur les polynômes

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Routage AODV. Languignon - Mathe - Palancher - Pierdet - Robache. 20 décembre Une implémentation de la RFC3561

Introduction aux algorithmes répartis

Programmation Par Contraintes

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Résolution d équations non linéaires

ÉPREUVE COMMUNE DE TIPE Partie D

Commun à tous les candidats

Transcription:

Problèmes des Généraux Byzantins Problème qui modélise une situation où la plupart des sites d un réseau fonctionne correctement mais quelques sites fonctionnent de la manière la plus maligne possible. général D Armée Armée général A VILLE général général B Armée Armée Alain BUI -- Université de Reims Problématique N divisions de l armée (Byzantine) encerclent une ville ennemie. haque division est commandée par un général. Les généraux communiquent entre eux par messagers fiables. Les généraux doivent décider d un plan d action commun (attaque ou retraite) AORD. Si les généraux sont unanimes par rapport à leur choix initial alors la décision = ce choix. (VALIDITE) Mais il peut exister des traîtres parmi les généraux qui essayent d empêcher les généraux loyaux de se mettre d accord. Alain BUI -- Université de Reims 2

Variante Parmi les généraux on distingue le commandant en chef et les lieutenants. Les traîtres peuvent se trouver parmi les lieutenants et le commandant Le commandant envoie un ordre à ces N- lieutenants tel que Tous les lieutenants loyaux obéissent au même ordre Si le commandant est loyal, alors chaque lieutenant loyal obéit à l ordre émis. Alain BUI -- Université de Reims 3 Hypothèses f sites possiblement fautifs Un site fautif peut se comporter de manière complètement arbitraire. (ne pas envoyer de messages, en envoyer un autre, ne pas envoyer du tout ). La difficulté vient qu un message reçu peut paraître plausible pour le receveur alors qu il n est pas correct Les conditions de validité, accord et terminaison sont les mêmes énoncées dans le cas des pannes franches. Alain BUI -- Université de Reims 4 2

3 généraux dont un traître. Qui croire? Oui Oui Oui Non L a dit Non L2 L a dit Non L2 L devrait décider Oui dans le er cas L devrait décider Non dans le 2ème cas L ne peut pas différencier les 2 cas de figures. => Généralisons le propos Alain BUI -- Université de Reims 5 Résultat d impossibilité: ère exécution B A 0 3 sites A, B et résolvent le problème du consensus avec une faute byzantine Tour : chaque site envoie sa valeur initiale (pas de faute) A B, la valeur B A, la valeur A, B la valeur 0 Alain BUI -- Université de Reims 6 3

Résultat d impossibilité B sait de A que a la valeur 0 Tour 2: A, B envoie la valeur qu ils ont reçus, se comporte bizarrement A B la valeur 0 de A la valeur de B B A la valeur 0 de B la valeur de A A la valeur 0 de B B la valeur de A A A - - B - 0-0 0 B A - B - - 0-0 A - B - - - 0 ondition de validité => A et B décident sur Alain BUI -- Université de Reims 7 Résultat d impossibilité: 2ème exécution B A 0 3 sites A, B et résolvent le problème du consensus avec une faute byzantine Tour : chaque site envoie sa valeur initiale (pas de faute) A B, la valeur B A, la valeur 0 A, B la valeur 0 Alain BUI -- Université de Reims 8 4

Résultat d impossibilité Tour 2: B et envoie la valeur qu ils ont reçus, A se comporte bizarrement B A la valeur 0 de B la valeur de A A la valeur 0 de B B la valeur de A A B la valeur 0 de A la valeur de B A A - - B - 0 0-0 0 B A - 0 B - 0 - - 0 A - B 0 - - - 0 ondition de validité => A et B décident sur 0 Alain BUI -- Université de Reims 9 Résultat d impossibilité: 3ème exécution B - A 0 3 sites A, B et résolvent le problème du consensus. B a un comportement byzantin dès le début. Tour : chaque site envoie sa valeur initiale A B, la valeur B A la valeur B la valeur 0 A, B la valeur 0 Alain BUI -- Université de Reims 0 5

Résultat d impossibilité Tour 2: omportement normal A B la valeur 0 de A la valeur de B B A la valeur 0 de B la valeur de A A la valeur 0 de B B la valeur de A A A - - B - 0-0 0 B A - B - * - 0-0 A - B 0 - - - 0 Alain BUI -- Université de Reims Exécution 3 B envoie les mêmes messages à A que dans l exécution B envoie les mêmes messages à que dans l exécution 2 (dans les mêmes tours) => Exec et Exec3 ne sont pas distinguables pour A => Exec2 et Exec3 ne sont pas distinguables pour Dans exec A décide donc de même dans Exec3 Dans exec2 décide 0 donc de même dans Exec3 => ceci contredit l hypothèse que A, B et résolvent le problème du consensus. Alain BUI -- Université de Reims 2 6

onditions pour résoudre le problème Il n existe pas de solution pour le consensus avec fautes byzantines si f N/3 où f = nombre de fautes et N = nombre de sites. L exemple précédent n est que le premier pas de la preuve : le problème du consensus ne peut pas être résolu avec f = et N = 3. Il faut étendre la démonstration dans un cadre plus général N > 3.f Alain BUI -- Université de Reims 3 Un algorithme Le même que pour les pannes franches Hypothèses n > 3.f T (n,f) Graphe complet, Système synchrone etc. Différences Possibilité de recevoir des messages tronqués ou altérés : le site qui les reçoit peut détecter que ces messages sont anormaux Procédure de décision va être différente car «on» ne peut pas faire confiance aux valeurs reçues. => utilisation d un vote majoritaire. Alain BUI -- Université de Reims 4 7

Algorithme Alain BUI -- Université de Reims 5 Algorithme (local en i) i maintient T i (n,f) val(x) désigne la valeur stockée dans le nœud d étiquette x initialement val(e) = valeur d entrée de i Tour i diffuse val(e) à tous les sites (i lui-même inclus) Réception d un message contenant v de j Si msg correct /*pas d altération dans la forme*/ alors val(j) v Sinon val(j)! Si aucun message reçu de j alors val(j)! /*vérifiable car synchrone*/ Alain BUI -- Université de Reims 6 8

Tour k, 2 k f+ i diffuse tous les couples (x,v) où x est une étiquette de niveau k- de T qui ne contient pas l indice i Réception de message de j avec val(x) = v V Si msg correct alors val(x.j) v où x.j = étiquette de niveau k de T Sinon val(x.j)! Si aucun message reçu alors val(x.j)! A la fin du tour f+, i applique une règle de décision Alain BUI -- Université de Reims 7 Procédure de décision i (x) Si x est une feuille alors decision i (x) val(x) Sinon decision i (x) = Majorité(decision i (x),, decision i (xk)) où x,, xk étiquettes de fils de x dans T Majorité : donne la valeur v qui apparaît en majorité (stricte) parmi les valeurs de tous les fils de x dans T. Si majorité n existe pas alors valeur par défaut! La décision finale est donné par decision i (e) Alain BUI -- Université de Reims 8 9

Exemple : n=4, f= e 2 3 4 2 3 4 2 23 24 3 32 34 4 42 43 a 0 comme valeur initiale 2 a 0 comme valeur initiale 3 a comme valeur initiale 4 a 0 comme valeur initiale Scénario : 3 est le site byzantin, il envoie au tour 2 les valeurs à la place de 0 pour 2 et 4. Alain BUI -- Université de Reims 9 omplexité En nombre de messages A chaque tour chaque site envoie n messages Pour les n sites : n 2 messages échangés Algorithme en f+ tours : (f+).(n 2 ) messages En quantité d informations échangées A chaque tour, chaque site envoie un niveau entier de son arbre soit au pire n(n-)(n-2) (n-f-) = Θ (n f+2 ) Ne pas oublier que l on doit avoir n > 3.f Alain BUI -- Université de Reims 20 0

onsensus byzantin sur des graphes quelconques K-connexité: Un graphe G est dit k-connexe ssi chaque couple de nœuds dans G est connecté par au moins k chemins disjoints Arbre est -connexe lique est (N-)-connexe Nombre minimum de nœuds que l on peut enlever pour rendre G connexe Alain BUI -- Université de Reims 2 Théorème : onsensus byzantin peut être résolu dans un réseau de N sites avec f fautes si et seulement si N > 3.f G est au moins 2(f+)-connexe (connexité(g) > 2f) 2f+ connexe => il existe au une majorité de chemins disjoints fiables. On peut donc simuler un algorithme pour graphes complets qui résout le consensus Reste à montrer que cela n est pas possible pour G moins que 2f-connexe. Preuve par l absurde en prenant f = puis en généralisant pour tout f. Alain BUI -- Université de Reims 22

Résultat d impossibilité Fisher Lynch Paterson:Le consensus distribué n a pas de solution dans un système asynchrone même s il n y a qu un seul site fautif et même si le site le site n est simplement fautif en arrêtant d émettre des messages. Attention ce résultat ne signifie pas que le D ne peut être atteint. Mais cela veut dire qu il n existe pas d algorithme déterministe qui garantit que le consensus sera atteint. Alain BUI -- Université de Reims 23 2