Imaginez que vous et quelques amis vous vous prêtez souvent de l’argent. Sans comptable, chacun ne note que sa propre part dans son carnet : qui me doit combien, et à qui je dois. Au début, ça va, mais plus les transactions se multiplient, plus les problèmes surgissent : vous dites avoir remboursé 200 la semaine dernière, mais l’autre affirme ne pas les avoir reçus ; quelqu’un ressort un vieux relevé et modifie le chiffre ; et quelqu’un rembourse la même somme à deux personnes le même jour, et les deux notent avoir reçu la totalité.
Transposez cela à l’échelle de toute la société : c’est le rôle que jouent les banques et les plateformes de paiement. Elles sont ce comptable en qui tout le monde a confiance, chargé de tenir un registre unique, de décider qui a quel solde et quelle transaction compte. La question se pose alors : si l’on supprime ce comptable, comment un groupe de personnes qui ne se connaissent pas et ne se font pas entièrement confiance peuvent-elles encore s’accorder sur le même registre ?
C’est précisément la question à laquelle un article sur la blockchain cherche à répondre. Ce n’est pas mystérieux ; le cœur du sujet tient en trois points : comment le registre est rendu public, qui a le droit d’enregistrer, et pourquoi il est difficile de modifier discrètement l’historique.
D’abord, un problème sans comptable
Dans la comptabilité centralisée traditionnelle, le registre est conservé par une seule institution. Lorsque vous transférez 100, cette institution effectue en réalité deux opérations dans sa propre base de données : elle soustrait 100 de votre solde et ajoute 100 au solde du destinataire. Elle seule connaît l’ensemble, et elle seule a le droit de modifier. Ce modèle fonctionne à condition que vous lui fassiez confiance pour ne pas se tromper, ne pas favoriser quelqu’un et ne pas se laisser corrompre.
Une fois cet intermédiaire supprimé, les ennuis se concentrent en trois points.
Le premier est l’incohérence des registres. Chacun ne voit que ses propres enregistrements, et le registre détenu par quelqu’un d’autre peut être complètement différent ; personne ne sait lequel fait foi.
Le deuxième est le défaut de paiement et le déni. Sans enregistrement faisant autorité, une partie peut tout à fait nier avoir effectué un virement, ou prétendre que le montant était différent.
Le troisième est la double dépense. Si personne ne déduit uniformément les soldes, la même somme peut être dépensée auprès de plusieurs personnes en même temps — car chaque destinataire ne voit que le fait que « vous avez de l’argent », mais pas que vous l’avez déjà dépensé ailleurs.
Ainsi, la contradiction centrale que la comptabilité décentralisée doit résoudre est unique : amener tout le monde à s’accorder sur le même historique de transactions et sur l’ordre des transactions, dans des conditions de méfiance mutuelle et sans arbitre.
Rendre le registre public : permettre à tous les participants de voir le même historique de transactions
La première idée est simple : puisque le cacher crée facilement des problèmes, étalons le registre.
Dans une blockchain publique typique, une transaction proposée est diffusée aux participants du réseau, plutôt que d’être d’abord stockée dans la base de données secrète d’une entreprise. Les ordinateurs qui participent à ce travail sont appelés nœuds. Chaque nœud peut conserver une copie complète du registre et vérifier indépendamment si la transaction est valide. Ainsi, le registre passe de « fichier privé d’une institution » à registre distribué — le même enregistrement existe simultanément à de nombreux endroits.
Ainsi, qui enregistre et ce qui est enregistré ne dépend plus de la promesse verbale d’une personne. Si vous voulez savoir si une transaction existe, vous n’avez pas besoin de demander à une entreprise ; il vous suffit de consulter le registre.
Mais attention à une erreur de lecture courante : public ne signifie pas que tout le monde peut le modifier.
On peut l’imaginer comme un registre affiché sur un tableau blanc public. Tout le monde peut voir les nouveaux enregistrements et en obtenir une copie, mais des règles se dressent à côté du tableau : seuls les enregistrements remplissant les conditions convenues peuvent y être écrits. Voir et écrire sont deux choses différentes.
Il faut préciser que cette analogie du tableau blanc a ses limites. Dans la réalité, un tableau blanc a généralement encore une personne qui le surveille, alors que la blockchain n’a pas un tel gardien ; le registre est maintenu conjointement par les nœuds du réseau selon des règles, et il existe en outre les liens de hachage et les mécanismes de consensus que nous verrons plus loin, que le tableau blanc lui-même ne possède pas.
Qui peut écrire une ligne dans le registre : règles et mécanismes de consensus
Une fois le registre rendu public, la question clé surgit immédiatement : sur quelle base décide-t-on quelle transaction peut être enregistrée ?
Cela se décompose en fait en deux niveaux, que beaucoup confondent.
Premier niveau : une transaction individuelle est-elle valide ?
Avant d’entrer dans le registre, chaque transaction doit d’abord passer des vérifications de base. Les vérifications courantes incluent :
- Le solde est-il suffisant ? Supposons qu’Alice ait 10 unités sur son compte et veuille transférer 4 unités à Bob. Les nœuds n’ont qu’à vérifier que 10 ≥ 4, et c’est accepté ; si elle veut transférer 20 unités, la transaction est directement rejetée.
- Est-elle réellement autorisée par le payeur ? La transaction doit porter une signature numérique générée par le payeur avec sa propre clé. Les nœuds vérifient que la signature est valide avant de reconnaître qu’il s’agit bien de l’intention d’Alice, et non de quelque chose écrit frauduleusement par quelqu’un d’autre.
Ce niveau répond à la question « cette transaction peut-elle tenir ? ». Les critères sont des règles fixées à l’avance, et l’approbation d’aucune institution n’est nécessaire.
(Les systèmes réels traitent aussi des détails comme les frais et les modèles de compte, mais ici il suffit de comprendre : la validité vient de vérifications de règles, et non de l’approbation de quelqu’un.)
Deuxième niveau : quel lot de transactions ajouter ensuite
Qu’une transaction individuelle soit valide ne signifie pas qu’elle entre immédiatement dans le registre. Le réseau doit aussi s’accorder sur une chose : quelles transactions valides ajouter ensuite, et dans quel ordre.
Sans arbitre central, cette étape ne peut pas reposer sur « le plus fort parle ». Un mécanisme de consensus est un ensemble de règles conçues pour cela : les nœuds s’en servent pour déterminer quel lot de transactions constitue le prochain enregistrement accepté par tous, et ils les empaquettent dans un bloc ajouté à la fin du registre.
Les blockchains n’utilisent pas toutes les mêmes méthodes de consensus ; certaines dépendent de ressources de calcul, d’autres de droits mis en jeu, mais leur point commun est le suivant : elles remplacent le pouvoir d’arbitrage d’une personne par des règles convenues à l’avance et vérifiables par tous les participants. Même si un nœud veut écrire unilatéralement un enregistrement que les autres n’approuvent pas, les autres nœuds ne l’accepteront pas.
Relier les pages du registre en chaîne : pourquoi l’historique devient de plus en plus difficile à modifier
Si le registre est public, que se passe-t-il si quelqu’un modifie secrètement une transaction passée ?
C’est précisément l’origine du nom « blockchain ». Les transactions ne sont pas stockées une par une de manière isolée, mais empaquetées dans des blocs, chacun contenant un lot de transactions. Le point clé est que chaque bloc enregistre également le hachage du bloc précédent.
Un hachage peut être grossièrement compris comme une « empreinte numérique » d’un contenu : pour un même contenu, l’empreinte calculée est toujours identique ; si le contenu change ne serait-ce que d’un caractère, l’empreinte calculée devient complètement différente. La structure d’une blockchain est donc la suivante :
- Le bloc 1 a une empreinte ;
- Le bloc 2, en plus de ses propres transactions, enregistre l’empreinte du bloc 1 ;
- Le bloc 3 enregistre l’empreinte du bloc 2, et ainsi de suite.
Ces relations de référence relient les blocs les uns aux autres, formant une chaîne.
Pourquoi la falsification coûte extrêmement cher
Supposons maintenant que quelqu’un veuille modifier un enregistrement dans le bloc 1. Que se passe-t-il ?
Le contenu du bloc 1 change, et son empreinte change aussi. Mais le bloc 2 conserve encore l’ancienne empreinte, et une comparaison échoue immédiatement. Pour rendre toute la chaîne à nouveau cohérente, cette personne doit alors recalculer la nouvelle empreinte du bloc 1, l’écrire dans le bloc 2, puis recalculer l’empreinte du bloc 2, l’écrire dans le bloc 3… et ainsi de suite jusqu’à la dernière page du registre.
Et ce n’est que la première étape technique. Après avoir refait le calcul, il doit aussi convaincre les autres nœuds du réseau d’accepter cette chaîne modifiée. Or, selon les règles de consensus normales, la majorité des nœuds continueront de suivre la chaîne d’origine, et la version modifiée ne sera pas reconnue du tout.
Donc la signification précise de « immuabilité » est la suivante : ce n’est pas une impossibilité absolue de modifier, mais dans des conditions de consensus normales, la falsification exige un coût extrêmement élevé et souvent disproportionné, et elle ne peut pas être réalisée discrètement. Si suffisamment de ressources sont concentrées, ou si les règles du réseau elles-mêmes changent, l’historique peut encore être réécrit ou donner lieu à des bifurcations. Comprendre cela est plus important que de le considérer comme une garantie absolue.
Ce que la blockchain résout réellement, et ce qui n’est pas son rôle
Arrivé ici, on peut résumer.
Le problème central que la blockchain résout est le suivant : sans institution centrale, permettre à plusieurs parties de s’accorder sur l’historique et l’ordre d’un registre uniquement ajoutable. Elle y parvient grâce à trois choses : la diffusion publique et les copies du registre permettent le partage de l’information, les règles de validation et les mécanismes de consensus remplacent un arbitre central, et les liens de hachage exposent toute modification de l’historique. La confiance ne repose plus sur une institution, mais sur des règles publiques et un registre maintenu collectivement.
En même temps, il faut aussi savoir ce qu’elle ne fait pas.
Elle ne garantit pas automatiquement que le monde hors chaîne est réel. La blockchain peut enregistrer fidèlement le fait que « vous avez transféré un paiement à quelqu’un », mais elle ne peut pas prouver si, dans la réalité, l’autre partie a réellement livré la marchandise. La véracité des entrées avant leur mise sur chaîne doit encore être résolue par des mécanismes hors chaîne.
Ce n’est pas une base de données cloud décentralisée. La blockchain excelle à enregistrer des transactions et des états qui nécessitent une confirmation multipartite et dont l’ordre est important, tandis que stocker de grandes quantités de données n’est ni économique ni approprié. Mettre toutes les données sur chaîne est une mauvaise interprétation de son usage.
L’absence d’institution centrale ne signifie pas que tout le monde peut modifier le registre à volonté. Moins de comptables uniques ne signifie pas moins de règles ; le registre reste contraint par les règles de validation et les mécanismes de consensus. Un nœud individuel ne peut pas modifier arbitrairement le solde de quelqu’un d’autre, ni fabriquer une transaction de toutes pièces.
Une meilleure façon de le comprendre est donc la suivante : la blockchain est une technologie de registre décentralisée qui fait passer la « comptabilité partagée » d’une dépendance à une institution à une dépendance à des règles publiques et à une maintenance collective. Elle résout la cohérence du registre et la résistance à la falsification, et non l’ensemble du problème de la confiance.