Pour comprendre au mieux ce dossier, lisez la première partie de ce dossier-série, qui se trouve ici.

Comprendre (pour de vrai) la blockchain – La notion de bloc

Maintenant que vous savez ce qu’est un nœud, que vous avez compris l’importance du consensus dans la blockchain et les mécanismes permettant à cette technologie de remplacer les banques, on peut s’attaquer à cette question qui vous taraude depuis des mois… Y a quoi dans un bloc ?

Blockchain : chaîne de blocs.
Le bloc, élément constitutif de la blockchain

Ca ne vous aura pas échappé, le terme blockchain est composé de deux mots : block et chain. Il s’agit donc d’une chaîne de blocs, chaque bloc étant un regroupement d’information.
Comme nous l’avons vu un bloc contient les transactions effectuées dans un laps de temps donné. Mais ce n’est pas tout.

Pour comprendre les autres éléments dont est composé un bloc de la blockchain, il faut tout d’abord s’attarder sur deux : la fonction de Hachage, et l’arbre de Merkle.

Le hash

La fonction de hachage est une technologie qui permet pour un message donné, quel qu’il soit, de lui trouver son empreinte. Le message peut être un texte, une information concernant une transaction un fichier PDF, une photo….

La fonction de hachage va simplement associer de manière totalement aléatoire au message une sorte d’identité unique sous forme de chaîne de caractères. La moindre variation dans le message génère un nouveau hash, différent du précédent.

Ci-dessous on peut voir des messages et le hash associé. Le simple ajout d’un “!” change le hash du message.

Les propriétés de la fonction de hachage sont les suivantes :

Le hash (ou empreinte) d’un message est unique

La chaîne de caractère générée est à taille unique. Tous les hash contiennent le même nombre de caractère

Le hash est rapide à produire (important lorsqu’on doit gérer un grand nombre de transactions par exemple)

Le hash est non réversible : si 100 personnes appliquent la même fonction de hachage au même message, le hash généré sera le même systématiquement. Mais lorsqu’on possède le hash d’un message il est impossible de retrouver le message d’origine. Le hash ne permet pas de retrouver le message d’origine, et donc le seul moyen de prouver qu’un hash est bien l’empreinte d’un message, c’est d’appliquer la fonction de hachage au message et voir si le hash généré est bien celui qu’on attendait.

Résistant à la collision : une collision c’est lorsque deux messages auraient la même empreinte. Etant donné qu’on peut appliquer la fonction de hachage à tous les messages imaginables, on a une infinité d’entrée possible. Mais le hash généré a un nombre de caractères fixe. Il pourrait donc y avoir des cas où un même hash serait l’empreinte de deux messages.
Dans le cas présent, le nombre de caractères de la chaîne est tellement important que la probabilité d’une collision est quasiment nulle.

L’ Arbre de Merkle, ou Merkle tree

Puisqu’une image vaut 1000 mots, le meilleur moyen pour vous présenter l’arbre de Merkle, c’est ce schéma :

Le principe de l’arbre de Merkle repose sur le fait qu’on peut appliquer la fonction de hachage à un hash. Du coup, les informations 1 à 8 on un hash qui leur est propre. Puis, on hash les empreintes obtenues par deux pour obtenu un nouveau hash qui englobe donc les deux précédents. De cette façon, le hash racine, ou top hash, nous permet d’avoir toutes les informations 1 à 8 avec seulement un hash.

Et la blockchain dans tout ça ?

La blockchain est une chaîne de bloc car chaque nouveau bloc qui recense les dernières transactions effectuées fait référence au bloc précédent.

Une fois qu’un bloc de transaction est validé, on lui applique la fonction de hachage, et ainsi, une simple ligne de caractères fait référence au bloc précédent, qui lui même faisait référence au bloc précédent, et ainsi de suite. Cette chaîne permet de savoir très rapidement si un bloc a été altéré.

Voici donc la structure d’un bloc :

Et l’arbre de Merkle dans tout ça ? Il sert simplement pour les transactions réalisées dans le bloc :

Pour résumer, la blockchain est composée de blocs de transactions qui font référence au bloc précédent en intégrant son hash et qui sont validés par des nœuds.

Le consensus se réalise finalement de la façon suivante :

1) De nouvelles transactions sont enregistrées

2) Chaque nœud créé un bloc avec les transactions qu’il a vu

3) Un nœud est “tiré au hasard” (cela dépend de la méthode de consensus choisie)

4) Ce nœud diffuse son bloc

5) Les autres nœuds reçoivent et valident le bloc

6) Si il est valide, ils l’intègrent ce bloc à leur chaîne

Dans la prochaine (et dernière) partie, on s’attaquera à une notion clé dans la cryptographie et donc dans le monde des crypto-monnaies : la signature électronique.


1 commentaire

#Dossier - Comprendre (pour de vrai) la - Partie 1 - Cryptomani · 14 avril 2018 à 17 h 49 min

[…] 2) La blockchain : une chaîne de blocs […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *