0% ont trouvé ce document utile (0 vote)
6 vues18 pages

Blockchain

La blockchain est une technologie qui permet le transfert d'informations de valeur sans intermédiaire, en utilisant un réseau pair-à-pair pour stocker et vérifier les transactions dans des blocs. Elle repose sur des principes de cryptographie pour garantir l'intégrité des données et utilise des algorithmes de consensus pour coordonner les nœuds du réseau. Le minage est un processus clé dans la blockchain, permettant de valider les transactions et d'ajouter de nouveaux blocs à la chaîne.

Transféré par

mehdinehili1941
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues18 pages

Blockchain

La blockchain est une technologie qui permet le transfert d'informations de valeur sans intermédiaire, en utilisant un réseau pair-à-pair pour stocker et vérifier les transactions dans des blocs. Elle repose sur des principes de cryptographie pour garantir l'intégrité des données et utilise des algorithmes de consensus pour coordonner les nœuds du réseau. Le minage est un processus clé dans la blockchain, permettant de valider les transactions et d'ajouter de nouveaux blocs à la chaîne.

Transféré par

mehdinehili1941
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1

Cours réseaux de capteurs et


algorithmique distribuée
Blockchain

[Link]@[Link]
2

Un peu d’histoire …
• Invention des ordinateurs:
▫ Un ordinateur est un calculateur.
• Invention de l’Internet
▫ Ensemble de réseaux mondiaux interconnectés qui
permet à des ordinateurs et à des serveurs de
communiquer efficacement au moyen d'un protocole
de communication commun (IP).
• Invention des réseaux P2P
▫ Un système pair-à-pair est un système distribué où
chaque entité est à la fois client et serveur dont le but
est généralement le partager sur Internet des fichiers
de façon illicite, sans tenir compte du copyright.
3

La naissance de la blockchain
• L’Internet a été créé pour la communication. La
communication à amener au transfert de l’information.
• Pour transférer des informations de valeurs, il faut
passer par un tier de confiance. Comme par exemple,
pour transférer de l’argent, il faut passer par une banque.
• Les réseaux P2P ont commencé à partager de
l’information de valeur mais cela a posé un problème de
perte de la valeur.
• Suite à la crise économique de 2008, des personnes ont
travaillé sur un principe de partage d’argent sans banque
(sans tier de confiance) en utilisant la blockchain.
Bitcoin est née et avec la première implémentation d’une
blockchain.
4

La blockchain
• La blockchain permet donc de transférer de
l’information de valeur à travers Internet sans perte
de valeur et sans tier de confiance.

• Première définition simplifiée : La blockchain utilise


un réseau pair-à-pair pour s’échanger de
l’information de valeur à travers Internet sans perte
de valeur et sans tier de confiance. Chaque pair va
stocker un registre qui est distribué à travers tous le
réseau. Ce registre est de la forme d’une chaine de
blocs.
5

La blockchain
6

Stockage de données
• Une blockchain est une base de données distribuée
dont les informations envoyées par les utilisateurs à
la base de données sont vérifiées et groupées en
blocs avant d’être rajoutées à la chaîne.

• Remarque importante : La blockchain stocke de


l’information mais son objectif n’est pas le stockage
de données massives.
• Il ne faut pas oublier que le chaine de blocs doit être
stocké complètement sur chaque nœud.
7

Fonctionnement de la blockchain
• La blockchain doit gérer deux contraintes :
• Le problème de l’intégrité : comment s’assurer que la transaction qui est
dans la blockchain provient bien de la bonne personne et qu’elle n’a pas
été modifiée.
▫ signature avec la cryptographie asymétrique
▫ chainage entre les bloques avec des fonctions de hachage.
• Le problème du distribué : comment faire en sorte que les nœuds du
réseau aient la même vision de la blockchain et qu’ils ne rajoutent pas de
blocs chacun de son coté d’une façon non coordonnée.
▫ utilisation de la plus grande chaine
▫ algorithme de consensus
8

Petit rappel sur la cryptographie


• C’est quoi une fonction de hachage ?
• C’est quoi la cryptographie asymétrique ?
9

Fonctions de hachage cryptographique

• Une fonction de hachage est une fonction qui, à


un message de taille arbitraire, associe un bloc
de taille fixe appelé empreinte, résumé ou
condensé.
• On dit d'une fonction de hachage qu'elle est à
sens unique.
10

Les propriétés des fonctions de hachage


• Les fonctions de hachage possèdent de nombreuses propriétés :
▫ Elles peuvent s’appliquer à n’importe quelle longueur de message
M.
▫ Elles produisent un résultat de longueur constante.
▫ Il doit être facile de calculer h = H(M) pour n’importe quel message
M.
▫ Une modification de M, même atomique, provoque un changement
radical de H(M).
▫ La probabilité d’avoir deux messages avec le même haché doit être
extrêmement faible*.
▫ Le haché ne contient pas assez d’informations en lui-même pour
permettre la reconstitution du texte original.
▫ Pour un h donné, il est très difficile* de trouver M tel que H(M) =
h.
▫ Pour un M donné, il est très difficile* de trouver M’ tel que H(M’) =
H(M).
▫ * : mathématiquement possible mais dans la pratique impossible
11

Principe du cryptage asymétrique


Expéditeur A : clé publique de A, clé privée de A

Message en Message
clair Cryptage du message crypté
avec la clé publique de B

Transmission

Destinataire B : clé publique de B, clé privée de B

Message en Message
clair Décryptage du message crypté
chiffré avec la clé privée de B
Signature avec le cryptage asymétrique
Expéditeur A : clé publique de A, clé privée de A

Message en
clair (M)
Message en H(M)
fonction de
clair (M) signé
hachage
H(M)
H(M)
clé privée de A signé
Transmission

Destinataire B : clé publique de B, clé privée de B


Message en H(M)
Message en clair (M) signé
clair (M)
fonction de
hachage Comparaison des
H(M)
H(M) deux résultats pour H(M)
clé publique de A signé
12
vérifier la signature
13

Un bloc
N° de bloc
• Chaque transaction est signée par Hash du bloc préc

son émetteur. Nonce

• Plusieurs transactions sont Horodatage


ajoutées dans un bloc.
• Chaque bloc doit contenir un Contenu du bloc
(les
ensemble d’information pour être transactions)

ajouté dans la chaine.

Hash du bloc
14

La chaine de blocs
0 1 2

Hash du bloc préc Hash du bloc préc Hash du bloc préc

Nonce Nonce Nonce

Horodatage Horodatage Horodatage

Contenu du Contenu du Contenu du


bloque (Les bloque (Les bloque (Les
transactions) transactions) transactions)

Hash du bloc Hash du bloc Hash du bloc

• Chaque bloc est relié avec le bloc précédant grâce au hash du bloc
précédant qui se trouve dans le bloc.
15

Algorithme de consensus
• Un algorithme de consensus est un processus
qui permet de trouver un accord sur une valeur
unique de données entre des nœuds d’un
système distribué.
• Les algorithme de consensus sont utilisés afin de
déterminer quel nœud va rajouter un nouveau
bloc dans la blockchain.
• L’algorithme le plus utilisé est le minage.
16

Le principe du minage
• Il existe des nœuds particuliers dans la
blockchain qui vont réaliser le minage.
• Le minage consiste à trouver le résultat d’un
puzzle.
• Le premier qui le trouve a gagné la possibilité de
rajouter un bloc.
• Le puzzle doit être difficile à faire mais facile à
vérifier.
17

L’exemple du minage dans bitcoin


• Le minage dans bitcoin est réalisé comme suit :
▫ Chaque mineur essaye de trouver un nonce tel que
le hash(son bloc avec le nonce) contient un certain
nombre de 0 au début.
▫ La valeur du nonce est très difficile à trouver mais
une fois trouvée, il est très facile de vérifier qu’elle
respecte la condition.
• Bitcoin impose qu’un nouveau bloc soit rajouté
toutes les 10mn en moyenne.
• La difficulté est ajustée toutes les deux semaines
pour vérifier cette condition.
18

Deux blocs en même temps


• Le système étant distribué, il n’est pas possible de
s’assurer que plusieurs blocs ne puissent pas être ajoutés
à peu près en même temps.
• Si deux nœuds créent un nouveau bloc (N° i) en même
temps, ils vont l’envoyer à leurs voisins chacun de son
côté.
• Si un nœud reçoit un nouveau bloc (N° i) valide
différents de la part de deux nœuds différents.
• Il va prendre le premier reçu.
• Les deux chaines vont exister en même temps jusqu’à ce
que une chaine soit plus grande que l’autre.
• Un nœud qui à le choix entre des chaines valides va
sélectionner la plus grande.

Vous aimerez peut-être aussi