Comment fonctionne une blockchain ? Une blockchain est un outil de stockage et de transmission d’informations qui est totalement transparent et sécurisé. Celui-ci se présente sous la forme d’une base de données dans laquelle on retrouve l’historique de tous les échanges qui ont été effectués depuis son ouverture. De plus, cette base de données est partagée par tous ses utilisateurs, sans qu’il y ait le moindre intermédiaire. Grâce à cela, chacun peut vérifier la validité de cette chaîne.
On retrouve des blockchains publiques et privées. Une blockchain publique est ouverte à tous et est semblable à un grand livre comptable public, anonyme et qu’on ne peut falsifier. Tout le monde est donc à même de le consulter librement et gratuitement. Il est possible d’ajouter du contenu, mais il est impossible d’en effacer ou de détruire la chaîne. Une blockchain privée reste quant à elle bien plus confidentielle, étant uniquement consultable par les personnes qui y sont autorisées.
La blockchain enregistre une transaction horodatée, produisant une signature numérique chiffrée et exploitant la puissance de calcul du réseau pour vérifier la signature chiffrée. La vérification se fait par « preuve de travail », c’est-à-dire quand un ordinateur a un problème complexe à résoudre.
Chaque bloc est lié au bloc précédent de la chaîne par un problème mathématique hypercomplexe en rapport avec les données du bloc précédent. Le « hachage » du bloc précédent – en gros, la solution au problème – est inclus dans le nouveau bloc, avec un enregistrement de toutes les dernières transactions exécutées depuis l’ajout du dernier bloc (délai qui se compte généralement en minutes ou en heures). Les autres ordinateurs de la blockchain contrôlent la précision du hachage et vérifient la validité du nouveau bloc.
Alors, c’est quoi une blockchain ?
Dans sa forme la plus fondamentale, une blockchain est une base de données. C’est une base de données qui est répartie sur un vaste réseau composé de ce qu’on appelle des nœuds. Ces nœuds sont les participants du réseau, représentants des ordinateurs un peu partout autour du globe. Tous ces ordinateurs tournent le logiciel d’une blockchain, un genre de protocole servant de langage qu’ils utilisent afin de communiquer entre eux. Cette caractéristique fait qu’on appelle souvent une blockchain une technologie de registre distribué (TRD ou DLT en anglais).
Bien entendu, ces ordinateurs ne se parlent pas de la même façon que vous et moi. Ils « chuchotent » entre eux et propagent des informations entre tous les nœuds, chacun interagissant avec les autres en peer-to-peer.
Les informations qu’ils partagent prennent la forme de mises à jour du registre. Ce qui est mis à jour dans le registre d’une blockchain ? L’historique de toutes les transactions qui ont eu lieu sur le réseau, dont chaque nœud garde une trace tel que programmé dans le protocole de la blockchain en question.
Un historique inaltérable de transactions
Au sein de la blockchain, une forme de cryptage est utilisée pour enregistrer les transactions et leurs dates de création. Les transactions sont groupées dans des blocs, qui sont ensuite hashés ensemble.
Un hash est une fonction mathématique convertissant une valeur en une autre valeur. Hasher des données est une pratique courante en informatique, utilisée à de nombreuses fins. Dans le cas des blockchains, ce qu’on appelle des fonctions de hash unidirectionnel sont utilisées. Ces fonctions génèrent une empreinte unique pour une entrée, sans qu’il y ait de façon de retrouver l’entrée originelle. Tant que l’entrée ne change pas, le hash reste toujours identique. En revanche, si l’entrée change ne serait-ce que d’un caractère, le hash résultant sera complètement différent.
Le hashing est un composant important de chaque transaction blockchain. Chaque bloc de transactions est marqué avec un hash référant au bloc précédent. Ainsi, un historique complet des transactions est créé. Vous savez désormais d’où vient le terme « blockchain », ou chaîne de blocs.
Représentation des blocs et de transactions, le bloc 8 étant en train d’être rempli de nouvelles transactions.
Cet historique de transactions est identique sur tous les ordinateurs du réseau. Si une nouvelle entrée est faite dans l’historique des transactions, une version mise à jour est immédiatement propagée sur chaque nœud du réseau. Plus précisément, dès qu’un changement se produit sur le registre d’un nœud et que ce changement ne contredit pas les mathématiques du code de la blockchain, l’état du registre de chaque ordinateur du réseau est automatiquement mis à jour en fonction. Ainsi, le réseau dans son ensemble est toujours synchronisé.
Exemple : La blockchain Ethereum
Le fonctionnement de la blockchain Ethereum est celui d’une plateforme de logiciels ouverts fonctionnant sur la base de la technologie de la Blockchain.
Comme la blockchain Bitcoin, l’Ethereum est un registre inviolable de l’historique de vos transactions.
ERC-20
ERC-20 désigne un modèle de tokens fondé sur Ethereum qui respecte un cahier des charges précis. Depuis 2015, un grand nombre de nouvelles cryptomonnaies sont des variantes d’Ethereum et reposent sur sa blockchain : les points spécifiques de chacune sont définies par un smart contract.