DigiCash & eCash : les cyberbucks de David Chaum (1982-90)
Comme nous l’avons vu dans l’article précédent, Bitcoin n’est pas sorti de nulle part et a émergé d’un contexte général mêlant technique, idéologie et expérimentations. Aujourd’hui, nous allons nous intéresser à la première expérimentation de monnaie électronique à grande échelle : le système eCash de David Chaum. Formalisé en 1982, ce système a été mis en application pendant les années 1990 par l’entreprise DigiCash.
Cliquez ici pour lire le précédent opus »
David Chaum, le précurseur des cypherpunks
David Chaum est un informaticien et cryptographe américain né en 1955. Il est connu pour avoir été un pionnier de la recherche sur les communications anonymes et pour avoir été le premier à conceptualiser l’argent liquide numérique.
Sa contribution au monde de l’informatique commence à la fin des années 1970, lorsqu’il réalise sa thèse de doctorat à l’université de Californie à Berkeley. Cette dernière, qui sera publiée en 1982 sous le titre “Computer Systems Established, Maintained and Trusted by Mutually Suspicious Groups”, présente un système de coffres (vaults) multiples qui rappelle la façon dont la chaîne de blocs de Bitcoin est gérée. Comme le titre l’indique, le but est d’arriver à un consensus au sein d’un ensemble d’acteurs ne se faisant pas confiance, ce qui préfigure le problème des généraux byzantins énoncé en juillet 1982.
En 1981, David Chaum publie l’article “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms” dans lequel il pose les fondations pour la recherche dans le domaine des communications anonymes. Basé sur la cryptographie asymétrique, la méthode décrite dans ce papier est destinée à être appliquée au courrier électronique ou aux élections.
Un an après, il participe à la fondation de l’International Association for Cryptologic Research (IACR) lors de la conférence annuelle sur la cryptologie CRYPTO ’82. Cette dernière aura pour rôle de soutenir la recherche dans le domaine en organisant des conférences et en éditant le Journal of Cryptology.
Pendant l’année 1982, David Chaum publie aussi un papier intitulé “Blind signatures for untraceable payments” dans lequel il formalise un concept de monnaie électronique anonyme, concept qui deviendra par la suite la base théorique de eCash. Ce papier décrit aussi un procédé de signature aveugle (blind signature), dont les applications vont au-delà du simple paiement : aujourd’hui, ce procédé est notamment utilisé au sein de protocoles de mélange de bitcoins comme le protocole ZeroLink implémenté dans le portefeuille Wasabi.
Ainsi, les contributions de David Chaum dans le domaine de la cryptographie et des monnaies numériques font de lui un précurseur des cypherpunks, dont le mouvement ne sera créé qu’une décennie plus tard, en 1992. De par sa conception du respect de la vie privée, il préfigurait l’obsession des crypto-anarchistes pour l’anonymat, sans pour autant faire preuve de la même radicalité qu’eux. De plus, tout comme les cypherpunks, il a “écrit du code” pour appliquer ses idées au monde réel, notamment au travers de son entreprise, DigiCash, qui a mis en place eCash.
Comment fonctionnait eCash ?
eCash est un système de monnaie électronique qui fonctionne sur Internet, et qui exploite les idées développées par David Chaum dans les années 80. Plus qu’une monnaie électronique, il s’agit surtout d’argent liquide (cash) en garantissant un certain anonymat. Tel que l’a dit David Chaum en 1996 :
« eCash est une forme numérique d’argent liquide sur Internet, où l’argent liquide papier ne peut pas exister. […] Comme le liquide, il offre aux consommateurs un réelle possibilité de cacher ce qu’ils achètent. »
Comme on l’a dit, eCash utilise un procédé de signature aveugle permettant de créer une monnaie électronique. Ce procédé permet à un signataire de signer quelque chose sans voir ce qu’il signe et sans pour autant qu’il signe n’importe quoi. Pour illustrer la chose, prenons une situation où Alice souhaite payer Bob. Pour ce faire, Alice doit passer par deux étapes : la création d’un billet numérique (analogue à un billet physique en papier carbone) signé par une banque eCash ; et le paiement à Bob en transmettant ce billet.
Première étape : la création du billet. Tout d’abord, Alice choisit un nombre x
au hasard, nombre qui correspond à notre billet. Puis elle utilise une fonction de commutation c
que seule elle connaît, par exemple en multipliant x
par un nombre premier très grand : dans notre analogie, cela consiste à placer le billet en papier carbone dans une enveloppe fermée. Puisqu’Alice est la seule à connaître c
, elle est également la seule à connaître la fonction inverse c-1
, donc à pouvoir ouvrir l’enveloppe. Elle envoie l’enveloppe contenant son billet (c(x)
) à sa banque, et cette dernière la signe, ce qui fait que le billet à l’intérieur est également signé. La banque envoie ensuite l’enveloppe signée (s(c(x))
) à Alice et débite son compte du montant équivalent. Enfin, Alice ouvre l’enveloppe, sort le billet signé (s(x)
) et vérifie que la signature de la banque est valide.
Alice dispose donc d’un billet numérique, signé par sa banque et qu’elle peut conserver autant qu’elle le veut comme tout autre objet physique. Cependant, vient le moment où elle souhaite acheter quelque chose dans un magasin tenu par un autre individu, Bob.
Seconde étape : le paiement. D’abord, Alice initie le paiement vers Bob en lui donnant le billet signé (l’information s(x)
), puis Bob vérifie que ce dernier a bien été signé par l’une des banques du système. Mais cela ne suffit pas : Alice pourrait évidemment envoyer la même information à plusieurs personnes et réaliser ainsi une double dépense. C’est pourquoi Bob envoie le billet réceptionné immédiatement à sa banque afin qu’elle vérifie que le billet est encore valide. Pour ce faire, la banque vérifie la signature et s’assure que le billet n’est pas déjà sur la liste des billets utilisés, registre partagé par toutes les banques du système. Une fois ceci réalisé, le banque peut créditer le compte de Bob du montant équivalent à celui du billet, ou recréer automatiquement un autre billet si Bob le désire. Quoi qu’il en soit, Bob est assuré d’avoir été payé et peut donc donner son bien à Alice en échange.
Ainsi, dans ce système, les banques sont les tiers de confiance qui garantissent qu’il n’y a pas de double dépense, c’est-à-dire qui se chargent de confirmer les transactions. Le registre des billets dépensés est partagé par toutes les banques du système, qui ne manquera pas de rappeler la chaîne de blocs utilisée dans Bitcoin. Les banques sont choisies par une autorité centralisée (DigiCash), ce qui permet de garantir l’intégrité du tout.
Il est important de remarquer qu’aucune des banques du système ne peut relier le paiement à l’identité d’Alice, pas même sa propre banque. Tout ce qu’un observateur extérieur peut savoir, c’est que la banque de Alice a signé le billet qui a servi à payer Bob. Cela fait donc de eCash un système de paiement confidentiel qui préserve la vie privée du payeur, d’où sa dénomination de liquide électronique.
Enfin, notons que le système n’était pas du tout ouvert dans la réalité. Outre la sélection des banques participantes, le système eCash était breveté, ce qui faisait que personne ne pouvait le reproduire légalement. L’entreprise DigiCash était donc la seule à pouvoir décider de l’évolution du protocole.
L’ascension et la chute de DigiCash
Parlons donc de Digicash. Il s’agissait de l’entreprise qui a cherché à appliquer le système eCash à l’internet des années 1990. Digicash a connu son heure de gloire mais a fini par faire faillite. Comme on l’a dit, le destin d’eCash était légalement lié à celui de l’entreprise, et le projet s’est par conséquent soldé par un échec.
L’entreprise DigiCash Incorporated est fondée par David Chaum en 1989 à Amsterdam aux Pays-Bas, dans le but de développer le système d’argent liquide électronique eCash reprenant ses idées développées les années précédentes. Digicash est en avance sur son temps : à l’époque, le web vient tout juste d’apparaître et n’est pas encore bien installé ; le commerce électronique, lui, est inexistant. L’entreprise est donc aux premières loges pour tenter de construire un marché qui n’existe pas encore (mais qui comme on le sait viendra à se développer). Ainsi, DigiCash ne se concentre pas seulement sur eCash, mais aussi sur l’environnement autour, notamment par le développement de cartes à puce et d’applications de point de vente.
eCash est présenté pour la première fois en 1994 lors de la première conférence internationale sur le World Wide Web au CERN à Genève. Une démonstration de paiement a lieu. Chaum déclare :
« Vous pouvez payer pour accéder à une base de données, pour acheter un logiciel, pour recevoir une lettre d’information par courriel, pour jouer à un jeu sur internet, recevoir 5 $ d’un ami qui vous doit de l’argent ou juste commander une pizza. Les possibilités sont réellement illimitées. »
La promesse faite par Bitcoin est donc là plus d’une décennie avant sa création.
Il faut noter qu’eCash est le nom du système, et pas de l’unité de compte. Les unités échangées grâce à eCash sont appelées les “cyberbucks” (littéralement les “dollars de l’internet”). Contrairement à d’autres systèmes de paiements, ces unités ne sont pas indexées sur le dollar américain ou sur une autre monnaie, et possèdent un prix flottant sur le marché. Ainsi, en 1995 il est possible d’acheter 100 cyberbucks (notés cb$
) pour 5 dollars, comme on peut le voir sur l’image ci-dessous.
À l’époque, divers commerçants acceptent les cyberbucks. DigiCash tente en effet de pousser l’adoption en procédant à ce qu’on appellerait aujourd’hui un airdrop (“largage”) : 100 cyberbucks sont donnés aux 10 000 premiers commerces qui se mettent à utiliser eCash. C’est tout une multitude de biens et de services qui sont vendus contre des cyberbucks : des logiciels, des t-shirts, des cartes postales, etc.
L’ascension est fulgurante, à telle point qu’elle est relatée par la presse généraliste, y compris en France comme l’illustre l’article d’Antoine Champagne ci-dessous.
DigiCash conclue notamment des partenariats avec différentes banques et s’inscrit donc dans le milieu financier traditionnel. En 1995, la Mark Twain Bank, basée à Saint-Louis aux États-Unis, rentre dans la danse. En 1996, la Deutsche Bank est la deuxième banque à s’impliquer. Puis, d’autres banques suivent comme le Crédit suisse, la banque australienne Advance Bank, la Norske Bank située en Norvège ou encore la banque autrichienne Bank Austria.
Nénamoins, malgré tous ces développements, David Chaum est suspicieux, perfectionniste, et souhaite garder le contrôle sur son entreprise et sur le système qu’elle gère. D’après certaines sources, il refuse des partenariats avec de grands acteurs comme ING et ABN AMRO (deux des trois plus grandes banques néerlandaises à l’époque), Visa (le processeur de paiement par carte bancaire) et Netscape (l’entreprise qui développe le navigateur web du même nom). Une rumeur prétend même que Microsoft aurait proposé 100 millions de dollars pour inclure eCash dans Windows 95, offre que Chaum aurait refusé. Finalement, il quitte le poste de PDG en 1996.
DigiCash fait faillite en 1998 et les brevets d’eCash sont revendus en 2002. En 1999, Chaum explique les raisons de l’échec, à savoir la manque d’adoption dû à la difficulté d’utilisation :
« Il était difficile d’amener assez de commerçants à l’accepter de manière à ce qu’assez de consommateurs l’utilisent, ou vice versa. À mesure que le web grandissait, le niveau moyen de sophistication des utilisateurs baissait. Il était difficile de leur expliquer l’importance de la confidentialité. »
Ainsi, eCash était trop focalisé sur la protection de la vie privée et pas assez sur la facilité de paiement, contrairement aux sociétés de carte de paiement comme Visa et Mastercard, qui profiteront de l’espace laissé vide. Ces entreprises finiront pas dominer largement le marché du commerce en ligne, aux dépens de la confidentialité des utilisateurs.
Après la faillite de DigiCash, David Chaum a renoncé, et est reparti enseigner à Berkeley. Néanmoins, face au récent engouement autour des cryptomonnaies, il est récemment revenu sur les devants de la scène pour présenter son projet Elixxir, réunissant plateforme de messagerie électronique respectueuse de la vie privée et un jeton numérique, le xx coin, dont l’ICO s’est terminée il y a peu.
L’héritage varié d’eCash
Malgré son échec, le concept d’eCash a ouvert la voie à de multiples projets plus ou moins bien conçus. Plusieurs expérimentations ont pu ainsi voir le jour à la même époque. Tout d’abord, il y a eu la place de marché Hawthorne Exchange (HEx) créée en 1993 par les extropiens, un groupe de transhumanistes optimistes dans lequel participaient Hal Finney (très connu pour s’être fait cryogénisé après sa mort), Timothy May et Nick Szabo. Le Hawthorne Exchange permettait d’échanger des unités de réputation, ainsi qu’une devise native, le thorne, qui possédait une valeur non nulle. Le service a fermé lors de l’année 1994.
Ensuite, en février 1994, le milieu des crypto-anarchistes a vu apparaître Magic Money, un système créé par un dénommé Pr0duct Cypher qui permettait d’émettre ses propres jetons numériques. C’est ainsi qu’on pouvait s’échanger des Tacky Tokens, des GhostMarks ou encore des DigiFrancs. Cependant, ce système utilisait le protocole breveté des signatures aveugles de Chaum et était donc de facto hors-la-loi. De même que le Hawthorne Exchange, cette expérience n’a pas duré longtemps.
Puis, en août 1994, est apparu CyberCash, un concurrent direct à eCash. En 1996, l’entreprise CyberCash a lancé CyberCoin, un système de micropaiements, qui a été abandonné en 1999. CyberCash a échoué pour les mêmes raisons que eCash, et a fait faillite en 2001 : les brevets ont été revendus à l’entreprise Verisign, qui ont par la suite été rachetés par PayPal.
Enfin, c’est toute une autre génération de monnaies numériques qui est apparue par la suite, dont notamment e-gold et Liberty Reserve. Mais ceci est une autre histoire.
Ainsi, il est certain qu’eCash a joué un rôle dans la conception de Bitcoin, et que ce dernier lui doit beaucoup. Cette expérience a en effet montré qu’une architecture centralisée et brevetée était trop sensible aux aléas de la réalité et qu’une infrastructure ouverte sans tiers de confiance était la voie à suivre. Bitcoin: A Peer-to-Peer Electronic Cash System.
Cliquez ici pour découvrir la suite »
Pour écrire cet article, je me suis grandement aidé du texte de Aaron van Wirdum sur le sujet : The Genesis Files: How David Chaum’s eCash Spawned a Cypherpunk Dream. D’autres articles ont été des sources utiles comme Requiem for a Bright Idea écrit par Julie Pitta en 1999, ou The bootstrapping of Thorne, Magic Money, and Cyberbucks: three pre-Bitcoin monetary experiments de John Paul Koning. Les images sont pour la plupart issues de la page présentant DigiCash sur le site web personnel de David Chaum.