Guide 01 · Les bases

La blockchain, bloc par bloc

Une blockchain est un registre que des milliers d’ordinateurs tiennent ensemble, sans chef, et dont le passé ne peut pas être modifié en douce. Voici comment, avec deux démonstrations qui tournent directement dans votre navigateur.

L’essentiel en 30 secondes

  • Une blockchain est une liste de blocs ; chaque bloc contient l’empreinte (hash) du précédent.
  • Modifier un ancien bloc change son empreinte, ce qui casse tous les blocs suivants : la fraude se voit.
  • Un mécanisme de consensus (preuve de travail ou d’enjeu) décide qui ajoute le bloc suivant.
  • Cette sécurité a un prix : débit limité, frais variables, et aucune annulation possible en cas d’erreur.

Un registre que personne ne tient seul

Votre banque tient un registre : qui possède quoi, qui a payé qui. Vous lui faites confiance pour ne pas le falsifier et pour le garder en état. Une blockchain remplace ce teneur de compte unique par un réseau d’ordinateurs, les nœuds, qui conservent chacun une copie complète du registre et vérifient chaque nouvelle écriture selon les mêmes règles.

Personne ne peut décider seul d’ajouter, de retirer ou de corriger une ligne. Une écriture n’est acceptée que si elle respecte les règles du protocole : signature valide, fonds disponibles, pas de double dépense. Un nœud qui accepterait une transaction invalide serait simplement ignoré par les autres.

Le réseau Bitcoin compte des dizaines de milliers de nœuds publics répartis dans le monde. N’importe qui peut en faire tourner un sur un ordinateur ordinaire et vérifier par lui-même l’intégralité de l’historique depuis janvier 2009.

L’empreinte numérique, brique de base

Tout repose sur une fonction de hachage. Elle prend n’importe quelle donnée, un mot, un fichier, un bloc entier, et produit une suite de longueur fixe : l’empreinte. Bitcoin utilise SHA-256, qui produit 64 caractères hexadécimaux. Trois propriétés comptent :

  • Déterministe : la même entrée donne toujours la même empreinte.
  • Imprévisible : changer un seul caractère change toute l’empreinte.
  • À sens unique : impossible en pratique de retrouver l’entrée à partir de l’empreinte.
EntréeEmpreinte SHA-256
Alice envoie 0,5 BTC à Boba8d05dadc2cc8859…27534ed0
Alice envoie 0,6 BTC à Boba84be87a698d1282…85326281
Un chiffre change, les 64 caractères changent. Empreintes calculées avec shasum -a 256, tronquées pour l’affichage.

Démo · tapez, l’empreinte suit

…

Le calcul se fait dans votre navigateur avec l’API Web Crypto. Rien n’est envoyé à un serveur.

Des blocs qui se tiennent par la main

Les transactions sont regroupées en blocs. Chaque bloc contient, en plus de ses transactions, l’empreinte du bloc précédent. Le bloc 2 contient l’empreinte du bloc 1, qui contient celle du bloc 0, et ainsi de suite jusqu’au tout premier, le bloc de genèse.

Imaginez qu’un fraudeur modifie une transaction du bloc 1. L’empreinte du bloc 1 change. Or le bloc 2 contenait l’ancienne empreinte : il ne correspond plus. Le fraudeur doit donc recalculer le bloc 2, puis le 3, puis tous les suivants. Sur Bitcoin, où plus de 900 000 blocs se sont empilés depuis 2009, cela revient à refaire seul plus vite que le monde entier tout le travail accumulé depuis le bloc visé.

Une blockchain ne rend pas la fraude impossible. Elle la rend visible, et la fait coûter plus cher que ce qu’elle rapporterait.

Qui écrit le bloc suivant ?

Il faut une règle pour choisir, à chaque tour, qui a le droit de proposer le bloc suivant. C’est le mécanisme de consensus. Deux familles dominent.

La preuve de travail (Bitcoin)

Les mineurs cherchent un nombre, le nonce, qui, ajouté au contenu du bloc, donne une empreinte commençant par un certain nombre de zéros. Aucun raccourci n’existe : il faut essayer, encore et encore. Le premier qui trouve publie son bloc et touche la récompense. Le protocole ajuste la difficulté tous les 2 016 blocs, environ deux semaines, pour qu’un bloc arrive en moyenne toutes les dix minutes, quelle que soit la puissance totale engagée.

Démo · minez un bloc

L’empreinte gagnante s’affichera ici.
Nonce 0 Essais 0 Vitesse 0 H/s Temps 0 s

Votre navigateur calcule quelques dizaines de milliers d’empreintes par seconde. Le réseau Bitcoin en calcule plus d’un milliard de milliards par seconde, avec une difficulté qui exige bien plus de zéros.

La preuve d’enjeu (Ethereum et la plupart des réseaux récents)

Plutôt que de dépenser de l’électricité, les validateurs immobilisent des jetons en garantie. Le protocole tire au sort, parmi eux, celui qui propose le prochain bloc ; les autres l’attestent. Un validateur qui triche, par exemple en signant deux versions concurrentes, perd une partie de sa mise. Ethereum est passé à ce modèle le 15 septembre 2022 ; sa consommation d’énergie a baissé de plus de 99,9 % selon la Fondation Ethereum.

Le parcours d’une transaction

  1. Signature. Votre wallet signe la transaction avec votre clé privée.
  2. Diffusion. Elle est envoyée à quelques nœuds, qui la vérifient et la relaient. En quelques secondes, tout le réseau la connaît.
  3. Mempool. Elle attend avec les autres transactions non confirmées. Les mineurs ou validateurs choisissent en priorité celles qui paient le plus de frais.
  4. Inclusion. Elle entre dans un bloc : c’est la première confirmation.
  5. Profondeur. Chaque bloc ajouté ensuite rend un retour en arrière plus coûteux. Sur Bitcoin, six confirmations, soit une heure environ, sont l’usage pour un montant important.

Ce qu’une blockchain ne fait pas

La technologie a des contreparties que les présentations enthousiastes passent souvent sous silence.

  • Aucune annulation. Une erreur d’adresse, un paiement à un escroc : personne ne peut revenir dessus. C’est le prix de l’absence d’autorité centrale.
  • Un débit limité. Bitcoin traite quelques transactions par seconde sur sa chaîne principale. Les réseaux de seconde couche, comme Lightning ou les layer 2 d’Ethereum, existent pour cette raison.
  • Des données publiques. Toutes les transactions restent consultables par tout le monde, pour toujours.
  • Le problème du monde réel. Une blockchain garantit ce qu’elle contient, pas la véracité de ce qu’on y inscrit. Si l’on enregistre une fausse information, elle sera parfaitement conservée.

Pour voir une blockchain vivre, ouvrez un explorateur comme mempool.space : blocs qui arrivent, transactions en attente, frais en temps réel. C’est la même source que le compteur de la page d’accueil.

Sources

  1. Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, 2008.
  2. NIST, FIPS 180-4, Secure Hash Standard (définition de SHA-256).
  3. Ethereum Foundation, Consommation énergétique d’Ethereum.
  4. Bitcoin Developer Guide, Block Chain.