introduction à la chaîne de blocs - séminaire comelec · 2008 : nakamoto [9], contexte...

46
Introduction à la chaîne de blocs Séminaire COMELEC Guillaume Duc 16/11/2017

Upload: others

Post on 14-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Introduction à la chaîne deblocsSéminaire COMELEC

Guillaume [email protected]

16/11/2017

Page 2: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Objectifs du séminaire

Présenter les principes de bases de la chaîne de blocs• Notion de chaîne de blocs• Problème du consensus distribué• Solutions proposées dans le cadre de la chaîne de blocs :

preuves de travail et preuves d’enjeu

2/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 3: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

3/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 4: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Fonction de hachageHash function

H : {0,1}∗ → {0,1}n

x 7→ h = H(x)

Propriétés• Compression : L’entrée x est de taille arbitraire (finie) et la

sortie est de taille fixe n• Facilité de calcul : Étant donné H et une entrée x , h = H(x)

est facile à calculer (par un ordinateur...)Vocabulaire• h est appelé hash, haché ou condensé

4/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 5: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Fonction de hachage à sens unique(One-way hash function)

Propriétés• Compression et facilité de calcul• Résistance à la première pré-image : Étant donné y , il est

difficile de trouver une pré-image x telle que y = H(x)• Résistance à la seconde pré-image : Étant donnés x et y

tels que y = H(x), il est difficile de trouver une deuxièmepré-image x ′ 6= x telle que H(x) = H(x ′)

5/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 6: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Fonction de hachage résistante auxcollisions(Collision resistant hash function)

Propriétés• Compression, facilité de calcul, résistance à la première et

à la seconde pré-image• Résistance aux collisions : Il est difficile de trouver x et

x ′ 6= x tels que H(x) = H(x ′)

6/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 7: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

7/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 8: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

8/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 9: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Une chaîne de blocs

Une chaîne de blocs est une liste croissanted’enregistrements (blocs) liés entre-eux (chaîne) etsécurisée grâce à des fonctions cryptographiques(fonctions de hachage résistantes aux collisions)Chaque bloc de la chaîne contient• Le condensé cryptographique du bloc précédent• Des informations liées à l’application (transactions

monétaires, données mises en gage, enregistrements, etc.)

9/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 10: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Schématiquement

H(Blocn−3)

Données

Blocn−2

H(Blocn−2)

Données

Blocn−1

H(Blocn−1)

Données

Blocn

10/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 11: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Sécurité

À partir du condensé d’un bloc valide, il est possible devérifier qu’aucun bloc précédent dans la chaîne n’a étéaltéréSécurité basée sur la propriété de résistance à la secondepré-image de la fonction de hachage utilisée par la chaîne• En effet, le bloc i + 1 contenant le condensé du bloc

précédent i , altérer la chaîne reviendrait à trouver un blocBloc′

i 6= Bloc i tel que H(Bloc′i ) = H(Bloc i)

11/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 12: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Arborescence possible

Il peut y avoir des divergences pouvant mener à unestructure en arbre et non plus simplement une simple liste

12/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 13: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Problématique principaleLe consensus distribué

Quelle est la chaîne « valide » à prendre en considération(i.e. quel est le dernier bloc « valide »)?Problème exacerbé en présence de plusieurs utilisateursqui ne se font pas confiance• Si tout le monde se fait confiance, il suffit d’un serveur

centralisé indiquant le dernier bloc valide

→ Problème du consensus distribué

13/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 14: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

14/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 15: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

(Bref) Historique1991 : Habber, Stornetta [6], usage de chaînes de blocsliées et sécurisées cryptographiquement2008 : Nakamoto [9], contexte distribué et utilisation à desfins de monnaie électronique en évitant le problème de ladouble dépense : Bitcoin2011 : Namecoin [3], premier embranchement (fork ) de lachaîne Bitcoin pour de l’enregistrement distribué (pairesclé/valeur)2013 : Ethereum [1], chaîne dédiée à l’exécution decontrats intelligents (smart contract)2015 : Hyperledger [2], projet hébergé par la LinuxFondation, regroupant de nombreux industriels, pour ledéveloppement de registres distribués (distribued ledgers)basés sur des chaînes de bloc

15/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 16: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

16/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 17: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

17/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 18: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Description

Problème fondamental de l’informatique distribuéeUn certain nombre (pas nécessairement fixe ou connu)d’entités doivent se mettre d’accord sur une valeur (parexemple, le dernier bloc valide d’une chaîne de blocs)Problèmes potentiels• Fautes non malicieuses (disparition d’une entité : crash ou

problème réseau, délais de communication variables,partitionnement du réseau, etc.)

• Fautes potentiellement malicieuses (Byzantines) : un nœudpeut tenter de perturber le protocole

18/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 19: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Résultats théoriques importants

Contexte synchrone (délais des communications bornés)• Problème des généraux byzantins (Lamport, Shostak,

Pease [8]) : pas de solution si 3t ≥ n (t est le nombre detraîtres et n est le nombre de participants)

• Nombreux algorithmes développés comme par exemplePBFT (Practical Byzantine Fault Tolerance [4])

Contexte asynchrone (pas de limite supérieure au tempsde réponse d’un nœud)• Impossibilité du consensus si un nœud est défaillant

(Fischer, Lynch, Paterson [5])

19/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 20: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

20/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 21: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Dans les chaînes de blocs

Objet du consensus : quel bloc constitue la tête de lachaîneDeux types de chaînes (en pratique un peu pluscompliqué)• Chaînes de blocs privées

– Les participants sont connus et authentifiés– Des algorithmes classiques comme PBFT peuvent être

utilisés• Chaînes de blocs publiques (Bitcoin...)

– Participants inconnus et variables (attaque Sybil : unadversaire peut créer de nombreux nœud sur le réseaupair-à-pair)

– Consensus implicite (détaillé par la suite)

21/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 22: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Consensus implicite dans les chaînespubliquesPrincipe simplifié

Un nœud propose un nouveau blocLes autres nœuds l’acceptent implicitement en étendant lachaîne à partir de celui-ci ou le rejettent en étendant lachaîne à partir du bloc précédent

22/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 23: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Consensus implicite dans les chaînespubliquesAlgorithme simplifié

1. Les transactions à inclure dans le prochain bloc sontdiffusées à l’ensemble des nœuds

2. Chaque nœud collecte l’ensemble des transactions etconstruit un nouveau bloc

3. À chaque tour, un nœud aléatoire diffuse son nouveau bloc4. Les autres nœuds acceptent ce nouveau bloc seulement si

toutes les transactions qu’il contient sont valides5. Les nœuds signifient l’approbation du bloc en incluant son

condensé dans le prochain bloc qu’ils créent

23/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 24: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Choix du nœud

Si choix purement aléatoire : risque d’attaque SybilProbabilité d’être choisi proportionnelle à une ressource• Puissance de calcul : preuves de travail (Proof-of-Work,

PoW)• Possession : preuves d’enjeu (Proof-of-Stake, PoS)

En espérant que personne ne puisse monopoliser cetteressource

24/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 25: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

25/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 26: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Objectif

Objectif : sélectionner aléatoirement un nœud qui aura ledroit de proposer le prochain blocDans le cadre de la preuve de travail, la probabilité d’êtrechoisi est proportionnelle à la puissance de calcul d’unnœudRésoudre un problème particulier

26/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 27: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Propriétés des problèmes utilisés

La solution du problème doit être difficile à trouverCette difficulté doit pouvoir être adaptée (par exemple pourcompenser l’augmentation de la puissance de calcul avecle temps)La validité d’une solution doit être simple à vérifier parn’importe quel nœud

27/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 28: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Exemple de problème

Soit H une fonction de hachage utilisée comme un oraclealéatoireChaque bloc contient un champ particulier : nounceProblème : trouver une valeur de nounce tel queH(bloc) < V où V est une valeur fixe (difficulté réglable)Difficile : Pas d’autre solution que de tester toutes lesvaleurs possibles de nounceProbabilité de trouver en premier une valeur correctedirectement proportionnelle à la fraction de la puissancede calcul dont on disposeFacile à vérifier (1 appel à la fonction de hachage)

28/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 29: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Inconvénients

Les preuves de travail sont majoritairement utiliséesaujourd’hui dans les chaînes de blocs publiquesNéanmoins, nombreux inconvénients• Consommation énergétique très importante en pure perte

– Tous les nœuds du réseau ne participent pas, seulementquelques nœuds : les mineurs

• Le développement d’accélérateurs dédiés (GPU, FPGA,ASIC) à tendance à concentrer la puissance de calcul entrequelques groupes

– Coopératives de minage (mining pools)

• Nécessité de mécanismes d’incitation pour continuer àinciter les mineurs

29/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 30: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

IncitationsNécessité d’incitations pour disposer de suffisamment demineursImpliquent la plupart du temps une notion de monnaievirtuelleClassiquement sous deux formes• Création de monnaie

– Le nœud trouvant le prochain bloc valide se voit attribuerune certaine somme de monnaie créée ex nihilo

– Cette somme est souvent décroissante dans le temps• Frais de transaction

– Une transaction peut spécifier un certain montant quireviendra au nœud générant un bloc incluant cettetransaction

– Plus une transaction prévoit des frais élevés, plus lesmineurs auront intérêt à l’inclure dans un prochain bloc

– Peut mener à une inflation des frais de transaction surtoutlorsque l’intérêt du premier mécanisme décroît

30/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 31: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Sécurité — Du point de vue de l’adversaireTransaction invalide

Objectif de l’adversaire : Inclure une transaction invalidedans un bloc (dépense de monnaie avec une signatureinvalide, dépenses supérieures aux recettes, etc.)• La transaction est considérée comme invalide par les

nœuds corrects (nœuds du réseau ou mineurs, comme parexemple, le nœud du commerçant)

• Donc le bloc contenant cette transaction est rejeté• Les mineurs corrects étendent la chaîne depuis le dernier

bloc correct (donc sans inclure ce bloc incorrect)• → Impossible tant qu’il existe des nœuds corrects pour

vérifier

31/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 32: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Sécurité — Du point de vue de l’adversaireDétournement de la chaîne

Objectif de l’adversaire : Étendre la chaîne depuis unancien bloc (pour permettre par exemple une doubledépense)Exemple• L’adversaire A effectue une transaction pour acheter un

bien immatériel auprès d’un vendeur V pour un montant X• Le vendeur attend qu’un bloc contenant cette transaction

soit miné (bloc n) et ajouté à la chaîne puis transmet le bienà A

• Maintenant A va chercher à faire en sorte que le chaîneconsidérée comme correcte étende le bloc n − 1 plutôt quen

• S’il y arrive, pour la chaîne, A n’a pas envoyé X au vendeur(et pourtant à reçu le bien...)

32/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 33: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Sécurité — Du point de vue de l’adversaireDétournement de la chaîne

Les mineurs honnêtes vont chercher à étendre la chaîne laplus longue, donc ici à partir du bloc Bn

L’adversaire va donc devoir trouver un bloc alternatif B′n(basé sur Bn−1) puis B′n+1 (basé sur B′n) avant que le blocBn+1 (basé sur Bn) ne soit trouvéDans cet exemple, il est probable que l’adversaire y arrives’il contrôle les 2/3 de la puissance de calcul globale• Si on raisonne sur le long terme, il lui « suffit » de contrôler

strictement plus de la moitié de la puissance de calculglobale (attaque des 51 %)

En règle général, c’est aussi pour cette raison que l’onattend plusieurs confirmations (nouveaux blocs) avant deconsidérer une transaction comme confirmée

33/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 34: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Sécurité — Du point de vue de l’adversaireAttaque des 51 %

Un adversaire contrôlant 51 % de la puissance de calculglobale (variable) peut ainsi• Empêcher une transaction d’être enregistrée dans la chaîne• « Supprimer » les derniers blocs de la chaîne

Néanmoins, le plus grand risque est de casser la confiancedans l’application utilisant la chaîne• Avec pour conséquence une perte de valeur d’échange

dans la cas d’une monnaie électronique par exemple

34/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 35: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Variantes

Preuves de travail « utiles » (Proof-of-Useful-Work )• Essayer de trouver un problème « utile » plutôt que de

gâcher des ressources• Exemple : Primecoin dont le problème est basé sur la

recherche de chaîne de Cunningham (suites de nombrespremiers ayant certaines propriétés)

35/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 36: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

36/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 37: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Présentation

Développées pour répondre aux inconvénients liés auxpreuves de travailPrincipe : Déterminer le nœud qui pourra proposer leprochain bloc proportionnellement aux ressources qu’ilcontrôle dans l’application de la chaîne• Les nœuds souhaitant participer mettent sous séquestre un

certain montant de monnaie électronique• Un algorithme indique régulièrement un nœud parmi les

participants qui aura le droit de proposer le prochain bloc– La probabilité d’être choisi est proportionnelle aux

ressources mises sous séquestre– Pénalités souvent prévues si le nœud choisi ne propose pas

de bloc ou propose un bloc n’étendant pas la chaîne la pluslongue

37/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 38: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Avantages

Les participants ont un intérêt à ce que la chaînefonctionne bien et soit reconnue comme telle pour que lasomme qu’ils ont mis sous séquestre ne soit pas dépréciéeConsommation électrique réduiteBesoin de moins d’incitationsRisque réduit de centralisation

38/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 39: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Inconvénients

Preuve de sécurité pas évidenteEn pratique, pour le moment, aucune chaîne n’utilise unepreuve d’enjeu pure (mélange avec une preuve de travail)• Peercoin [7]

39/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 40: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Fonctions de hachage

IntroductionDéfinitionHistorique

Consensus distribuéProblème du consensus distribuéConsensus dans la chaîne de blocsPreuve de travailPreuve d’enjeu

Conclusion

40/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 41: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Exemple d’applications

Monnaie électronique (historiquement premier usage)Registre distribué• Nommage• Enregistrement d’œuvres (copyright)• Gestion de chaînes logistiques (supply chain)

Contrats intelligents (smart contract)

41/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 42: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Quelques exemples de recherche

Preuves de sécurité des différents mécanismes de preuvede travail et d’enjeuPassage à l’échelleLangages et outils pour les contrats intelligentsUsages, impacts sociétaux

42/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 43: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Conclusion

La définition d’une chaîne de blocs est simple et est baséesur des fonctions de hachageElle est couplée à un mécanisme permettant unconsensus distribué sur la chaîne valide• Pour les chaînes publiques : mécanisme basé sur des

preuves de travail (le plus répandu) ou des preuves d’enjeu(plus récent)

• Pour les chaînes privées : algorithme plus classique typePBFT

43/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 44: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Plan

Références

44/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 45: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Références I

[1] Ethereum white paper, 2013.https://github.com/ethereum/wiki/wiki/White-Paper.

[2] Hyperledger, 2017.https://www.hyperledger.org/.

[3] Namecoin, 2017.https://namecoin.org/.

[4] Miguel Castro and Barbara Liskov.Practical byzantine fault tolerance and proactive recovery.ACM Transactions on Computer Systems, 20(4) :398–461, November 2002.http://doi.acm.org/10.1145/571637.571640.

[5] Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson.Impossibility of distributed consensus with one faulty process.Journal of the ACM, 32(2) :374–382, April 1985.http://doi.acm.org/10.1145/3149.214121.

[6] Stuart Haber and W. Scott Stornetta.How to time-stamp a digital document.Journal of Cryptology, 3(2) :99–111, January 1991.https://doi.org/10.1007/BF00196791.

[7] Sunny King and Scott Nadal.Ppcoin : Peer-to-peer crypto-currency with proof-of-stake, August 2012.https://peercoin.net/assets/paper/peercoin-paper.pdf.

45/46 Télécom ParisTech Guillaume Duc 16/11/2017

Page 46: Introduction à la chaîne de blocs - Séminaire COMELEC · 2008 : Nakamoto [9], contexte distribué et utilisation à des fins de monnaie électronique en évitant le problème

Références II

[8] Leslie Lamport, Robert Shostak, and Marshall Pease.The byzantine generals problem.ACM Transactions on Programming Languages and Systems, 4(3) :382–401, July 1982.http://doi.acm.org/10.1145/357172.357176.

[9] Satoshi Nakamoto.Bitcoin : A peer-to-peer electronic cash system, October 2008.https://bitcoin.org/bitcoin.pdf.

46/46 Télécom ParisTech Guillaume Duc 16/11/2017