0212 janvier 2009

Dix bitcoins pour Hal

Neuf jours après le Genesis Block, Satoshi Nakamoto envoya dix bitcoins à Hal Finney. Derrière la transaction, il n’y avait pas de spéculation, mais un test, des rapports de bogues et la confiance entre deux personnes.

Lorsque Satoshi Nakamoto publia la première version du programme Bitcoin, la plupart des membres de la liste de diffusion cryptographique réagirent avec prudence, ou pas du tout. Hal Finney fit quelque chose de plus rare : il téléchargea le programme, l’exécuta sur son ordinateur personnel et commença à chercher des bogues. Ce n’était pas un curieux inconnu. Il avait travaillé sur PGP, passé des années dans la communauté cypherpunk et conçu sa propre tentative de monnaie numérique. Quelques jours plus tard, Satoshi lui envoya dix bitcoins. Ce n’était ni une récompense ni un investissement. C’était le moment où le nouveau système devait, pour la première fois, tenir entre deux personnes, deux machines et deux regards indépendants sur les mêmes règles.

01

L’homme qui a réellement lancé le programme

Finney n’était pas un destinataire pris au hasard. Il avait travaillé sur PGP, exploité le premier remailer anonyme cryptographique et créé RPOW, une première tentative de jetons transférables fondés sur la preuve de travail. Lorsque le livre blanc arriva sur la liste cryptographique, il y reconnut l’écho de questions auxquelles il réfléchissait depuis des années.

La première version du logiciel fut publiée le 9 janvier 2009. Finney se souvint plus tard qu’il avait probablement été la première personne après Satoshi à exécuter Bitcoin. Il minait avec un processeur ordinaire, à la difficulté un, et correspondit quelques jours avec Satoshi : Finney signalait les erreurs, Satoshi les corrigeait.

Le Genesis Block datait du 3 janvier, mais ne formait pas encore, à lui seul, un réseau reliant plusieurs personnes. Seule la publication du programme permit à quelqu’un hors de l’ordinateur de Satoshi de vérifier les règles et d’allonger la chaîne. La participation de Finney ne fut donc pas un simple commentaire enthousiaste. Elle ajouta une deuxième installation indépendante, un deuxième regard sur les erreurs et la première possibilité de savoir si les nœuds s’accordaient sur la même histoire.

Finney possédait, pour une telle expérience, une combinaison inhabituelle de patience et d’expérience. Développeur auprès de Phil Zimmermann, il avait travaillé sur PGP, l’outil qui fit sortir la cryptographie forte des milieux spécialisés pour la mettre entre les mains des utilisateurs ordinaires. Il exploita aussi un remailer anonyme et présenta en 2004 RPOW, un système de preuves de travail transférables. Il savait qu’un algorithme ingénieux ne suffit pas : quelqu’un doit écrire le logiciel, quelqu’un doit le lancer et quelqu’un doit découvrir où il casse.

Le 10 janvier, il publia sur Twitter une phrase laconique : « Running bitcoin ». Elle ressemble aujourd’hui à une inscription solennelle dans une chronique, mais elle était alors plutôt un état de fonctionnement : le programme tournait et sollicitait l’ordinateur. Finney raconta ensuite que le ventilateur faisait du bruit et que le processeur chauffait ; il arrêta donc le minage après quelques jours. Le futur prix des pièces n’était pas encore un argument capable de couvrir le bruit bien réel de la machine dans son bureau.

02

Le bloc 170

Le 12 janvier, le bloc 170 inclut une transaction qui dépensa des pièces minées dans un bloc antérieur et créa une sortie pour Finney. Le montant était de 10 BTC et les frais nuls. L’enregistrement dans la blockchain ne contient aucun nom, mais Finney confirma lui-même plus tard que Satoshi lui avait envoyé dix pièces à titre de test.

Techniquement, c’était un petit transfert. Humainement, le saut était décisif. Satoshi ne confrontait plus sa construction uniquement à lui-même. À l’autre bout se trouvait un cryptographe expérimenté, avec son propre ordinateur, sa propre copie du programme et la volonté de dire ce qui ne fonctionnait pas. À cet instant, pair-à-pair cessa d’être un titre du livre blanc.

La blockchain elle-même conserve les entrées, les sorties, le montant et l’inclusion dans un bloc ; elle ne conserve pas la phrase « Satoshi a envoyé dix bitcoins à Hal ». Nous connaissons les identités par le témoignage de Finney et la correspondance de l’époque. L’histoire sépare ainsi clairement ce que la cryptographie peut prouver de ce que les personnes et les archives ajoutent au tableau historique.

La transaction dépensa la sortie du bloc 9 et en créa deux nouvelles : dix BTC pour le destinataire et la monnaie rendue à l’expéditeur. Un portefeuille moderne masque ces détails, mais, en janvier 2009, ils constituaient précisément le test. Il fallait produire une signature correcte, faire accepter la transaction par les nœuds, puis la faire inclure par un mineur dans un bloc que l’autre ordinateur reconnaîtrait comme partie de leur histoire commune.

Dix pièces n’apparurent donc pas à l’écran de Hal Finney comme des fichiers à télécharger. Ce qui apparut, c’était la possibilité de créer plus tard une nouvelle signature valide sur une sortie que le réseau reconnaissait comme non dépensée. Satoshi perdit le contrôle exclusif de cette partie de l’histoire et Finney obtint son propre contrôle. Dans ce sens technique étroit, le transfert donna tout son sens à pair-à-pair : le destinataire n’avait pas besoin de demander à l’auteur du système de continuer à gérer son solde pour lui.

03

La confiance sans banque ne signifie pas un monde sans confiance

Bitcoin réduit la nécessité de faire confiance au gardien d’un registre. Il ne retire pas la confiance humaine de l’histoire de sa naissance. Finney devait croire qu’il valait la peine d’exécuter le code expérimental d’un inconnu. Satoshi devait accepter ses rapports et modifier rapidement le programme. Tous deux consacrèrent du temps à un projet sans garantie qu’il survivrait une semaine.

La différence résidait dans ce qu’ils pouvaient vérifier. Finney ne reçut pas une promesse dans une base privée. Son nœud pouvait contrôler l’historique, les signatures et les règles ayant produit le transfert. La confiance lança la collaboration ; le logiciel Full Node en vérifia le résultat.

Cette formule est moins romantique, et plus précise, que le slogan d’un système sans confiance. Bitcoin déplace la confiance : du gardien capable de modifier l’enregistrement vers des règles ouvertes, la cryptographie et la vérification personnelle. Les personnes peuvent toujours se tromper, le logiciel contenir des bogues et les collaborateurs décevoir. La différence est que la validité du transfert n’est pas un secret enfermé dans une entreprise.

Dans les premiers jours, cette frontière était particulièrement visible. Le réseau ne comptait que quelques participants, Satoshi minait vraisemblablement la plupart des blocs et le programme venait d’être publié. Finney ne pouvait s’appuyer ni sur des milliers de nœuds indépendants, ni sur des années de fonctionnement. Il pouvait toutefois ouvrir le code, observer son client et comparer l’historique reçu aux règles. La confiance dans une personne demeurait, mais elle s’accompagnait pour la première fois d’un outil de contrôle concret.

Leur collaboration avait aussi la forme banale du développement logiciel. Finney signalait des plantages et d’autres problèmes, Satoshi envoyait des correctifs, puis tous deux recommençaient. Aucun ne savait si le projet attirerait un troisième utilisateur. Ils travaillaient pourtant comme si l’exactitude comptait. La confiance entre deux cypherpunks n’était pas l’opposé de la vérification ; elle expliquait pourquoi ils consacraient du temps à bâtir un système où les suivants ne seraient plus obligés de croire seulement leur parole.

04

Un message écrit avec le regard

En 2013, Finney raconta ses débuts avec Bitcoin alors que la SLA l’avait presque entièrement paralysé. Il commandait son ordinateur avec les yeux et continuait à programmer des portefeuilles Bitcoin plus sûrs. Des premiers blocs, il se souvenait surtout d’un processeur brûlant, d’un ventilateur bruyant et de sa décision d’arrêter de miner.

Son texte ne transforme pas les dix pièces en relique. Il montre la continuité d’un métier : télécharger le code, le lancer, trouver une erreur, la réparer, puis réfléchir à la manière dont les enfants reprendront un jour les clés. La première transaction ne fut donc pas seulement le début d’un historique comptable. Elle fut le début d’une communauté qui survécut à son premier expéditeur comme à son premier destinataire.

Le RPOW antérieur de Finney montre aussi que Bitcoin n’est pas apparu dans le vide. Il reprenait la preuve de travail, les signatures numériques et l’obsession cypherpunk pour la monnaie électronique, puis les associait autrement. Son premier destinataire était un homme qui comprenait non seulement le résultat, mais aussi la longue série de tentatives infructueuses qui l’avait précédé.

Finney reçut en 2009 un diagnostic de sclérose latérale amyotrophique. La maladie lui enleva progressivement le mouvement et la parole, mais pas son intérêt pour le travail technique. Lorsqu’il écrivit ses souvenirs en mars 2013, il utilisait un système suivant le mouvement de ses yeux et travaillait à un outil pour mieux protéger les clés. Il ne demanda aucune pitié ni place particulière dans l’histoire. Il décrivit la joie d’un homme qui avait reconnu une idée prometteuse et avait pu assister à son premier instant.

Il pensait aussi à sa femme Fran et aux enfants qui hériteraient un jour de ce qui restait des premières pièces. La première transaction se referme ainsi ailleurs que là où elle avait commencé. En janvier 2009, il s’agissait de transmettre dix unités en sécurité à un second ordinateur. Quatre ans plus tard, Finney cherchait comment transmettre le contrôle à la génération suivante lorsque le détenteur d’origine ne pourrait plus saisir de mot de passe. Entre-temps, Bitcoin était passé d’une expérience entre deux programmeurs à un patrimoine personnel aux conséquences familiales réelles.

Atlas

Personnes et notions dans l’Atlas

FINNEYHal FinneySNSatoshi NakamotoTXTransactionNODEFull NodeCYPHCypherpunksPoWProof of Work
  1. 01
    Hal Finney — Bitcoin and me

    Le propre récit de Finney sur le lancement du programme, les dix pièces, les corrections de bogues et sa vie ultérieure avec la SLA.

  2. 02
    Mempool.space — transaction f418…9e16 dans le bloc 170

    L’enregistrement public du montant, des sorties et du bloc.

  3. 03
    Satoshi Nakamoto Institute — Bitcoin v0.1 released

    L’annonce d’époque de la première version publique du logiciel.

  4. 04
    Bitcoin: A Peer-to-Peer Electronic Cash System

    La description originale du modèle de transfert et de vérification sans administrateur central.

Histoire suivante · 03Satoshi s’en va sans conférence de presse finale