Vous êtes sur la page 1sur 15

Master spécialisé Smart Industry (M2SI)

TP Cloud Computing

Rapport de TP4 : Blockchain

Réaliser par :
• AIT ESSARGHINI Fatima Ezzahrae ENCADRE PAR :
• ALOUMRHARI Fadoua • Mr. BENBRAHI Mohammed
• SABR Drissia
• Mr. BOUKHALI Yassine
[Année
]

ADMIN
Introduction
Blockchain désigne une chaine de blocs sur lesquels sont stockées des informations de toute
nature. La blockchain est définie généralement comme une « technologie de stockage et de
transmission d’informations, transparente, sécurisée, et fonctionnant sans organe central de
contrôle »4 . La blockchain est une technologie des registres distribués, ou DLT (Distributed
Ledger Technology), qui regroupe les systèmes numériques qui enregistrent des transactions
d'actifs et leurs détails dans plusieurs emplacements à la fois. La blockchain est la
technologie DLT la plus connue. Une blockchain constitue une base de données qui contient
l’historique de tous les échanges effectués entre ses utilisateurs, et ce, depuis sa création.
Pour se la représenter, l’image du grand livre est fréquemment utilisée : la blockchain peut
être comparée à un vaste registre public intégrant l’ensemble des échanges effectués par ses
utilisateurs depuis sa création. Une de ses caractéristiques principales est qu’elle ne peut pas
être modifiée. Les blocs sont protégés par plusieurs procédés cryptographiques innovants
qui rendent la modification impossible a posteriori5 . C’est ce qui donne à cette technologie
son caractère transparent : on peut uniquement ajouter des opérations, mais pas
les modifier ni les supprimer, elles sont infalsifiables. Cette technologie repose sur un
système de pair-à-pair décentralisé : les données ne sont pas hébergées par un serveur
unique mais distribuées entre les utilisateurs, sans intermédiaire. Une partie des utilisateurs
détient des copies de la blockchain, qui se trouve donc présente partout dans le monde. Ces
centaines de copies sont sans cesse mises à jour simultanément6 . Contrairement aux bases
de données traditionnelles, qui sont administrées par des opérateurs centralisés, la
blockchain est administrée collectivement, par tous les nœuds du réseau. Ces nœuds
obéissent tous à un même protocole informatique, qui définit les procédures à suivre, ainsi
que les conditions à respecter pour mettre à jour la base de données7 . Concrètement, la
technologie blockchain prend la forme d’un registre qui recense des données, généralement
des transactions, regroupées dans des blocs reliés entre eux. Un bloc est simplement
un ensemble d’informations mis ensemble, et les blocs sont reliés entre eux de manière
irréversible (par les chaînes). Chaque bloc est validé par les nœuds du réseau, des
utilisateurs-validateurs appelés les “mineurs”. Une fois validés, les blocs sont horodatés et
intégrés à la chaîne de blocs, accessible à tous les utilisateurs. La transaction est alors visible
pour le récepteur ainsi que l’ensemble du réseau. Les mineurs sont rémunérés via des
tokens8 . Le seul moyen de modifier la blockchain est d'ajouter un bloc : il n'est pas possible
de changer un bloc existant ou de modifier les chaînes.
Blockchain :

● La technologie blockchain offre un système de registre partagé où tous les membres disposent de
● La technologie blockchain offre un système de registre partagé où tous les membres
disposent de
copies identiques des données.

● Les transactions sont enregistrées de manière immuable, garantissant la confiance et


éliminant le
besoin de registres distincts.

● Des programmes partagés mettent à jour le registre, créant un système unifié et transparent.

Qu'est-ce que Hyperledger Fabric ?


Hyperledger Fabric :

● Un framework blockchain privé et autorisé au sein de l'écosystème Hyperledger.


● Offre un système de registre partagé avec un stockage de données remplaçable et un journal
des
transactions.
● Prend en charge les smart contracts écrits en Chaincode (Go, Node.js, ou Java).
● Permet de créer des canaux pour des transactions privées entre des participants spécifiques.
● Fournit des options enfichables pour les mécanismes de consensus, permettant la
personnalisation
du réseau.
Caractéristiques principales :

● Privé : Seuls les membres autorisés peuvent participer, garantissant la confidentialité.


● Autorisé : Les membres rejoignent le réseau par le biais d'un fournisseur de services
d'adhésion
(MSP) de confiance.
● Modulaire : Options enfichables pour les données du registre, le consensus et les MSP.
● Canaux : Permettre des transactions privées entre des participants spécifiques.
● Smart Contracts : Automatiser les flux de travail et appliquer la logique métier sur le
registre.
Applications Hyperledger Fabric:
● Gestion de la chaîne d'approvisionnement: Suivi du mouvement des marchandises et des
matériaux à travers la chaîne d'approvisionnement, garantissant la transparence et la
responsabilité.
● Financement du commerce: Faciliter des transactions de financement du commerce
sécurisées
et efficaces entre les entreprises.
● Gestion des identités: Fournir un moyen sécurisé et décentralisé de gérer les identités
numériques.
● Systèmes de vote: Permettre des processus de vote sécurisés et auditables.
● Santé: Gérer et partager les dossiers médicaux de manière sécurisée et efficace.
En résumé, Hyperledger Fabric offre un framework blockchain puissant et flexible pour
construire des réseaux privés et autorisés avec des fonctionnalités avancées telles que des
canaux, des composants enfichables et des smart contracts.

Vous devez d'abord installer les prérequis suivants :

➢ Etape 1 : Installer les pré requis


Pour ce tutorial, nous utiliserons une machine virtuelle VirtualBox sur Ubuntu.

❖ Curl:
La commande cURL Linux peut utiliser divers protocoles réseau pour télécharger et
télécharger des données sur un système Linux. C'est un outil qui s'avère pratique pour
télécharger des fichiers, dans lequel il fonctionne de la même manière que wget, ainsi que
pour le débogage, l'exécution de téléchargements avec authentification, le téléchargement
via FTP, etc.

Dans ce guide, nous allons vous montrer comment installer l'utilitaire cURL sur Ubuntu Linux.
Une fois installé, vous pouvez l'utiliser pour télécharger des fichiers sur la ligne de commande
ou exécuter de nombreuses autres fonctions.
✓ Exécutez la commande suivante pour installer curl : sudo apt install cur
❖ Docker :
Principes de fonctionnement de Docker

Docker est un outil étonnant qui résout le problème séculaire entre les développeurs et
les administrateurs système – les développeurs affirment qu’une application fonctionne
sur leur machine, tandis que les administrateurs système s’inquiètent de la modif ication
des bibliothèques et des exigences. Avec Docker, ce problème disparaît. Dans ce tutoriel,
nous allons vous montrer comment installer Docker sur Ubuntu
Docker est essentiellement une machine virtuelle, qui vous permet d’exécuter des
images. Avec Docker, vous n’avez pas à vous soucier des exigences ! Il convient
parfaitement à

Il faut ensuite installer Docker,

Exécutez la commande suivante pour installer docker :


❖ Docker Compose:
Pourquoi utiliser Docker Compose alors que Docker existe déjà ? Docker affiche ses limites
lorsquʼon souhaite créer et gérer les interactions entre plusieurs conteneurs. Docker
Compose répond à ce besoin en permettant de créer et gérer des applications multi-
conteneurs. Concrètement, Docker compose est un outil qui sʼappuie sur Docker pour gérer
des applications complexes avec plusieurs conteneurs. Nous allons découvrir ici comment
installer et configurer Docker Compose.

✓ Installez Docker Compose avec cette commande :


sudo apt install docker-compose
o Vérifiez que votre installation de Docker fonctionne bien :
➢ Etape 2 : Installer Hyperledger Fabric et le réseau de test
Fabric
✓ Commencez par créer un répertoire pour installer les fichiers :
❖ Golang:
o Dans ce guide, je vais vous expliquer différentes manières d'installer Go sur le
serveur Ubuntu 22.04/20.04/18.04. Go est un langage de programmation open
source avec un nouveau système de types pour permettre une construction de
programmes flexible et modulaire et rendre les programmeurs plus productifs.

o Go utilise des mécanismes de concurrence qui facilitent l'écriture de


programmes tirant le meilleur parti des machines multicœurs et en réseau. Go
est connu pour être efficace, propre, expressif et concis.

o Il s’agit d’un langage compilé rapide, typé statiquement, qui ressemble à un


langage interprété et typé dynamiquement.

Pour le serveur Ubuntu, ajoutez le référentiel PPA de rétroportage Golang et


installez Go sur Ubuntu

✓ Installez golang avec cette commande


sudo apt install golang-go
❖ Installation de Git
Avant de plonger dans les étapes de l’installation, prenons le temps de comprendre ce
qu’est Git. Créé par Linus Torvalds en 2005, Git est un système de contrôle de version
distribué qui vous aide à suivre les modifications apportées à votre code source et
permet une collaboration transparente entre les développeurs.

Il s’agit d’un outil puissant qui stocke votre code source dans des dépôts, qui sont
comme des dossiers dans lesquels vous pouvez stocker des fichiers. Lorsque plusieurs
développeurs travaillent sur le même projet, ils peuvent tous « pousser » et «
récupérer » des modifications vers le dépôt afin de maintenir à jour la version du code
de chacun..

✓ Téléchargez et installez Git pour votre système d'exploitation.

Dans cette section, nous allons vous guider dans le processus d’installation de Git sur votre
système. Nous commencerons par installer Git sous Windows, puis sous macOS et Linux.

L’installation de Git sur Windows est un processus assez simple qui implique les étapes
suivantes :
✓ Téléchargez le programme d’installation pour
Windows
• Visitez la page officielle de téléchargement de Git :

https://git-scm.com/downloads
✓ Exécutez le programme d’installation
✓ Vérifier l’installation
• Vérifions maintenant que l’installation s’est bien déroulé. Nous allons utiliser une
commande de base de l’outil qui est “git version” et qui permet d’afficher le numéro
de version de Git.

• Pour cela il faut lancer le terminal “git bash”, installé en même temps que Git. Il
permet d’utiliser Git en lignes de commandes. Pour le trouver, vous pouvez soit taper
dans la barre de recherche du menu démarrer “git bash” soit faire un click droit sur un
dossier.

• Une fois le terminal lancé il ne nous reste plus qu’à taper la commande “git version”.
Si l’installation c’est bien déroulée, vous devriez avoir l’affichage suivant (au numéro
de versions près) :

Vous aimerez peut-être aussi