Ce support propose au lecteur d’appréhender rapidement le concept de blockchain (chaînes de blocs) pour lui permettre d’en développer avec les services d’Amazon Web Services, dont Managed Blockchain, qui s’appuie sur le framework professionnel éprouvé Hyperledger Fabric, et la base de données de registre Quantum Ledger Database.
Au travers d’une démarche didactique et d’exemples pratiques, le lecteur apprend ainsi à créer facilement sa propre chaîne de blocs. Un premier chapitre lui permet...
Ce support propose au lecteur d’appréhender rapidement le concept de blockchain (chaînes de blocs) pour lui permettre d’en développer avec les services d’Amazon Web Services, dont Managed Blockchain, qui s’appuie sur le framework professionnel éprouvé Hyperledger Fabric, et la base de données de registre Quantum Ledger Database.
Au travers d’une démarche didactique et d’exemples pratiques, le lecteur apprend ainsi à créer facilement sa propre chaîne de blocs. Un premier chapitre lui permet de faire la différence entre cryptomonnaie et chaîne de blocs avant de lui faire découvrir les éléments nécessaires à sa création. L’auteur lui donne ensuite toutes les clés pour préparer l’environnement AWS nécessaire.
La suite du support détaille de façon concrète le développement d’une chaîne de blocs. Le lecteur étudie d’abord la mise en oeuvre de la base de données avec Quantum Ledger Database, pour explorer aussi bien la gestion d’un registre, sa création, sa sécurisation ou son accès au travers d’une application cliente. Puis, en s’appuyant sur une application permettant de faire le suivi de dons offerts à une organisation non gouvernementale, le lecteur appréhende un des nombreux cas d’usage des chaînes de blocs dans lequel la traçabilité et la transparence jouent un rôle essentiel. Il découvre alors comment monter la chaîne de blocs et son infrastructure serveur avec Hyperledger Fabric ainsi que le déploiement des smarts contracts.
Pour finir, un chapitre s’intéresse à deux parties essentielles du code d’une chaîne de blocs : le chaincode et l’application cliente.
2. Bitcoin et chaîne de blocs, confusion et clarification
2.1 Le problème de la double dépense
2.2 Les composants de base
2.2.1 Clé publique et clé privée
2.2.2 Fonction de hachage
2.2.3 L’arbre de Merkle
2.3 Les transactions et la validation d’un bloc
2.3.1 Le consensus
2.3.2 Preuve de travail
2.3.3 Preuve d’enjeu
2.3.4 Preuve d’autorité
2.3.5 Autres méthodes de consensus
2.4 Blocs et chaînes
3. Registres et chaînes de blocs
3.1 Caractéristiques des registres et des chaînes de blocs
3.2 Privée ou publique
3.3 Avec permissions ou sans
4. Participer à une chaîne de blocs
4.1 Identification et authentification
4.2 Sécurisation et confidentialité
4.3 Transparence
4.4 Transactions et contrats
5. Créer une chaîne de blocs
5.1 Création ex nihilo
5.1.1 Les blocs
5.1.2 Les transactions
5.1.3 La chaîne
5.1.4 L’assemblage
5.1.5 Conclusion
5.2 Clonage d’une chaîne existante
5.2.1 Machine et dépendances
5.2.2 Compilation
5.2.3 Conclusion
5.3 Frameworks
5.3.1 Machine et dépendance
5.3.2 Installation du framework
5.3.3 Démarrer le réseau
5.3.4 Installer un chaincode
5.3.5 Exécuter une transaction
5.3.6 Conclusion
5.4 Blockchain as a Service
5.4.1 Créer un réseau et le premier membre
5.4.2 Inviter des membres
5.4.3 Ajouter des nœuds et des canaux
5.4.4 Déployer le code des contrats
5.5 Conclusion
Chaînes de blocs et AWS
1. Introduction
2. Prérequis et configuration
2.1 Créer un compte
2.1.1 Régions et zones de disponibilité
2.1.2 Sécurité de votre compte
2.2 Utiliser la console de gestion d'AWS
2.3 Accéder aux services par ligne de commande
2.4 Cloud privé virtuel et points de terminaisons
2.4.1 Créer son cloud privé virtuel
2.4.2 Créer les points de terminaisons nécessaires
2.5 Ressources EC2
2.5.1 Créer une paire de clés EC2
2.5.2 Créer une instance Linux
3. Registres et chaînes de blocs dans AWS
3.1 Registres et Quantum Ledger Database
3.1.1 Du journal de transactions à la base de données journal
3.1.2 Les mathématiques au service de l’immutabilité
3.1.3 La structure d’un registre QLDB
3.1.4 Travailler avec des données stockées dans un registre QLDB
3.2 Service Amazon Managed Blockchain et Hyperledger Fabric
3.2.1 La structure d’un réseau Hyperledger Fabric
3.2.2 L’implémentation d’Hyperledger Fabric d’AWS
3.3 Les modèles de chaînes de blocs d’AWS
Mise en œuvre de Quantum Ledger Database
1. Introduction
2. Préparation de l’environnement de développement
3. Créer et gérer un registre
3.1 Créer un registre
3.2 Détails d’un registre
3.3 Supprimer un registre
4. Créer tables et index
4.1 Tables
4.2 Index
5. Gestion des documents
5.1 Insérer des documents
5.2 Interroger des documents
5.3 Modifier des documents
5.4 Supprimer des documents
5.5 Transactions et modèle optimiste
6. Gestion du journal
6.1 Métadonnées
6.2 Structure du journal
6.3 Interroger le journal et remonter le temps
6.4 Exporter le journal
7. Sécurité du registre et des documents
7.1 Ressources
7.2 Conditions
7.3 Actions
7.4 Stratégies de sécurisation
8. Avantages et inconvénients de QLDB
8.1 Avantages
8.2 Inconvénients
Mise en œuvre de Amazon Managed Blockchain
1. Introduction
2. Créer un réseau et y accéder
2.1 Créer un nouveau réseau
2.2 Créer un nouveau nœud pair
2.3 Accéder au réseau
3. Créer un client et un utilisateur administratif
3.1 VPC et point de terminaison
3.2 Créer un client d’administration d’Hyperledger Fabric
3.2.1 Créer le rôle IAM pour la machine client Hyperledger Fabric
3.2.2 Créer la machine du client d’administration Hyperledger Fabric
3.2.3 Installer les prérequis au client d’administration Hyperledger Fabric
3.3 Créer un administrateur
4. Créer et utiliser un canal
4.1 Configurer un canal
4.2 Créer le canal
4.3 Joindre le nœud pair au canal
5. Installer et tester les smart contracts (chaincode)
5.1 Installer et instancier le chaincode
5.2 Tester le chaincode
6. Gérer membres et invitations
6.1 Inviter des nouveaux membres
6.2 Répondre à une invitation
6.3 Activation du nouveau membre
6.4 Inviter à supprimer un membre
7. Sécurité
7.1 Sécuriser l’accès
7.1.1 Cloud privé virtuel
7.1.2 Identité et gestion des accès
7.2 Sécuriser les données
Applications clientes
1. Introduction
2. Chaincode et code client
2.1 Architecture des données et des transactions
2.2 Le chaincode
2.2.1 Installation et instanciation du chaincode
2.2.2 QueryByKey
2.2.3 CreateDonor
2.3 Application cliente
2.3.1 L’équilibreur de charge
2.3.2 L’application RESTful API
2.3.3 L’application cliente
3. Hyperledger Explorer
3.1 Prérequis à Hyperledger Explorer
3.1.1 Base de données
3.1.2 Équilibreur de charge
3.2 Installer Hyperledger Explorer
3.3 Utiliser Hyperledger Explorer
4. Aller plus loin
Conclusion
Index
Marc ISRAEL
Marc ISRAEL a créé et dirige la société Aetheis qui conseille les organisations sur leur transformation digitale et l'application des technologies cloud, de blockchain et d'intelligence artificielle. Ingénieur de formation en robotique industrielle et systèmes automatiques, il a animé des centaines de formations et présentations publiques pour son propre compte ainsi que pour celui d'organisations privées ou publiques comme Microsoft, The Himalaya Times et le Gouvernement de Côte d'Ivoire. Il a présenté à TEDx, événement regroupant des conférences dont l'objectif est de permettre la diffusion d'idées sur des sujets aussi variés que la technologie, le divertissement, le design. Il est l’auteur de plusieurs autres livres publiés aux éditions ENI, dont Intelligence artificielle avec AWS et Blockchain avec AWS.