Académique Documents
Professionnel Documents
Culture Documents
HANEN IDOUDI
HANEN.IDOUDI@ENSI-UMA.TN
Chapitre 2 :
Architecture et fonctionnement de la
Blockchain
Pour rappel 3
u La blockchain est une base de données distribuée, transparente,
immuable, validée, et sécurisée
u La blockchain est distribuée car une copie complète rés ide sur autant de
nœuds que dans le système.
u La blockchain est immuable car aucune des transactions ne peut être modifiée.
u La blockchain est validée (par exemple dans l’espace Bitcoin) par les mineurs
responsables de la construction du prochain bloc sécurisé.
Hanen IDOUDI
Sécurité dans la Blockchain 4
Hanen IDOUDI
Types d’utilisateurs (cas de BITCOIN) 5
u Utilisateurs (End Users)
u Consultent et demandent l’ajout d’informations à la blockchain via un
intermédiaire membre du réseau (nœud), sans la manipuler directement.
u Identifiés par des clés publiques. Disposent d’un couple clé Publique/Clé Privée
u Consultent la blockchain
u Mineurs (Miners)
u Forment un sous-ensemble des nœuds du rés eau
Hanen IDOUDI
Structure de la Blockchain (le registre
8
distribué)
u Une fois enregistrés, les blocs sont conç̧us pour résister à toute modification
u Les données d'un bloc ne peuvent pas être modifiées rétroactivement.
u Les nouvelles données sont ajoutées aux anciennes, c.-à-d. les données sont
uniquement écrites, jamais supprimées.
u Non seulement tout le monde a la même base de données (blockchain), mais tout le
monde a une copie de la blockchain à laquelle il est le seul à pouvoir accéder.
Bloc 41 Bloc 42 Bloc 43
H H H
(Bloc 40) (Bloc 41) (Bloc 42)
Transaction 30 Transaction 33
Transaction 31 Transaction 34 Transaction 37
Transaction 32 Transaction 35 Transaction 38
Transaction 36
H H H
Hanen IDOUDI
(Bloc 41) (Bloc 42) (Bloc 43)
Structure de la Blockchain (le registre
9
distribué) – Notion de Bloc
u Contient des transactions validées avec succès,
u Les blocs validés par les Mineurs sont chainés avec tous les autres
blocs précédemment crées et ce, depuis la création de la
Blockchain
u Genesis Block: le premier bloc
Hanen IDOUDI
Qu’est ceStructure
que c’estde la Blockchain (le registre
la Blockchain 10
distribué) – Notion de Bloc
Une uBlockchain est une base de
Entête d’un Bloc
données distribuée
u Version: qui
version utilisé e dugère une
protocole
u Tx_root: Merkle root=hash de toutes les
liste doublement chainée
transactions validé es deux à deuxliées de
blocs ordonnées
u Pre_hash: référence au bloc parent
(précédent)= hash (block précédent)
Chaque bloc représente en moyenne 1 Mo
u Time stamp
mégaoctet et contient des données de
u Nonce : numéro de séq uence
contrôle d'environ 200 octets, telles qu'un
horodatage, un lien vers un bloc précédent,
d'autres champs
https://www.blockchain.com/charts/avg-
block-size
Hanen IDOUDI
4
Structure de la Blockchain – Chainage des
11
Blocs par la fonction de Hachage
u Une fonction de hachage cryptographique est une fonction de
hachage unidirectionnelle qui mappe des données de taille
arbitraire à une chaîne de bits de taille fixe.
u La nature «unidirectionnelle» signifie qu'il est impossible en termes
de calcul de recréer les données d'entrée si on ne connaît que le
hachage de sortie.
u Le seul moyen de déterminer une entrée possible consiste à
effectuer une recherche par force brute, en vérifiant chaque
candidat pour une sortie correspondante;
u Etant donné que l'espace de recherche est pratiquement infini, il
est facile de comprendre l'impossibilité pratique de la tâche.
Hanen IDOUDI
Structure de la Blockchain – Chainage des
12
Blocs par la fonction de Hachage
u Intégrité des données à Garantit que le contenu d’une
communication ou d’un fichier n’a pas été modifié.
44 u Exemple MD5
Fonction de hachage = fonction de condensation:
u convertir une chaîn e de longueur quelconque en une chaîn e de taille
inférieure et gén éralement fixe appelée Empreinte (Digest), ou
Condensé ou Résumé (Hash) de la chaîn e initiale.
u Exemple :
Hanen IDOUDI
Hanen IDOUDI
Structure de la Blockchain – Chainage des
14
Blocs par la fonction de Hachage
Hanen IDOUDI
46 Principales
Structure fonctions
de la Blockchain de hachage
– Chainage des
15
Blocs par la fonction de Hachage
Différents Taille de Possibilité d’
Collision(s)
algorithmes l’empreinte Rapidité attaque de type Collision
trouvée(s)
de hash générée force brute
Hanen IDOUDI
Hanen IDOUDI
Structure de la Blockchain – Merkel Tree 17
Merkle tree
Hanen IDOUDI
Hanen IDOUDI
Les contrats intelligents 19
66 Blockchain: Trois générations
La Blockchain 1.0 : La Blockchain 2.0 : La Blockchain 3.0 :
Transactions Smartcontracts Applications décentralisées
La Blockchain en tant que registre Héberge la logique métier, avec des Développement d’applications Web
assure le stockage, l’enregistrement Smartcontracts qui peuvent stocker dont le stockage et la puissance de
et la certification des transactions les règles et pénalités des accords et calcul sont décentralisés (Dapps).
effectuées (ex: cryptomonnaies). les exécuter automatiquement. Rapide, sans frais ni ‘miners’.
+ Facilité d’implémentation car s’appuie sur + La notion de smart contacts peut couvrir + L’implémentation et l’utilisation de Dapps
des briques techniques maitrisés : risque un vaste panel d’usages peut être une réelle valeur ajoutée
sécurité plus faible
+ Ecosystème automatisé + Permet de faire d’avantage d’économie
+ Diversité des technologies - possibilité de des ressources digitales, plus de transactions
choisir le bon compromis sécurité/efficacité - Vulnérable à des attaques (PoS)
- Requière l’utilisation d’un token
- Peu de flexibilité et de créativité en termes - Rigidité des langages de développement électronique, utilisé comme récompense et
Hanen IDOUDI d’usages, grande consommation d’énergie de la logique, peu de documentation, généré par des algorithmes de proof of value
scalabilité
u Les SmartContracts sont des scripts, ou des codes, écrits et déployés dans la
blockchain, dans l’attente que certaines conditions soient vraies ou fausses,
afin de déclencher une action ou une transaction spécifique.
u Un contrat intelligent est une forme numérisée d'un contrat légal. Il consiste en
un ensemble de protocoles, sur lesquels les entités participantes doivent
s’accorder, ainsi que les conditions à l’origine de l’exécution de ces
protocoles.
u Permet d’étendre l’application de la Blockchain à tout processus métier :
exécution de processus, génération d’alertes, vérification de conditions
particulières préalables pour l’exécution de transactions etc.
Hanen IDOUDI
Les contrats intelligents 21
Hanen IDOUDI
TP 1 : Mise en place d’un réseau
22
blockchain sous Hyperledger
Hanen IDOUDI