16
Les Blockchains De la théorie à la pratique, de l’idée à l’implémentation Dr. Billal CHOULI Frédéric GOUJON Yves-Michel LEPORCHER Témoignage de Michel BELLANGER, Directeur Marketing - Data Strategist

De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

  • Upload
    others

  • View
    7

  • Download
    1

Embed Size (px)

Citation preview

Page 1: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

Les Blockchains De la théorie à la pratique, de l’idée à l’implémentation

Titulaire d’un Doctorat en physique nucléaire et physique des particules, du Commissariat à l’Energie Ato-mique (CEA) en collaboration avec le Massachusetts Institut of Technology (MIT), complété par une formation fi-nancière, Billal CHOULI possède une expertise en Mathématique, en Algo-rithmique et en Statistical Learning. Il exerce, en ce moment, en tant que Quant et responsable d’une équipe de recherche orientée finance quantita-tive et Machine Learning, dans un ca-binet de conseils. C’est au cours d’un projet de recherche qu’il a découvert la technologie de la Blockchain dont il a aussitôt compris le potentiel.Yves-Michel LEPORCHER, est diplô-mé d’un Master de finance et de la cer-tification de Financial Risk Manager. Auteur de livres sur le sujet, il dispose de six ans d’expérience dans les mé-tiers de la banque d’investissement, banque privée et gestion d’actifs. Il y a occupé des postes de commando, de gestionnaire de projet et de chercheur en gestion de portefeuille. Sa double spécialité pour les métiers de l’infor-matique et de la banque l’a naturelle-ment mené vers les technologies de la Blockchain.Fort de 20 ans d’expérience sur les bases de données, d’abord DBA sur SQL Server et Oracle, Frédéric GOUJON a exercé ce métier chez de nombreux grands comptes. Il s’est ensuite spé-cialisé dans l’architecture des plates-formes Big Data. Aujourd’hui en charge du Big Data et de la R&D, il aime réunir et souder les équipes sur des projets innovants et à forte valeur ajoutée. En plus de cette expertise tech-nique, il sait aussi entretenir des parte-nariats forts avec les grands éditeurs.

Ce livre offre une vision à 360 degrés de l’état de l’art de la technologie Blockchain, son environnement et son potentiel, à un public désireux d’en faire sa spécialité. Derrière le projet Bitcoin, qui fût en 2009 la première application complète de la Blockchain, se cache une pépite de technologie, des concepts cryptographiques bien implémentés, une architecture décen-tralisée totalement exploitable, et un potentiel dont seule l’in-ventivité humaine pourra définir les limites. Sans avoir la prétention d’être une bible sur ce vaste sujet, le livre, découpé en trois parties, vise à devenir un point de réfé-rence pour la vague qui s’apprête à déferler sur le monde. Dans un premier temps, les auteurs expliquent les fondements de cette technologie : la cryptographie. Il s’agit d’offrir au lecteur une ré-férence mathématique aux concepts cryptographiques exploités. L’ajout de multiples exemples a pour vocation de permettre au néophyte de pouvoir en appréhender les concepts et les résultats concrets afin de l’aider dans sa compréhension du sujet.Dans un deuxième temps, l’environnement de la Blockchain et son écosystème sont progressivement expliqués. Par oppo-sition à la jungle des informations, parfois contraires, dispo-nibles sur la toile, les auteurs délivrent l’essence des solutions qui existent déjà et présentent les axes futurs d’application. Loin d‘une simple énonciation de l’existant, le livre révèle l’impact de la technologie et son implication légale, écono-mique et sociale.Dans la troisième partie, le lecteur est accompagné tout au long des étapes d’installation et de codage. Cette partie est conçue pour satisfaire les informaticiens et les futurs techniciens de la technologie, que ce soit au niveau du protocole, de la gestion de bases de données ou des développements.Les auteurs proposent aux lecteurs de suivre sur leur blog (http://www.blogchain-fr.com) les dernières informations en matière de Blockchain.

ISSN : 1960-3444ISBN : 978-2-409-00536-7

54 €

Les Blockchains De la théorie à la pratique,

de l’idée à l’implémentation

Les

Bloc

kcha

ins

De

la th

éori

e à

la p

ratiq

ue, d

e l’i

dée

à l’i

mpl

émen

tatio

n

Dr. Billal CHOULIFrédéric GOUJON

Yves-Michel LEPORCHERPour plus d’informations :

Témoignage de Michel BELLANGER, Directeur Marketing - Data Strategist

Téléchargementwww.editions-eni.fr.fr

sur www.editions-eni.fr : b Exemple de Genesis block

(format json).

Page 2: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

1Table des matières

Avant-propos

Témoignage de Michel BELLANGER

Chapitre 1Introduction

1. Qu'est-ce que la Blockchain ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. D'où vient la Blockchain ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Chapitre 2Compréhension de la Blockchain

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2. La Blockchain : des algorithmes pour établir la confiance entre deux parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3. Les sous-registres ou blocs, entités constitutionnelles de la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4. Le protocole en fonctionnement standard . . . . . . . . . . . . . . . . . . . . . 25

5. Les cas de transactions malveillantes . . . . . . . . . . . . . . . . . . . . . . . . . 27

6. Les technologies derrière la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . 286.1 L’échange pair-à-pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.2 La cryptographie ou le chiffrement des données . . . . . . . . . . . . 306.3 La signature numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.4 Les fonctions de hachage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.5 Les clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Les éléments à télécharger sont disponibles à l'adresse suivante :http://www.editions-eni.fr

Saisissez la référence de l'ouvrage EPBLOC dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 3: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

2De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

Chapitre 3La cryptographie et la Blockchain

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2. Les schémas de cryptage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3. Les générateurs pseudo-aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4. Les fondamentaux de la théorie des probabilités . . . . . . . . . . . . . . . . 38

5. Les modèles de calcul (la complexité) . . . . . . . . . . . . . . . . . . . . . . . . . 435.1 Les classes de complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2 Les algorithmes et la complexité . . . . . . . . . . . . . . . . . . . . . . . . . 46

6. Le temps polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.1 Les algorithmes probabilistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.2 PP et BPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.3 Les fonctions négligeables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.4 Les hypothèses d’insolubilité (intractability assumptions) . . . . 556.5 Les fonctions à sens unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.6 Quelques candidats pour les fonctions à sens unique . . . . . . . . 58

7. Les secrets… et les vérités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607.1 Les premiers chiffrements (le chiffrement classique). . . . . . . . . 617.2 L'analyse de textes chiffrés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677.3 Les machines de cryptage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.4 L'environnement mathématique d’un crypto-système . . . . . . . 717.5 L’arithmétique modulaire appliquée

à certains codes de chiffrement . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8. La cryptographie à clé publique : l’idée de base . . . . . . . . . . . . . . . . . 808.1 Un algorithme pour calculer les logarithmes discrets . . . . . . . . 838.2 Le problème du sac à dos

et son application à la cryptographie . . . . . . . . . . . . . . . . . . . . . 848.3 Le chiffrement à clé publique basé sur le problème

du sac à dos, ou chiffre de Merkle-Hellman . . . . . . . . . . . . . . . . 87

Page 4: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

3Table des matières

9. Le système RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.1 Description du système RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909.2 L'envoi d'un message crypté avec le système RSA . . . . . . . . . . . 929.3 Le décryptage d'un message RSA. . . . . . . . . . . . . . . . . . . . . . . . . 939.4 Pourquoi cette méthode de décryptage fonctionne-t-elle ? . . . . 969.5 L'authentification et les signatures avec le système RSA. . . . . . 979.6 La sécurité du système RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

10. Les variantes du système RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10110.1 L’échange de clés privées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10110.2 La preuve à divulgation nulle de connaissance . . . . . . . . . . . . . 10210.3 Les fonctions de hachage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10410.4 Un peu d’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

11. La cryptographie et les courbes elliptiques . . . . . . . . . . . . . . . . . . . . 10611.1 Les courbes algébriques dans un plan affine . . . . . . . . . . . . . . . 10611.2 Les courbes elliptiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11211.3 La cryptographie et la théorie du chaos . . . . . . . . . . . . . . . . . . 114

Chapitre 4Les systèmes distribués et le consensus

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

2. Qu'est-ce qu'un système distribué ? . . . . . . . . . . . . . . . . . . . . . . . . . 1182.1 Les avantages d'un système distribué . . . . . . . . . . . . . . . . . . . . 1182.2 Le réseau informatique ou le réseau d'ordinateurs . . . . . . . . . . 1202.3 Les problèmes algorithmiques . . . . . . . . . . . . . . . . . . . . . . . . . . 1222.4 La coopération de processus. . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

3. L'architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

4. Les algorithmes distribués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

5. Le consensus et l'impossibilité de consensus . . . . . . . . . . . . . . . . . . 130

6. Le consensus et la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Page 5: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

4De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

Chapitre 5Les Blockchains : leurs types et leur sécurité

1. Quelle sécurité pour la Blockchain ? . . . . . . . . . . . . . . . . . . . . . . . . . 1411.1 Les clés publiques/privées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1411.2 La traçabilité des transactions . . . . . . . . . . . . . . . . . . . . . . . . . . 143

2. Blockchain publique ou privée ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1442.1 Les Blockchains de consortium (Blockchains sous contrôle) . . 1442.2 Les Blockchains privées (permissioned) . . . . . . . . . . . . . . . . . . 1442.3 Les Blockchains publiques (unpermissioned) . . . . . . . . . . . . . . 1452.4 La gouvernance de la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . 145

Chapitre 6Les smart contracts ou contrats intelligents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

2. Blockchain 1.0 : rappel sur les crypto-monnaies et leurs fondements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

3. Ðapp, ÐAO, ÐAC et ÐAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

4. Terminologie relative à la technologie Blockchain . . . . . . . . . . . . . . 152

5. Turing-complet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1585.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1585.2 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

5.2.1 Le bénéfice coût . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605.2.2 Le bénéfice réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1615.2.3 Le bénéfice de transparence . . . . . . . . . . . . . . . . . . . . . . . 164

5.3 Le modèle monétaire de Hayek . . . . . . . . . . . . . . . . . . . . . . . . . 165

6. Les ÐAO, ÐAC et agents autonomes . . . . . . . . . . . . . . . . . . . . . . . . 1666.1 Aller plus loin : les ÐAO et ÐAC. . . . . . . . . . . . . . . . . . . . . . . . 1666.2 Les ÐAS : redéfinir l’écosystème

des applications décentralisées . . . . . . . . . . . . . . . . . . . . . . . . . 169

7. Les contrats et le cadre légal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

Page 6: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

5Table des matières

Chapitre 7Blockchain 2.0 : les applications décentralisées

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

2. L'émergence des applications décentralisées . . . . . . . . . . . . . . . . . . . 173

3. La classification des Ðapps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1753.1 Type 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1753.2 Type 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1753.3 Type 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

4. La valeur d’une Ðapp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1764.1 Le contrat social du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . 1774.2 La puissance du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784.3 Le market maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

5. La structure juridique et sociale d’une Ðapp . . . . . . . . . . . . . . . . . . 180

6. Le statut social des entreprises réalisant des Ðapps . . . . . . . . . . . . . 182

7. Les Ðapps et la fiscalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Chapitre 8Développement d’une application décentralisée

1. Processus de création . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1851.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

1.1.1 Rédaction d’un papier blanc . . . . . . . . . . . . . . . . . . . . . . 1851.1.2 Distribution de la crypto-monnaie . . . . . . . . . . . . . . . . . 1861.1.3 Dilution de la propriété de l’application décentralisée. . 1861.1.4 L'environnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

2. Création d'une première Ðapp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1932.1 Créer un premier contrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

2.1.1 Les variables et types de données . . . . . . . . . . . . . . . . . . 1942.1.2 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1982.1.3 Exemple : le smart contract Greeter . . . . . . . . . . . . . . . . 198

Page 7: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

6De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

Chapitre 9Création d’un portefeuille et d’une Blockchain

1. Créer un portefeuille (wallet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2031.1 Ethereum Wallet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2031.2 MyEtherWallet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2041.3 Créer un portefeuille sur MyEtherWallet . . . . . . . . . . . . . . . . . 2041.4 Accéder au contenu du portefeuille. . . . . . . . . . . . . . . . . . . . . . 2071.5 Transférer ou recevoir des ethers. . . . . . . . . . . . . . . . . . . . . . . . 2081.6 Installer Ethereum Wallet sous Windows . . . . . . . . . . . . . . . . 209

2. Créer une Blockchain privée sous Windows. . . . . . . . . . . . . . . . . . . 2142.1 Initialiser la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2152.2 Lancer le mineur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

3. Créer une Blockchain privée sous Ubuntu . . . . . . . . . . . . . . . . . . . . 222

4. Créer une Blockchain privée sur Microsoft Azure . . . . . . . . . . . . . . 236

Chapitre 10Lier la Blockchain à d’autres applications

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

2. Installer MongoDB sous Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

3. Installer MongoDB sous Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 252

4. Installer Node.js sous Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

5. Installer Node.js 4.4.47 sous Windows . . . . . . . . . . . . . . . . . . . . . . . 255

6. Installer un environnement Bitcoin sous Ubuntu . . . . . . . . . . . . . . 270

7. Publier Hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

8. Installer un environnement Hyperledger sous IBM Bluemix . . . . . 280

9. Intégrer Ethereum avec les produits Microsoft . . . . . . . . . . . . . . . . 295

10. Intégrer la Bockchain avec Hadoop . . . . . . . . . . . . . . . . . . . . . . . . . . 298

Page 8: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

7Table des matières

Chapitre 11L’écosystème de la Blockchain 2.0

1. Les applications existantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

2. La géolocalisation : aller plus loin que Google Maps . . . . . . . . . . . . 314

3. Les jeux vidéo : un équivalent à Minecraft . . . . . . . . . . . . . . . . . . . . 315

4. La gestion de l’identité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

5. Le secteur de la finance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3225.1 4G Capital ou l’avènement du microcrédit

associé à la Blockchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3225.2 R3CEV ou le consortium bancaire de la Blockchain . . . . . . . . 3235.3 Un consortium japonais en formation . . . . . . . . . . . . . . . . . . . 3265.4 Qiwi : au service d’un consortium russe . . . . . . . . . . . . . . . . . . 327

6. Le marché de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3296.1 Ampliative Art ou l’art décentralisé . . . . . . . . . . . . . . . . . . . . . 3296.2 Monegraph ou comment protéger un contenu artistique . . . . 331

7. Le secteur du stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3327.1 Swarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3337.2 Storj ou comment louer un disque dur . . . . . . . . . . . . . . . . . . . 335

8. Le secteur de la messagerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3378.1 Whisper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3378.2 DARPA : un appel à projets . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

9. Le secteur pharmaceutique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3419.1 Blockverify : le couteau suisse de la vérification. . . . . . . . . . . . 3429.2 Blockrx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

10. La santé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

11. Le Luxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

12. Le secteur alimentaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

13. Blockchain et supply chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

Page 9: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

8De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

14. L'énergie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35214.1 TransActive Grid ou les balbutiements du smart grid . . . . . . . 35214.2 SolarCoin : le Bitcoin de l’énergie renouvelable . . . . . . . . . . . . 35614.3 RWE et Slockit : charger sa voiture

électrique au centime près . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

15. La publicité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

16. Les objets connectés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

Chapitre 12Initiatives en faveur de la Blockchain

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361

2. Étude de marché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3622.1 L’impact de la technologie et les délais . . . . . . . . . . . . . . . . . . . 3622.2 Les motivations et les freins de l’adoption de la technologie. . 3652.3 Les applications de la technologie . . . . . . . . . . . . . . . . . . . . . . . 367

3. Les hackathons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3693.1 The Ideation Challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3693.2 Le hackathon d’Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

4. Les grands éditeurs : Hyperledger et Azure. . . . . . . . . . . . . . . . . . . . 371

5. Les témoignages des grands du secteur : IBM et Microsoft . . . . . . . 3725.1 Le témoignage d’IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3735.2 Le témoignage de Microsoft. . . . . . . . . . . . . . . . . . . . . . . . . . . . 375

Chapitre 13La Blockchain et le Big Data

1. Un nouveau mode de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

2. Interaction entre la Blockchain et les applications existantes. . . . . 387

Page 10: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

9Table des matières

Chapitre 14Les limites de la technologie

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

2. Les défis techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3962.1 L'unification des Blockchains et l'exécution des contrats . . . . 3962.2 La recherche d’informations . . . . . . . . . . . . . . . . . . . . . . . . . . . 3972.3 La consommation énergétique et les calculs inutiles . . . . . . . . 3992.4 La qualité des développements . . . . . . . . . . . . . . . . . . . . . . . . . 4012.5 Le problème des poids dans la puissance de calcul . . . . . . . . . . 4032.6 La vitesse des transactions et l'évolutivité . . . . . . . . . . . . . . . . 404

3. Les défis métiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4053.1 Le droit à l’oubli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4053.2 La gestion de l’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4063.3 Une refonte des procédures et des méthodes de travail . . . . . . 4073.4 Les ressources humaines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

4. Les défis légaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

5. Le défi de l’open source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413

6. Le problème des forks et le problème plus général des versions . . . 4156.1 Étude de cas : TheDAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

7. Les défis de la volatilité des crypto-monnaies. . . . . . . . . . . . . . . . . . 420

8. Les risques de mauvaises utilisations de la Blockchain . . . . . . . . . . 425

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

Page 11: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

Chapitre 5

Les Blockchains : leurs typeset leur sécurité

Les Blockchains : leurs types et leur sécurité1. Quelle sécurité pour la Blockchain ?

Pour aborder la sécurité, nous allons parler de deux sujets : les clés publiques/privées et la traçabilité.

1.1 Les clés publiques/privées

Dans la Blockchain, une clé privée vous permet de signer vos transactions, desclés publiques permettent au réseau de vérifier qui sont les détenteurs descomptes. Avec ce système, vous pouvez déposer un document (contrat,brevet…) sur la Blockchain, ce dernier sera crypté aussi longtemps que néces-saire. Il pourra devenir lisible au moment où vous le voudrez simplement enpubliant la clé de chiffrement. Toutes les versions hébergées sur la Blockchaindeviendront alors lisibles par tous. Le fait que tout soit horodaté permettra decertifier la date de dépôt de votre document sur la Blockchain. Mais attention,la sécurité de la Blockchain est assurée tant que la majorité des mineurshonnêtes contrôlent plus de puissance de calcul qu’un groupe de mineursayant des intentions malhonnêtes. Il faut donc que la majorité des interve-nants ne soient pas malveillants, plus le réseau est grand, plus le nombred'ordinateurs nécessaire pour en représenter plus de la moitié du réseau seraélevé, plus il deviendra coûteux d’en prendre le contrôle.

Page 12: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

© E

dit

ions

EN

I -

All r

ights

rese

rved

142De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

Si une personne ou un groupe de personnes arrive à représenter plus de la moi-tié des ordinateurs du réseau à des fins malintentionnées, nous parlons d'uneattaque à 51 %. Est-ce possible ? Une attaque à 51 % ne peut pas être utiliséepour dérober de la crypto-monnaie qu’on ne possède pas (la clé privée protègetoujours), mais elle peut impacter toutes les nouvelles transactions en provo-quant en très peu de temps l'engorgement et l’effondrement de la monnaie.

Satoshi Nakamoto, le créateur de Bitcoin, avait envisagé ce type d’attaque,mais il avait imaginé le système conformément à l’idée que cela serait trèscompliqué d’amasser assez de puissance de calcul. Pour pouvoir lancer uneattaque à 51 %, il faudrait disposer de la même puissance que le reste du réseauplus un epsilon infinitésimal, ce qui est très difficile pour une seule personne.

Il est important de mentionner que le basculement arrive vraiment à partir de50 % plus quelque chose. Une attaque à 50,1 % serait plus dévastatrice qu’uneattaque à 49 %. Dès qu’on dépasse le seuil fatidique des 50 %, on a la garantiemathématique de pouvoir altérer la Blockchain. Mais vous l'aurez compris,plus la Blockchain est importante, plus il est compliqué d'en représenter plusde 50 %.

Mais revenons à la sécurité Blockchain basée sur les clés privées et publiques.Quel est le fonctionnement ? Nous pouvons prendre l’image d’une boîte auxlettres. La fente de cette dernière permet à tout le monde de déposer des docu-ments à l’intérieur. Cela correspond à la clé publique. Par contre, pour accéderaux documents, le propriétaire de la boîte aux lettres possède une clé pourl’ouvrir. La clé de la boîte aux lettres correspond à la clé privée. Donc, pour ré-sumer, la clé publique permet de déposer des objets, la clé privée permet de lesouvrir et de les lire. Une clé privée permet de calculer une clé publique, maisl’inverse est impossible. Cette méthode a pour nom la cryptographie asymé-trique, car les clés ne sont pas identiques et n’ont pas le même rôle. Dans le casde Bitcoin, vous possédez également une adresse. Elle est calculée à partie d’unhash de la clé publique, clé publique elle-même calculée à partir de la clé privée.Si nous reprenons l’exemple de la boîte aux lettres, l’adresse Bitcoin correspondà votre adresse postale, permettant à votre facteur ou à un livreur de retrouvervotre boîte aux lettres pour y déposer lettres et colis. La clé publique permetdonc d’authentifier une adresse. Ce point est extrêmement important dans lefonctionnement de la Blockchain et son mécanisme de traçabilité.

Page 13: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

143Les Blockchains : leurs types et leur sécuritéChapitre 5

Lorsque votre compte Blockchain effectue une transaction, il inclut la clépublique dans chaque signature, permettant de valider que vous en êtes àl’origine.

Vous aurez compris l’importance de la clé privée, aussi précieuse voire plusque votre code de carte bleue. Certains mettent en place un « cold storage »(stockage à froid) de leur clé privée (donc pas d’enregistrement sur un ordina-teur connecté à Internet) en enregistrant cette clé sur un papier placé dans unbon vieux coffre-fort physique.

1.2 La traçabilité des transactions

Pour qu’une transaction soit validée, il faut que le bloc soit rattaché à lachaîne. Pour ce faire, un utilisateur doit valider son contenu, c’est le rôle des« mineurs ». Un mineur, c’est tout simplement un utilisateur qui a mis sonordinateur en lien avec la Blockchain pour que sa puissance de calcul soit uti-lisée pour le fonctionnement de la Blockchain. Dans le cas des crypto-mon-naies, les mineurs vérifient que l’argent est bien en votre possession et ilsretracent l’historique de cet argent en validant les blocs précédents. Une foisque tout est vérifié, la transaction est validée. Tout ceci est théoriquementsans faille car tout l’historique est vérifiable : le bloc contient dans son en-têteles références aux blocs précédents. Pour falsifier un bloc, il faudrait modifiertous les blocs membres de cet historique. Étant donné que les données sont dé-centralisées et dupliquées, il est impossible de mettre en œuvre cette opérationillicite. Tout est donc scruté et vérifié par les mineurs, les transactions vali-dées, les données décentralisées, mais vous restez anonyme.

Page 14: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

© E

dit

ions

EN

I -

All r

ights

rese

rved

144De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

2. Blockchain publique ou privée ?

La Blockchain "historique", c’est la Blockchain publique. C’est-à-dire une Block-chain que n’importe qui dans le monde peut lire. Chacun peut lui envoyer destransactions et s’attendre à ce qu’elles soient incluses dans le registre, du moinstant que ces transactions respectent les règles de cette Blockchain. C’est le casde Bitcoin par exemple, pour lequel chacun a libre accès au registre. Chacunparticipe également librement au processus d’approbation, celui qui permet dedécider quel bloc sera ajouté à la chaîne et qui définit l’état actuel du système.

2.1 Les Blockchains de consortium (Blockchains sous contrôle)

Dans les Blockchains « de consortium », un certain nombre de nœuds sont encharge du processus d’approbation, c’est-à-dire que le consensus est contrôlépar un ensemble présélectionné de nœuds. Par exemple, une trentaine d’orga-nisations pourraient se mettre d’accord et mettre en place une Blockchain danslaquelle un bloc devrait être approuvé par au moins quinze d’entre elles pourêtre valide. Nous voyons donc deux différences importantes par rapport au sys-tème originel : non seulement les participants au processus d’approbation sontlimités et sélectionnés, mais en plus, ce n’est plus la règle de la majorité quis’impose. Dans ce cas, la Blockchain est partiellement décentralisée.

Le droit de lire la Blockchain, c’est-à-dire l’accès au registre, peut alors êtrepublic, réservé aux participants, ou bien hybride.

2.2 Les Blockchains privées (permissioned)

Dans les Blockchains privées, le processus d’approbation est limité à ununique acteur, bien que les autorisations de lecture par exemple puissent êtrepubliques ou partiellement limitées. La Blockchain est dite centralisée, elleperd donc l’intérêt d’être décentralisée mais garde la particularité d’êtrecryptée. L’usage d’une Blockchain purement privée est donc limité comparé àl'usage d'une Blockchain contrôlée ou purement publique.

Page 15: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

145Les Blockchains : leurs types et leur sécuritéChapitre 5

Les Blockchains privées ou de consortium ont néanmoins plusieurs avantages,attractifs pour les institutions financières, qui peuvent expliquer l’intérêtqu’elles leur portent depuis peu : gouvernance simplifiée, acteurs connus,coûts réduits, rapidité, confidentialité. Le tout sans la perte de contrôle qu’im-plique la version publique issue de Bitcoin. Une évolution à surveiller qui serasans doute au cœur du futur des Blockchains !

2.3 Les Blockchains publiques (unpermissioned)

Tout le monde peut lire et écrire et participer au processus de consensus, sanslimites. Nous sommes dans le cas d’une ouverture totale. Il existe plusieursBlockchains publiques et chacun est en droit de créer la sienne. En tant quesubstituts aux réseaux centralisés, ces Blockchains ont un fonctionnementbasé sur des principes crypto-economiques définis par Vitalik Buterin : "Lacombinaison d’incitations économiques et les mécanismes de vérification enutilisant la cryptographie comme une preuve de travail ou preuve de la parti-cipation." Autrement dit, chacun est incité à participer à la vérification destransactions par des avantages économiques. La part que chacun peut prendredans le processus de consensus est définie en fonction des ressources qu’il peutmettre à disposition. Mais le risque avec ce mode de fonctionnement, c’est quele traitement soit au final réalisé sur de gros pools de mineurs extrêmementpuissants. Le fonctionnement pourrait alors s’apparenter à une Blockchainpublique avec un fonctionnement de Blockchain de consortium. Mais, lesBlockchains publiques restent entièrement décentralisées.

2.4 La gouvernance de la Blockchain

Le degré de gouvernance dépend du mode de Blockchain. Plus il est ouvert,moins nous pouvons y mettre de gouvernance. Il nous faut donc faire ladistinction entre les Blockchains publiques, de consensus et privées.

Pour une Blockchain publique, c’est aux nœuds du réseau de valider les choixdiscutés et initiés par les développeurs en décidant de valider ou non lesmodifications proposées. La seule règle de fonctionnement est définie par latechnologie (selon l’expression, « Code is Law » du juriste américain LawrenceLessing).

Page 16: De la théorie à la pratique, de l’idée à l’implémentation ...multimedia.fnac.com/multimedia/editorial/pdf/9782409005367.pdf · 2 De la théorie à la pratique, de l'idée

© E

dit

ions

EN

I -

All r

ights

rese

rved

146De la théorie à la pratique, de l'idée à l'implémentation

Les Blockchains

En revanche, pour une Blockchain privée ou de consensus, le processus deconsensus ne peut être réalisé que par un nombre limité et prédéfini de parti-cipants. L’accès en écriture est contrôlé par une organisation ou un grouped’organisations. L’accès en lecture, quant à lui, peut être restreint ou totale-ment public.