Au cours des derniers mois, la Blockchain a connu un engouement très important, surtout à cause du buzz qui a été fait autour des crypto-monnaies telles que Bitcoin. Si la Blockchain est la technologie qui se cache derrière ces dernières, elle n'est pas uniquement cela et promet de permettre de construire des applications décentralisées (et sans tiers de confiance) dans divers domaines d'application où un tiers de confiance était jusque là nécessaire. Dans cette présentations, nous présentons les principes de fonctionnement de la technologie Blockchain avec tous les mécanismes sous-jacents qui pour un grand nombre sont antérieurs à la Blockchain (réseaux pair-à-pair, cryptographie, fonctions de condensat, etc.).
1. LA BLOCKCHAIN : INTRODUCTION
LE HAVRE, 15 MAI 2018
RÉUNION D’ÉQUIPE RI2C
Claude Duvallet
Université du Havre
UFR Sciences et Techniques
25 rue Philippe Lebon - BP 1123
76058 LE HAVRE CEDEX
Claude.Duvallet@gmail.com
http://litis.univ-lehavre.fr/∼duvallet/
Claude Duvallet La Blockchain 1 / 31
2. PLAN DE LA PRÉSENTATION
• Présentation de la Blockchain
• Le minage
• La notion de contrat intelligent
• Les applications potentielles
• Conclusion et perspectives
Claude Duvallet La Blockchain 2 / 31
3. PLAN DE LA SECTION
1 Introduction et contexte
Historique
Définitions
Propriétés
2 Le minage
3 Les contrats intelligents
4 Les domaines d’application
5 Conclusion et perspectives
Claude Duvallet La Blockchain 3 / 31
4. INTRODUCTION ET CONTEXTE
• Octobre 2008 - Satoshi Nakamoto. "Bitcoin : A Peer-to-Peer Electronic
Cash System"
• Définition d’un système de monnaie électronique cryptographique
pair-à-pair, le bitcoin.
• Janvier 2009, diffusion de la première version du logiciel Bitcoin sur le
site P2P Foundation.
• Derrière la crypto-monnaie Bitcoin se trouve le concept de Blockchain (ou
chaîne de blocs en français).
• 2014 : Exploitation de la Blockchain pour d’autres applications que les
crypto-monnaies.
• Novembre 2017 : envolée du cours du Bitcoin =⇒ un plus grand intérêt
pour la Blockchain.
Claude Duvallet La Blockchain 4 / 31
5. DÉFINITIONS
• Une Blockchain (chaîne de blocs) = comme un registre distribué,
immuable et infalsifiable.
• Quand un fait, une donnée ou une transaction est écrite dans la
Blockchain, il est quasiment impossible de la modifier.
• La Blockchain ∼ une base de données distribuées permettant le
stockage d’informations (en petite quantité) et leur infalsifiabilité,
sans aucun organe de contrôle.
• La protection de la Blockchain est assurée par des moyens
cryptographiques.
Claude Duvallet La Blockchain 5 / 31
6. DÉCENTRALISATION OU DISTRIBUTION DE LA BLOCKCHAIN
Architecture centralisée. Architecture distribuée.
• Réplication sur un ensemble de nœuds organisés en réseau pair-à-pair.
• Des nœuds ordinaires et des mineurs.
• Si on souhaite corrompre la Blockchain, il faut donc modifier une majorité
de nœuds.
Claude Duvallet La Blockchain 6 / 31
7. LES DIFFÉRENTS TYPES DE BLOCKCHAIN
Il existe trois types de Blockchain :
• La Blockchain publique :
• Les utilisateurs du réseau d’échanges sont contrôlés par le réseau
pair-à-pair.
• Tout le monde peut participer au processus de création du consensus.
• C’est aux nœuds du réseau de valider les choix discutés et initiés par les
développeurs.
• La Blockchain privée.
• La Blockchain de consortium.
Claude Duvallet La Blockchain 7 / 31
8. LES DIFFÉRENTS TYPES DE BLOCKCHAIN
Il existe trois types de Blockchain :
• La Blockchain publique.
• La Blockchain privée :
• Elle fonctionne dans le cadre d’un réseau privé dont le gérant peut modifier
le protocole à tout moment.
• Personne ne peut y participer sans avoir reçu une autorisation au
préalable.
• La Blockchain de consortium.
Claude Duvallet La Blockchain 8 / 31
9. LES DIFFÉRENTS TYPES DE BLOCKCHAIN
Il existe trois types de Blockchain :
• La Blockchain publique.
• La Blockchain privée.
• La Blockchain de consortium :
• C’est une Blockchain dont le consensus est contrôlé par un nombre de
nœuds présélectionnés.
• Elle peut être qualifiée d’hybride dans la mesure où certains nœuds
peuvent être rendus public alors que d’autres restent privés.
Claude Duvallet La Blockchain 9 / 31
10. PROPRIÉTÉS
La Blockchain possède les trois propriétés suivantes :
• Transparence : chacun peut consulter l’ensemble des échanges inscrits
sur une Blockchain depuis sa création.
• Sécurisée : grâce à un mécanisme de hachage, il est quasiment
impossible de corrompre les données.
• Absence d’organe de contrôle : elle fonctionne grâce à une
architecture pair-à-pair.
Claude Duvallet La Blockchain 10 / 31
11. PLAN DE LA SECTION
1 Introduction et contexte
2 Le minage
Hachage
Minage d’un bloc
Le consensus
3 Les contrats intelligents
4 Les domaines d’application
5 Conclusion et perspectives
Claude Duvallet La Blockchain 11 / 31
12. LES FONCTIONS DE HACHAGE CRYPTOGRAPHIQUE
• Il s’agit de fonctions qui prennent en entrée une donnée et retourne en
sortie une empreinte ou une signature de taille fixe que l’on appelle hash.
• Elles garantissent l’intégrité de la donnée prise en entrée.
• Si on modifie un bit dans la donnée prise en entrée alors le hash sera
totalement modifié.
• Il s’agit en quelque sorte de fonctions de compressions mais il est
impossible d’effectuer la décompression.
Claude Duvallet La Blockchain 12 / 31
13. PROPRIÉTÉS DES FONCTIONS DE HACHAGE
Elles sont caractérisées par trois propriétés fondamentales :
• Le temps de calcul nécessaire pour obtenir le hash d’une information.
• Il est impossible de reconstituer l’information à partir de son hash.
• Une bonne fonction de hachage doit limiter le nombre de collisions (deux
informations différentes qui produisent le même hash).
Claude Duvallet La Blockchain 13 / 31
14. LE MINAGE
• Chaque transaction effectuée donne lieu à une écriture dans la
Blockchain.
• Validation de la transaction = vérification de sa structure par un nœud du
système afin d’être sûr qu’elle est valide au regard du protocole
implémenté.
• Après sa validation, la transaction est mise en attente dans une liste
locale et diffusée via le réseau pair-à-pair.
• Chaque utilisateur du réseau peut devenir un mineur.
• Un mineur est libre de choisir quelles transactions, il va incorporer au bloc
en cours de construction.
• Chaque bloc est complété par un entête qui contient son hash et celui du
bloc précédent.
Claude Duvallet La Blockchain 14 / 31
15. CRÉATION D’UN NOUVEAU BLOC
• Calcul du hash du bloc suivant une
difficulté (preuve de travail).
• Proposition du bloc aux autres nœuds.
• Dans Bitcoin :
• Un bloc créé toutes les 10 mn.
• La difficulté augmente suivant la
puissance de calcul globale pour
maintenir un temps de minage.
⇒ Preuve de travail (Proof of work).
Claude Duvallet La Blockchain 15 / 31
16. LE CONSENSUS
• Mécanisme permettant de garantir que tous les nœuds du réseau
possèdent les mêmes informations.
• Seuls les blocs valides sont enregistrés.
• La validité d’un bloc se fait à partir d’un mécanisme de preuve.
• Une fois que le bloc est validé par un mineur, celui-ci est vérifié par tous
les utilisateurs du réseau.
• S’il existe un consensus entre une majorité des utilisateurs du réseau
(>51%), le bloc est alors ajouté à la Blockchain.
Claude Duvallet La Blockchain 16 / 31
17. LES DIFFÉRENTS TYPES DE PREUVES
Trois méthodes principales pour obtenir un consensus au niveau de la
Blockchain sont utilisées :
• La preuve de travail (Proof of Work).
• La preuve d’enjeu (Proof of Stake).
• La preuve d’autorité (Proof of Authority).
Claude Duvallet La Blockchain 17 / 31
18. LA PREUVE DE TRAVAIL (PROOF OF WORK)
• Il s’agit de résoudre un problème cryptographique difficile et donc
nécessitant une certaine puissance de calcul.
Exemple : calcul un hash qui commence par des zéros.
• Le mineur qui résout le problème le premier verra son bloc ajouté à la
Blockchain.
• Pour que le bloc soit ajouté, il faudra qu’il soit validé ensuite par
l’ensemble du réseau.
• C’est la méthode utilisée dans Bitcoin. La difficulté est augmentée
régulièrement.
Claude Duvallet La Blockchain 18 / 31
19. LA PREUVE D’ENJEU (PROOF OF STAKE)
• La sélection du mineur qui construira un bloc se fait de façon aléatoire.
• Elle est pondérée par la quantité de crypto-monnaie dont dispose le
mineur.
• Les mineurs disposent de jetons (monnaie) qu’ils mettent en dépôt. L’un
des jetons est choisi de façon aléatoire.
• Si le mineur ne produit pas le bloc dans le temps imparti, un autre jeton
sera choisi.
Claude Duvallet La Blockchain 19 / 31
20. LA PREUVE D’AUTORITÉ (PROOF OF AUTHORITY)
• Le droit de miner n’est donné qu’à un petit nombre de nœuds ayant la
confiance du réseau.
• Méthode privilégiée dans les Blockchains privées.
• Très bien adapté à des Blockchains où le nombre de nœuds est petit
= preuve de travail où il serait facile de créer un nombre de nœuds pirates
supérieurs aux nœuds jugés fiables.
Claude Duvallet La Blockchain 20 / 31
21. CORROMPRE LA BLOCKCHAIN
• Une Blockchain initiale répliquée sur un ensemble de nœuds.
Claude Duvallet La Blockchain 21 / 31
22. CORROMPRE LA BLOCKCHAIN
• Modification des données du bloc 42.
⇒ Modification du hash du bloc.
⇒ Nécessité de recalculer le hash (minage).
Claude Duvallet La Blockchain 22 / 31
23. CORROMPRE LA BLOCKCHAIN
• Les hash précédents et les hash courant des autres blocs deviennent
faux.
⇒ Nécessité de recalculer tous les hash (minage).
⇒ Il faut revalider cette Blockchain modifiée sur une majorité de nœuds.
Claude Duvallet La Blockchain 23 / 31
24. PLAN DE LA SECTION
1 Introduction et contexte
2 Le minage
3 Les contrats intelligents
4 Les domaines d’application
5 Conclusion et perspectives
Claude Duvallet La Blockchain 24 / 31
25. LES CONTRATS INTELLIGENTS OU SMART CONTRACTS
• Il s’agit de programmes autonomes, qui une fois démarrés, exécutent
automatiquement des conditions prédéfinies.
• Ce sont donc des mini-programmes embarqués au sein de la Blockchain
garantissant l’exécution d’un contrat entre deux parties.
• Ils permettent de conclure un contrat sans avoir besoin d’un tiers de
confiance tel qu’un juriste.
• L’exemple de la location d’un appartement :
• Un loueur et son locataire se mettent d’accord sur une durée de location,
une caution, un loyer, etc.
• La serrure électronique de l’appartement est déverrouillée lorsque le
locataire a payé le loyer.
• S’il omet de payer le loyer alors la serrure est verrouillée.
• La caution n’est rendue que lorsque le loueur a validé l’état des lieux sinon
elle reste bloquée.
Claude Duvallet La Blockchain 25 / 31
26. PLAN DE LA SECTION
1 Introduction et contexte
2 Le minage
3 Les contrats intelligents
4 Les domaines d’application
Applicabilité de la Blockchain
5 Conclusion et perspectives
Claude Duvallet La Blockchain 26 / 31
27. APPLICABILITÉ DE LA BLOCKCHAIN
• La Blockchain n’a d’utilité que s’il existe un manque de confiance a priori
entre les acteurs : cela permet de s’affranchir d’un tiers de confiance.
• S’il existe un unique acteur, l’utilisation d’une Blockchain n’a pas de sens.
• Différentes domaines d’applications :
• La logistique : Skuchain, Provenance, Tallysticks, Fluent, Chain of Things,
SolasVGM, Wave, etc.
• Les registres : certification des diplômes ou des relevés de notes, gestion
des titres de propriétés, etc.
• Les assurances : déclenchements de remboursement de billets d’avion en
cas de retard, etc.
• La finance.
Claude Duvallet La Blockchain 27 / 31
28. PLAN DE LA SECTION
1 Introduction et contexte
2 Le minage
3 Les contrats intelligents
4 Les domaines d’application
5 Conclusion et perspectives
Claude Duvallet La Blockchain 28 / 31
29. CONCLUSION ET PERSPECTIVES
• Les "problèmes" de la Blockchain :
• Le coût énergétique (surtout vrai pour les systèmes basés sur la preuve de
travail).
• Le problème du stockage (Exemple : Bitcoin ⇒ 167 Go au 11/05/2018
pour un nombre total de 522182 blocs).
• Le coût des cartes graphiques.
• Les problèmes de recherche :
• L’augmentation du nombre de transactions.
• La réduction du coût énergétique et du stockage.
• La gestion des données personnelles.
• Le problème de la gouvernance.
Claude Duvallet La Blockchain 29 / 31
30. DES SITES INTÉRESSANTS
• L’article de référence : https://bitcoin.org/bitcoin.pdf.
• La maison du Bitcoin : https://lamaisondubitcoin.fr/
• https://blockchain.info/fr/
• Comprendre la Blockchain visuellement :
https ://www.youtube.com/watch?v=JskDZ8brPu8.
Claude Duvallet La Blockchain 30 / 31