La blockchain

Ce qu'est une blockchain, ce que contient un bloc, comment un réseau s'accorde sur un historique commun et pourquoi le passé est difficile à modifier.

4 min · 805 motsMis à jour: #bases#blockchain#technologie

Une blockchain (ou chaîne de blocs) est une façon de tenir une base de données partagée, que de nombreux participants indépendants conservent et vérifient en même temps. Les enregistrements sont regroupés en blocs, et ces blocs sont reliés les uns aux autres pour former une chaîne, d'où le nom. L'idée clé : nul besoin d'un administrateur central pour faire confiance aux données. Tout le monde applique les mêmes règles de vérification, et ces règles sont intégrées au logiciel.

Une analogie simple

Imaginez un cahier de comptes dont chaque membre d'un groupe possède sa propre copie. Quand quelqu'un ajoute une ligne, les autres la vérifient au regard des règles communes, puis la recopient dans leur cahier. Si une personne modifie en douce une ancienne ligne dans sa copie, cela se voit immédiatement, car son cahier ne correspond plus à celui de tous les autres.

Une blockchain fonctionne de manière comparable. Les cahiers sont des ordinateurs appelés nœuds, et la vérification se fait grâce à la cryptographie et aux mathématiques plutôt qu'à la main.

Que contient un bloc

Chaque bloc contient généralement :

  • Une liste de transactions, par exemple des transferts de pièces entre adresses.
  • Un horodatage indiquant approximativement le moment de création du bloc.
  • Le hash du bloc précédent, une sorte d'empreinte digitale du bloc qui le précède.
  • Des données techniques utilisées par le mécanisme de consensus.

Un hash (ou empreinte) est le résultat d'une fonction de hachage, une fonction mathématique particulière qui transforme n'importe quelle donnée d'entrée en une chaîne de longueur fixe. Modifiez un seul caractère de l'entrée, et le hash obtenu sera complètement différent. Il est pratiquement impossible de prédire un hash à l'avance.

Pourquoi l'historique est difficile à réécrire

Comme chaque bloc stocke le hash du bloc précédent, tous les blocs sont liés entre eux. Si quelqu'un modifie une transaction dans un ancien bloc, le hash de ce bloc change. Le bloc suivant pointerait alors vers un hash qui ne correspond plus, et la chaîne serait rompue. Pour qu'une falsification paraisse valide, un attaquant devrait refaire tous les blocs suivants, et ce plus vite que le reste du réseau n'en ajoute de nouveaux.

Sur les grands réseaux, cela exige des ressources colossales. C'est pourquoi les enregistrements enfouis profondément dans la chaîne sont considérés comme pratiquement définitifs.

Comment le réseau parvient à un accord

Des milliers de participants indépendants doivent aboutir à la même version de l'historique. Les règles qui leur permettent de s'accorder forment un mécanisme de consensus. Les deux plus connus sont :

  • La preuve de travail (Proof of Work). Des participants appelés mineurs effectuent des calculs intensifs, et celui qui trouve le premier une solution valide obtient le droit d'ajouter le bloc suivant. C'est l'approche du Bitcoin.
  • La preuve d'enjeu (Proof of Stake). Les blocs sont proposés et confirmés par des validateurs qui immobilisent leurs propres pièces en garantie. S'ils agissent de manière malhonnête, ils peuvent perdre une partie de cette mise. Ethereum est passé à ce modèle.

Les deux approches poursuivent le même but : rendre la triche plus coûteuse que le respect des règles.

Blockchains publiques et privées

  • Les blockchains publiques, comme Bitcoin et Ethereum, sont ouvertes à tous. Vous pouvez faire tourner un nœud, envoyer une transaction ou parcourir l'intégralité de l'historique.
  • Les blockchains privées ou à permission sont réservées aux participants agréés par une organisation. Elles se rapprochent des bases de données classiques, avec des garanties supplémentaires sur la tenue des registres.

Quand on parle de cryptomonnaies, on pense généralement aux blockchains publiques.

Ce qui fonctionne aussi sur une blockchain

La monnaie numérique a été le premier cas d'usage. Sont apparus ensuite des réseaux capables d'exécuter des contrats intelligents (smart contracts), c'est-à-dire des programmes qui s'exécutent automatiquement selon des règles définies à l'avance. Les contrats intelligents font tourner la finance décentralisée (DeFi), les NFT, les stablecoins et bien d'autres services.

Limites

Les blockchains impliquent aussi des compromis :

  • Vitesse et capacité. Les réseaux publics traitent moins de transactions que les systèmes de paiement centralisés. Les solutions de Layer 2 sont l'une des pistes explorées par le secteur pour y remédier.
  • Frais. Quand un réseau est saturé, le coût des transactions peut augmenter sensiblement.
  • Irréversibilité. Une transaction erronée ne peut généralement pas être annulée.
  • Transparence. Tout est visible par tous, ce qui ne sert pas toujours la confidentialité.
  • Données fausses en entrée, données fausses en sortie. Une blockchain garantit qu'un enregistrement n'a pas été modifié, pas que l'information d'origine était exacte.

À retenir

  • Une blockchain est une base de données partagée, tenue et vérifiée par de nombreux participants indépendants.
  • Les blocs sont reliés par des hashs, ce qui rend la modification d'anciens enregistrements extrêmement difficile.
  • Les réseaux s'accordent sur l'historique grâce à un mécanisme de consensus comme la preuve de travail ou la preuve d'enjeu.
  • Les blockchains servent non seulement aux cryptomonnaies, mais aussi aux contrats intelligents et aux applications bâties dessus.