La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Consensus distribué. Le problème du Consensus MB - LRIA.

Présentations similaires


Présentation au sujet: "Consensus distribué. Le problème du Consensus MB - LRIA."— Transcription de la présentation:

1 Consensus distribué

2 Le problème du Consensus MB - LRIA

3 Sommaire Définition, introduction, généralités Notion de faute Résultats dimpossibilité et hypothèses de travail Consensus en présence de pannes franches Un algorithme polynomial Un algorithme exponentiel Les généraux byzantins Un algorithme déterministe (Lamport & Al.) Un algorithe probabiliste (Rabin)

4 Introduction Problème fondamental Brique de base pour les applications Notion de fautes et hyp. sur le nb de fautes Résultat d'impossibilité Algorithmes systèmes synchrones et pannes franches Simulation (applets)

5 Notion de fautes Fautes de liens de communications Fautes de processus Pannes franches Pannes de type GB

6 Consensus Le consensus distribué (CD) liens avec des pbs similaires (GB, CI) définition Modèle de calcul et hypothèses Algorithmes dans le cas synchrone avec pannes franches

7 Le pb du Consensus Terminaison: Tous les processus corrects vont de manière sûre choisir une valeur de décision Accord: Tous les processus corrects choisissent la même valeur Validité: Si tous les processus proposent une même valeur v alors la valeur de décision est v validité forte: La valeur de décision est celle proposée par un des processus

8 Contexte SD à passage de messsages, synchrone avec pannes franches SD à passage de messsages, synchrone avec pannes byzantines SD à mémoire partagée, asynchrone avec pannes franches FLP82 SD à passage de messsages, asynchrone avec pannes franches LP82

9 Une solution au consensus polynomial en présence de pannes franches Solution due à Dolev et Strong (1983)

10 Système distribué à passage de messages SYNCHRONE une exécution est une suite détapes on délivre tous les messages des buffers de communications sortants on effectue un calcul local après chaque étape denvoi ou réception de messages

11 Pannes franches Un sous-ensemble d'au plus f processus fautifs un processus fautif peut sarrêter après un envoi de messages quelconque f est connu les processus fautifs ne sont pas connus

12 Algorithme

13 Comportement de lalgorithme V1V1

14 1 étape V1V1 V2V2 V3V3 V4V4 V5V5

15 Validité de lalgorithme Plusieurs choses à montrer Après un tour sans faute, tous les processus corrects ont le même ensemble de valeurs. Dès la fin dun tour sans faute, à chaque tour, les processus corrects ont des ensembles de valeurs identiques Lalgorithme se termine en (f+1) tours où f est le nombre de faute;s; Le consensus est réalisé après un tour sans faute (càd après f+1 tours).

16 P1: Tous les ps corrects P i et P j réalisent l'accord à la fin du tour (f+1). Idée de la preuve supposons que x est ajouté à V i au tour r pour la 1ère fois si r <= f, alors P i envoie x à P j au tour suivant si r = f+1, x est transmis via la chaine P i1,...Pi f+1 P i1 P i2 au tour 1 P if+1 P i au tour f+1 implique f+1 ps distincts un ps correct parmi ceux ci et il envoie x à tous les processus avant f+1 --> Contradiction

17 P2: L'algorithme présenté résoud le pb du consensus en f+1 tours. si P i et P j sont corrects alors V i et V j sont les mêmes au tour f+1 et min(V i ) et min(V j ) sont les mêmes.

18 Complexité de l'algorithme f+1 tours jusqu'à ce que les processus corrects décident à chaque tour, il y a au maximum n 2 messages envoyés doncO((f+1). n 2 ) messages L'algorithme est optimal (en nb de tours) il y a (f+1) tours

19 Solution exponentielle en nombre de message au consensus en présence de pannes franches Solution due à

20 Solution EIGStop Hypothèses Même conditions de travail Application de la solution Lamport Shostak et Pease Principe Maintien dune structure de données en chaque site, correspondant à un arbre stockant les informations reçues et leurs parcours

21 Schéma de lalgorithme Processus Pi Début: Wi={v} Tour k Distribuer les pairs (étiquette, valeur)au dernier niveau, soft ceux qui contient i Recevoir les pairs (étiquette, valeur) de Pj. Mise à jour larbre dépendant de quel pair est reçu de quel processus. Tour k+1 Appliquer la condition de validité

22 Principe (pas de pannes franches) Au premier tour S1S1 S3S3 S2S2 S i (i=1) Arbre W 1 V1V1 S 1 V 1 S2V2S2V2 S3V3S3V3 Identique pour S 2 et S 3

23 A la seconde étape (pas de pannes franches) encore un échange de messages S1S1 S3S3 S2S2

24 S i (i=1) Arbre W 1 Identique pour S 2 et S 3 S 1 reçoit S 1 V 1 via S 2 S 1 :V 1 V1V1 S 2 :V 2 S 3 :V 3 S 1 S 2 :V 1 S 2 S 1 :V 2 S 2 S 3 :V 2 S 3 S 1 :V 3 ? S 1 reçoit S 2 V 2 via S 3 À vous…

25 S i (i=1) Arbre W 1 Identique pour S 2 et S 3 S 1 reçoit S 1 V 1 via S 2 S 1 :V 1 V1V1 S 2 :V 2 S 3 :V 3 S 1 S 2 :V 1 S 2 S 1 :V 2 S 2 S 3 :V 2 S 3 S 1 :V 3 S 3 S 2 :V 3 S 1 reçoit S 2 V 2 via S 3 S 1 reçoit S 3 V 3 via S 2

26 Nouvelle seconde étape (avec 1 panne franche) S1S1 S3S3 S2S2 La panne se produit juste après lenvoi dun message vers S 1 et avant lenvoi des 3 autres messages (il y a en effet deux fois deux messages, en général il y a (n-1) 2 messages sur un tour) S 1 :V 1

27 Pour S 1 Arbre W 1 S 1 :V 1 V1V1 S 2 :V 2 S 3 :V 3 S 1 S 3 : V 1 S 1 S 2 :V 1 S 2 S 1 :V 2 S 2 S 3 :V 2 S 3 S 1 :V 3 S 3 S 2 :Null S2

28 Pour S 3 Arbre W 3 S 1 :V 1 V3V3 S 2 :V 2 S 3 :V 3 S 1 S 3 : V 1 S 1 S 2 :NullS 2 S 1 :V 2 S 2 S 3 :V 2 S 3 S 1 :V 3 S 3 S 2 :Null S2

29 Pour S 2 …panne Arbre W 2 S 1 :V 1 V2V2 S 2 :V 2 S 3 :V 3

30 Preuve de validité Technique (3 lemmes à établir) La personne intéressé se réfèrera aux documents et à la bibliographie [Lynch 1997]

31 Complexité Nombre de messages Il y a (f+1) tours Chaque tour, on a n processus qui envoie où k est le numéro de tour DONC Complexité en temps Modèle synchrone et donc le temps est (f+1) tours

32 Généraux Byzantins Solution due à Lamport, Shostak et Pease (1982)

33 Le problème Notion de faute byzantine

34 F fautes, 3F+1 participants ou si n généraux, il ne faut pas avoir plus de n/3 traitres

35 Hypothèses Système synchrone Graphe complet Absence de messages détectable Un général traître ne peut pas se faire passer pour un autre général (loyal).

36 Schéma de lalgorithme EIGSTop (rep) Processus Pi Début: Wi={v} Tour k Distribuer les pairs (étiquette, valeur)au dernier niveau, soft ceux qui contient i Recevoir les pairs (étiquette, valeur) de Pj. Mise à jour larbre dépendant de quel pair est reçu de quel processus. Tour k+1 Appliquer la condition de validité

37 Algorithme GB Fonctionne comme EIGStop Avec comme différences Si un processus reçoit un message qui na pas la forme standard, le processus rejette ce message Après (f+1) tours, tous les processus remplacent leurs valeurs Null avec leur valeur initiale. Tous les processus appliquent le schéma suivant. Un processus P i va calculer une fonction de décision valeur_de_décision (récursive) avec comme donnée dentrée larbre W i

38 Fonction valeur_de_décision( W i ) Pour chaque feuille de W i, on adopte la valeur associée comme valeur de décision Pour chaque nœud interne (non-feuille), on associe comme valeur au nœud, la valeur v=majorité(v 1, v 2 …v i ) où v 1, v 2 …v i sont les valeurs des enfants si elle nexiste pas, on prend une valeur par défaut prédéfinie (Retraite, O, Null) La valeur de cette fonction est la valeur de la racine

39 Scénario 6 GB 1 traître (GB N°2) propose retraite puis change les messages GB N°1,3,6 proposent lattaque GB N°4,5 proposent la retraite Il y aura donc 2 tours avec 36 messages 6 messages au tour 1 6x5 au tour 2

40 Schéma de calcul de la Fonction valeur_de_décision( W i ) Arbre W 1 1 S 1 :1 S 1 S 2 : 0* Le GB N°1 propose lattaque (valeur 1) S 1 S 4 :1S 1 S 3 :1S 1 S 5 :1S 1 S 6 :1 S 2 :1 * S 3 :1S 4 :0S 5 :0S 6 :1 S 5 S 2 : 1*S 5 S 4 :0S 5 S 3 :0S 5 S 5 :0S 5 S 6 :0 La valeur transmise par S 2 (traître) Peut être quelconque S i S k :V i on reçoit la valeur S i :V i (la valeur est 0 ou 1) via S k

41 Calcul de valeur_de_décision( W i ): étape 0 Arbre W 1 1 S 1 :1 S 1 S 2 : 0* Le GB N°1 propose lattaque (valeur 1) S 1 S 4 :1S 1 S 3 :1S 1 S 5 :1S 1 S 6 :1 S 2 :1 * S 3 :1S 4 :0S 5 :0S 6 :1 S 5 S 1 : 1*S 5 S 3 :0S 5 S 2 :0S 5 S 4 :1S 5 S 6 :0 Valeur

42 Détail de la branche S 2 Arbre W 1 1 S 1 :1 S 2 :1 * S 3 :1S 4 :0S 5 :0S 6 :1 S 2 S 1 :V 1 S 2 S 4 :V 4 S 2 S 3 :V 3 S 2 S 5 :V 5 S 2 S 6 :V 5 Valeur Ce sont les valeurs reçues au premier tour, de S 2 par les S i - qui sont éventuellement suspectes mais qui sont ici retransmises correctement à tous les S i à la seconde étape. Cest une valeur suspecte, elle peut varier selon les W i

43 Détail de la branche S 2 (suite) Arbre W 1 1 S 1 :1 S 2 :1 * S 3 :1S 4 :0S 5 :0S 6 :1 S 2 S 1 :V 1 S 2 S 4 :V 4 S 2 S 3 :V 3 S 2 S 5 :V 5 S 2 S 6 :V 6 V1V1 V3V3 V4V4 V5V5 V6V6 On calcule la fonction valeur_de_décision( )

44 Détail de la branche S 2 (suite 2) Arbre W 1 1 S 1 :1 S 2 :1 * S 3 :1S 4 :0S 5 :0S 6 :1 S 2 S 1 :V 1 S 2 S 4 :V 4 S 2 S 3 :V 3 S 2 S 5 :V 5 S 2 S 6 :V 6 V1V1 V3V3 V4V4 V5V5 V6V6 On calcule la fonction valeur_de_décision( ) qui est majorité(V 1,V 3, V 4, V 5, V 6 ) et sera la même pour tous les arbres W i (pour les ps non-fautifs càd i2) DONC même avec un traître on assure laccord et on remarque que le calcul de la valeur de décision est la même pour tous VALEUR

45 Calcul de valeur_de_décision( W i ): étape 1 Arbre W 1 1 S 1 :1 S 1 S 2 : 0* Le GB N°1 propose lattaque (valeur 1) S 1 S 4 :1S 1 S 3 :1S 1 S 5 :1S 1 S 6 :1 S 2 :1 * S 3 :1S 4 :0S 5 :0S 6 :1 S 5 S 2 : 1*S 5 S 4 :0S 5 S 3 :0S 5 S 5 :0S 5 S 6 :0 Valeur Valeur majoritaire =1Valeur majoritaire =0 0*101

46 Question: quelle est la décision? 0 ou 1??? Réfléchir au cas où il ny aurait pas de traître… On ne peut rien décider également! Ici Sinon 1 si on peut calculer 1 ou 0 si la majorité existe Sinon on prend la valeur par défaut (0 dans ce cas)

47 Algorithm probabiliste de GB Due à Michael O. Rabin Utilise probabilité pour dépasser les GB

48 Algorithme de Rabin, hypothèses Serveur dauthentications, Dealer: un ps non fautif Partage dun secret Asynchrones système Phase Local horloge p(i) Nombre maximum de fautes f Probabilité derronée réponse

49 Schéma Pour k=1 à R fait Vote (k) Loterie(k) Décisions(k) Fin pour

50 Vote Distribuer signe(msg(i),k) Recevoir (msg(j),k) Jusquà n-t msg reçus Temp(i)=major(reçus) Count(i)

51 Loterie Dealer: choisisse aléatoirement un secret sk={0,&} calcule Ei(k) pour partage sk Distribue signe(Ei(k)) Processus Requise Ej(k) Attende t reçus Calcule sk

52 Décision S=sk Si (s=0 et n/2

53 Bibliographie The Byzantine Generals Problem L.Lamport, R.Shostak, M.Pease ACM TOPLAS Vol.4, No.3, July 1982, pp Randomized Byzantine Generals Michael O. Rabin IEEE


Télécharger ppt "Consensus distribué. Le problème du Consensus MB - LRIA."

Présentations similaires


Annonces Google