Les 7 péchés capitaux du Bitcoin - (5) To scale or Not to scale ?

Nous aborderons dans cette suite d’articles les grands points structurants et méconnus du bitcoin.

Alors, êtes-vous pour ou contre le bitcoin ?

Pour pouvoir se prononcer au-delà des débats idéologiques qu’ils soient à tendance crypto-anarchistes ou régulateurs zélés, et ayant été moi-même longtemps hésitant sur la posture à avoir, j’ai entrepris de creuser un certain nombre de caractéristiques sur le bitcoin qu’il faut absolument connaître pour pouvoir se prononcer objectivement.

Je partage donc avec vous ces quelques idées :

Sommaire des 7 articles

  1. Une gouvernance bien trop humaine
  2. Une répartition à faire pâlir Gini
  3. Une machine à blanchir les capitaux
  4. Une usine à CO2
  5. To scale or not to scale ?
  6. Les vautours de la spéculation
  7. Un risque légal systémique

Zoom sur le péché n°5 - Le bitcoin a-t-il été pensé pour être une blockchain de la vie courante ?

Lorsqu’on revient au pourquoi originel du bitcoin, il faut se poser la question cruciale de la scalabilité : Cet enjeu est-il adressé clairement par la vision initiale de cette disruption ? Que ce soit dans le whitepaper de Satoshi Nakamoto en 2008 ou sur le forum bitcointalk qui a porté les premières réflexions du fondateur et des early adopters ?

Le whitepaper annonce dès l’introduction que la désintermédiation est l’essence du bitcoin :

Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model

Mais c’est ici surtout l’exemple choisi qui doit susciter notre intérêt : le e-commerce, ses frais de médiation élevés et le risque de fraude qu’il porte. Ce choix vient illustrer le potentiel économique gigantesque d’un système de paiement trustless. En 2021, il représentait un marché de 4800 milliards de dollars qui sert plus de 2 milliards d’utilisateurs pour plusieurs dizaines de milliards de transactions par an. La référence du bitcoin au e-commerce montre que sans être affichée explicitement, une intention de démocratiser ce nouveau type de paiement via blockchain était présente.

Dans un échange très riche en 2009 avec Mike Hearn, early adopter et développeur engagé du bitcoin, Satoshi évoque la question de la scalabilité au détour du sujet des incentives économiques des mineurs tels que les frais de transaction. Satoshi Nakamoto cite notamment le réseau Visa comme point de comparaison avec ses 15 millions de transactions par jour en disant que le bitcoin doit être normalement capable de scaler si le hardware continue de suivre la loi de Moore.

By Moore’s Law, we can expect hardware speed to be 10 times faster in 5 years and 100 times faster in 10. Even if Bitcoin grows at crazy adoption rates, I think computer speeds will stay ahead of the number of transactions.

Le système bitcoin avait donc bien l’ambition de concurrencer le système Visa en termes de nombre de transaction par seconde (1700 transactions par seconde en moyenne et jusqu’à 24000 en pic annoncées), ce dernier nombre étant de source corporate Visa doit être challengé dans un contexte de guerre de communication avec les blockchains publiques.

Quelques discussions sur les aspects de scalabilité du Bitcoin ont émergé assez tôt sur le forum historique du bitcoin : Bitcointalk.org

Revenons à l’historique publication du whitepaper du bitcoin en 1er novembre 2008 à 16h16 dans une mailing list par Satoshi Nakamoto. À peine le lendemain 2 novembre à 17h55, il reçoit déjà une réponse d’un cypherpunk canadien anonyme très actif encourageant l’effort mais attaquant de manière cinglante la faisabilité

We very, very much need such a system, but the way I understand your proposal, it does not seem to scale to the required size.

Se joindront à lui tous les grands noms du bitcoin pour donner chacun leur avis et interagir avec Satoshi, l’anonyme qui prétend révolutionner le monde des systèmes distribués. Ce thread est extrêmement riche en enseignements sur le niveau important et rapide d’appropriation du bitcoin par la communauté cypherpunk de l’époque ainsi que du niveau d’anticipation des problématiques à venir, seulement quelques semaines après la publication du white paper.

Comment le réseau bitcoin s’est-il comporté ces dernières années ?

Trêve d’histoire, parlons chiffres :

Bitcoin Transaction Per Second

blockchain.com

Premier constat : le bitcoin n’a jamais dépassé plus de 5 transactions par seconde même dans les 5 dernières années durant lesquelles l’usage s’est considérablement généralisé.

Est-ce un manque de sollicitation des utilisateurs car il n’y aurait pas de besoin mondial pour du bitcoin supérieur à ces 5 transactions par seconde ? Ou est-ce un blocage technique dans la nature même du bitcoin ?

La réponse se trouve dans ce deuxième graphe :

Bitcoin Average Block Size

blockchain.com

La taille d’un bloc ne dépasse jamais 1,5 mégaoctet (mo) sur cet historique et pour cause, cette limite est comme je le disais plus haut inscrite dans le code même du bitcoin. Elle a connu plusieurs évolutions controversées qui ont résulté en des hard forks ou des bitcoins concurrents séparés qui ont connu une vie parallèle.

À raison de 250 kilo-octets par transaction et 10 minutes par bloc (également un paramètre figé dans le code du bitcoin), on voit bien que la limite en transaction par seconde résulte de ces choix.

Augmenter la taille des blocs, c’est plus de capacité de transaction pour les utilisateurs mais aussi risquer de :

L’autre facette de cette situation concerne les frais de transactions. Il faut comprendre que lorsqu’un miner construit un bloc pour validation, il ne va choisir que les transactions qui ont les frais les plus élevés qui lui reviendront. Cet incentive totalement logique a pour but de compléter la récompense de création de bitcoin (une forme de subvention qui a commencé avec 50 bitcoin par bloc en 2009, actuellement 6.25 bitcoin par bloc).

Tout utilisateur qui est avare sur les frais de transaction risque de ne pas la voir validée au bloc suivant (10 minutes d’attente), ni au bloc d’après (20 minutes) et ainsi de suite. La recommandation standard étant d’attendre 6 blocs (soit 1 heure) au-dessus du bloc qui contient la transaction dont on cherche à garantir la validité, omettre les frais de transaction c’est attendre plusieurs heures avant qu’un miner décide de la gérer.

Bitcoin Average Fees

blockchain.com

Quand on analyse les frais de transaction sur la dernière année, ils se situent entre 2 dollars et près de 60 dollars. Les pics correspondent à des périodes où le réseau était saturé en transactions ce qui oblige les utilisateurs à augmenter leur frais pour s’assurer que leurs transactions sont bien prises en compte. Quand on met bout à bout l’histoire, on se rend compte de l’impact économique d’une blockchain qui ne scale pas : en plus de différer la validation des transactions, la forte demande en transaction impose des frais importants qui tuent dans l’œuf de nombreux cas d’usage comme le micro-paiement.

Quelles solutions pour répondre à cet enjeu de scalabilité ?

La première solution naturelle a été d’emprunter le chemin de la facilité. Augmenter la taille des blocs, c’est permettre d’avoir plus de transactions par bloc donc par 10 minute donc par seconde. Cela se traduit concrètement par la création d’une blockchain du bitcoin basée sur un code différent.

Ci-dessous une liste des principaux embranchements de code (forks) sur le consensus du bitcoin :

Bitcoin Forks

reddit.com

Voici les évènements notables ayant affecté la scalabilité des blockchains du bitcoin :

Il existe aujourd’hui plusieurs dizaines de hard fork actifs du bitcoin avec chacun leurs caractéristiques.

Les frais de transactions du BCH et du BSV ne dépassent pas en moyenne le centime de dollar contre plusieurs dollars pour le BTC. Mais à quel prix s’est faite cette scalabilité ? La valorisation de ces deux forks historiques montre que l’engouement des investisseurs n’a pas suivi ces décisions d’augmentation de la taille de bloc.

Pour un utilisateur du bitcoin, la scalabilité n’a pas vraiment de sens car tout ce qu’il perçoit ce sont les deux éléments liés suivants :

Nous avons donc besoin d’une solution à ces deux enjeux :

Pour Bitcoin SV et Bitcoin Cash, le sujet des frais de transaction est résolu puisque la capacité en transaction par seconde est plus grande que la demande. Par contre, le temps de confirmation des blockchain du bitcoin n’est pas aussi positif :

La solution de scalabilité choisie par la blockchain Bitcoin originelle

En 2016, deux chercheurs publient un article intitulé “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments” avec l’objectif de répondre aux problématiques de scalabilité du bitcoin par l’adossement d’un layer 2 : un protocole construit sur la base de canaux bi-directionnels et interopérables avec la blockchain du bitcoin. C’est le lightning network :

A decentralized system is proposed whereby transactions are sent over a network of micropayment channels (a.k.a. payment channels or transaction channels) whose transfer of value occurs off-blockchain

Le principe est simple et ingénieux : Lorsque deux personnes veulent s’échanger de la crypto-monnaie, il n’est pas du tout efficient de le faire savoir et de le faire valider à tout le réseau pour chaque transaction. Ces deux personnes peuvent juste se mettre d’accord sur un ensemble de garanties financières qu’elles se donnent (en termes de disponibilité de fonds qui sont bloqués) et réaliser des transactions autant de fois qu’elles veulent puis se mettre d’accord sur un solde global (semblable au carnet de l’épicier) qui serait alors persisté dans la blockchain du bitcoin pour sceller la session d’échange. Ce lien cryptographique qui lie les deux parties est un “channel”.

Lightning network principles

researchgate.net

Point important, les deux parties n’ont pas besoin d’avoir une confiance mutuelle et c’est ici que réside l’innovation. Chaque transaction est signée cryptographiquement et consignée par les parties et ne doit pas être perdue car elle constitue une preuve opposable sur la blockchain. En cas de mésentente, chaque partie peut décider de publier le solde et les transactions passées avec leurs signatures pour clôre le channel.

Autre caractéristique intéressante : le réseau de channel. Dans la conception que j’ai décrite, il ne m’est possible d’échanger qu’avec les contreparties avec lesquelles j’ai ouvert un channel. Mais comme dans le système bancaire international, ma contrepartie peut avoir elle-même un channel avec d’autres personnes. De proche en proche, je peux réaliser des transactions avec toutes les personnes interconnectées dans ce réseau moyennant des frais de transactions plus importants. Illustré par le schéma ci-dessous :

Lightning network channel

theblockpro.com

Ce système s’appelle le Lightning network et il est testé sur la blockchain du bitcoin en beta en 2018. Je l’avais suivi à l’époque avec beaucoup d’intérêt car c’était le premier pas vers une démocratisation du bitcoin comme moyen de paiement. Il en existe plusieurs implémentations qui sont utilisées sur la “production” du réseau bitcoin (mainnet) depuis 2019.

Il y a actuellement plus de 20000 noeuds lightning déployés sur la blockchain du bitcoin pour plus de 3500 bitcoins (ou 157 millions de dollars) bloqués sur tous les channels ce qui montre un engouement certain et un premier pallier de maturité accompagné d’un écosystème naissant de boutiques et services. Le lightning network est utilisé au Salvador à travers la wallet Chivo qui avait été citée par le Président du Salvador dans un tweet. Le réseau Twitter utilise le lightning network pour les micro-donations (tips).

Twitter tips

blog.twitter.com

De nombreuses wallet bitcoin intègrent désormais le protocole lightning : BlueWallet, Wallet of Satoshi, Muun ou encore Zap dont la société a aidé à l’adoption du bitcoin au Salvador.

Il faut noter qu’il existe un autre type de solution pour la scalabilité du bitcoin :

La blockchain complémentaire (sidechain) Liquid Network qui n’adresse pas le besoin de micro-paiement mais les transactions plus volumineuses. Contrairement au Lightning network qui utilise des channels entre utilisateur et agrégateurs, le Liquid Network est une blockchain de consortium avec un protocole de validation de bloc spécifique, un temps de bloc de 2 minutes et une taille de bloc de 4 mo. Elle est donc à peu près 10 fois plus rapide que la blockchain du bitcoin. Pour être utilisée, il faut sortir du BTC du mainnet et le transformer (swap) en Liquid-BTC (L-BTC) qui peut alors être manipulé avec plus de flexibilité et de confidentialité dans le réseau Liquid. Il y a actuellement plus de 3500 BTC en circulation dans le réseau Liquid.

Liquid Sidechain

docs.blockstream.com

Les solutions à la scalabilité de l’autre grande blockchain publique Ethereum sont bien plus nombreuses et complexes. J’y reviendrai dans un article spécifique à l’innovation incroyable qui entoure la blockchain Ethereum.

Ethereum Layer 2

twitter.com/Coin98Analytics

Ma conclusion personnelle

Au regard de tous ces éléments, le bitcoin n’est clairement pas une blockchain scalable au sens du projet initial de ses fondateurs. Il apparaît clairement que toutes les tentatives de tordre le protocole a conduit à des dissensions importantes qui ont un peu fragilisé la blockchain du bitcoin sans la faire dévier de son nouveau cap : Le bitcoin est une réserve lente de valeur qui doit servir principalement les enjeux de décentralisation et de sécurisation de son réseau. Les usages qui sortent de ce scope doivent attendre le train de l’innovation pour être déployés.

Des évolutions graduelles comme le batching ou SegWit permettent aujourd’hui au bitcoin de scaler doucement en accompagnant la maturité du marché sans risque de déstabiliser ni la stabilité de la blockchain ni le consensus humain autour du bitcoin. Les montants en jeu sont maintenant tellement élevés qu’il est peu probable que la communauté accepte une disruption telle que celles qui ont mené aux hard forks historiques.

Le succès du Lightning network montre pour l’instant qu’il est possible de concilier tous ces enjeux sans mettre en péril le coeur du bitcoin. À l’inverse, la faible capitalisation des altcoins (blockchains concurrentes du bitcoin) montre que les dissensions n’ont pas encore payé. Il faut à présent suivre avec attention l’expérience du Salvador pour voir comment le bitcoin peut servir tout un peuple car s’il y a bien un nouveau pallier de disruption sociétale pour la mère des blockchains, c’est bien celui-là.

Quelques sources en plus des liens qui saupoudrent l’article

Note

Cet article a uniquement pour but d’éclairer sur des aspects méconnus du bitcoin. Pour toute remarque ou correction, je serais heureux d’en débattre et de corriger cet article si besoin