David Madore's WebLog: Bitcoin va-t-il sauver l'humanité ?

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]

↓Entry #1883 [older| permalink|newer] / ↓Entrée #1883 [précédente| permalien|suivante] ↓

(lundi)

Bitcoin va-t-il sauver l'humanité ?

Parmi les sous-populations qu'on identifie régulièrement sur les forums de discussion de geeks, il y a une catégorie assez facile à reconnaître, ce sont les geeks libertaires (ici, le mot libertaire est à comprendre comme utilisé en anglais, libertarian, façon Ayn Rand ou Hayek, plutôt que dans le sens français typique qui est plutôt orienté anarchiste de gauche). On les reconnaît typiquement à leur insistance sur (outre le droit au port des armes, comme il s'agit d'Américains) l'importance du retour à l'étalon-or, ou une monnaie que les États ne pourraient pas manipuler. Souvent ils déclarent une certaine admiration pour le représentant américain Ron Paul et leur haine incommensurable pour la Fed.

Traditionnellement, une façon pour eux de se défendre contre le contrôle des monaies par les gouvernements et banques centrales consistait à recourir aux métaux précieux, et notamment la Liberty Reserve, qui émet des sortes de dollars garantis contre des métaux précieux (or et argent). Mais récemment, ces geeks libertaires ont un nouveau gadget : le Bitcoin.

Le Bitcoin est un système de jetons cryptographiques distribué sur Internet, et affiché comme monnaie. Le principe est grosso modo le suivant : le système Bitcoin permet la création d'un certain nombre de jetons virtuels, appelés Bitcoins, et dont la croissance est contrôlée de façon absolue (c'est-à-dire que les règles sur les Bitcoins, vérifiées par toutes les parties en présence, font que leur création sera limitée par telle règle connue a priori) ; la création va initialement à celui qui aura réussi à accomplir certaines tâches calculatoires (inutiles : leur rôle est simplement d'attribuer les nouveaux Bitcoins créés à ceux qui auront mené ces calculs) ; ensuite, les Bitcoins peuvent être distribués électroniquement, sans autorité centrale, l'idée étant que le fichier de toutes les transactions menées en Bitcoins (et qui permet donc de savoir qui possède quoi) est distribué et contrôlé par tout le monde, et que pour garantir l'anonymat des transactions on repose sur le fait que tout le monde peut créer autant de clés qu'il veut (le propriétaire d'un Bitcoin, d'après le fichier distribué des transactions, est une clé cryptographique, et il n'y a pas de moyen de savoir qui détient la clé).

Voici un article récent et complètement dithyrambique parlant de Bitcoin, qui illustre assez bien les promesses totalement délirantes que certains y voient. On y promet carrément que Bitcoin, le projet open source le plus révolutionnaire de tous les temps, et la chose la plus importante depuis l'Internet lui-même, changera le monde sauf si les méchants gouvernements essaient de l'interdire. Allô la terre ?

Le motif de cette exaltation ? Le fait que Bitcoin soit en quantité limitée absolument garantie (pas d'inflation possible, ou du moins une inflation extrêmement contrôlée et connue à l'avance — la masse totale tendant asympotiquement vers 21 millions de Bitcoins), le fait qu'il ne soit pas contrôlable, et le fait que, de fait, depuis son introduction, sa valeur a explosé.

Personnellement, les Bitcoins me font l'effet des collectionneurs de cartes Magic. Ils décident de donner arbitrairement de la valeur à un truc qui, à la base, n'en a pas du tout (ce qui est ironique, c'est que justement les geeks libertaires sont souvent obsessionnellement passionnés contre les fiat currenciesmonnaies de fait ? — et que Bitcoin est le plus extrême qu'on puisse faire dans le domaine, puisque c'est une monnaie qui n'est basée sur rien sauf sur l'idée que d'autres vont avoir la même idée bizarre de les collectionner). De fait, c'est quelque chose qui marche, j'ai déjà évoqué ça, mais ça marche exactement dans la mesure où il y a des gens qui sont prêts à avoir confiance dans le système pour s'y mouiller les premiers (et dans le fait que des gens continuent à avoir confiance, et à avoir confiance en le fait que des gens continuent à avoir confiance, etc.). Comme n'importe quelle monnaie, bien sûr, donc il n'est pas inconcevable que la collectionnite de Bitcoins dépasse le cercle des geeks libertaires, mais enfin, il est aussi possible que tout objet ou ressource rare devienne précieux parce que des gens décident qu'ils en veulent. Le fait, souligné comme une grande force par ses défenseurs, que Bitcoin ne soit soutenu par aucun État et aucune banque centrale, ne m'apparaît pas exactement comme une force.

Il est vrai que l'or est une façon qui dure de donner gratuitement de la valeur à quelque chose qui n'en a pas, en misant sur sa rareté, mais cette valeur de confiance arbitraire donnée à l'or a des racines culturelles très anciennes que je vois mal Bitcoin refléter. Par ailleurs, les métaux précieux ne sont pas à l'abri de spéculations sur leurs cours, comme quoi un stock constant n'est pas du tout la garantie d'une valeur stable.

Je ne suis pas économiste, donc il ne faut pas exclure que je n'aie rien compris à la façon dont fonctionne la monnaie, mais l'idée, telle que je la comprends, est que l'inflation reflète aussi le fait que la monnaie est créée à la demande pour soutenir l'économie. (La monnaie est créée par une banque, qui consent un prêt pour financer un investissement.) Ce schéma, qui est essentiellement celui en vigueur depuis la fin du système de Bretton Woods, fait que toute la monnaie mondiale est essentiellement basée sur la dette : c'est ce principe qui fait criser les geeks libertaires et d'autres (voyez cette vidéo et ses suites) ; je comprends qu'il y a des critiques valables à ce système, mais la raison pour laquelle on l'a adopté est bien que les systèmes antérieurs étaient encore pire. Un système où la valeur de l'argent est maintenue par sa rareté est un système qui encourage à la thésaurisation au contraire de l'investissement, et qui n'a pas l'air très sain pour l'économie. Idéalement, il semble que la croissance de la masse monétaire devrait accompagner à peu près la croissance de la valeur des biens : si elle est nettement en-dessous, ce n'est pas mieux que si elle est nettement au-dessus — et le système de Bitcoins, qui confie à une règle aveugle plutôt qu'à la direction d'une banque centrale la création de nouvelle monnaie, ne va certainement pas faire preuve de plus d'intelligence. (Si on a fait des reproches à la BCE, par exemple, c'est plutôt de trop privilégier la stabilité de la monnaie par rapport au soutien de l'économie.)

Ou, pour dire les choses autrement, dans une économie basée sur le Bitcoin, la seule façon raisonnable de consentir un prêt serait à un taux négatif, ce qui n'encourage pas vraiment à l'investissement. Il vaudrait mieux, dans ces conditions, investir dans une monnaie modérément inflationniste, mais qui soutienne une économie proportionnée à cette inflation.

Voilà pour ma critique économique. Après la critique économique, il y a une remarque sociologique à faire. Qui repose essentiellement sur la question suivante : combien de temps les geeks vont-ils jouer au petit jeu de Bitcoin ? C'est très difficile à prédire. Les addictions collectives, ça a l'air globalement aléatoire et indépendant de la valeur intrinsèque du truc addictif (un autre truc sur lequel je me suis promis de ranter un jour) : il n'y a pas de vraie raison pour laquelle Second Life a marché puis capoté, Orkut a marché du tonnerre mais uniquement au Brésil, Facebook a actuellement un succès fou alors que Friendster, Tribe et autres, qui étaient rigoureusement interchangeables n'ont pas eu ce succès, les news ont eu leur heure de gloire et sont en état de désertification avancée, etc. La foule est juste imprévisible. Actuellement, Bitcoin a l'air à la mode, donc sa valeur explose. Probablement les gens s'en lasseront, et les gens qui auront des Bitcoins se retrouveront le bec dans l'eau avec leurs certificats cryptographiques qui certifient qu'ils ont reçu des transactions devenues sans valeur. Mais il y a une autre possibilité, c'est celle d'un fork du protocole : si quelqu'un invente le Bitcoin 2.0, avec possibilité de transférer les Bitcoins 1.0 vers les Bitcoins 2.0 mais avec plus de pépètes en jeu, et un protocole semi-compatible (du style, toute transaction Bitcoin 1.0 est une transaction Bitcoin 2.0 valable, mais non réciproquement), ce sera une sorte de hold-up sur la Banque des Bitcoins qui se jouera sur la popularité des deux protocoles, avec à la clé un vrai méli-mélo pour savoir quels Bitcoins auront été échangés et qui possède quoi selon quels protocoles. Ceci étant, cette possibilité prouve en fait mensongère la promesse que la masse monétaire n'enflera jamais au-delà de 42 millions de zorkmids : si Bitcoin 2.0 promet de nouveaux zorkmids à gagner au moment où les filons du 1.0 seront rares, il y a fort à parier que les nouveaux venus préféreront sauter sur le 2.0. (Je dois dire que, si je voulais couler Bitcoin, je chercherais surtout dans cette direction, la création d'autres Bitcoins alternatifs forkant le projet en se vantant d'être meilleurs, pour que plus personne ne sache ce qui vaut quoi.)

Maintenant, qu'en est-il du système informatique sous-jacent ? Cryptographiquement, je n'ai pas grand-chose à en dire : c'est basé sur des idées très simples (il n'y a pas de primitives compliquées dans l'histoire, pas de pairings d'accouplements, de chiffrements homomorphes ou de trucs de ce genre), juste des signatures et des hachés, et rien de fulgurant ni de vraiment intéressant à étudier. Mais toutes les questions de sécurité reposent en fait sur des questions de réseaux et de consensus distribué sur les réseaux, et ces choses sont très difficiles à analyser. Donc, est-ce sûr ? Je ne sais pas. Je pense que c'est passablement sûr contre les attaques visant à frauder, si les adversaires sont peu nombreux ou disposent de peu de moyens de calcul, et que c'est peu sûr contre les attaques de type Denial of Service. Mais les détails dépendent sans doute fortement de l'implémentation, de comment les programmes Bitcoin réagissent à des situations bizarres du genre avalanches de messages, blocs immensément longs, transactions erronées, transactions durablement omises, non respect de la difficulté prévue dans le calcul des blocs, brisure durable du réseau, ou encore comment ils répartissent le temps de calcul entre la vérification des signatures des transactions et la recherche de nouveaux blocs[#], bref, toutes sortes de choses sur lesquelles la spécification officielle (qui n'a vraiment rien d'une spécification) est muette. En l'état actuel, le système Bitcoin semble complètement à la merci du moindre botnet (il semble y avoir dans les 7000 nœuds jouant à Bitcoin, un botnet un peu costaud peut compter dix à trente fois ce nombre de machines) : ça permet au botnet de dépenser de multiples fois de l'argent (ou, si on veut, de reprendre des Bitcoins qu'il a déjà dépensés), ou de paralyser lourdement le réseau. Mais surtout, en fait, s'il y a de l'argent à gagner à chercher des Bitcoins, on peut supposer que les botnets sont (seraient) déjà sur le coup : i.e., investir de la confiance dedans, si ce n'est pas une blague, c'est essentiellement donner de l'argent aux gens qui contrôlent les botnets (=la mafia russe). Bof.

[#] Je pense notamment à des attaques du style : générer énormément de transactions à la con pour des montants extrêmement faibles (éventuellement attendre d'émettre soi-même un bloc avec ces transactions, selon le moment où elles sont vérifiées) pour faire perdre du temps à tous les autres nœuds à les vérifier, et, du coup, profiter de l'avantage relatif qu'on a en temps de calcul en cherchant à trouver de nouveaux blocs.

Un des problèmes conceptuels, dont il n'est pas certain qu'il pose des difficultés, mais qui mériterait certainement d'être approfondi, c'est que dans le jeu de Bitcoin, tous les joueurs sont vos ennemis (parce qu'ils ont intérêt à ce que vous perdiez vos Bitcoins, d'une manière ou d'une autre, pour que les leurs aient plus de valeur), or c'est sur leur bon volonté que le réseau fonctionne. Il y a là des questions de type dilemme du prisonnier qui sont intéressantes et pas du tout évidentes. Il faut remarquer que Bitcoin apporte à ce sujet un élément de réponse très intéressant, c'est la transaction fee, autrement dit le fait que quelqu'un inscrive une transaction dans le registre des transaction (alors qu'il n'y a aucun intérêt) est récompensé par une petite part de la transaction — c'est-à-dire que le fonctionnement de l'argent lui-même fait l'objet d'une taxe, choisie par l'émetteur de la transaction et prélevée par le notaire (celui qui obtient d'écrire le bloc contenant la transaction) et qui devrait faire l'objet d'un jeu d'offre et de demande (si vous proposez une taxe trop petite, il faudra attendre de nombreux blocs pour que la transaction soit enregistrée). Actuellement, il semble cependant (à en juger sur un bloc typique) que la taxe de transaction est en pratique très très faible devant le nombre de Bitcoins accordés d'office pour la création d'un bloc.

Un dernier point à souligner éventuellement, c'est que puisque Bitcoin fonctionne essentiellement en faisant tout le temps faire aux ordinateurs des calculs inutiles, il vaut mieux espérer, du point de vue écologique, qu'il n'acquière jamais une popularité sérieuse. (La majorité des ordinateurs actuellement passe plus de 99% de leur temps à ne rien faire. S'il se mettaient à calculer vraiment, ça se verrait sérieusement dans la consommation électrique.) Pour donner une idée, le réseau de machines Bitcoin mène actuellement environ 1012 calculs de SHA-256 (de blocs de 80 bits, je crois) par seconde : il semble que les cartes graphiques modernes (qui doivent être les plus efficaces, et mener l'essentiel des calculs) peuvent en calculer de l'ordre de 6×108 par seconde et consomment autour de 300W, donc la puissance consommée pour les calculs est au moins de 500kW juste pour maintenir la monnaie avec le nombre actuel de machines (sachant que la puissance consommée devrait être grosso modo proportionnelle au nombre de machines et à leur puissance, vu que le réseau s'ajuste pour calculer autant qu'il peut). Actuellement, ce maintien est payé par la production de 50 Bitcoins (environ 300 dollars au cours actuel) par bloc généré, un bloc étant généré toutes les 10 minutes : ça revient à rémunérer l'énergie brûlée autour de 1 dollar le mégajoule — c'est nettement mieux que le prix de l'électricité, donc dans le marché actuel on a intérêt à générer des Bitcoins.

Je passe aussi sur le problème pratique qu'il y aurait à ce que tous les ordinateurs du monde stockent le montant de tous les comptes en banque du monde (ainsi qu'une partie non négligeable de toutes les transactions ayant conduit à ces montants).

Ajout () : Les réflexions (avec lesquelles je suis plutôt d'accord) de Ben Laurie sur Bitcoin : partie 1, partie 2, partie 3.

Ajout () : L'avis d'Adam Cohen, plus orienté du côté économique, et qui rejoint le mien.

Ajout () : Un rapport de la BCE sur les monnaies numériques qui évoque notamment BitCoin ; et une analyse du graphe des transactions par Ron & Shamir qui révèle des choses intéressantes sur la manière dont les gens circulent les BitCoins.

↑Entry #1883 [older| permalink|newer] / ↑Entrée #1883 [précédente| permalien|suivante] ↑

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]