La mise en oeuvre technique

Une technologie idéaliste, révolutionnaire et évolutive

Internet, machine à copier

Deux analogies peuvent être avancées pour appréhender Bitcoin de la meilleure façon.
La première s’appuie sur le déroulement d’une transaction. Lorsque Mario donne un billet de dix euros à Emmanuel, tout le monde s’accorde sur le fait que Mario ne détient plus le billet après la transaction. : il ne peut donc pas le dépenser à nouveau. Ce billet, théoriquement unique, peut être contrefait et l’analyse de son authenticité et de son unicité est compliquée : le receveur fait confiance au support de la monnaie (papier ou métallique). Si Mario fait un virement de dix euros à Emmanuel, son compte bancaire est le reflet de cette transaction et son solde est diminué du même montant. Emmanuel recevra ces fonds et verra son compte crédité du même montant.
Cette opération a été rendue possible par un système de compensation entre les deux banques teneurs des comptes. La banque contrôle le flux et est le garant de la bonne exécution de la transaction. L’opération réalisée directement entre deux individus avec un billet est impossible à reproduire numériquement sans faire appel à un tiers de confiance : la banque.
La seconde analogie rappelle qu’Internet étant une « machine à copier » l’information, seul un tiers peut garantir que l’argent ne peut être re-dépensé. La garantie qu’une transaction est unique (billet de banque ou transaction numérique) ne peut pas être constatée de manière simple. Sur Internet, l’intégrité de la transaction peut être garantie par la signature électronique mais l’unicité de la donnée est une notion inédite. Lorsqu’une photo numérique est envoyée à un destinataire, l’émetteur peut en conserver une copie. L’équivalent de l’invention de Nakamoto pour cette photo consiste à pouvoir certifier comme unique original cette photo auparavant si facilement duplicable.
La mise en oeuvre de cette invention dans certains domaines artistiques et culturels ouvre de nouvelles perspectives en termes de titres de propriété, de rareté et de valeur économique. Mais, au-delà des enjeux de droit d’auteur et de propriété intellectuelle, c’est la problématique d’unicité ou d’exclusivité de la donnée numérique qui apparaît ici. C’est l’un des défis relevés par Bitcoin : rendre impossible la double dépense de la monnaie numérique.
Au-delà des notions de monnaie et de réseau de paiement, une manière complémentaire de comprendre le protocole Bitcoin est de le considérer comme une forme de messagerie sécurisée avec des messages signés numériquement sur une infrastructure comptable décentralisée.

Principales caractéristiques

Bitcoin est un réseau pair à pair. Les réseaux P2P sont principalement connus pour les services de partage de fichiers, mais aussi pour du calcul distribué ou des communications. Sur le réseau P2P de Bitcoin, circulent des messages signés numériquement dans lesquels sont enregistrées les informations relatives au transfert d’unités de compte appelées bitcoins (avec un b minuscule) de l’utilisateur A vers l’utilisateur B. Les messages ne sont pas chiffrés, ce qui signifie que chacun peut consulter l’intégralité des messages qui transitent sur ce réseau. A et B sont identifiés par des adresses Bitcoin. De façon raccourcie, on considèrera que A et B possèdent chacun une clé (dite privée) leur permettant de dépenser les bitcoins qu’ils ont reçus sur leur adresse grâce à la preuve de propriété que constitue la signature électronique. Il convient de souligner que, sur le réseau, ne circule aucun bitcoin, seulement des instructions comptables signées pour opérer le transfert de propriété d’un certain nombre de bitcoins de A vers B.
La deuxième brique de Bitcoin est sa blockchain. C’est une base de données dans laquelle sont enregistrées l’ensemble des opérations comptables échangées entre tous les utilisateurs depuis le démarrage du protocole. Chaque message ordonnant le déplacement d’une quantité de bitcoins est consigné dans ce grand registre. Selon le principe du « minage », les transactions sont regroupées dans un bloc, chaque bloc validé étant ensuite scellé et enregistré dans la blockchain. Les transactions bitcoins sont toutes liées les unes aux autres car tout échange de A vers B est consigné dans le registre et tout nouveau mouvement de B vers C sera également public. Chaque bloc de transactions est également lié au précédent par une empreinte cryptographique du bloc N-1 insérée dans le bloc N. Cette construction permet à chaque bloc de faire référence à tout l’historique, et non seulement au bloc précédent.
Cette base de données est distribuée sur l’ensemble des noeuds, ce qui signifie qu’elle est répliquée autant de fois qu’il y a de noeuds sur le réseau P2P. Chacun peut d’ailleurs décider de contribuer à la résilience de ce dernier en opérant une instance du registre général des transactions.
Si l’expression « block chain » (en deux mots) en référence à Bitcoin est postérieure au document de Nakamoto (5), il semble qu’elle ait été utilisée dès la fin des années 1990 dans des discussions sur des mailing lists de cryptographes.
Surtout, la conception du type de base de données que nous appelons aujourd’hui “ blockchain ” date des travaux de deux chercheurs, Stuart Haber and W. Scott Stornetta, qui ont proposé, en 1991, un système de certification chaînée (chaîne d’horodatage, ou horodatage chaîné) (6).

  1. Il a été employé par Hal Finney en 2010: http://satoshi.nakamotoinstitute.org/emails/cryptography/6/
  2. https://en.wikipedia.org/wiki/Linked_timestamping Ce dispositif s’est affiné dans les années qui suivirent, au point de conduire à la création d’un standard ISO 18014 décrivant un mécanisme de tokens chainés: https://en.wikipedia.org/wiki/ISO/IEC_18014

Haber et Scott Stornetta sont d’ailleurs abondamment cités dans le white paper Bitcoin: ils font l’objet de trois de ses huit notes de bas de page. La ressemblance visuelle entre leur dispositif conçu dans les années 1990 et celui décrit par Nakamoto est frappante, comme le montrent les schémas suivants.

Chaîne d’horodatage inventée dans les années 1990
Chaîne d’horodatage du white paper Bitcoin

Le bitcoin est l’unité de compte numérique que l’on dépense dans les messages signés sur le réseau et dont les soldes sont représentés par les porte-monnaies qui font la somme des transactions dites « non-dépensées » (7) des adresses maintenues à jour dans la blockchain. Ce jeton est rare : sa création monétaire est limitée à 21 millions d’unités. Autre particularité, le bitcoin étant numérique, il est divisible et peut être échangé dans toutes les quotités désirées jusqu’au cent millionième (consensuellement nommé « Satoshi »).

  1. “ Unspent Transaction Output ” (UTXO)

Pour que ce bien numérique ne puisse être dépensé plusieurs fois s’il est copié, donc pour rendre le système absolument sécurisé, il faut que le registre comptable public des transactions soit inviolable. La blockchain peut être assimilée à une immense chambre forte transparente, composée d’un nombre presque infini de coffres transparents dont chaque utilisateur possède la clé pour en dépenser le contenu et dont les soldes sont vérifiables par tous.
Cette organisation comptable et sécuritaire est maintenue par le « minage ». Chaque transaction incluse dans un bloc est préalablement validée en vérifiant son historique traçable jusqu’à sa création. Ce bloc est ensuite scellé par un sceau numérique unique dont la valeur est le résultat d’une fonction (hash) unique dépendant de tous les éléments transactionnels contenu dans le bloc et lié au bloc N-1, et par extension à toute la blockchain.
Tous les mineurs du réseau, observateurs des transactions, voient circuler quasiment les mêmes transactions au même moment. Les mineurs peuvent être des particuliers ou des professionnels ; seule compte la puissance de calcul qu’il vont consacrer à la réalisation de ce sceau numérique. Pour trouver ce sceau, tous sont en compétition pour résoudre une opération cryptographique qui est à la fois difficile à réaliser et est extrêmement facile à vérifier par les autres membres du réseau une fois qu’elle est achevée (cf. encadré suivant).

La difficulté du minage

Chaque bloc de transactions à miner constitue un ensemble de données. Certaines de ces informations (l’empreinte du bloc précédent, la date et l’heure de création du bloc, etc.) sont regroupées dans ce que l’on appelle “ l’en-tête ” du bloc. Cet en-tête comprend aussi une variable appelée “ nonce ”. Le minage consiste, pour le mineur à se livrer à des opérations de hachage (8) de l’en-tête avec un objectif : être le premier, parmi tous les mineurs, à trouver une valeur pour le “ nonce ” qui permette au hash obtenu de commencer par un certain nombre de zéros prévu par l’algorithme (ce nombre de zéros, ajusté toutes les deux semaines, détermine la difficulté de l’exercice).
Pour cela, le mineur n’a pas d’autre choix que d’essayer, aussi vite que possible, un maximum de valeurs pour ce nonce, en refaisant à chaque fois le hachage, jusqu’à ce qu’il en trouve une qui permette de respecter la condition imposée. Voilà pourquoi cet exercice est difficile et nécessite une forte puissance informatique. Ensuite, pour vérifier instantanément le calcul du mineur qui affirme être le gagnant, il suffit au reste du réseau de refaire le calcul de hash en utilisant la valeur du nonce que le mineur a diffusée à tous. Toutes ces opérations sont bien sûr automatisées.

  1. Une fonction de hachage transforme n’importe quelle donnée numérique en une suite de caractères appelée “ hash ”, qui constitue une empreinte cryptographique. Une telle fonction a deux caractéristiques : d’une part elle est non réversible, on ne peut pas retrouver la donnée initiale à partir du hash final (en revanche on peut vérifier immédiatement si une empreinte est bien le hash d’une donnée spécifique : il suffit de hacher à nouveau cette dernière et de comparer les deux hashs qui doivent alors être identiques) ; d’autre part toute modification infime de la donnée initiale aboutit à une modification radicale du hash. Il existe plusieurs fonctions de hachage. Celle utilisée pour Bitcoin est SHA256.

Lorsqu’un premier mineur trouve la solution au challenge numérique imposé à tous, il le notifie instantanément au réseau. L’ensemble des noeuds accepte le nouveau bloc et le mineur est récompensé par les bitcoins créés à cet effet. La création monétaire n’est donc réalisée qu’en récompense du travail des mineurs pour sécuriser la blockchain. Le rythme de création monétaire défini dans le logiciel est connu dès le premier jour et tous les paramètres d’ajustement sont également prévus.
Plus il y a de mineurs en compétition, plus la puissance globale allouée à la résolution du challenge est élevée, et donc plus rapidement ce dernier sera-t-il remporté. Si cette fréquence augmente, le rythme de création monétaire augmentera également. Afin de de maintenir cette création à un rythme régulier, le logiciel adapte donc le niveau de difficulté requis tous les 2016 blocs (environ tous les 15 jours). Le niveau de la rémunération des mineur est, par ailleurs, divisé par deux tous les 210 000 blocs (environ tous les 4 ans). D’un montant de 50 bitcoins par bloc au démarrage du réseau, il est actuellement de 12,5 bitcoins par bloc.
La création de bitcoins atteindra sa limite asymptotique de 21 millions d’unités en 2140. Ce processus est représenté, en valeur et en pourcentage de progression, dans le graphique suivant.

En conclusion, Bitcoin est un réseau en accès libre sur lequel quiconque peut réaliser des transactions infalsifiables, enregistrées publiquement dans un registre immuable grâce au travail d’une communauté incitée à allouer de la puissance de calcul pour percevoir la récompense que constitue la création monétaire. Bitcoin peut s’apparenter à une forme de bien commun, actif patrimonial partagé par les membres d’une communauté, au sens spirituel et moral du mot “ bien ” comme au sens matériel et pratique. Il constitue le premier système monétaire et de paiement autonome et résistant à la censure, complémentaire aux systèmes existants, fondé sur les mathématiques et la transparence plutôt que sur la coercition et l’opacité. Bitcoin est libre et transparent, ne fait aucune promesse, n’oblige ni ne contraint personne, et permet à chacun de redevenir maitre de ses transactions et de son argent.

Evolution et gouvernance

Les premières années de Bitcoin ont été largement consacrées à la validation du modèle. Sa conception et sa sécurité ont été étudiées par tous les laboratoires de recherche des plus prestigieuses universités. Sa robustesse est continuellement mise à l’épreuve par tous les hackers du monde. Grâce à cet examen permanent, son modèle technologique a recueilli une validation assez générale du monde scientifique. Il est important de signaler que les analyses académiques ont quasiment toutes conduit à valider la rigueur de son protocole mathématique. La robustesse de la technologie est acquise et n’est plus véritablement remise en cause dans le flot d’articles à charge sur Bitcoin.
Les débats ont toujours été très animés dans la communauté Bitcoin. Ils concernent notamment le pilotage de ce logiciel libre, le choix des améliorations à y apporter, les héritages et interprétations des volontés du ou des créateurs. Dès les premières années de l’existence de Bitcoin, deux grandes voies d’évolution du protocole originel se sont ouvertes.
Tout d’abord, on a vu fleurir de nombreuses copies de Bitcoin. Les cryptomonnaies issues de Bitcoin, nommées « altcoins », apportent au marché une richesse d’offres de monnaies, peut-être un peu trop abondante, mais aussi libre que Bitcoin. Certains altcoins font l’effort de proposer une technologie en certains points plus aboutie que Bitcoin, par exemple en termes d’anonymat (Monero est le plus connu).
La seconde voie consiste à faire évoluer Bitcoin afin qu’il puisse répondre aux exigences attendues en termes de sécurité et de passage à l’échelle (« scalabilité »). Le nombre de transactions possibles sur le réseau Bitcoin est encore très éloigné des capacités transactionnelles des réseaux de paiement privatifs tels que Visa ou Mastercard. Ce nombre est lié à la taille des blocs et à l’intervalle temporel séparant chacun d’entre eux. Actuellement, le réseau est en mesure de traiter approximativement 3 000 transactions par bloc, soit environ cinq transactions par seconde. Face à un usage croissant, le réseau arrive à saturation.
Cette limite n’est pas intrinsèque à la technologie. Elle résulte d’un choix consistant à privilégier la sécurité sur le volume des transactions. Chaque blockchain propose un compromis spécifique entre ces deux paramètres, avec des implications différentes. Dans le cas de Bitcoin, la stratégie suivie jusqu’à présent consiste à essayer d’augmenter le volume possible sans diminuer le niveau de sécurité.
Plusieurs scénarios sont envisageables. Soit les efforts de recherche technique en cours dans l’écosystème aboutiront et permettront la scalabilité de Bitcoin. Soit d’autres cryptomonnaies, avec des caractéristiques différentes, s’imposeront. Quoi qu’il en soit, comme pour toute nouvelle technologie, il est important de ne pas analyser les limites actuelles de manière statique mais dynamique, en prenant en compte les progrès en cours et probables pour la suite.
S’agissant de l’amélioration de la scalabilité, le débat fait rage depuis plusieurs années au sein de la communauté des développeurs et cryptographes de Bitcoin. Dès 2010, Hal Finney, le premier développeur ayant travaillé avec Nakamoto, reconnaissait que « Bitcoin lui-même ne peut atteindre une échelle permettant que chaque transaction dans le monde soit diffusée à chacun et inscrite dans la blockchain. On a besoin d’un niveau complémentaire de systèmes de paiement qui soit plus léger et plus efficace » (9). Ce modèle de couches protocolaire est d’ailleurs celui qui compose aujourd’hui notre environnement numérique : HTTP (web), SMTP (mail), FTP (transfert de fichiers).

Une étape importante a été franchie avec l’optimisation qu’a représenté l’activation de Segwit en août 20173. Par ailleurs, la communauté ne s’étant pas mise d’accord sur les propositions d’augmentation de la taille des blocs, un hard fork a eu lieu le 1er août 2017, conduisant à la blockchain parallèle Bitcoin Cash. Le hard fork “ Segit2X ” prévoyant un doublement de la taille des blocs a finalement été abandonné en novembre 2017. Par ailleurs, au-delà de ces quelques épisodes emblématiques, des hard forks de moindre ampleur ont lieu très régulièrement, sans aucun impact sur le cours du bitcoin.
La priorité actuelle est le développement de solutions comme le Lightning network (10) (dont une condition technique préalable était la mise en oeuvre de Segwit). Ce projet devrait permettre des paiements instantanés, sans tiers de confiance et avec pratiquement aucune limite de flux. Une des critiques cependant faites au réseau Lightning repose sur le caractère privatif et potentiellement centralisé des hubs de ce réseau, ces hubs devenant potentiellement de nouvelles banques. Dans ce schéma, le bitcoin fera figure de monnaie de réserve pour garantir un réseau de paiement plus rapide (que certains appellent “ off chain ”, même si toutes les transactions de Lightning peuvent aussi passer “on chain”). L’une des trois principales startups en pointe dans le monde sur ce sujet est française : ACINQ (11).
C’est ainsi la perspective de centaines de milliers de transactions par seconde avec des frais réduits qui se dessine à plus ou moins brève échéance. Comme ces transactions pourront porter sur des micro-montants et avoir lieu successivement sur des micro-intervalles de temps, elles pourront, permettre des versements monétaires en flux continus et former, selon l’expression d’Andreas Antonopoulos, des “ cascades de paiements ” ou de la “ monnaie en streaming ” (12). Certains paiements comme des salaires ou une consommation de flux d’énergie ou d’information pourront être effectués en continu et non pas de manière ponctuelle. Les conséquences de cette évolution en matière organisationnelle, comptable, industrielle et même sociétale sont potentiellement considérables.
L’intense effort de recherche technologique en cours pour améliorer le réseau Bitcoin vise également à permettre la fongibilité du jeton numérique, faciliter les “ smart contracts ”, renforcer la confidentialité des transactions, et améliorer le respect de la vie privée4. Certains projets commencent à être connus, comme Rootstock (13) et TumbleBit (14). L’année 2018 devrait être riche en avancées dans tous ces domaines (15).
Beaucoup estiment ces progrès trop lents. Le choix clairement assumé par Bitcoin Core est d’oeuvrer à une scalabilité qui ne crée pas d’effets pervers (diminution de la sécurité des transactions, concentration excessive du minage, etc.), quitte à accepter un progrès plus lent. Ce choix est contesté par certains : c’est l’intérêt des hard forks que de leur donner la possibilité de mettre en oeuvre leur proposition et de la tester auprès des utilisateurs.
Ces événements témoignent du mode de gouvernance complexe et novateur de Bitcoin. Les décisions sont prises de manière consensuelle mais n’excluent pas des débats houleux, des stratégies d’influence, des jeux d’acteurs, des négociations. Tout l’enjeu est d’aligner des intérêts pas nécessairement concordants entre des acteurs et des communautés aussi différents que les mineurs, les plateformes d’échange, les développeurs historiques, les startups en création, etc. dont certains ont des activités très rentables en l’état (16).
Cette gouvernance de Bitcoin est d’ailleurs très intriguante quand on la compare au fonctionnement des démocraties contemporaines. L’absence d’autorité centrale et la nécessité d’un très fort consensus entre ses utilisateurs pour toute modification importante rendent le système relativement conservateur : les règles ne sont modifiées que lorsqu’il y a une adhésion générale, une véritable conviction collective que le changement améliorera nettement le système. Cette caractéristique est très différente de la situation qui prévaut dans les démocraties modernes, où un pouvoir élu avec une médiocre proportion de l’électorat peut se permettre de transformer le droit dans tous les domaines, où chaque ministre tient à faire adopter “ sa ” grande loi, et où l’adaptation permanente du droit et de la fiscalité est politiquement valorisée alors qu’elle engendre une complexité et une insécurité juridiques désastreuses pour les équilibres sociaux et l’activité économique.

  1. https://bitcoin.fr/verrouillage-de-segwit/
  2. https://bitcoin.fr/video-2018-annee-lightning/
    https://www.wired.com/story/the-lightning-network-could-make-bitcoin-faster-and-cheaper/
  3. Les deux autres sont Blockstream et Lightning Labs.
  4. Les comptes rendus de la conférence internationale Scaling Bitcoin des 4-5 novembre 2017 à Stanford donnent une idée de la complexité et de la richesse des solutions en cours d’étude: https://bitconseil.fr/scaling-bitcoin-synthese-partie-1/ https://bitconseil.fr/scaling-bitcoin-synthese-2-scalabilite/
  5. https://bitconseil.fr/rootstock-rsk-smart-contracts-bitcoin/
  6. https://bitcoinmagazine.com/articles/bitcoin-privacy-all-breeze-wallet-about-bring-tumblebit-life/
  7. https://bitcoinmagazine.com/articles/keep-eye-out-these-bitcoins-tech-trends-2018/
  8. Par exemple, une hypothèse consiste à supposer que l’équipe de Bitcoin Core conserve l’option d’un doublement de la taille des blocs comme instrument d’échange pour inciter les plateformes d’échange qui ne l’ont pas encore fait à implémenter Segwit