6 La cybermonnaie avant Nakamoto
La cybermonnaie est une monnaie dont le fonctionnement repose entièrement sur un réseau informatique appartenant à Internet. Elle est définie au sein de ce réseau et est transférée par son intermédiaire. Il s’agit d’une monnaie native du cyberespace, le nouvel espace créé par l’émergence d’Internet, conçu comme une juridiction séparée du monde physique.
Une forme plus spécifique de cybermonnaie est l’argent liquide numérique, ou digital cash en anglais, qui transcrit les propriétés des espèces sonnantes et trébuchantes dans le cyberespace. Toutefois, bien que cette conception remonte à l’émergence même d’Internet, elle n’a pas tout de suite pu voir le jour en raison de limitations techniques et conceptuelles. L’argent liquide numérique a fait l’objet d’une véritable quête, à laquelle ont participé de nombreux individus désireux d’utiliser Internet pour créer un nouveau paradigme économique, dont les cypherpunks.
Bitcoin est le résultat de cette quête. Il n’est pas sorti de nulle part : il est le fruit de réflexions, de recherches et d’expérimentations en tous genres. La découverte de Satoshi Nakamoto constitue ainsi une percée dans un domaine qui existait antérieurement.
L’échange monétaire sur Internet
Internet a généralisé le partage informationnel et, ce faisant, a créé un nouvel espace d’interactions humaines : le cyberespace. L’apparition de cet espace a naturellement mené à l’émergence d’une demande pour l’échange monétaire, demande qui s’est manifestée par le développement du commerce électronique dans les années 90. Comme le résumait très bien Robert Hettinga en 1998, la problématique était la suivante :
« Depuis l’invention du télégraphe, le règlement des transactions financières se heurte à un problème : comment faire des affaires à distance alors que le moyen le plus simple d’exécuter, de compenser et de régler une transaction est l’échange de certificats au porteur1 ? »
1 Robert A. Hettinga, Digital Bearer Settlement, avril 1998 : http://www.systemics.com/legal/digigold/discovery/postings/Geoecon.pdf.
2 Le terme « credit card » a été utilisé en 1888 par Edward Bellamy, écrivain et journaliste socialiste américain et précurseur du mouvement technocratique, dans son roman de fiction spéculative Looking Backward, pour désigner la carte de paiement des citoyens de sa supposée utopie. Ce type de carte s’est ensuite développé dans les années 1920–1930 aux États-Unis sous la forme de cartes délivrées indépendamment par Western Union, par les grands magasins, par les compagnies pétrolières et compagnies aériennes.
3 Sur les origines du réseau Visa, voir David L. Stearns, Electronic Value Exchange: Origins of the VISA Electronic Payment System, Springer, 2011. Le titre du livre est une référence au projet ambitieux de Dee Hock (le fondateur de Visa) de créer un protocole d’échange de valeur électronique (EVE) permettant d’effectuer l’intégralité des transactions sous forme électronique, ce qui donnerait lieu à « la genèse d’une nouvelle forme de monnaie mondiale ».
La première solution était d’utiliser du crédit bancaire. L’usage de celui-ci comme intermédiaire d’échange s’était progressivement généralisé en Occident avec la bancarisation de la société. Au cours du temps, une solution technique avait prévalu : la carte de paiement, aussi appelée carte de débit ou carte de crédit selon son fonctionnement. Cette solution n’avait pas constitué quelque chose de novateur2, mais s’était considérablement popularisée à partir des années 60, par le biais de l’adoption bancaire et de la formation de sociétés spécialisées dans le transfert électronique de fonds comme NBI / Visa et Interbank / MasterCard3.
Mais le paiement par carte bancaire n’était pas forcément adapté au cyberespace, car difficile à mettre en place, coûteux et peu sécurisé à l’époque. C’est pourquoi on a vu émerger différentes solutions techniques permettant de faire des paiements sur Internet au milieu des années 90, comme CyberCash, First Virtual ou Open Market. Des systèmes de micropaiements ont également fait leur apparition à l’instar de CyberCoin (géré par CyberCash), NetBill et MilliCent.
Ces systèmes ont fini par échouer, mais c’est dans cette niche que s’est développé le service PayPal à partir de 1999. Celui-ci était conçu pour être simple d’accès (PayPal signifie littéralement « payer copain ») : il permettait des paiements faciles et sans frais, entre adresses de courrier électronique. Son modèle économique se fondait sur la perception des intérêts liés à la conservation des fonds des clients en banque, afin de payer les coûts de fonctionnement et de rémunérer les actionnaires. C’était donc un service de troisième couche, bâti au-dessus du système bancaire, lui-même basé sur le système de monnaie centrale4.
4 Sur l’histoire des débuts du service PayPal, voir Eric M. Jackson, The PayPal Wars: Battles With Ebay, the Media, the Mafia, and the Rest of Planet Earth, World Ahead Pub., 2012.
En dépit des bonnes intentions de leurs créateurs, ces systèmes étaient complètement à la merci du régulateur. Ceux qui ont survécu se sont par conséquent engagés dans la surveillance et la censure, à un niveau jamais vu auparavant.
La deuxième solution pour échanger de la valeur sur Internet était d’émettre une nouvelle monnaie numérique, de manière centralisée, si besoin en l’adossant à une monnaie existante. Cette solution consistait à ne pas demander l’autorisation, en jouant sur le flou juridique qui pouvait exister dans un domaine relativement nouveau.
Les jeux vidéos en ligne massivement multijoueurs, dont les fameux MMORPG, ont contribué à installer l’idée de monnaie numérique indépendante dans les esprits. On peut penser au Token, la monnaie native de Habitat, l’un des premiers MMORPG graphiques, développé en 1985 par Lucasfilm Games et jouable sur Commodore 64. On peut aussi citer les cas des pièces de métaux précieux dans Everquest en 1999, du dollar Linden de Second Life en 2003 ou encore de l’or de World of Warcraft en 2004. Tous ces exemples prouvaient qu’une économie réelle pouvait émerger d’une monnaie virtuelle.
Un exemple anecdotique de ce type de système de monnaie numérique était le Hawthorne Exchange, lancé le 24 mars 1993 sur la liste de diffusion extropienne par un individu du nom de Brian Holt Hawthorne. Il s’agissait d’un marché de réputation pour les membres de la liste, dont l’unité de compte servant à l’échange était le Thorne. Le système était peu accessible et peu robuste, mais les extropiens l’ont utilisé et ont donné de la valeur au Thorne, par anticipation du futur. Quelques échanges monétaires contre du dollar et des services ont été réalisés entre les membres de la liste. Toutefois, le Hawthorne Exchange était simplement une expérimentation, le Thorne n’ayant aucune prétention à être une réelle monnaie, que son auteur a décidé d’arrêter en 94.
Un système bien plus sérieux est apparu en 1996 : e-gold. Comme décrit dans le chapitre 4, il s’agissait d’un modèle de monnaie en or numérique dont l’unité de compte était théoriquement adossée à de l’or. Le système reposait sur l’entreprise Gold & Silver Reserve Inc. fondée par Douglas Jackson, qui conservait l’or physique dans ses coffres. Il a connu un grand succès dans les années 2000 avant d’être fermé en 2007 par le Secret Service.
Toutefois, le problème avec ce type de monnaie était qu’il dépendait toujours d’une entité qui constituait un point de défaillance unique. Ainsi, même si les personnes qui le géraient n’étaient pas malintentionnées, ce type de système n’était pas robuste et ne pouvait pas perdurer à long terme.
La troisième solution de cybermonnaie était la conception d’un argent liquide électronique, confidentiel, non contrôlé et décentralisé. L’idée était de diminuer le rôle du tiers de confiance le plus possible pour que la monnaie en question se rapproche au mieux de l’argent liquide physique, de minimiser la confiance impliquée. Idéalement l’objectif était d’obtenir un « or numérique » qui soit à la fois « infalsifiable, sans inflation, et intraçable5 ».
5 Hadon Nash, Digital gold, 24/08/1993 20:23:30 UTC : https://cypherpunks.venona.com/date/1993/08/msg00698.html.
Les cypherpunks considéraient que ce type de monnaie numérique était quelque chose d’essentiel dans leur combat pour la liberté et la confidentialité. Ils prévoyaient en effet d’utiliser ce type d’unité de compte dans leurs projets, comme en témoignent les Cryptocredits de BlackNet ou le mojo de Mojo Nation. C’est donc tout naturellement qu’ils ont cherché à développer une telle monnaie.
Cependant, la conception d’un argent liquide numérique, d’une authentique cybermonnaie, n’était pas une tâche facile. La quête pour sa réalisation a mis de longues années avant d’aboutir. Et la première étape dans cette quête a été l’apparition de eCash, qui a eu le mérite de poser sur la table une proposition cohérente, répondant aux exigences des cypherpunks.
eCash : l’argent liquide chaumien
eCash est un concept de monnaie numérique confidentielle qui a été conçu par le cryptographe David Chaum dans les années 80 et qui a été mis en application au cours des années 90. Il a été décrit initialement par Chaum en 1982 avant d’être mis en avant en 1985 dans son article intitulé Security without Identification qui promettait de « rendre Big Brother obsolète6 ». Le modèle repose sur le mécanisme de signature aveugle, qui garantit la propriété de la monnaie et l’anonymat des échanges.
6 David L. Chaum, « Security without identification: transaction systems to make big brother obsolete », in Communications of the ACM, vol. 28, no. 10, octobre 1985, pp. 1030—1044 : https://www.cs.ru.nl/~jhh/pub/secsem/chaum1985bigbrother.pdf.
Le modèle eCash gère des billets numériques de différentes coupures qui peuvent être conservés par les utilisateurs. Les billets sont émis et remplacés par des serveurs appelés des banques (banks) ou des monnaieries (mints). Lorsqu’un billet est transféré, le destinataire l’envoie à sa banque qui se charge de le vérifier et de lui en redonner un autre. Les banques du système entretiennent chacune un registre des billets dépensés pour empêcher la double dépense. Le système est chapeauté par une autorité centrale qui délivre les habilitations.
L’émission d’un billet numérique utilise comme on l’a dit le mécanisme de signature aveugle. Pour l’utilisateur, il s’agit essentiellement de choisir un grand nombre et de le faire signer par sa banque, de manière à ce que ce nombre reste uniquement connu de lui. Le fonctionnement de ce procédé mathématique est analogue à la signature d’un billet physique en papier carbone représentant une quantité précise d’unités monétaires (coupure). Voici comment se passe la création d’un billet par Alice :
Alice crée un billet en papier carbone (en générant aléatoirement un très grand nombre \(x\)) ;
Alice place le billet dans une enveloppe fermée (en utilisant une fonction de commutation \(c\) qu’elle seule connaît) ;
Alice envoie l’enveloppe contenant son billet à la banque et lui communique la coupure souhaitée ;
La banque signe l’enveloppe en indiquant la quantité d’unités que le billet représente (la banque dispose d’une clé privée pour chaque coupure), ce qui a pour effet de signer le billet en papier carbone à l’intérieur ;
La banque renvoie l’enveloppe à Alice ;
Alice ouvre l’enveloppe pour récupérer son billet signé (en utilisant la fonction d’inversion \(c'\)) ;
Alice vérifie que la signature de la banque est authentique (en vérifiant qu’elle correspond à la clé publique de la banque liée à la coupure demandée).
Le transfert du billet signé se fait en le donnant à quelqu’un d’autre. Ainsi, le paiement de Bob par Alice pour un service rendu se compose des étapes suivantes : d’abord, Alice transmet le billet à Bob ; puis, Bob vérifie qu’il a bien été signé par la banque d’Alice ; ensuite, il envoie immédiatement le billet réceptionné à sa banque ; enfin, la banque de Bob vérifie que le billet n’a pas déjà été utilisé et, le cas échéant, signe un nouveau billet de la même coupure pour le donner à Bob.
Les billets numériques peuvent être émis pour eux-mêmes, auquel cas ils forment une monnaie de base. Mais ils peuvent également être adossés à une autre monnaie comme le dollar. Dans ce dernier cas, l’utilisateur peut à tout moment rendre ses billets à sa banque pour récupérer la somme correspondante.
La principale conséquence du procédé est qu’aucune banque du système ne peut relier le paiement à l’identité d’Alice. La banque d’Alice sait qu’un billet signé par elle a été dépensé, mais elle ne peut pas savoir de manière absolue qu’il s’agit d’un billet ayant appartenu à Alice. La banque de Bob sait que Bob a reçu le paiement et qu’il provient de la banque d’Alice, mais rien de plus. C’est pour cette raison qu’eCash peut être considéré comme un modèle respectueux de la vie privée.
Toutefois, cette confidentialité du système repose sur une supposition forte : la bienveillance des banques du système. En effet, si une banque voulait obtenir des informations liées à un billet particulier (par exemple sous la pression étatique), elle pourrait les demander à son propriétaire en échange de l’autorisation du transfert. On peut ainsi imaginer un système eCash qui respecte pleinement les normes de surveillance, comme le suggère l’implémentation de Chaum pour une MNBC conceptualisée en 20217.
7 David L. Chaum, Christian Grothoff, Thomas Moser, How to Issue a Central Bank Digital Currency, mars 2021 : https://www.snb.ch/n/mmr/reference/working_paper_2021_03/source/working_paper_2021_03.n.pdf.
Magic Money, les CyberBucks et les banques
Le concept d’eCash a été mis en application au cours des années 90. À l’époque, le Web venait tout juste d’apparaître, le commerce électronique était inexistant et cette idée constituait une formidable opportunité. Cette mise en œuvre a été réalisée d’abord par les cypherpunks par l’intermédiaire du protocole Magic Money, puis par la société de David Chaum, DigiCash, au moyen de jetons d’essai appelés les CyberBucks et d’un déploiement dans le système bancaire classique.
Le protocole Magic Money a été présenté sur la liste de diffusion des cypherpunks le 4 février 1994 par un développeur anonyme se faisant appeler Pr0duct Cypher et utilisant PGP pour s’identifier. Magic Money permettait de créer sa monnaie en faisant fonctionner un serveur de courrier électronique qui servait de monnaierie eCash8. Magic Money utilisait l’algorithme RSA et la signature aveugle, deux techniques qui étaient brevetées à l’époque, de sorte que son déploiement était de facto illégal et devait se confiner à l’expérimentation. Cette annonce a toutefois été accueillie favorablement sur la liste, notamment par Hal Finney.
8 « Magic Money est un système d’argent liquide numérique conçu pour être utilisé par courrier électronique. Le système est en ligne et intraçable. En ligne signifie que chaque transaction implique un échange avec un serveur, pour éviter les doubles dépenses. Intraçable signifie qu’il est impossible pour quiconque de retracer les transactions, de faire correspondre un retrait avec un dépôt, ou de faire correspondre deux pièces de quelque manière que ce soit. » – Pr0duct Cypher, Magic Money Digicash System, 04/02/1994 20:44:27 UTC : https://cypherpunks.venona.com/date/1994/02/msg00247.html.
9 Timothy C. May, Why Digital Cash is Not Being Used, 03/05/1994 19:48:18 UTC : https://cypherpunks.venona.com/date/1994/05/msg00155.html.
Le premier système basé sur Magic Money a été mis en ligne par Mike Duvos quelques semaines plus tard avec les Tacky Tokens, dont les pièces étaient émises en valeurs de 1, 2, 5, 10, 20, 50 et 100 unités. Malgré des propositions, aucune transaction réelle n’a été réalisée, ce qui a poussé Tim May à se demander « pourquoi l’argent liquide numérique [n’était] pas utilisé9 ». D’autres implémentations fantaisistes de Magic Money ont vu le jour par la suite, comme les GhostMarks, les DigiFrancs ou les NexusBucks, mais n’ont pas connu un plus grand succès. L’activité a très rapidement reculé au cours des semaines.
Le concept d’eCash a ensuite été mis en pratique par la société DigiCash B.V., fondée par David Chaum en 1990 et basée à Amsterdam aux Pays-Bas, qui avait pour mission de mettre en application les idées du cryptographe. Plusieurs cypherpunks ont travaillé pour cette entreprise comme Eric Hughes, Bryce Wilcox (le futur Zooko Wilcox-O’Hearn) et Nick Szabo. Après quelques années de développement, un prototype a été présenté en mai 1994 lors de la première conférence internationale sur le World Wide Web au CERN à Genève.
DigiCash a ensuite réalisé un essai qui a débuté le 19 octobre de cette année, avec l’émission de CyberBucks. Bien que leur nom fasse référence à la monnaie étasunienne (« a buck »), ceux-ci n’étaient pas adossés au dollar et possédaient donc un prix flottant par rapport à ce dernier. Une distribution initiale de 100 CyberBucks par nouvel utilisateur a été effectuée afin d’aider l’amorçage du système. Les cypherpunks se sont appropriés la chose en effectuant des échanges réels : la récompense pour la résolution d’un problème, la vente de t-shirts, la vente de logiciels, et bien sûr le change avec le dollar10. Divers commerçants acceptaient les CyberBucks dans le cadre de cette expérience.
10 Jim Crawley, « Electronic Cash », The Computists’ Weekly, vol. 5, no. 25, 11 juillet 1995 : https://www.nzdl.org/cgi-bin/library?e=d-00000-00---off-0tcc--00-0----0-10-0---0---0direct-10---4-------0-1l--11-ro-50---20-preferences---10-0-1-00-0--4----0-0-11-10-0utfZz-8-00&a=d&cl=CL2.5&d=HASH0199d48acda6ba6861de2d9e.2.
11 « Mark Twain est arrivée sur le marché avec de l’argent liquide numérique réel, et les gens ont complètement cessé d’échanger les certificats bêta. Je ne me souviens même pas du dernier prix de règlement, mais il s’agissait de quelques centimes de dollars. » – Robert Hettinga, e$: Interbank Digital Cash Clearing, Better Living through Walletware, Microintermediation, Net.Currencies and ECM, 3 juin 1996, archive : https://web.archive.org/web/19980204144728/http://www.shipwright.com/rants/rant_14.html.
Mais les CyberBucks ne constituaient qu’une monnaie d’essai, qui a périclité en octobre 1995 lorsque la Mark Twain Bank, une petite banque du Missouri, a lancé sa propre version du protocole en partenariat avec DigiCash. Contrairement à l’essai précédant, l’unité échangée était adossée au dollar étasunien. Bien que l’expérience des CyberBucks ne se soit pas techniquement arrêtée là, leur valeur s’est effondrée à cause de cette nouvelle11.
Par la suite, DigiCash a conclu des partenariats avec différentes banques pour s’inscrire dans le milieu financier traditionnel. Entre 1996 et 1998, six banques situées aux quatres coins du monde ont suivi la Mark Twain Bank : la Merita Bank en Finlande, la Deutsche Bank en Allemagne, l’Advance Bank en Australie, la Bank Austria en Autriche, la Den norske Bank en Norvège et le Crédit Suisse en Suisse. On lui promettait alors un avenir radieux12.
12 Antoine Champagne, « L’argent liquide numérique (crypto-curency) est né en 1995 : souvenirs », Reflets.info, 11 janvier 2014 : https://reflets.info/articles/l-argent-liquide-numerique-crypto-curency-est-ne-en-1995-souvenirs.
13 « Hoe DigiCash alles verknalde », Next! Magazine, 1 janvier 1999, archive : https://web.archive.org/web/19990427142412/https://www.nextmagazine.nl/ecash.htm. Une traduction (en anglais) est disponible à l’adresse https://cryptome.org/jya/digicrash.htm.
C’était toutefois sans compter sur le caractère de David Chaum, qui était têtu, suspicieux et souhaitait garder le contrôle sur son entreprise13. Ainsi, ce dernier a refusé des partenariats avec de grands acteurs comme ING et ABN AMRO (deux des trois plus grandes banques néerlandaises à l’époque), Visa, Netscape et Microsoft. Finalement, il a dû, sous pression des actionnaires et des employés, quitter son poste de PDG pour devenir directeur technique et céder sa place à Michael Nash, ancien employé de Visa, en 1997. Le siège social de DigiCash a été déménagé en Californie et l’entreprise est par conséquent devenue une société étasunienne.
Le 17 septembre 1998, la Mark Twain Bank (rachetée par la Mercantile Bancorporation en 1996) a annoncé abandonner eCash, ce qui a provoqué la fin de DigiCash. Le 3 novembre, l’entreprise est entrée en faillite et a été placée sous la protection du chapitre 11 aux États-Unis, de sorte que ses possessions ont été progressivement revendues au fil des années, dont ses brevets en 2002. Avec DigiCash, c’était le concept même d’eCash qui disparaissait de la circulation.
En 1999, Chaum a expliqué les raisons de l’échec de sa société, à savoir le manque d’adoption dû à la difficulté d’utilisation. Cette disparition a progressivement laissé les cartes de paiement et PayPal triompher.
La fin de DigiCash a ainsi laissé un vide sur le marché de l’argent liquide numérique. Mais la demande n’a jamais disparu, de sorte qu’on pouvait pressentir qu’il réapparaîtrait d’une façon ou d’une autre. Tel que le prédisait Milton Friedman, prix Nobel d’économie et fondateur de l’École de Chicago, en 1999, au micro de la National Taxpayers Union Foundation :
« Je pense qu’Internet va devenir l’une des forces majeures qui va réduire le rôle de l’État. La seule chose qui manque, mais qui sera bientôt développée, c’est un argent liquide électronique fiable, une méthode qui permette de transférer des fonds de A à B sur Internet sans que A connaisse B ou que B connaisse A14. »
14 Milton Friedman, Milton Friedman Full Interview on Anti-Trust and Tech (vidéo), 1999 : https://www.youtube.com/watch?v=mlwxdyLnMXM, 14:32.
libtech-l : révolutionner la monnaie
Après l’échec d’eCash en octobre 1998, l’idée d’un argent liquide numérique réel a progressivement été délaissée par les cypherpunks, qui se sont contentés pour la plupart des expériences de monnaie privée et des systèmes de paiement existants. Mais ce n’était pas le cas de tous les membres du mouvement. Un petit nombre d’entre eux s’est ainsi regroupé sur une liste de diffusion privée appelée libtech-l où ils ont pu parler de comment la monnaie évoluerait.
La liste libtech-l, créée en 1994 par Nick Szabo15, avait pour but, comme son nom l’indique, d’héberger des discussions sur les techniques libératoires, à même de protéger la liberté individuelle face à l’autorité, dans l’esprit des mouvements extropien et cypherpunk dont les membres étaient par ailleurs des participants. On pouvait y retrouver notamment les interventions des cypherpunks Wei Dai et Hal Finney, ainsi que celles des économistes Larry White et George Selgin. Ces cinq individus formaient le noyau dur de cette liste privée, dont émergeraient plusieurs idées de monnaie numérique.
15 [email protected] – Timothy C. May, Re: Regional Lists, 28/06/1994 05:48:50 UTC : https://cypherpunks.venona.com/date/1994/06/msg01156.html ; Timothy C. May, Cyphernomicon, 2.4.27.
16 Nick Szabo, Smart Contracts, 1994, archive : https://web.archive.org/web/20011102030833/http://szabo.best.vwh.net:80/smart.contracts.html.
Nicholas J. Szabo, dit Nick Szabo, était un informaticien américain d’origine hongroise. Extropien, puis cypherpunk, il s’était notamment illustré par son implication dans le combat contre la puce Clipper. En 1994, il avait formalisé la notion de smart contract, qu’il avait définie comme « un protocole de transaction informatisé qui exécute les termes d’un contrat16 », et l’avait approfondie dans les années qui ont suivi.
Nick Szabo avait une personnalité curieuse et éclectique, de sorte qu’il s’intéressait à une multitude de domaines, tels que l’informatique, l’économie, la politique et la biologie, et écrivait de manière prolifique à leur sujet17. Il avait un intérêt particulier pour le droit, dont il possédait une conception libérale et jusnaturaliste, un intérêt qui le pousserait par la suite à retourner étudier et à obtenir un diplôme dans la discipline en 2006.
17 On peut retrouver les écrits de Nick Szabo sur son ancienne page personnelle szabo.best.vwh.net et sur son blog Unenumerated débuté en 2005. – Archive de la page personnelle : https://web.archive.org/web/20160709091851/http://szabo.best.vwh.net/ ; Unenumerated : https://unenumerated.blogspot.com/.
18 Nick Szabo, Trusted Third Parties are Security Holes, 2001, archive : https://web.archive.org/web/20020423191203/http://szabo.best.vwh.net/ttps.html.
Il avait travaillé pendant six mois comme consultant pour DigiCash à Amsterdam vers 1995. Il y avait appris le rôle néfaste (et, finalement, fatal) des tiers de confiance. C’est de cette expérience que provenait son obsession pour la minimisation de la confiance, qu’il s’efforçait à mettre en valeur au sein de ses travaux18.
Hal Finney, comme déjà indiqué dans le chapitre précédent, était un informaticien et cryptographe qui vivait dans la région de Los Angeles. Extropien et cypherpunk de la première heure, il travaillait alors pour Phil Zimmermann sur le développement de PGP, officieusement depuis 1992, puis officiellement à partir de 1996. Hal Finney s’était aussi passionné pour les idées de David Chaum dont son fameux eCash19.
19 « Lorsque j’ai découvert les travaux de Chaum, j’ai été époustouflé. Le premier article que j’ai trouvé, je crois, était son article dans CACM, qui donnait un aperçu des nombreuses possibilités offertes. J’ai commencé à essayer de retrouver d’autres articles de Chaum. On y trouvait toutes les techniques nécessaires pour faire fonctionner le monde de Vinge, des techniques que Vinge connaissait apparemment déjà, bien avant moi. » – Hal Finney, Why remailers..., 16/11/1992 01:30:02 UTC : https://cypherpunks.venona.com/date/1992/11/msg00108.html.
20 Wei Dai, b-money, 26/11/1998 23:33:49 UTC, archive : https://web.archive.org/web/19990219124653/http://www.eskimo.com/~weidai/bmoney.txt.
Wei Dai était un jeune cryptographe sino-américain vivant à Seattle. Ayant fui la Chine communiste et émigré aux États-Unis avec ses parents à l’âge de 10 ans, il avait réussi à se faire une place dans le monde du travail et avait été rapidement engagé par Microsoft, où il avait participé à l’élaboration de plusieurs brevets. Il avait découvert le mouvement cypherpunk en 1994 et s’y était joint. Le jeune prodige avait contribué au domaine de la cryptographie notamment avec Crypto++, une bibliothèque de fonctions cryptographiques en C++, et Pipenet, un protocole de communication anonyme. Il s’était intéressé aux monnaies numériques et aux contrats autonomes à partir de 1995, et avait conceptualisé un modèle de crédit anonyme en 1997. En 1998, Wei Dai disait être « fasciné par la crypto-anarchie de Tim May », où « l’État [n’était] pas temporairement anéanti mais définitivement oublié et inutile » et où « la violence [était] impossible parce que ses participants ne [pouvaient] pas être reliés à leur vrai nom ou à leur localisation géographique20 ».
Lawrence H. White, dit Larry White, et George A. Selgin étaient deux économistes ayant été formés dans des universités prestigieuses. Ils étaient tous les deux inspirés par les idées de l’école autrichienne d’économie, sans pour autant y adhérer pleinement. Ils avaient été marqués par les travaux de Friedrich Hayek, et notamment par son ouvrage The Denationalization of Money publié en 1976 qui faisait l’apologie de la concurrence absolue dans le domaine monétaire et bancaire. C’est pourquoi, à partir des années 80, ils s’étaient évertués à promouvoir le système de la banque libre dans lequel des monnaies privées pourraient être librement émises par des sociétés financières, menant à un équilibre de marché.
Ces individus, présents sur la liste libtech-l, souhaitaient améliorer la monnaie. Ils avaient vu la chute de DigiCash et l’échec d’eCash, et étaient conscients des problèmes liés aux tiers de confiance. C’est ainsi que Wei Dai, Nick Szabo et Hal Finney ont tous les trois développé leur propre concept de monnaie numérique : Wei Dai a imaginé un concept appelé b-money, Nick Szabo a mis au point un modèle nommé bit gold et Hal Finney a construit le système RPOW.
Leurs projets se fondaient sur la notion de preuve de travail, une notion qui avait été mise en pratique en 1997 par Adam Back avec son algorithme Hashcash, dont le but initial était de fournir un moyen de lutter contre le courrier électronique indésirable21. Le cypherpunk britannique avait pensé à en faire la base d’une monnaie numérique, mais il avait conscience que les preuves de travail ainsi obtenues ne pouvaient pas être transférées d’une manière pleinement distribuée (à cause du problème de la double dépense) et qu’il fallait par conséquent passer par un système de monnaieries à la eCash22.
21 Pour une explication technique de la preuve de travail, se référer à la section dédiée dans le chapitre 8.
22 Adam Back, Re: Bypassing the Digicash Patents, 30/04/1997 09:09:37 UTC : https://cypherpunks.venona.com/date/1997/04/msg00822.html.
L’idée d’utiliser ce type de preuve de travail comme base de la devise était répandue. Par exemple, en 1996, Ronald Rivest et Adi Shamir avaient décrit MicroMint, un système de micropaiement centralisé dont les pièces devaient être impossibles à contrefaire grâce à la production de preuves de travail. Mais elle manquait d’un bon agencement qui puisse lui donner vie de manière robuste et durable.
Le concept b-money
Le premier concept de monnaie numérique à être sorti de la liste libtech-l était b-money, proposé par Wei Dai. Il s’agissait d’un concept de protocole décentralisé gérant une unité de compte du même nom, la b-money, dont la valeur était censée suivre le cours d’un panier de marchandises.
Wei Dai a travaillé sur son idée à partir de 1995. Comme il l’a expliqué par la suite, sa motivation était de « rendre possible l’établissement d’une économie en ligne qui soit purement volontaire, une économie qui ne puisse pas être taxée et réglementée par la menace de violence23 ».
23 Morgen E. Peck, « Bitcoin: The Cryptoanarchists’ Answer to Cash », IEEE Spectrum, 30 mai 2012 : https://spectrum.ieee.org/bitcoin-the-cryptoanarchists-answer-to-cash.
24 Wei Dai, PipeNet 1.1 and b-money, 26/11/1998 23:33:49 UTC : https://cypherpunks.venona.com/date/1998/11/msg00941.html.
Le texte descriptif de b-money a été publié le 26 novembre 1998 par Wei Dai sur sa page personnelle. Il en a fortuitement partagé le lien à la liste de diffusion cypherpunk dans un courriel où il décrivait b-money comme « un nouveau protocole d’échange monétaire et d’exécution des contrats pour les pseudonymes24 ».
Le texte était court (un peu plus de 1 000 mots) mais riche conceptuellement. Deux versions du protocole étaient décrites par Wei Dai. L’une était irréalisable mais simple, l’autre était plus complexe mais partait d’hypothèses plus réalistes.
Dans la première version du protocole, chaque participant faisait partie d’un réseau pair à pair intraçable. Chacun était identifié par un « pseudonyme numérique » (c’est-à-dire une clé publique) et chaque message transactionnel était signé par l’expéditeur et chiffré pour le destinataire. Chacun maintenait une base de données séparée qui recensait combien d’unités de b-money possédait chaque pseudonyme.
La création monétaire était ouverte à tous les participants et se faisait par preuve de travail en diffusant la solution d’un problème informatique connu et précédemment non résolu. Le nombre d’unités créées dépendait alors du coût de cet effort exprimé par rapport à un panier standard de marchandises, pouvant inclure des métaux précieux par exemple : lorsque son cours par rapport au panier de marchandises augmentait, les acteurs économiques déployaient plus de puissance de calcul pour abreuver le marché ; à l’inverse lorsque son cours baissait, les acteurs économiques étaient incités à utiliser moins de puissance de calcul, ce qui ralentissait la production de b-money. Il s’agissait donc d’un « stablecoin » décentralisé avant l’heure25.
25 Ce fonctionnement pour garantir la stabilité de la b-money ne manque pas de rappeler le stablecoin géré par Maker DAO sur Ethereum, appelé précisément le dai ! Plus tard, Wei Dai a reproché à Satoshi Nakamoto la politique monétaire fixe de Bitcoin, qui devait entraîner selon lui « une forte volatilité du prix qui impose un coût élevé pour ses utilisateurs ». – Wei Dai, Re: Bitcoins are not digital greenbacks, 20/04/2013 07:56 UTC : https://www.lesswrong.com/posts/P9jggxRZTMJcjnaPw/bitcoins-are-not-digital-greenbacks?commentId=3XvTroRzb23NpHQDc.
Le système offrait également la possibilité de créer et d’exécuter des contrats directement sur le réseau, grâce à un procédé rudimentaire de dépôt fiduciaire. Dans un contrat, les parties impliquées étaient contraintes de mettre en jeu une caution et de désigner un arbitre qui avait pour rôle d’intervenir en cas de litige. Sans résolution à l’amiable, c’était le réseau qui devait trancher selon les éléments diffusés, la position de l’arbitre étant en théorie privilégiée.
Dans la seconde version du protocole, le registre de propriété n’était plus conservé par tout le monde, mais uniquement par un sous-ensemble de participants appelés des serveurs. Les participants à une transaction devaient alors vérifier que leur transaction avait bien été traitée en envoyant des requêtes à un échantillon aléatoire de serveurs. Puisqu’il était nécessaire de faire confiance à ceux-ci dans une certaine mesure, un mécanisme économique de preuve d’enjeu était mis en place pour faire en sorte qu’ils restent honnêtes. Chaque serveur devait déposer un montant de b-money sur un compte spécial afin d’être pénalisé en cas de mauvaise conduite, et était en outre contraint de publier régulièrement sa création de monnaie et son registre.
Le concept de b-money présenté par Wei Dai était donc assez ingénieux pour l’époque. Toutefois, il n’était pas fonctionnel et présentait quelques défauts majeurs. D’abord, la première version du protocole était impossible à mettre en place à grande échelle, notamment parce qu’elle ne résistait pas à la multiplication excessive des identités (attaque Sybil), chacun pouvant ajouter facilement de nouveaux ordinateurs sur le réseau. Ensuite, la seconde version semblait plus réaliste, mais avait pour effet de centraliser le système en un petit nombre de serveurs, le rendant ainsi plus vulnérable aux attaques et à la corruption. Enfin, la stabilité par rapport à un panier de marchandises aurait requis ce qu’on appelle aujourd’hui un système décentralisé d’oracles, ce qui est un problème complexe à résoudre26.
26 Satoshi avait pensé lui-même au problème de l’oracle. Il écrivait ainsi en février 2009 : « Il n’y a en effet personne pour agir en tant que banque centrale ou réserve fédérale afin d’ajuster l’offre monétaire au fur et à mesure que le nombre d’utilisateurs augmente. Il aurait fallu qu’un tiers de confiance se charge de déterminer la valeur, car je ne sais pas comment un logiciel pourrait connaître la valeur des choses dans le monde réel. S’il existait un moyen astucieux de le faire, ou si nous voulions faire confiance à quelqu’un pour gérer activement l’offre monétaire afin de l’ancrer à quelque chose, les règles auraient pu être programmées à cet effet. » – Satoshi Nakamoto, Re: Bitcoin open source implementation of P2P currency, 18 février 2009 : https://p2pfoundation.ning.com/forum/topics/bitcoin-open-source?commentId=2003008:Comment:9562.
b-money a attiré l’attention des cypherpunks, et en particulier celle d’Adam Back. Néanmoins, Wei Dai n’a jamais implémenté son modèle, non seulement parce qu’il était dysfonctionnel, mais aussi à cause de sa désillusion à l’égard de la cryptoanarchie. Comme il l’a affirmé en 2014 :
« Je n’ai pris aucune mesure pour coder b-money. Cela a en partie été dû au fait que b-money n’était pas encore un modèle complètement réalisable. Mais si je n’ai pas continué à travailler sur ce modèle, c’est parce que j’étais un peu désenchanté par la cryptoanarchie au moment où j’ai fini d’écrire b-money, et que je ne prévoyais pas qu’un système comme celui-ci, une fois mis en œuvre, pourrait attirer autant d’attention et d’utilisation en dehors d’un petit groupe de cypherpunks inconditionnels27. »
27 Wei Dai, Re: AALWA: Ask any LessWronger anything, 15/03/2014 20:34 UTC : https://www.lesswrong.com/posts/YdfpDyRpNyypivgdu/aalwa-ask-any-lesswronger-anything?commentId=XKwphuwm366RegQ3d.
Le modèle bit gold
Le deuxième modèle qui a émergé de la liste libtech-l était le système bit gold. Celui-ci était censé gérer la création et les échanges d’une ressource virtuelle appelée le bit gold. Contrairement à l’e-gold qui était garanti par de l’or physique, ou la b-money indexée en théorie sur un panier de marchandises, le bit gold ne devait être adossé à aucun autre bien, mais posséder une rareté infalsifiable intrinsèque, et constituer ainsi un or intégralement numérique.
C’est au cours de l’année 1998 que Nick Szabo a développé son idée de bit gold, qu’il a décrite initialement sur libtech-l, avant d’héberger une ébauche de livre blanc en 1999 sur son site personnel28. Il a présenté bit gold au grand public en décembre 2005 dans un article publié sur son blog Unenumerated29. La logique derrière bit gold était de minimiser la confiance dans le but de reproduire autant que possible la cherté de production des métaux précieux dans le cyberespace.
28 Nick Szabo, Bit Gold: Towards Trust-Independent Digital Money, 2005, archive : https://web.archive.org/web/20140406003811/http://szabo.best.vwh.net/bitgold.html.
29 Nick Szabo, Bit gold, 29 décembre 2005 : https://unenumerated.blogspot.com/2005/12/bit-gold.html.
30 Le calcul de la preuve de travail dans bit gold ne passait pas par l’inversion partielle d’une fonction de hachage (Hashcash) mais par une secure benchmark function qui mesurait la difficulté du problème à résoudre sur une machine précise. Cela devait permettre d’approximer le niveau d’énergie utilisé. – Voir Nick Szabo, Intrapolynomial Cryptography, 1999, archive : https://web.archive.org/web/20011217091748/http://szabo.best.vwh.net/intrapoly.html.
L’élément central du protocole était que la création monétaire se faisait par preuve de travail : les morceaux de bit gold étaient créés grâce à la puissance de calcul des ordinateurs30. Chaque solution était calculée à partir d’une autre, ce qui conduisait à former une chaîne de preuves de travail. Les acteurs responsables de cette production étaient appelés des « mineurs » par Szabo.
La date et l’heure de production de ces preuves de travail étaient certifiées au moyen de serveurs d’horodatage multiples. Cette diversité, bien que peu satisfaisante, permettait de limiter le risque lié à un service particulier.
La garantie de la possession et des échanges se faisait par le biais d’un registre public de titres de propriété. Les utilisateurs étaient identifiés par leur clé publique et signaient les transactions grâce à leur clé privée. Le registre était vérifié et maintenu par un réseau de serveurs appelé « club de propriété », serveurs qui se mettaient d’accord par un algorithme de consensus : le Byzantine Quorum System de Malkhi et Reiter. Ainsi, n’importe qui pouvait se référer à ce registre pour connaître le propriétaire d’un morceau de bit gold.
Il est intéressant de noter que les trois éléments constitutifs de bit gold – les preuves de travail, leurs horodatages et le registre de propriété – étaient séparés. En particulier, ils étaient pris en charge par des acteurs différents : les mineurs, les serveurs d’horodatage et les membres du club de propriété. Plus tard, dans Bitcoin, ces trois éléments seraient combinés en un seul et même concept : la chaîne de blocs.
Malgré sa volonté de minimiser la confiance, le système imaginé par Szabo possédait quelques problèmes conceptuels. Tout d’abord, la façon dont étaient produits les morceaux de bit gold faisaient qu’ils n’étaient pas fongibles, c’est-à-dire qu’ils ne pouvaient pas être mélangés entre eux, et devaient donc être évalués sur un marché, de sorte à pouvoir être utilisés pour servir de base à une réelle unité de compte homogène. Ensuite, bit gold faisait usage de serveurs d’horodatage centralisés, qui formaient des points de défaillance uniques non négligeables. Enfin, le système reposait sur un algorithme de consensus dit « classique » qui requérait que les membres du club de propriété soient choisis à l’avance, qu’ils soient connus de tous, et que 66 % d’entre eux se comportent correctement.
À l’époque, bit gold était pensé comme un système de règlement permettant de gérer une monnaie de réserve rare, et au-dessus duquel serait construite une économie bancaire libre, si possible utilisant le modèle chaumien. Nick Szabo a longtemps réfléchi à comment mettre en application son idée, redemandant même de l’aide en avril 2008 dans un commentaire sur son blog31. Szabo n’a jamais pu mettre en œuvre son concept, contrairement à Hal Finney qui a essayé au moyen de son système RPOW.
31 « [Bit gold] bénéficierait grandement d’une démonstration, d’un marché expérimental (avec par ex. un tiers de confiance pour se substituer à la sécurité complexe nécessaire au système réel). Quelqu’un veut m’aider à en programmer une ? » – Nick Szabo, Re: Bit gold markets, 10 avril 2008, archive : https://web.archive.org/web/20171227190431/http://unenumerated.blogspot.com/2008/04/bit-gold-markets.html?showComment=1207799580000#c3741843833998921269.
Le système RPOW
Hal Finney a repris le concept de Nick Szabo et l’a simplifié pour l’implémenter dans un système inédit : celui des preuves de travail réutilisables ou Reusable Proofs of Work, abrégées en RPOW, qu’il a décrit le 15 août 2004. Ce système se basait sur un serveur transparent qui permettait de rendre transférables les preuves de travail produites par Hashcash. Ainsi, le modèle de sécurité ne venait pas d’un réseau distribué comme dans les cas de b-money et de bit gold32.
32 Voir Hal Finney, RPOW Theory, 15 août 2004, archive : https://web.archive.org/web/20040815154951/http://rpow.net/theory.html.
Dans ce système, les jetons de preuve de travail réutilisable étaient gérés par un serveur qui se chargeait de les signer à l’aide du chiffrement RSA. Ils étaient fabriqués par la production d’une preuve de travail via Hashcash, ou bien à partir d’un jeton de RPOW précédent. Chaque jeton de RPOW se composait d’une valeur (définie comme une puissance de 2) et des données relatives à la signature du serveur. Un utilisateur pouvait par conséquent vérifier lui-même l’intégrité du jeton.
Le système RPOW reposait sur l’utilisation d’un serveur central qui s’occupait de détruire et de recréer les preuves de travail impliquées dans chaque opération, notamment en vérifiant qu’elles ne faisaient pas l’objet d’une double dépense. Afin d’assurer la divisibilité de l’unité de compte, le système permettait de séparer une RPOW en plusieurs RPOW de valeur moindre et de combiner plusieurs RPOW pour en obtenir une seule.
Lors d’un paiement, l’expéditeur donnait ses jetons de RPOW au destinataire, qui s’empressait de communiquer avec le serveur pour recevoir un ou plusieurs nouveaux jetons, dont la valeur globale était égale à la valeur en entrée. Le fonctionnement des RPOW était ainsi similaire à celui des billets numériques dans eCash : les jetons de RPOW reposaient sur les informations qu’ils contenaient et pouvaient être transférés de manière confidentielle, mais chaque transaction demandait d’interagir avec le serveur pour garantir l’absence de double dépense.
Le modèle de sécurité reposait sur le type de serveur mis en place : il s’agissait d’un « serveur transparent33 » utilisant le cryptoprocesseur IBM 4758 Secure Cryptographic Coprocessor, un cryptoprocesseur de haute sécurité résistant aux falsifications, qui permettait, par un procédé d’authentification conçu par IBM, de vérifier quels programmes étaient exécutés sur la machine. De cette manière, un utilisateur externe pouvait s’assurer à tout instant que le serveur RPOW faisait fonctionner le bon programme, dont le code était par ailleurs disponible publiquement.
33 Hal Finney, RPOW Security, 15 août 2004, archive : https://web.archive.org/web/20040815154806/http://rpow.net/security.html.
Avec son système RPOW, Hal Finney tentait ainsi de réduire la confiance requise à un minimum. Le système était confidentiel dans le sens où l’utilisateur n’avait jamais à s’identifier auprès du serveur et pouvait communiquer avec lui de manière chiffrée. La transparence du serveur permettait, autant que faire se peut, de s’assurer que le système n’était pas corrompu. En particulier, on pouvait rigoureusement supposer que la quantité de jetons de RPOW dépendait d’une production réelle de preuves de travail, propriété qui permettait d’assimiler les jetons de RPOW à de l’or. Il s’agissait, en somme, d’une mise en œuvre partielle du bit gold de Nick Szabo.
Le système a été lancé en production le même jour que sa description, le 15 août 2004. Hal Finney l’a annoncé sur la liste des cypherpunks et l’annonce a été retransmise sur la liste de Metzdowd.com par Robert Hettinga. Le système a été mis à jour plusieurs fois pour améliorer son fonctionnement et est resté opérationnel pendant des mois.
Hal Finney a présenté son système à la CodeCon 2005 organisée à San Francisco. Il y a fait part des usages qu’il envisageait pour RPOW à savoir le transfert de la valeur, la régulation du courrier indésirable (dans la droite lignée de Hashcash), le commerce dans les jeux vidéos, le jeu d’argent en ligne comme le poker, et l’anti-parasitisme sur les protocoles de partage de fichiers comme BitTorrent34. Fidèle à son optimisme, Hal Finney envisageait un avenir prometteur pour RPOW et comptait notamment multiplier le nombre de serveurs autour du monde, une fois que son déploiement initial serait réalisé.
34 Hal Finney, Reusable Proofs of Work, 1 février 2005, archive : https://web.archive.org/web/20050204193327/http://rpow.net/slides/slide001.html.
Toutefois, RPOW présentait des défauts intrinsèques qui peuvent expliquer pourquoi il n’a pas rencontré le succès escompté. L’inconvénient majeur était son modèle de sécurité qui démontrait une certaine faiblesse : le ou les serveurs devaient être connus et pouvaient être arrêtés facilement, de sorte qu’ils constituaient des points de défaillance unique. De plus, un autre inconvénient venait de sa politique monétaire qui, bien que théoriquement viable, n’était pas spécialement attractive en raison de la hausse exponentielle des performances informatiques.
De ce fait, l’utilisation réelle de RPOW a été anecdotique. Le système était loin d’être parfait et ne pouvait pas, de toute évidence, devenir un système monétaire solide. Toutefois, il a eu le mérite de constituer une preuve de concept expérimentale, quatre ans avant Bitcoin.
Le projet Ripple
Les cypherpunks n’étaient pas les seuls à essayer de construire des systèmes distribués qui puissent servir à l’échange monétaire. C’était le cas du développeur canadien Ryan Fugger, qui en 2004 a conçu un protocole de crédit distribué du nom de Ripple. Ce protocole s’inspirait du concept du système d’échange local (SEL) imaginé par Michael Linton dans les années 1980. Fugger lui-même avait participé à un tel système à Vancouver avant de concevoir Ripple. Son invention était ainsi un pur produit du localisme monétaire.
Ryan Fugger a publié le livre blanc de Ripple en 200435. Le concept se fondait sur l’idée que la monnaie était essentiellement constituée de reconnaissances de dette (IOUs), c’est-à-dire de crédit.
35 Ryan Fugger, Money as IOUs in Social Trust Networks & A Proposal for a Decentralized Currency Network Protocol, version 2, 18 avril 2004, archive : https://web.archive.org/web/20060221162102/http://ripple.sourceforge.net/decentralizedcurrency.pdf.
Le système Ripple s’établissait sur un réseau pair à pair dont les liens étaient des relations de crédit entre des personnes. Chaque relation était composée de deux paramètres : la dette existante, qui indiquait combien une partie devait à l’autre, et la dette potentielle, qui prenait en compte la propension à prêter et à emprunter des deux parties. Ripple constituait ainsi un système où tous les participants étaient des banquiers. Concernant la monnaie de base, le protocole pouvait gérer de multiples unités de compte (du dollar, de l’euro ou même des heures de travail), mais celles-ci devaient être converties pour être transférées dans une autre devise.
Dans Ripple, les paiements se faisaient par le routage d’une série d’emprunts. En supposant des relations de confiance entre Alice et Bob, Bob et Carole, et Carole et David, Alice réalisait un paiement de 10 $ vers David en prêtant 10 $ à Bob, et en demandant à Bob de faire de même auprès de Carole, puis à Carole de faire de même auprès de David. Le compte de David était alors crédité de 10 $ issus de la création monétaire d’Alice. Ce fonctionnement par propagation du crédit au sein d’un réseau de confiance explique le nom du projet, le mot ripple signifiant ondulation en anglais.
La compensation se faisait par la découverte de cycles de crédit dans le réseau. Si Bob devait 5 $ à Alice, Carole 5 $ à Bob et Alice 5 $ à Carole, alors leurs dettes mutuelles disparaissaient, ce qui permettait à tous les acteurs d’avoir une capacité d’emprunt plus grande pour recevoir de futurs paiements. Une dette pouvait également être éteinte par son règlement entre les deux parties dans l’unité de compte indiquée.
En 2006, dans l’idée de faire progresser son projet, Ryan Fugger a mis en ligne une preuve de concept appelée Ripplepay. Celle-ci était basée sur un serveur central (ripplepay.com) et permettait aux utilisateurs de se connecter avec une simple adresse de courrier électronique. Ryan Fugger a également créé un Google Group en janvier 2007.
Malgré l’enthousiasme de sa communauté et quelques milliers d’utilisateurs, Ripple possédait des défauts inhérents à son fonctionnement distribué. En particulier, il souffrait du « problème de l’engagement décentralisé36 » : durant un paiement, les participants ne pouvaient pas s’engager d’une façon sûre pour assurer la chaîne de prêts37.
36 fiatjaf, Ripple and the problem of the decentralized commit, 17/10/2020 13:56 UTC : https://fiatjaf.com/3cb7c325.html.
37 Ce problème a été résolu d’une certaine manière par le réseau Lightning qui possède la même structure que Ripple, à l’exception que l’unité échangée n’est pas du crédit à proprement parler. – Voir fiatjaf, The Lightning Network solves the problem of the decentralized commit, 19/10/2020 19:09 UTC : https://fiatjaf.com/e3624832.html.
Voyant que son implémentation n’allait nulle part, Ryan Fugger a laissé les rênes de son projet entre les mains des dirigeants de l’entreprise OpenCoin Inc., Chris Larsen et Jed McCaleb, en novembre 2012, qui l’avaient approché quelques mois plus tôt. Ces derniers voulaient combiner son idée avec un nouvel algorithme de consensus, développé par Jed, David Schwartz et Arthur Britto. Le résultat a été sensiblement différent du concept initial, faisant intervenir une unité de compte native, le XRP, et étant bien plus centralisé et contrôlé que ce qu’on attendrait d’un protocole de crédit universel. La société OpenCoin a été rebaptisée Ripple Labs en 2013. Ryan Fugger a finalement modifié le nom de sa preuve de concept en Rumplepay en 2020 pour éviter la confusion.
Vers Bitcoin
Tous ces concepts de monnaie numérique ont, directement ou indirectement, mené à Bitcoin, soit parce que Satoshi Nakamoto avait connaissance de ces projets, soit parce qu’il partageait les mêmes références que leurs inventeurs. Bitcoin constituait en effet l’aboutissement de ces tentatives de construire une forme de monnaie numérique native du cyberespace.
Tout d’abord, Satoshi Nakamoto était pleinement familier de l’eCash de David Chaum et avait de toute évidence lu les échanges des cypherpunks à son sujet. Dans le livre blanc de Bitcoin, il y faisait clairement référence au moment d’aborder le problème de la double dépense tout en utilisant le terme mint (traduit ici par monnaierie), qui était un vocable courant parmi les cypherpunks pour désigner les banques chaumiennes :
« Une solution courante consiste à introduire une autorité centrale de confiance, ou monnaierie, qui vérifie chaque transaction pour s’assurer qu’il n’y a pas de double dépense38. »
38 Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System, 31 octobre 2008.
De plus, Satoshi Nakamoto a explicitement reconnu la faiblesse de eCash dans ses interventions publiques et privées. Ainsi, dans un courriel adressé à la liste de diffusion p2p-research en février 2009, il réagissait à la comparaison entre Bitcoin et eCash par Martien van Steenbergen en disant :
« Bien sûr, la plus grande différence est l’absence de serveur central. C’était le talon d’Achille des systèmes chaumiens : lorsque l’entreprise centrale fermait ses portes, la monnaie disparaissait39. »
39 Satoshi Nakamoto, [p2p-research] Re: Bitcoin open source implementation of P2P currency, 12/02/2009 19:01:24 UTC : https://diyhpl.us/~bryan/irc/bitcoin-satoshi/p2presearch-again/p2pfoundation.net/backups/p2p_research-archives/2009-February.txt.gz.
En privé, il écrivait aussi à Dustin Trammell en 2009 :
« Je pense qu’il y avait beaucoup plus de gens qui étaient intéressés [par la monnaie électronique] dans les années 90, mais après plus d’une décennie d’échecs de systèmes basés sur des tiers de confiance (Digicash, etc.), ils considèrent qu’il s’agit d’une cause perdue. J’espère qu’ils sauront distinguer que c’est la première fois, à ma connaissance, que nous essayons un système qui n’est pas fondé sur la confiance40. »
40 Satoshi Nakamoto, Re: Bitcoin v0.1 released, 13/01/2009 07:55:20 UTC, archive : http://web.archive.org/web/20131204164149/http://www.dustintrammell.com/files/Satoshi_Nakamoto.zip. – Il a fait une remarque similaire sur le forum de la Fondation P2P. Voir Satoshi Nakamoto, Re: Bitcoin open source implementation of P2P currency, 15 février 2009 : https://p2pfoundation.ning.com/forum/topics/bitcoin-open-source?commentId=2003008:Comment:9493.
41 Gwern Branwen, Wei Dai/Satoshi Nakamoto 2009 Bitcoin emails, 17 mars 2014 : https://gwern.net/doc/bitcoin/2008-nakamoto.
La dernière référence au modèle de Chaum était la première version du livre blanc datant du mois d’août 2008 qui s’intitulait de façon limpide « Electronic Cash Without a Trusted Third Party » (« Un argent liquide électronique sans tiers de confiance » en français) et dont le nom du fichier était ecash.pdf41.
Satoshi Nakamoto s’était donc clairement intéressé à eCash avant de concevoir Bitcoin. Toutefois, ce n’était pas le cas des concepts de b-money, bit gold et RPOW, dont il n’avait vraisemblablement pas connaissance en 2007. Ces systèmes ont cependant joué un rôle indirect dans l’histoire de Bitcoin.
Comme raconté dans le chapitre 1, dans sa préparation à la publication de son concept en août 2008, Satoshi est rentré en contact avec Adam Back, qui l’a renvoyé vers Wei Dai, car le britannique avait remarqué les similitudes de Bitcoin avec b-money. C’est à ce moment-là que Satoshi a ajouté la référence à b-money au livre blanc.
Satoshi a appris l’existence du modèle bit gold imaginé par Szabo plus tard, probablement grâce à la première intervention de Hal Finney sur la liste de diffusion le 7 novembre 2008. Ce dernier a instantanément noté la similarité entre Bitcoin et le système de Szabo :
« Je crois aussi qu’il y a une valeur potentielle dans une forme de jeton infalsifiable dont le taux de production est prévisible et ne peut pas être influencé par des acteurs corrompus. Un tel jeton serait plus comparable à l’or qu’aux monnaies fiat. Nick Szabo a décrit il y a plusieurs années un concept qu’il appelait “bit gold”, et il pourrait s’agir d’une mise en œuvre de cette idée42. »
42 Hal Finney, Bitcoin P2P e-cash paper, 07/11/2008 23:40:12 UTC : https://www.metzdowd.com/pipermail/cryptography/2008-November/014827.html.
La référence à bit gold a fini par être ajoutée sur la page web de Bitcoin.org au début de l’année 2009, aux côtés du lien vers le texte descriptif de b-money.
Satoshi Nakamoto a reconnu a posteriori la ressemblance de ces deux concepts avec son propre modèle. Le 20 juillet 2010, au sein d’une discussion sur le forum parlant de la possible suppression de l’article concernant Bitcoin par Wikipédia, il écrivait pour montrer le sérieux du projet :
« Bitcoin est une implémentation de la b-money proposée par Wei Dai sur la liste de diffusion des Cypherpunks en 1998 et du Bitgold proposé par Nick Szabo43. »
43 Satoshi Nakamoto, Re: They want to delete the Wikipedia article, 20/07/2010 18:38:28 UTC : https://bitcointalk.org/index.php?topic=342.msg4508#msg4508.
Cette phrase, censée démontrer l’inscription de Bitcoin dans l’histoire de la monnaie numérique, est restée gravée dans les esprits, à tel point que la b-money et le bit gold sont régulièrement cités comme des précurseurs de la cryptomonnaie.
En revanche, Satoshi Nakamoto n’a jamais indiqué à une seule occasion qu’il connaissait le système RPOW de Hal Finney44. Celui-ci n’était après tout qu’un modèle eCash basé sur la preuve de travail, dont le serveur central avait la particularité d’être transparent aux yeux des utilisateurs. Néanmoins, Hal Finney a joué un rôle majeur dans les débuts de Bitcoin et a évoqué son système en 2013 sur Bitcointalk45, de sorte que RPOW est aujourd’hui lui aussi considéré comme un prédécesseur de la découverte de Satoshi.
44 Satoshi Nakamoto a en réalité fait mention de RPOW à Martti Malmi dans un courriel privé qui a été rendu public en février 2024. Voir Satoshi Nakamoto, Re: Bitcoin, 21/07/2009 03:14:43 UTC : https://mmalmi.github.io/satoshi/#email-24. (Note de janvier 2025.)
45 « Je m’intéressais depuis longtemps aux systèmes de paiement cryptographiques. De plus, j’avais eu la chance de rencontrer et de correspondre longuement avec Wei Dai et Nick Szabo, qui sont généralement reconnus pour avoir créé des idées qui allaient se concrétiser avec Bitcoin. J’avais tenté de créer ma propre monnaie basée sur la preuve de travail, appelée RPOW. J’ai donc trouvé Bitcoin fascinant. » – Hal Finney, Bitcoin and me, 19/03/2013 20:40:02 UTC : https://bitcointalk.org/index.php?topic=155054.msg1643833#msg1643833.
La proximité des idées de ces trois hommes avec Bitcoin est étonnante de prime abord, si bien que beaucoup ont spéculé que Satoshi Nakamoto était l’un ou plusieurs d’entre eux. Ces hommes, qui ont avoué avoir découvert l’existence de Bitcoin assez rapidement (Wei Dai lorsque Satoshi l’a contacté en août 2008, Hal Finney lors de la publication du livre blanc, Nick Szabo courant 2009), avaient le profil pour avoir imaginé le concept, malgré quelques éléments contradictoires. Cependant, ils ont tous les trois démenti la chose.
Le dernier projet de monnaie numérique qui a marqué l’histoire de Bitcoin est le projet Ripple de Ryan Fugger. Même si celui-ci ne ressemblait pas vraiment à Bitcoin, il a néanmoins eu son influence sur le développement de ce dernier. Satoshi Nakamoto connaissait en effet Ripple. En février 2009, sur la liste de diffusion de la Fondation P2P, il répondait à Martien van Steenbergen qui y faisait référence :
« En ce qui concerne les systèmes de confiance, Ripple est unique en ce qu’il répartit la confiance plutôt que de la concentrer46. »
46 Satoshi Nakamoto, [p2p-research] Re: Bitcoin open source implementation of P2P currency, 13/02/2009 02:31:20 : https://diyhpl.us/~bryan/irc/bitcoin-satoshi/p2presearch-again/p2pfoundation.net/backups/p2p_research-archives/2009-February.txt.gz.
47 Satoshi Nakamoto, Re: Questions about BitCoin, 12/04/2009 20:44 UTC : https://plan99.net/~mike/satoshi-emails/thread1.html.
Le deuxième lien entre Ripple et Bitcoin est l’implication du développeur Mike Hearn. Ce dernier s’était intéressé au Ripple de Ryan Fugger dès ses débuts et, en 2007, il avait été l’une des premières personnes à intervenir sur le Google Group nouvellement créé. En découvrant Bitcoin en avril 2009, Hearn n’a ainsi pas pu s’empêcher de demander à Satoshi Nakamoto ce qu’il pensait de ce modèle alternatif, et ce dernier lui a alors répondu que Ripple était « intéressant » dans la mesure où c’était « le seul autre système qui [faisait] quelque chose de la confiance en dehors de la concentrer au sein d’un serveur central47 ».
Mais Ripple différait sensiblement de Bitcoin, en particulier par le fait qu’il constituait, à proprement parler, un système de crédit distribué et non pas une monnaie de base décentralisée. C’est ce qui a éloigné Ryan Fugger, qui ne voyait pas « pourquoi un bitcoin aurait une quelconque valeur, puisqu’il n’y avait apparemment rien pour le garantir », mais qui s’est finalement rendu à l’évidence que le modèle de Satoshi Nakamoto était « une excellente idée48 ».
48 Ryan Fugger, Re: Is the cryptocurrency Bitcoin a good idea?, 17/05/2011 07:44:33 UTC : https://www.quora.com/Is-the-cryptocurrency-Bitcoin-a-good-idea/answer/Ryan-Fugger.
Bitcoin ajoutait donc la dernière pierre à l’édifice de l’argent liquide électronique. Il apportait enfin une technique permettant de construire une monnaie numérique réellement solide et durable. Le 26 janvier 2009, Zooko Wilcox-O’Hearn témoignait de cette volonté dans un article de blog, qui serait relayé quelques semaines plus tard sur Bitcoin.org. En voici le texte intégral :
« Depuis quelque temps, je réfléchis à la manière dont des services de jeux comme World of Warcraft et Second Life (qui prétend ne pas être un jeu) ont réussi là où nous, à DigiCash, avons échoué : développer un argent liquide numérique programmable, pratique et largement utilisé. Le problème est que toute nouvelle monnaie de ce type est contrôlée de manière centralisée par une seule entité, ce qui limite le champ d’action des gens qui dépendent d’elle et la valeur qu’ils sont prêts à risquer dessus. Certaines pistes sont évoquées pour faciliter le change entre les monnaies, mais cette approche ne résoudra pas le problème. Une pléthore de services centralisés concurrents n’est pas la même chose qu’un service décentralisé. Même s’il était bon marché et commode d’échanger des LindenBucks contre de l’or de WoW, on ne ferait que revenir à l’équivalent des monnaies des États-nations modernes : des monnaies essentiellement centralisées (en raison de l’effet de réseau), lourdement taxées / réglementées / manipulées, et sujettes à des effondrements désastreux. Ce que je veux, c’est une monnaie que tout le monde puisse utiliser de manière pratique et peu coûteuse, mais que personne n’ait le pouvoir de manipuler. Je veux que personne n’ait le pouvoir de gonfler ou de dégonfler la masse monétaire ; que personne n’ait le pouvoir de surveiller, de taxer ou d’empêcher les transactions. Un véritable équivalent numérique de l’or, dans les périodes et les lieux où l’or était la monnaie universelle. Voyez l’idée de BitGold de Nick Szabo et l’idée de b-money de Wei Dai, ainsi que la récente tentative de mettre en œuvre un système de ce genre : le BitCoin de Satoshi Nakamoto49. »
49 Zooko Wilcox-O’Hearn, Decentralized Money, 26 janvier 2009, archive : https://web.archive.org/web/20090303195936/http://testgrid.allmydata.org:3567/uri/URI:DIR2-RO:j74uhg25nwdpjpacl6rkat2yhm:kav7ijeft5h7r7rxdp5bgtlt3viv32yabqajkrdykozia5544jqa/wiki.html#%5B%5BDecentralized%20Money%5D%5D.
L’aboutissement d’une quête
La conception de Bitcoin a ainsi constitué la conclusion logique de la quête de l’argent liquide numérique. D’une part, il exploitait des techniques envisagées précédemment, comme la signature numérique, l’horodatage et la preuve de travail. D’autre part, il s’inscrivait dans une lignée de systèmes ingénieux qui n’avaient pas rencontré le succès escompté à cause de leurs défauts intrinsèques, à l’instar de eCash, de b-money, de bit gold, du système RPOW et du projet Ripple.
La particularité de Bitcoin était qu’il résolvait le problème de la double dépense sans reposer sur un tiers de confiance, d’une manière jamais vue auparavant. Sa robustesse et sa simplicité permettaient d’enfin disposer d’une cybermonnaie solide et durable, qui puisse résister aux aléas de la réalité. Bitcoin représentait le Saint Graal de la monnaie numérique, trouvé par Satoshi Nakamoto en 2007 et offert au monde le 31 octobre 2008.