Actu-crypto

🔒
❌ About FreshRSS
There are new articles available, click to refresh the page.
Before yesterdayYour RSS feeds

Comment définir Bitcoin ?

December 5th 2021 at 09:00

On définit souvent Bitcoin comme un protocole de transfert de valeur fonctionnant sans autorité centrale, qui régit l’émission et les échanges d’une unité de compte numérique (appelée le bitcoin), protocole qui a été initialement déterminé par Satoshi Nakamoto en janvier 2009 par le biais de son prototype et qui a permis de construire une chaîne à partir du bloc de genèse.

Néanmoins, cette définition, aussi informative soit-elle, n'est pas suffisamment précise. Elle fait de Bitcoin un protocole, c'est-à-dire un ensemble de règles de consensus, mais elle ne spécifie pas les règles en question (en dehors du bloc de genèse) : celles-ci sont ne sont pas déterminées dans le temps et peuvent changer, chaque modification créant de facto un nouveau protocole.

Ce flou artistique a mené au cours des années à de nombreuses discussions enflammées à propos de ce qui constituerait le « vrai Bitcoin », notamment lors du débat sur la scalabilité, et a fini par créer au moins trois prétendants au titre, à savoir BTC (« Bitcoin »), BCH (« Bitcoin Cash ») et BSV (« Bitcoin SV »). Cette revendication, qui paraît à première vue extraordinaire, cache en réalité une question philosophique profonde : comment définit-on correctement Bitcoin ?

 

Le critère linguistique

« Bitcoin » est un mot. Nom anglais issu de bit (« unité binaire ») et de coin (« pièce de monnaie »), il évoque directement l'idée d'une monnaie numérique. Le terme est devenu très populaire au fil des années, notamment grâce aux médias de masse, ce qui fait que de nombreuses personnes tentent de le récupérer ou de s'y associer d'une manière ou d'une autre, à tort ou à raison.

De ce fait, le premier critère que nous pouvons examiner est le critère linguistique, qui détermine la définition d'un terme selon l'usage qui en est fait. En effet, en linguistique l'usage est roi : s'il peut exister des institutions ayant pour but d'orienter l'évolution d'une langue, cette évolution demeure libre et est soumise à ses locuteurs. Une langue est par essence un protocole de communication ayant pour but la compréhension mutuelle, et les termes qui la composent ont par conséquent tendance à acquérir un sens précis déterminé par la multitude, par effet de réseau. De cette manière, si un grand nombre de locuteurs utilise un terme avec un sens particulier, celui-ci prédominera.

Selon ce critère, Bitcoin serait Bitcoin parce qu'une grande majorité de personnes l'appellent « Bitcoin » : il serait simplement défini par la masse, quelle que soit la chose qu'il désigne.

Bien évidemment, en tant que personnes attachées à l'idée de Bitcoin, cela ne nous satisfait pas.

Nous savons que le sens d'un terme peut dériver jusqu'à ce que ce terme ne signifie plus la même chose, voire désigne une chose fondamentalement opposée. C'est par exemple le cas du mot « liberalism » qui, en anglais américain, ne désigne plus principalement le libéralisme tel que nous l'entendons en français, mais un progressisme de gauche focalisé sur les questions de justice sociale. Ainsi, dans le langage courant aux États-Unis, les liberals sont des personnes favorables à l'intervention de l'État dans le cadre de la redistribution de la richesse, la sécurité sociale et l'éducation, tandis que les libertarians sont les libéraux authentiques favorables au laissez-faire et à la réduction du rôle de l'État dans la vie des individus.

Ainsi, décrire Bitcoin de cette manière crée une faille majeure dans tout ce qu'il représente. Si l'usage de la masse prime, alors on peut, si l'on a de l'influence, faire en sorte que Bitcoin change dans un sens qui ne le dépeint plus comme nous nous le représentons aujourd'hui. Il serait alors possible, par la propagande, de faire en sorte que le système appelé Bitcoin n'utilise plus la preuve de travail (au nom de la lutte contre le changement climatique) ou qu'il soit privé de sa limite fixe d'unités (au nom de la protection du système monétaire et financier).

De plus, définir Bitcoin de cette manière ne tient pas compte du fait que la langue est élastique et tolère de nombreuses incohérences : il peut exister de nombreuses polysémies pour un même mot (c'est d'ailleurs le cas pour « Bitcoin »), et plusieurs utilisations de ce mot peuvent coexister, bien qu'elles soient opposées de manière inhérentes.

En fait, une langue est un champ de bataille permanent sur lequel s'affrontent les différents usages. Chaque locuteur fait à chaque instant un choix individuel pour soutenir des usages particuliers, sans forcément suivre le choix majoritaire, participant de ce fait à la construction de la langue. C'est précisément ce nous faisons dans cet article : un choix.

 

Le critère du logiciel

Une deuxième manière de définir Bitcoin est de s'appuyer sur le logiciel Bitcoin Core. Bitcoin Core constitue en effet l'implémentation de référence du protocole dont le code sert de base pour les développeurs pour retrouver les règles de consensus, et cela fait qu'il est aisé de confondre les deux. D'ailleurs pendant longtemps le logiciel était simplement appelé Bitcoin.

Le code du logiciel, écrit principalement en C++, est disponible en source ouverte sur internet, et sous licence libre, de sorte que quiconque peut copier et modifier le code à sa guise. Initialement hébergé sur SourceForge, il est aujourd'hui présent sur GitHub.

Le développement du logiciel se veut ouvert et « démocratique » : tout le monde peut proposer un modification du code, notamment par le biais des propositions d'amélioration de Bitcoin (BIP). Néanmoins, le dépôt GitHub est soumis à l'autorité des mainteneurs, qui décident des changements qui sont apportés au logiciel, et en particulier à celle du mainteneur principal, qui peut nommer et révoquer les autres mainteneurs. Comme l'indique le guide de contribution de Bitcoin Core :

« Les mainteneurs prendront en considération un correctif s'il est en accord avec les principes généraux du projet ; s'il répond aux normes minimales d'inclusion ; et jugeront du consensus général des contributeurs. »

Définir Bitcoin comme le protocole lié à ce logiciel (ou bien à un autre) réintroduirait ainsi une autorité centrale, ce qui rentrerait en contradiction directe avec l'idée qu'on se fait de Bitcoin.

De plus, la pratique montre bien que le protocole n'est pas contrôlé par les mainteneurs de l'implémentation logicielle, même s'il existe une certaine influence. Chacun est libre de copier le logiciel, de le modifier, et de le promouvoir aux nœuds du réseau, qui se chargent d'appliquer les règles de consensus. Ainsi, le contrôle du logiciel ne permet pas de modifier les règles arbitrairement : si par exemple Bitcoin Core intégrait un changement controversé (comme par exemple une violation de la politique monétaire du bitcoin), alors une très grande majorité de nœuds refuseraient probablement, en continuant de faire fonctionner une version antérieure de Core ou en se tournant vers une autre implémentation.

 

Le critère du protocole originel

Un troisième critère pour définir Bitcoin est la proximité avec le protocole originel, c'est-à-dire le protocole déterminé par le biais du prototype publié par Satoshi Nakamoto le 8 janvier 2009. Le sous-entendu est que Bitcoin n'avait pas vocation à changer au-delà de la correction des failles présentes à son lancement, et que par conséquent il devrait être défini comme l'itération la plus proche de ce protocole.

Cette vision est notamment défendue par beaucoup de partisans de Bitcoin SV, qui se basent sur une citation (décontextualisée) de Satoshi Nakamoto datant du 17 juin 2010 :

« La nature de Bitcoin est telle que, dès la version 0.1 lancée, son fonctionnement de base était gravé dans le marbre pour le reste de son existence. »

D'après eux, Bitcoin devrait être un protocole fixe, dont les mineurs seraient les défenseurs.

Une variante de ce critère est l'argument de l'esprit originel de Bitcoin, parfois utilisé par les partisans de Bitcoin Cash comme Roger Ver, qui voudraient qu'un « système d'argent liquide électronique » doive nécessairement offrir des transferts à bas coût et des temps de confirmations faibles. De ce point de vue, BTC ne représenterait pas Bitcoin.

Toutefois, même si ces définitions ont le mérite d'être plus précises, elles sont purement arbitraires dans le critère choisi. BTC constitue de toute évidence la principale version de Bitcoin, et on peut considérer qu'il est lui-même proche du protocole originel sous un autre aspect : la compatibilité.

 

Le critère de la compatibilité

Le quatrième critère de définition est celui de la compatibilité du protocole, critère défendu par de nombreux partisans de BTC, comme par exemple Michael Marquardt (alias theymos) ou Francis Pouliot. Pour continuer à être Bitcoin, le protocole devrait être compatible avec les versions antérieures.

Cette vision repose sur l'exigence d'unanimité pour réaliser un changement, exigence qui a pour conséquence de conserver un seul et unique protocole et de préserver son effet de réseau.

Puisqu'une quasi-unanimité serait très difficile à atteindre dans le cas d'un hard fork (hors résolution d'un bogue ou changement vital), il est nécessaire de passer par des soft forks, à savoir des changement strictement restrictifs des règles de consensus. Ces soft forks ont la caractéristique de ne pas créer de scission de chaîne s'ils sont correctement appliqués. De ce fait, ils permettent une compatibilité ascendante du logiciel (parfois qualifiée de « rétrocompatibilité ») qui fait que les nœuds qui utilisent une ancienne version du logiciel continuent de considérer comme valides les blocs produits par la nouvelle version.

Cependant, cette conception cache un petit détail, souvent omis : c'est que le soft fork doit être imposé par la majorité de la puissance de calcul du réseau pour entraîner cette compatibilité. En effet, les nœuds qui suivent les nouvelles règles de consensus peuvent être contraints de rejeter les blocs produits par les mineurs qui suivent les anciennes règles. Lorsque les nœuds appliquant le soft fork ont la puissance de calcul majoritaire de leur côté, cela ne pose pas de problème : les nœuds suivant les anciennes règles sont contraints de suivre la chaîne la plus longue (c'est-à-dire celle ayant le plus de preuve de travail accumulée). Dans le cas contraire, la chaîne appliquant les nouvelles règles n'est pas la plus longue, ce qui peut mener à une scission permanente.

Application d'un soft fork
Exemple de la réduction de la taille limite des blocs. Si la majorité du taux de hachage se trouve du côté des nœuds appliquant le soft fork, alors tout le monde suit leur chaîne (la plus longue). Si la majorité du taux de hachage se trouve de l'autre côté, les nœuds appliquant le soft fork peuvent finir par rejeter un bloc de l'autre chaîne et créer une scission permanente de la chaîne.

L'application d'un soft fork correspond donc à l'équivalent d'une attaque des 51 % ayant lieu sur le réseau, en interdisant aux nœuds de refuser la modification du protocole sans avoir recours à un hard fork manuel. On ne saurait définir Bitcoin comme cela, car cela voudrait dire qu'un attaquant pourrait imposer ses règles sur la chaîne, et cette conception est ainsi invalide.

 

Le critère de la majorité économique

Le cinquième critère permettant de définir est celui de la majorité économique. Selon cette conception, Bitcoin serait le protocole dont l'utilité monétaire est la plus grande. Cette majorité est parfois mesurée par certains par la capitalisation boursière, c'est-à-dire le prix multiplié le nombre d'unités, bien que celle-ci ne soit pas forcément un bon indicateur de la santé économique du système, notamment lorsque le volume d'échange (sur la chaîne et en dehors) est faible.

Un moyen plus efficace d'estimer la valeur d'une chaîne est la preuve de travail accumulée, qui est corrélée à moyen terme au revenu du minage, à savoir :

  • La subvention protocolaire, qui prédomine dans la phase distributive de Bitcoin, dont la valeur entre deux halvings est directement liée au prix du bitcoin.
  • Les frais de transaction, qui prédominent dans la phase finale de Bitcoin, dont la valeur provient de l'activité économique de la chaîne.

Ce critère est ainsi bien plus à même de nous fournir une idée de quel protocole est économiquement majoritaire.

Cette vision a été défendue par Gavin Andresen en février 2017 dans un article où il écrivait :

« "Bitcoin" est le registre des transactions non précédemment dépensées, signées de manière valide, contenues dans la chaîne de blocs qui commence par le bloc de genèse (empreinte 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f), suit le programme de création de 21 millions de pièces, et possède la plus grande preuve de travail par double SHA-256 cumulée. »

La vision a perduré depuis, étant perpétuée par le concept de gouvernance, qui présuppose qu'il y a quelque chose à diriger. Cette conception a notamment joué dans la scission entre Ethereum (ETH) et Ethereum Classic (ETC) en juin 2016, où le protocole modifié, majoritaire, a gardé le nom et le sigle boursier initiaux, et où le protocole originel, minoritaire, a dû prendre un autre nom et un autre sigle. Cette attribution des noms et des sigles a également eu lieu lors de la séparation entre Bitcoin Cash (BCH) et Bitcoin SV (BSV) en novembre 2018, puis lors de l'embranchement entre Bitcoin Cash (BCH) et Bitcoin ABC / eCash (XEC) en novembre 2020, alors que chacun se prétendait être le « vrai Bitcoin Cash ».

Dans le cas de BTC, le critère de la majorité est souvent couplé au critère de compatibilité : le soft fork peut ainsi être imposé par une majorité du taux de hachage, ce qui permet de conserver une seule et unique chaîne.

Cependant, cette vision pêche elle-même en ne requérant aucune caractéristique fondamentale et en offrant la possibilité d'une récupération du terme par le pouvoir en place.

 

Bitcoin est un concept

Cela nous amène au point central de cet article : Bitcoin est un concept, pas un protocole. Bien que beaucoup de personnes fassent de Bitcoin un protocole, cette vision est impossible à soutenir correctement en raison du manque d'unicité. Il n'y a pas de « vrai protocole Bitcoin » dans le sens où aucun protocole ne représente l'intégralité de ce qu'est Bitcoin1. Il ne s'agit pas d'une marque déposée dont certains individus auraient la propriété : personne ne possède le brevet de Bitcoin et tout le monde peut l'implémenter à sa convenance sans demander l'autorisation. Et en fait, cette liberté conduit nécessairement à la mise en œuvre multiple de ce concept, sous la forme de scissions ou de « cryptomonnaies alternatives ». Qu'une version de Bitcoin soit dominante économiquement ne change rien à cette considération.

Avant de décrire un protocole, une chaîne, un réseau ou une monnaie, le mot « Bitcoin » a été utilisé pour désigner un concept. Ce concept a été défini dans le document fondateur écrit par Satoshi Nakamoto et auquel tout le monde se réfère à un moment ou à un autre : le livre blanc de Bitcoin, intitulé « Bitcoin : Un système d'argent liquide électronique pair-à-pair », qui contient tous les éléments essentiels à sa constitution.

On peut dégager ainsi 5 caractéristiques fondamentales qui définissent Bitcoin :

 

1. Le partage des risques (P2P)

« Les nœuds peuvent quitter et rejoindre le réseau à volonté. »

Le système repose sur un réseau pair-à-pair ouvert dans lequel tous les nœuds ont les mêmes privilèges. Cette distribution du réseau permet de partager les risques d'accepter et de miner la monnaie.

Tous les systèmes dont les nœuds sont soumis à une autorisation quelconque contreviennent directement à ce principe.

 

2. La preuve de travail

« Les nœuds considèrent toujours que la chaîne la plus longue est la chaîne correcte, et continuent à travailler pour la prolonger. »

L'ajout d'un bloc nécessite une dépense d'énergie mesurée de manière probabilistique par la résolution d'un problème mathématique difficile. L'intégrité de la chaîne repose sur l'algorithme de consensus de Nakamoto par preuve de travail, qui dit que la chaîne ayant le plus de preuve de travail accumulée doit être considérée comme la chaîne valide.

La preuve ne nécessite pas une fonction de hachage particulière, et le travail peut être obtenu d'une toute autre manière. En revanche, la sélection de la chaîne la plus lourde, les points de contrôle ou l'intervention de masternodes dans le consensus sont des entorses plus ou moins importantes à ce principe. La preuve d'enjeu en constitue une violation entière.

 

3. Les frais de transaction internes

« L’incitation peut également être financée par les frais de transaction. Si la valeur de sortie d’une transaction est inférieure à sa valeur d’entrée, la différence correspond à une commission qui est ajoutée à la valeur d’incitation du bloc contenant la transaction. »

Le système intègre un modèle de frais de transaction qui sont reversés aux mineurs de manière interne. Chaque transaction porte des frais pour inciter à sa confirmation. Ces frais forment la base de la résistance à la censure du système.

Par exemple, l'ajout d'un mécanisme de brûlage des frais éloigne le protocole de sa nature de Bitcoin.

 

4. L'offre fixe d'unités

« Une fois qu’un nombre prédéterminé de pièces a été mis en circulation, l’incitation peut être entièrement financée par les frais de transaction et ne plus requérir aucune inflation. »

Le but initial de la création monétaire est l'amorçage du système : il s'agit du moyen de distribuer les unités de manière juste. À terme, le système doit se baser essentiellement sur les frais de transaction.

Cette offre limitée garantit le caractère déflationniste de la monnaie, et joue dans la sécurité économique du système en incitant les commerçants à refuser tout changement inflationniste.

 

5. Le modèle de représentation par des pièces (UTXO)

« Nous définissons une pièce de monnaie électronique comme une chaîne de signatures numériques. [...] Pour permettre aux valeurs d’être séparées et combinées, les transactions contiennent des entrées et des sorties multiples. »

Bitcoin utilise un modèle de représentation par des pièces pour gérer les unités échangées. Une pièce est identifiée par un point de sortie de transaction, et est caractérisée par un montant en satoshis et un ensemble de conditions de dépense (typiquement l'exigence d'une signature numérique valide).

Ce modèle a pour avantages de préserver la confidentialité (pas d'incitation à réutiliser la même adresse), de faciliter l'implémentation logicielle et de permettre une meilleure scalabilité du système, contrairement au modèle de représentations par des comptes.

 

Qu'apporte cette définition ?

Tout d'abord, cette définition résout le paradoxe du « vrai Bitcoin ». Bitcoin ne peut pas être un protocole fixe : modifier le protocole ne change pas sa nature fondamentale. Bitcoin ne peut pas non plus être un protocole changeant, car il n'existe pas de moyen satisfaisant de le déterminer comme on l'a montré.

Cette définition a également l'avantage d'apaiser les conflits. Bitcoin a connu des scissions et des copies par le passé, ce qui a créé une grande tension chez les partisans de tous les bords. Ainsi, BTC, BCH et BSV sont des mises en œuvre plus ou moins conformes de Bitcoin. De même, Litecoin, Monero ou Zcash peuvent être considérés comme des Bitcoins plus ou moins authentiques : dans notre définition, rien n'indique en effet que la chaîne doive commencer par un bloc de genèse particulier.

Bien évidemment, les effets de réseau de ces cryptomonnaies diffèrent et il ne s'agit pas de les mettre au même niveau, notamment en ce qui concerne la sécurité. Aujourd'hui, BTC est le Bitcoin le plus populaire, le plus valorisé et le plus sécurisé. On peut donc accepter la polysémie en continuant d'appeler ce Bitcoin « Bitcoin », tout en gardant en tête qu'il ne s'agit que de la version principale de ce concept.

Cette définition permet enfin d'être également mieux armé contre les scissions futures. Il est possible que des États tentent de s'approprier un protocole particulier, pour un jour le redéfinir grâce à la contrainte légale, peut-être très légèrement au début, dans le but de l'amener lentement vers la censure et le seigneuriage. Et alors il ne serait pas impossible que cette version étatique devienne majoritaire économiquement.

Définir Bitcoin comme un concept permet ainsi d'éviter ce glissement en autorisant la concurrence saine entre les différentes versions de Bitcoin et en fixant des limites claire de ce qu'est Bitcoin et de ce qu'il n'est pas.

 


Notes

1. On peut se demander :

  • Quel est le vrai christianisme ? Est-ce le catholicisme, l'orthodoxie ou l'une des formes de protestantisme ? Selon quel critère ?
  • Quel est le vrai dollar ? Le dollar étasunien, le dollar canadien ou le dollar australien ou un autre ? Ou alors, le dollar (« Thaler ») n'a-t-il pas disparu lorsqu'il n'a plus représenté une quantité de métal précieux ?
  • Quelle est la vraie République de Chine : la République de Chine (Taïwan) ou la République Populaire de Chine ?
  • Quelle est la vraie langue française ? Le français de France, le français québécois ou le français parlé au Congo  ?

Si donc il n'y a pas de vrai christianisme, de vrai dollar, de vraie République de Chine ou de vraie langue française, comment pourrait-il y avoir un vrai protocole Bitcoin ?

 


 Sources

Eric Voskuil, Étiquettes de Bitcoin, 2020.
Eric Voskuil, Usurpation de marque, 2020.
Eric Voskuil, Principes cryptodynamiques, 2020.
Eric Voskuil, Objectifs de Fedcoin, 2020.
Theymos, It's time for a break: About the recent mess & temporary new rules, 17 août 2015.
Gavin Andresen, A definition of "Bitcoin", 7 février 2017.
Gavin Andresen, Other definitions of Bitcoin, 8 février 2017.
Jameson Lopp, Who controls Bitcoin Core?, 15 décembre 2018.

❌