
Un ordinateur sait produire des nombres qui semblent aléatoires. Le problème n'est pas de fabriquer du hasard pour soi, mais d'en fabriquer un que les autres acceptent comme honnête. Si vous organisez une loterie, comment les participants peuvent-ils être sûrs que vous n'avez pas choisi le résultat à l'avance ou regénéré le tirage jusqu'à obtenir celui qui vous arrange ?
Ce besoin, un hasard public que personne ne contrôle, revient partout : loteries, attribution de places limitées, sélection d'un échantillon à auditer, jeux en ligne, certains protocoles informatiques. La solution naïve, faire confiance à l'organisateur, ne tient pas dès qu'il y a un enjeu. Il faut une source extérieure, imprévisible et vérifiable.
Bitcoin offre une telle source presque par accident. Cet article explique pourquoi, comment on s'en sert, et pourquoi cette source, séduisante, comporte une faille que tout utilisateur sérieux doit connaitre avant de s'y fier.
Pourquoi le hasard honnête est difficile
Un bon hasard partagé doit réunir trois qualités. Il doit être imprévisible : personne ne doit pouvoir deviner le résultat avant qu'il soit fixé. Il doit être vérifiable : une fois connu, tout le monde doit pouvoir confirmer qu'il est authentique. Et il doit être non manipulable : celui qui le produit ne doit pas pouvoir choisir parmi plusieurs résultats celui qui l'arrange.
Ces exigences se contredisent souvent. Un dé lancé en privé est imprévisible mais invérifiable. Un nombre publié par une autorité est vérifiable mais suppose de lui faire confiance. Tirer plusieurs fois jusqu'à un résultat favorable est une manipulation invisible. C'est ce dernier piège, le rejeu discret du tirage, qui ruine la plupart des solutions improvisées.
L'idéal serait une source publique, produite par un processus que personne ne maitrise, dont le résultat apparait à un instant précis et reste consultable ensuite par tous. Une horloge de hasard, en somme, alimentée par un phénomène extérieur impartial. C'est précisément le rôle que peut jouer la blockchainBlockchainGrand livre comptable public partagé qui enregistre toutes les transactions Bitcoin dans des blocs liés cryptographiquement les uns aux autres. Chaque participant du réseau en garde une copie.Voir dans le lexique → Bitcoin.
L'empreinte de bloc comme graine de hasard
Chaque bloc Bitcoin se termine par une empreinte, un long nombre obtenu en condensant tout le contenu du bloc. Pour qu'un bloc soit valide, cette empreinte doit commencer par une série de zéros, ce que les mineurs obtiennent en essayant des milliards de combinaisons. Le résultat final est, pour un observateur, parfaitement imprévisible jusqu'à ce que le bloc soit trouvé.
Cette empreinte a tout du bon dé. Personne ne la connait avant que le bloc soit miné. Une fois publiée, elle est visible par tous et figée dans la chaine. On peut donc convenir à l'avance : le gagnant de la loterie sera déterminé par l'empreinte du bloc numéro tant, encore à venir. Au moment où ce bloc apparait, le résultat se révèle, sans qu'aucun organisateur n'ait eu la main dessus.
Techniquement, on prend les chiffres de l'empreinte et on les transforme en un tirage : un numéro entre un et mille, le choix d'un gagnant parmi une liste, un classement. Comme tout le monde voit la même empreinte et applique la même règle publique, chacun peut recalculer le résultat et constater qu'il est correct. Le hasard devient un fait public, pas une parole donnée.
À quoi sert ce hasard public
L'usage le plus immédiat est la loterie ou le tirage au sort transparent. Une association qui distribue des lots, un projet qui sélectionne des participants, un concours qui désigne un gagnant peuvent annoncer la règle, puis laisser un futur bloc trancher. Chacun vérifie ensuite que le résultat découle bien de l'empreinte annoncée.
On retrouve la même idée dans des contextes plus techniques. Certains protocoles ont besoin d'un nombre commun et imprévisible pour répartir des tâches, choisir un comité, ordonner des participants sans favoritisme. Le hashHash (empreinte)Fonction qui transforme une donnée de taille quelconque en une empreinte de taille fixe. La même entrée donne toujours la même sortie, mais on ne peut pas remonter de la sortie à l'entrée.Voir dans le lexique → de bloc sert alors d'arbitre neutre, accessible à tous au même instant, sans serveur central à corrompre.
L'attrait est toujours le même : remplacer une promesse, fais-moi confiance, par une preuve, vérifie toi-même. Dans un monde où la défiance envers les organisateurs est fréquente, disposer d'une source de hasard que personne ne possède est un atout réel, à condition de bien gérer sa faille.
La faille : le mineur peut tricher, à un prix
La source n'est pas parfaite, et le négliger serait une faute. Celui qui trouve un bloc choisit son contenu, donc influence en partie son empreinte. S'il a un intérêt dans le tirage, par exemple une grosse mise sur un résultat, il peut, en théorie, rejeter un bloc valide dont l'empreinte ne l'arrange pas et continuer à minerMiner (mineur)Ordinateur ou ferme d'ordinateurs qui résout le puzzle cryptographique permettant d'ajouter un nouveau bloc à la blockchain, en échange d'une récompense en bitcoins.Voir dans le lexique → pour en trouver un autre.
Renoncer à un bloc trouvé signifie renoncer à sa récompense, qui se chiffre en dizaines de milliers d'euros. La manipulation a donc un cout élevé, ce qui la rend irrationnelle tant que l'enjeu du tirage reste inférieur à ce cout. Mais pour une loterie aux gains énormes, l'attaque cesse d'être théorique. La règle de prudence est simple : ne jamais utiliser le hashHash (empreinte)Fonction qui transforme une donnée de taille quelconque en une empreinte de taille fixe. La même entrée donne toujours la même sortie, mais on ne peut pas remonter de la sortie à l'entrée.Voir dans le lexique → d'un seul bloc pour un tirage dont l'enjeu dépasse la récompense d'un bloc.
Des parades existent. On peut combiner plusieurs blocs successifs, ce qui multiplie le cout d'une manipulation. On peut mêler le hash Bitcoin à des contributions d'autres participants selon un schéma où chacun s'engage avant de connaitre le résultat. Des services spécialisés de hasard public, conçus pour résister à ce type d'attaque, existent aussi. Le hash de bloc reste une excellente brique, à utiliser en connaissance de cause plutôt que comme une boite noire infaillible.
Avertissement
Contenu éducatif et informatif uniquement : ni conseil en investissement, ni conseil fiscal ou juridique. Bitcoin comporte des risques importants, dont une forte volatilité et la perte possible du capital investi. Chaque lecteur reste responsable de ses décisions ; en cas de doute, consultez un professionnel qualifié dans votre juridiction.
Pour aller plus loin
Pour creuser le contexte :
- Comment fonctionne Bitcoin : minage, empreintes et preuve de travailPreuve de travail (Proof of Work)Mécanisme de consensus de Bitcoin : les mineurs dépensent de l'énergie pour trouver un hash valide, ce qui rend la falsification de l'historique économiquement prohibitive. C'est ce travail qui sécurise la blockchain.Voir dans le lexique →, d'où vient ce hasard.
- Usages méconnus de Bitcoin : le guide des cinq usages.
- Comprendre Bitcoin : le socle des fondamentaux.