Blockchain - création de bloc

alt text

Introduction

Pour commencer une précision qui a son importance, une blockchain est une chaîne de blocs en français. Derrière ces mots, un public souhaitera vous poser des questions parce qu'il en déjà entendu parlé ou souhaitera en savoir plus par curiosité. La création de ses blocs qui forme cette chaîne est réalisé par programmation informatique.

Les blocs contiennent des informations pour sa construction et des données de transaction.

La blockchain est une base de données sans organe de contrôle, sécurisé et immutable constitué d'une suite de blocs linéaires reliés entre eux.

La blockchain se doit d'être linéaire et elle se diffuse dans internet grâce à des nœuds (ou nodes en anglais) qui sont des serveurs avec de très fortes puissances de calcul (CPU et GPU). En fait la famille de protocole de communication, le réseau pair à pair, sur lesquels fonctionne les nœuds possédant la blockchain est différent de notre web que nous utilisons au quotidien.

Pour faire clair les nœuds sont à l'origine de la blockchain, fonctionnent dans internet et communiquent entre eux (voir "généraux byzantins") par programmation informatique.

Il s'agit ici de termes techniques simplifiés et très éloignés du langage informatique utilisés pour décrire le fonctionnement de la blockchain. Car il y a plusieurs modes de fonctionnement, celle encore la plus utilisée est la preuve de travail, utilisée par le Bitcoin, une crypto-monnaie très connue. Pour décrire la création d'un bloc, le mécanisme de confiance et les consensus liés à la qualité de la blockchain ne seront pas évoqués dans cet article ainsi que les enjeux et les usages de cette nouvelle technologie qui nous concernent tous.

Les obstacles actuels à l'acceptation de cette technologie au grand public étant sa propagation dans une grande variété d'applications.

Si je ne vous ai encore rien appris ce ne saurai trop tarder. Voici ci-dessous, une illustration qui représentent des transactions dans des blocs reliés entre eux qui forment le registre d'une blockchain.

alt text

La construction des blocs

Le hachage du bloc est la chaîne codée de lettre et de chiffres qui sont uniques à chaque bloc s'inscrit dans une séquence enchainée. Le hach du bloc précédent est inscrit dans le bloc qui nouvellement crée. Cela empêche l'ajout d'un bloc au milieu de la chaîne.

alt text

L'ensemble des transactions contiennent des données, destinées à la transmission et la vérification d'informations, qui fournissent une preuve de vérité et d'authenticité aux acteurs des transactions commerciales.

Avec du jargon intelligent, nous dirions que la technologie blockchain utilise la combinaison de cryptographie et des horodatages pour vérifier une séquence de hash progressive et immutable.

Les transactions

Afin de valider l'écriture d'une transaction réalisée par l'utilisateur dans un bloc, le mineur est celui qui vérifie les transactions et opérations effectuées sur le réseau par ses utilisateurs. Et c'est comme ça qu'il se rémunère.

Voici le processus en pleine construction:

  • L'utilisateur A réalise une transaction pour payer l'utilisateur B à travers une application web ou informatique. La transaction est stockée et mise en attente dans les nœuds sur lequel l'application est connectée. La ou les transactions se diffusent dans les autres nœuds en temps réel.

alt text

  • Le mineur vérifie la validée de la signature électronique et l'adresse fournie par l'émetteur. Et procède à une vérification des fonds qu'il prétend posséder et transmettre à une autre adresse.
  • Le mineur rassemble toutes les transactions qu'il a vérifiées dans un bloc qu'il prépare à inscrire au registre de la blockchain.
  • Le mineur qui pourra inscrire le bloc au registre devra trouver une solution à un problème mathématique complexe. Une étape gourmande en énergie selon le mode de fonctionnement de la technologie retenu. Ex: la preuve de travail.
  • Le bloc est vérifié par rapport à chaque copie du registre. Si chaque copie de registre correspond, la transaction est approuvée.
  • La transaction est finalisée et le bloc est ajouté comme la dernière partie de la blockchain. Une transaction rémunérant le mineur est inscrite avec la création du bloc.

alt text

Dans la pratique les transactions non inscrites restent en attente sur le réseau et des suites de blocs réalisés en parallèle se résolvent lorsque l'approbation d'une branche est la plus évidente pour chacun des nœuds appartenant au réseau.

La création d'un bloc

La blockchain est écrit dans un fichier JSON. Les informations contenues dans le premier bloc seront définie suivant les besoins spécifiques à chaque blockchain sous forme de clé et valeurs.

Les blocs suivants seront réalisés avec les mêmes besoins d'informations de construction que le bloc initial, le genesis. Pour générer un nouveau bloc, le hash du bloc précédent est requis.

alt text

Le contenu des données peut être crypté avec le contenu des données du bloc précédent pour réaliser l'intégrité d'un bloc dans l'ensemble des blocs qui constitue la blockchain, voir l'arbre de Merkle.

Le processus de création de transaction, qui ne nécessite aucun intermédiaire, va s'inscrire sur le réseau grâce à une programmation informatique stockée dans les nœuds appartenant à ce réseau.

Le code informatique va permettre la création d'un nouveau bloc et une validation par un mineur va l'inscrire dans la blockchain et rendre son contenu visible au public ou rester privé si une clé de chiffrement est requise pour y accéder.

Conclusion

La création du bloc est réalisé par programmation informatique avec un fonctionnement pour tout le monde pareil et qui s'inscrit dans un environnement informatique pour former la technologie blockchain.

L'information que contiennent les blocs est source de vérité parce qu'elle est immutable. À ce jour faire confiance dans l'information requiert aussi la technologie blockchain.