- 1 L’intrication dont il est question désigne le fait des dimensions orthogonales qui caractérisent le (...)
1Si les promoteurs de Bitcoin mettent en avant son principal usage en tant que monnaie décentralisée, ses concepteurs l’ont pensé dès le départ comme application d’une infrastructure à portée plus générale. Ainsi, Satoshi Nakamoto (2008) décrit dans son article séminal la construction de la chaîne de blocs sous-jacente comme « un service d’horodatage ». Ce service est rendu par un protocole numérique intriquant deux aspects : les transactions et le minage. Nakamoto démontre que cette intrication1 invite « tous les participants à se mettre d’accord sur la séquence ordonnée dans laquelle les transactions sont reçues. » Par ce mécanisme, les données de transactions sont en quelque sorte scellées dans le temps par le minage – non pas enfouies dans le passé, mais attachées à un moment particulier. Réciproquement, les transactions constituent des incitations pour l’activité de minage qui se déploie dans un contexte de concurrence généralisée.
2Si Nakamoto propose une démonstration des propriétés attendues à partir d’un calcul de probabilité, il ne se penche pas sur toutes les implications de la dynamique engagée par le déroulé du protocole. D’autres recherches ont été menées pour enrichir la compréhension de cette dynamique, principalement dans le domaine des mathématiques appliquées à l’économie (Bertucci et al. 2022). Les modèles établis dans le cadre de ces recherches apportent des arguments pour confirmer ou infirmer les postulats concernant la sécurité ou la résilience du protocole. Le présent article vise cependant à éclairer l’objet bitcoin sous un angle différent. Pour élargir la compréhension de sa dynamique et explorer des implications qui ne sont pas explicites dans les modèles précédemment évoqués, je souhaite mettre à contribution une approche des sciences de l’information et de la communication initialement mise en œuvre par Alexander Galloway (2004) pour étudier les protocoles d’Internet. Elle est aussi similaire aux démarches de Jussi Parikka (2007) dans son étude des virus informatiques ou de McKenzie Wark (2019) lorsqu’elle se penche sur le domaine du jeu vidéo. Il s’agit d’aborder les objets numériques comme des hybrides sociotechniques dont l’étude ne peut être réduite à une approche purement formelle qui voit ce type d’objets sous l’angle de ses propriétés mathématiques, ni à une approche purement sociologique qui se contenterait de dresser le tableau des acteurs et leurs interactions.
3Dans ce contexte, un protocole numérique n’est ni le déroulé déterministe d’un algorithme, ni une convention sociale avec laquelle chacun peut négocier librement son rapport depuis une position d’extériorité. Il dessine plutôt progressivement, par son emploi répété, des chemins par lesquels il devient plus aisé de parcourir l’espace ainsi ouvert, tout en dissuadant d’emprunter des itinéraires moins bien praticables. Analyser un objet numérique selon cette méthode consiste ainsi à dresser un tableau dynamique du fonctionnement pragmatique et situé de l’objet en question, plutôt que la seule vision statique et décontextualisée des composants qui le constituent logiquement. Les propriétés remarquables que cette méthode permet de mettre en lumière relèvent, par ailleurs, d’une hybridation (et non pas de la seule juxtaposition) des aspects techniques et sociaux.
4À ce titre, l’article va mener une analyse du protocole en partant d’un exposé didactique de ses fondamentaux qui peuvent aujourd’hui sembler triviaux, même au-delà du monde académique, mais qu’il est nécessaire de réinterpréter dans la perspective de leur hybridité. Cette analyse et les résultats qui en sont tirés constitueront une contribution susceptible d’être mobilisée ultérieurement par diverses disciplines afin de mieux situer les risques qu’elles mettent chacune en évidence dans l’emploi des chaînes de blocs sur un panel de plus en plus large de cas d’usage.
5Selon la théorie des systèmes, les applications numériques sont des « boîtes noires » dont l’étude ne doit prendre en compte que leurs interactions avec le monde extérieur : leur fonctionnement interne n’est pas censé interférer avec les propriétés et les comportements attendus. C’est aussi un principe qui structure la vision de l’architecture logicielle d’un point de vue macroscopique. Du point de vue de ceux qui sont en charge du développement de ces applications, celles-ci sont au contraire des assemblages de « boîtes blanches » dont il s’agit pour chacune de prédire le fonctionnement interne afin qu’il s’aligne avec leurs spécifications respectives. Dans le cas où l’on se penche sur l’étude d’un protocole censé orchestrer les interactions au sein d’un hybride comprenant des composants numériques et des usages applicatifs, il peut être plus pertinent d’adopter une vision de ces composants en termes de « boîtes grises ». Dans cette approche intermédiaire, il ne s’agit donc pas d’entrer dans le détail du code source, mais d’éclairer tout de même quelques recoins des structures de données et des algorithmes mis en œuvre.
6Il est, par ailleurs, important qu’éléments et contraintes définis par un protocole numérique et son implémentation concrète soient traités en deçà des interprétations métaphoriques ou signifiantes. Car la logique même des techniques numériques est justement de pouvoir accomplir un traitement dans une totale indifférence pour le contenu de l’information traitée – sans pour autant échapper à la nécessité que ce contenu existe. Si l’on se contentait de s’appuyer sur ce contenu et la signification qu’il porte pour les agents sociaux employant le système étudié, alors il ne serait pas possible de rendre compte des effets spécifiques découlant de l’emploi de ces techniques.
7Je vais donc mener une analyse du protocole Bitcoin en m’en tenant au déploiement pas à pas de sa logique propre et sans chercher à rentrer dans une interprétation de la signification particulière des éléments interagissant dans cette logique. Les termes de transaction ou de minage par exemple ne sont que des métaphores qui sont susceptibles – ou pas – de donner une meilleure prise à la compréhension de la logique protocolaire. Évidemment, ces métaphores participent aussi d’un imaginaire (Flichy, 2001) partagé par les développeurs et les utilisateurs de Bitcoin, et cet imaginaire contribue grandement aux justifications et aux usages de cette cryptomonnaie. Mais la logique propre d’un protocole numérique se déroule en lui étant indifférente. L’information qu’il traite est seulement requise comme support incontournable et sa signification n’importe pas pour que le protocole déploie ses effets en tant que protocole numérique. En cela, je m’accorde avec Galloway sur l’idée que l’analyse critique de ce genre de protocoles doit se faire contre toute interprétation ou recherche de sens puisque :
- 2 « Les protocoles n’effectuent aucune interprétation par eux-mêmes ; c’est-à-dire qu’ils emballent l (...)
“Protocols do not perform any interpretation themselves ; that is, they encapsulate information inside various wrappers, while remaining relatively indifferent to the content of information contained within.” (Galloway, 2004, p. 52)2
8À l’interface du protocole avec les mondes sociaux, là où des acteurs vont décider des usages et des interactions qu’ils souhaitent avoir par l’intermédiaire du protocole, les informations véhiculées peuvent reprendre un sens, et c’est sur la base de ces significations que se négocie l’engagement des utilisateurs. Mais une fois ces informations confiées au protocole, c’est sa logique propre qui en assurera le traitement, et les ressorts de cet engagement s’effacent devant ceux qui régissent les objets purement formels que sont les calculs spécifiés et déroulés par le protocole.
9Parce que les protocoles numériques embarquent une logique propre qui est de nature processuelle et porte sur de pures formes, leurs conséquences ne peuvent pas être simplement déduites des usages sociaux dont ils sont censés être les vecteurs. Ce qui ne veut pas dire que le déploiement concret d’un protocole numérique soit purement déterministe, car il est malgré tout alimenté par des événements qui sont extérieurs aux processus protocolaires et donc indéterminés. Ces événements sont produits par les usages sociaux concrets qui se développent à partir de la disponibilité abstraite des protocoles, sans égard pour le contenu propre de ces usages. L’histoire du déploiement d’un protocole connaît donc des accidents, des impondérables qui ne permettent pas de prédire mécaniquement sa trajectoire. Mais, la logique processuelle et mécanique des protocoles numériques trace tout de même des chemins, ouvre des voies dans un espace des possibles dans lequel les usages sociaux rencontrent ainsi un balisage de plus en plus marqué.
10Le protocole dessine donc progressivement, par son emploi répété, des chemins par lesquels il devient plus aisé de parcourir l’espace ainsi ouvert, tout en dissuadant d’emprunter des itinéraires moins bien praticables. Comme le formule Alexander Galloway (2004),
- 3 « Le protocole est comme une trace laissée dans la neige par des empreintes de pas, ou une piste de (...)
“[…] protocol is like the trace of footprints left in snow, or a mountain trail whose route becomes fixed only after years of constant wear.” (p. 244)3.
11Pour pouvoir reconstituer les effets spécifiques du protocole Bitcoin, je vais donc tenter de situer en son sein la ligne de moindre effort expliquant les traces laissées dans la neige par les empreintes de pas de ses différents utilisateurs. Il se dessinera ainsi la piste dont le cheminement se stabilise seulement après des années d’usage continuel. Pour cela, je vais faire dans un premier temps l’inventaire des éléments interagissant via le protocole, ainsi que des contraintes que ce protocole détermine pour chacun de ces éléments. Ces éléments et ces contraintes sont tirés bien sûr des spécifications formelles du protocole, mais aussi de son implémentation dans les applications réellement déployées sur le réseau. En effet, si celles-ci sont développées afin de remplir le contrat formel des spécifications, elles peuvent, pour des raisons d’ingénierie logicielle, être amenées à introduire, non pas des écarts par rapport aux spécifications, mais des éléments et des contraintes supplémentaires découlant de leur architecture interne.
12Lorsque les éléments et les contraintes sont correctement identifiés à partir de l’analyse du système et de ses composants selon la démarche qui vient d’être exposée, la seconde étape de la méthode consiste alors à parcourir pas à pas le chemin emprunté par les acteurs faisant usage du protocole afin de reconstituer les scénarios les plus probables, et donc les trajectoires récurrentes. À ce stade, il ne s’agit pas seulement de prendre en compte les caractéristiques techniques du système, mais aussi d’intégrer dans le scénario à dérouler les contraintes socioéconomiques qui orientent les prises de décision des utilisateurs, parfois à leur insu ou du moins sans qu’ils puissent les remettre fondamentalement en question.
13Le protocole Bitcoin peut d’abord être vu comme un contrat définissant les messages à échanger et les tâches à accomplir par différents automates numériques – des programmes exécutés par des ordinateurs – communiquant via un réseau de pair-à-pair (Musiani, 2015). Par définition, la topologie de ce genre de réseau invite chaque automate participant – appelé aussi « nœud » – à entrer potentiellement en communication avec n’importe quel autre. De plus, dans le cas du réseau bitcoin, celui-ci est décentralisé, c’est-à-dire que cette communication s’établit directement d’un nœud émetteur à un nœud récepteur, sans passer préalablement par un autre nœud particulier détenant les informations concernant la carte du réseau. La propagation d’un message passe donc par la collaboration entre les nœuds. Un message émis par un nœud sera d’abord diffusé à quelques nœuds proches, connus de l’émetteur. Les messages reçus par un nœud peuvent à leur tour être réémis par ces premiers destinataires vers d’autres nœuds que l’émetteur initial. Par ce mécanisme, il suffit que quelques nœuds soient accessibles en direct pour que, de proche en proche, n’importe quel nœud puisse diffuser un message qui atteindra l’ensemble des nœuds du réseau. Cela peut être réalisé sans que la topographie du réseau soit connue d’aucun nœud et fonctionne même lorsque celle-ci est mouvante à l’insu des nœuds. L’émetteur se contente de lancer le message dans son voisinage et laisse au réseau lui-même la responsabilité de sa propagation à l’ensemble. La mise en œuvre du réseau bitcoin s’appuie actuellement sur les infrastructures d’Internet. Partout où Internet est accessible, le réseau bitcoin l’est donc aussi.
14Le rôle assigné au réseau dans sa globalité consiste à maintenir à jour un registre des transactions effectuées depuis son démarrage. Pour cela, chaque nœud détient une copie de ce registre et communique aux autres, par échange de messages en pair-à-pair, tous les ajouts dont il se trouve lui-même notifié, et seulement des ajouts car la modification et la suppression sont impossibles. Le rôle des nœuds est aussi de vérifier la validité de ces ajouts avant de les propager à ses pairs. Les opérations à effectuer pour cette validation sont définies dans le protocole Bitcoin que chaque nœud met en œuvre de la même manière, de sorte que la propagation de ces ajouts construit de proche en proche un consensus sur cette validité, et donc sur le contenu du registre commun à tout moment. On a donc là un mécanisme pour établir une base de données non localisée, mais néanmoins consistante – dans le sens de solide, cohérente, non contradictoire – quel que soit le point d’entrée du réseau par lequel on y accède, en prenant en compte un délai raisonnable.
15Un deuxième aspect du protocole Bitcoin est constitué par l’usage de fonctions cryptographiques pour construire les informations contenues dans le registre. Les fonctions mises en œuvre ne sont pas destinées à masquer ce contenu, mais à remplir deux tâches indispensables à la tenue d’un registre de compte.
16Tout d’abord, il s’agit d’authentifier les parties prenantes de chaque transaction, celles qui apportent des fonds en entrée et celles qui bénéficient des paiements en sortie. Dans le cas du protocole Bitcoin, cette authentification s’appuie sur un identifiant non nominatif. L’identifiant ne désigne pas, en effet, une personne en particulier, mais pointe vers les sorties des transactions précédentes dont la personne a pu être la bénéficiaire de façon anonyme. Ainsi, cet identifiant sert à contrôler la validité des transferts – le solde correspondant à l’identifiant est reconstitué en parcourant l’historique des transactions impliquant cet identifiant – et de restreindre l’accès aux bitcoins à leurs détenteurs légitimes – il suffit de détenir une clé associée à l’identifiant et réservée à débloquer les fonds pour leur usage dans des transactions ultérieures.
17La deuxième tâche remplie par les fonctions cryptographiques est celle de l’intégrité des données. Il s’agit de garantir que celles-ci n’ont pas été altérées entre le moment où elles ont été produites et celui où l’on doit les consulter. Authentification et intégrité sont assurées dans le cadre du protocole Bitcoin par des mécanismes de signature numérique combinant chiffrement asymétrique et fonction de hachage (Antonopoulos, 2014).
18Le dernier aspect du protocole Bitcoin concerne la façon dont l’ensemble du réseau s’accorde sur la séquence ordonnée selon laquelle les transactions sont inscrites au registre. Le problème à résoudre pour établir un consensus concernant cette séquence est d’éviter qu’un acteur mal intentionné ne réussisse à y glisser des transactions frauduleuses. Pour cela, les acteurs dans leur ensemble doivent être en mesure de coopérer alors même qu’aucune autorité centralisée n’organise cette coopération. Il faut donc un mécanisme qui leur permet d’agir chacun de leur côté tout en les incitant à le faire « honnêtement ». La part déterminante de l’innovation introduite pour cela par le protocole Bitcoin réside dans l’emploi de « preuves de travail » dans le cadre d’un réseau en pair-à-pair.
19En première approche, on peut décrire le mécanisme comme une loterie dont un tirage est effectué toutes les dix minutes en moyenne. Les participants de cette loterie mettent en œuvre un aspect du protocole Bitcoin que l’on appelle le minage et les opérateurs qui les contrôlent sont appelés des mineurs. Ces termes incongrus – pour une tâche à première vue immatérielle qui consiste à exécuter un algorithme numérique – sont employés pour désigner l’activité de ceux qui participent à la loterie en « extrayant » des preuves de travail : il s’agit effectivement de dénicher une pépite en déblayant de grandes quantités de « matériau immatériel » sans intérêt. Voyons plus en détail la séquence mise en œuvre par un automate de minage et ce que sous-tend la notion de preuve de travail comme matériau précieux à extraire.
20Au préalable, l’automate de minage reçoit, via le réseau en pair-à-pair, les transactions émises par les utilisateurs de la monnaie bitcoin. Chaque mineur collecte ces transactions pour les assembler dans une liste de transactions à traiter. Lorsque démarre une opération de minage, le mineur prend un certain nombre de ces transactions à traiter et les assemble dans une nouvelle liste en cours de traitement. Puis il va calculer une valeur à partir des éléments de cette liste et d’un aléa choisi arbitrairement, l’ensemble constituant ce qu’on appelle un bloc. Le calcul en question s’appuie sur une fonction de hachage et la valeur résultante est une empreinte (ou condensat) des données assemblées…
21La tâche du mineur est de faire varier l’aléa inclus dans le bloc à miner, jusqu’à trouver une empreinte qui représente une valeur inférieure à une borne définie par le protocole Bitcoin et appelée cible. Cette borne est fixée de telle façon que le calcul d’empreinte n’aboutit que très rarement à une valeur adéquate. Elle varie par ailleurs en fonction inverse de la puissance de calcul totale mobilisée sur l’ensemble du réseau bitcoin. Plus cette puissance augmente, plus la borne est contraignante. Compte tenu des propriétés des fonctions de hachage, le mineur n’a pas d’autre solution pratique que de produire une quantité astronomique de variations de l’aléa et de répéter à chaque fois le calcul de l’empreinte. Si le calcul unitaire est rapide et peu coûteux, la répétition nécessaire pour tirer le bon aléa finit par représenter un temps non négligeable et des capacités de calcul importantes. On estime donc qu’en trouvant une valeur adéquate, le mineur a fait la preuve qu’il a fourni un effort important : ce qu’on appelle une preuve de travail.
22Lorsqu’un mineur trouve une valeur adéquate, il diffuse alors sur le réseau bitcoin les éléments injectés dans le calcul gagnant, c’est-à-dire le bloc contenant les transactions et l’aléa. Par le mécanisme de transmission de pair-à-pair, tous les autres mineurs sont rapidement informés qu’un gagnant a été, en quelque sorte, tiré au sort. Chacun contrôle la validité des données impliquées dans le bloc du gagnant, l’ajoute à la copie du registre des transactions qu’il détient et retire les transactions figurant dans le bloc gagnant de sa liste à traiter. Cela donne le départ pour une nouvelle course au minage du prochain bloc, alors que le bloc courant est rattaché à ses prédécesseurs. Ce rattachement se fait par l’intermédiaire d’une autre information qui n’a pas été évoquée jusque-là et qui figure dans le bloc gagnant, faisant aussi partie des éléments pris en compte dans le calcul de son empreinte. Il s’agit de l’empreinte du bloc précédent. On peut alors voir la série des blocs comme une chaîne – la blockchain, en anglais – où chaque élément renforce les preuves de travail de ceux qui s’appuient dessus. Cet effet cumulatif démultiplie le caractère irréversible du mécanisme de preuve de travail puisque non seulement celle-ci s’appuie sur la puissance de calcul totale disponible à un moment donné pour forger un bloc, mais elle embarque aussi progressivement toute la puissance de calcul mise en œuvre pour les blocs qui lui succèdent.
23Si le contrôle de la preuve de travail ne consiste qu’à (re)calculer l’empreinte du bloc gagnant et demande donc peu de ressources, on voit qu’il n’en est pas de même pour le gagnant qui a trouvé ce bloc qui a dû multiplier les essais infructueux avant de parvenir à une combinaison valide. Par ailleurs, l’effort fourni simultanément par l’ensemble des mineurs garantit que les informations que contient le bloc ne peuvent être remplacées par d’autres en diffusant un bloc alternatif, sauf à fournir un effort au moins équivalent à celui de l’ensemble des participants honnêtes travaillant à un instant t sur le réseau, ce qui revient à disposer d’une puissance de calcul au moins égale à celle mobilisée sur l’ensemble du réseau à ce moment-là. Comment peut-on alors inciter les mineurs à participer à l’élaboration progressive et partagée du registre des transactions, s’il leur en coûte et s’ils ne peuvent utiliser de raccourci dans la course au bloc ? La réponse figure de nouveau dans le protocole Bitcoin qui a prévu deux mécanismes de récompense. D’une part, les mineurs ont le droit d’inclure, dans les blocs qu’ils produisent, une transaction spéciale les créditant d’un certain montant de monnaie bitcoin défini par le protocole Bitcoin. Cette incitation est d’ordre économique – la valeur intrinsèque du bitcoin est supposée refléter l’énergie consommée pour le calcul des empreintes, c’est-à-dire le coût de revient pour le mineur – et ne relève plus donc stricto sensu du fonctionnement d’un protocole numérique, même si les paramètres de cette incitation sont inscrits dans le protocole lui-même. On a là une interface qui assure la transmission d’effets d’une sphère à l’autre, du monde du calcul numérique au monde social de la circulation monétaire et inversement. On a aussi par là même la source de la création monétaire au fil de l’eau. D’autre part, lorsque les montants en entrée d’une transaction sont supérieurs aux montants en sortie d’une transaction, les mineurs ont le droit de collecter la différence en tant que frais optionnels pour leur contribution au fonctionnement du réseau. Les émetteurs de transaction sont incités à laisser ce pourboire par le fait que les mineurs vont traiter prioritairement les transactions qui en contiennent, et d’autant plus que ce pourboire est élevé.
24Enfin, dernier point à évoquer concernant les preuves de travail, la cible à atteindre pour l’empreinte d’un bloc gagnant est un paramètre flottant, constamment ajusté à la puissance de calcul globale disponible sur l’ensemble du réseau. Cette cible varie inversement à cette puissance et l’ajustement se fait régulièrement au bout d’un certain nombre fixe de blocs minés, de façon à ce que le temps moyen entre la découverte de deux blocs gagnants reste de dix minutes. Cet intervalle de dix minutes est un paramètre fixe du protocole Bitcoin. Le paramètre flottant qui varie avec la puissance totale (et donc à l’inverse de la cible) est appelé « difficulté ».
- 4 Dans le sens où l’on fait abstraction du contenu propre des transactions qui sont mobilisées pour l (...)
25Pour les mineurs de bitcoins, le calcul d’empreintes – dont la mise en œuvre massive est au cœur du protocole Bitcoin – est une fonction sans contenu propre. Elle ne délivre pas, en effet, de résultat particulier exploitable dans un autre contexte. Si cela était le cas, il y aurait potentiellement une incitation à réaliser les calculs pour un autre gain que celui alloué par le protocole lui-même. La puissance de calcul étant plus productive, les mineurs pourraient retirer une partie des moyens qu’ils y consacrent et abaisser par là même le niveau de sécurisation du réseau bitcoin dans son ensemble. L’activité des mineurs participe à la production purement formelle d’une totalité abstraite4, celle des preuves de travail. Indépendamment des transactions concrètes qui sont menées par les utilisateurs de Bitcoin, l’exécution répétée de la fonction de hachage devient cependant pour ces mineurs le but même à accomplir et induit des effets bien réels sur et par les moyens mobilisés.
26Je viens de démontrer que le protocole Bitcoin présentait une double nature. Il est à la fois un protocole de transactions monétaires et un protocole producteur de preuves de travail. Ces deux aspects sont intriqués et ne peuvent être mis en œuvre séparément. Les transactions sans le minage ne seraient pas sécurisées, tandis que le minage sans les transactions ne trouverait pas d’incitation à participer au renforcement de la monnaie. Si le premier aspect représente un usage concret pour les utilisateurs impliqués dans les transactions, le second aspect correspond au déploiement tautologique de calculs sans contenu propre et participant à la constitution d’une totalité abstraite, celle des preuves de travail.
27Quelques propriétés non triviales peuvent être déduites de l’interaction entre ces deux faces du protocole. Pour cela, je vais entamer une seconde phase qui consiste à dérouler pas à pas des scénarios qui s’appuient sur les procédures définies par le protocole Bitcoin, soit qu’elles figurent explicitement dans le cahier des charges minimal qu’en a fait Nakamoto dans son article, soit qu’elles sont implémentées dans le code informatique qui réalise ces spécifications. À cela, il faudra joindre l’impact des incitations économiques et du cadre général d’interaction des mineurs.
28La production des preuves de travail se fait dans le cadre d’une compétition dans laquelle le gagnant emporte tout : un seul bloc est élu à chaque cycle et seul le mineur qui l’a constitué peut prétendre à la récompense attachée. La puissance minimum de calcul qu’un mineur doit mettre en œuvre pour que son activité de minage soit rentable – il faut pour cela qu’il ait quelques chances d’être le premier à trouver un bloc valide – est corrélée à la puissance totale disponible sur le réseau par l’intermédiaire du paramètre flottant « difficulté ». Chaque nouvel entrant dans l’activité de minage doit donc d’abord s’aligner sur ce niveau minimum pour tirer son épingle du jeu. Plus de puissance de calcul disponible pour un mineur lui offre cependant de meilleures chances de gain. En effet, la récompense est attribuée avec une chance proportionnelle au ratio entre sa puissance individuelle et la puissance totale. Cela incite les compétiteurs à ajouter individuellement de la puissance qui, à son tour, en s’ajoutant simultanément à la puissance totale, participe à l’augmentation de la « difficulté » et donc à la diminution des chances de gain pour l’ensemble des compétiteurs. Pour s’aligner de nouveau sur cette nouvelle « difficulté » tout en restant dans le cadre d’une activité rentable, l’ensemble des mineurs va chercher de nouvelles solutions techniques améliorant la productivité du minage. Ces solutions finiront par se diffuser dans l’ensemble des opérateurs de minage et ceux qui ne pourront les mettre en œuvre seront de fait exclus du jeu et disparaîtront à plus ou moins brève échéance.
- 5 Cette concurrence n’a pas d’autre signification que le seul fait de jouer au même jeu. Elle ne port (...)
29Le protocole Bitcoin produit donc intrinsèquement une dynamique qui pousse à l’augmentation indéfinie de la puissance totale de calcul mise en œuvre sur le réseau et au renouvellement permanent et accéléré des technologies sous-jacentes. Cette dynamique n’est impulsée par aucun opérateur en particulier, mais par le jeu de la concurrence5 entre tous. Les contre-tendances limitant cette dynamique sont principalement constituées par le fait que le matériel exploité pour le minage incorpore à un certain moment toutes les innovations envisageables à court terme afin d’améliorer sa productivité et que les innovations à moyen terme requièrent des investissements à une échelle supérieure que les acteurs du marché ne sont pas en mesure d’engager dans l’instant. Mais, quel que soit le rythme et ses soubresauts, on voit bien qu’aucune rationalité délibérative n’est convoquée pour définir le processus d’accroissement et encore moins pour le piloter.
30Les mineurs sont incités à participer à la compétition mise en place pour forger les blocs de transactions car les efforts qu’ils fournissent ont pour conséquence de rendre irréversibles les inscriptions dans le registre constitué par l’enchaînement des blocs. Chaque bloc reflète la puissance de calcul mobilisée par l’ensemble du réseau au moment de son élaboration car il contient un aléa ayant permis de calculer une empreinte selon une difficulté elle-même ajustée sur la puissance globale du réseau. Pour forger des blocs alternatifs acceptables par le réseau, il faudrait disposer d’une puissance de calcul équivalente, ce qui représente un coût bien supérieur aux gains potentiels d’un mineur malhonnête. Ce mécanisme empêche donc qu’une chaîne de blocs divergente émerge sur la base d’un « détournement » hostile.
31Cependant, le protocole doit aussi tenir compte du cas où cette divergence entre deux chaînes de blocs concurrentes apparaît pour des raisons tout à fait légitimes et dans le cadre d’un usage « normal ». En effet, les mineurs effectuant leurs tâches sans coordination préalable sur un réseau doté d’une certaine latence, il peut arriver que deux – ou plus – d’entre eux trouvent un bloc valide sans que leurs notifications respectives aient eu le temps de se propager à tous les autres nœuds. Il s’en suit alors que des mineurs peuvent commencer à chercher un nouveau bloc à partir d’un état du registre qui n’est plus en cohérence avec celui sur lequel travaillent d’autres mineurs ailleurs sur le réseau. Deux chaînes divergentes peuvent alors commencer à se constituer. Lorsque ces chaînes entrent en collision – par exemple, si un nœud reçoit des blocs attachés à des chaînes divergentes – alors il est nécessaire d’avoir un mécanisme pour départager les deux, et que ce mécanisme aide à faire émerger un consensus au sein des nœuds agissant toujours dans le cadre d’un réseau décentralisé.
- 6 Les premières versions de Bitcoin s’appuyaient cependant uniquement sur le nombre de blocs pour dét (...)
32Pour cela, le protocole indique que le nœud qui reçoit les blocs relevant de chaînes divergentes doit retenir la chaîne « la plus longue » et rejeter « la plus courte ». Mais que signifie la longueur d’une chaîne dans ce contexte ? Cette longueur est mesurée non pas simplement par le nombre de blocs, mais sur la base d’une évaluation des efforts fournis pour produire la chaîne, c’est-à-dire du nombre d’empreintes qu’il faudrait calculer pour reconstituer une chaîne dans les conditions rencontrées à chacune de ses étapes. La difficulté faisant partie des informations inscrites dans chaque bloc de la chaîne, il est ainsi possible de reconstituer toute l’histoire de ces conditions. La chaîne la plus longue est donc celle qui contient le plus de preuves de travail, c’est-à-dire le plus de calcul6. La sécurisation de la chaîne de blocs assurée par le minage est donc une mécanique qui revient à maximiser la quantité de calculs puisque c’est la chaîne la plus « longue » qui est retenue comme valide.
- 7 Une « chaîne de caractères » est une expression qui doit être comprise ici comme équivalente à « de (...)
- 8 La profondeur de Bennett est une mesure de la complexité en informatique. Elle mesure plus exacteme (...)
33Jean-Paul Delahaye (2015) voit dans cet aspect du protocole Bitcoin « une forme réelle et pratique [d’]une idée qui jusque-là restait théorique et sans application ». L’idée en question est que « certaines chaînes de caractères7 ne peuvent résulter que d’un long calcul, autrement dit qu’elles possèdent un contenu intrinsèque en calcul, ou selon les termes de la théorie une grande profondeur logique de Bennett »8. Delahaye estime ainsi que les développeurs de Bitcoin auraient produit sur la base du calcul d’empreintes « une version concrète et matérielle de l’idée de Bennett ». Ainsi « longueur de la blockchain » et « profondeur de Bennett » semblent être les mesures en termes de quantité d’efforts, respectivement pratique et théorique, d’une certaine forme de complexité.
34Le protocole Bitcoin est donc ainsi fait qu’il mettrait en place un vaste dispositif destiné à :
-
maximiser à chaque instant les efforts que doivent fournir ses participants selon des conditions qui sont fixées par leur mise en compétition généralisée,
-
faire évoluer ces conditions dans un sens qui tend à augmenter indéfiniment les efforts à fournir pour rester compétitif et, donc, pour continuer à participer,
-
ne pas pouvoir consacrer ces efforts à un objectif particulier autre que de maintenir la continuité du dispositif lui-même.
35Ce qui apparaît aux yeux des mineurs comme déterminant, à savoir la perspective d’un retour sur investissement, n’est qu’un aiguillon dans la compétition générale qui alimente, d’abord et avant tout, au niveau de la totalité, la dynamique orientée vers la maximisation de la croissance de la longueur de la blockchain.
36J’ai mené dans cet article une analyse du protocole Bitcoin en m’en tenant au déploiement pas à pas de sa logique propre, sans chercher à rentrer dans une interprétation de la signification particulière des éléments interagissant dans cette logique. Comme le formule Galloway en reprenant l’exemple, fourni par Latour (1996), de la régulation de la vitesse des véhicules en ville, ce qui ralentit concrètement les conducteurs, ce sont les aménagements de type « dos d’âne » ou toute autre forme de ralentisseurs, et non pas la signalisation ou la peur du gendarme. Or, les protocoles, quoique spontanément associés à la notion de convention et à l’immatérialité supputée de l’information, s’avèrent être, en tant qu’application numérique, des objets tout aussi réels et efficaces que les ralentisseurs et dont les effets pratiques se déploient en n’ayant que faire du contenu de l’information associé et des conventions sociales que leur attachent les usagers.
- 9 J’ai notamment montré dans ma thèse le caractère déterminant de la production de preuves de travail (...)
37Le principal résultat de cette analyse est que le protocole Bitcoin se présente avec deux faces dont l’intrication produit un ressort caractéristique de son expansion, non pas en termes d’usages mais en termes de puissance de calcul mobilisée. Il y a d’une part une face concrète, dans le sens où elle répond à un besoin particulier, qui est représenté par les transactions entre les usagers de Bitcoin. La portée de cet aspect là dans le réel commence et s’éteint avec l’usage qui en est fait par les « parties contractantes ». Il y a d’autre part une face abstraite, dans le sens où elle est vide de contenu particulier, qui est représentée par la puissance de calcul « sans qualité » mise en œuvre par les mineurs afin de produire des preuves de travail indéfiniment et quel que soit le contenu des transactions traitées. Cette face qui présente une indifférence à (et non pas détachement de) tout contenu particulier, induit une dynamique, comme je l’ai exposé dans cet article, et s’avère déterminante pour expliquer finalement certains effets constatés dans le réel, en deçà et au-delà de ceux escomptés par les promoteurs du protocole9.
38La face abstraite (et déterminante dans son intrication avec les usages concrets) du protocole Bitcoin ne peut être ignorée dès lors qu’on cherche à situer les enjeux de son développement. Notamment, on ne peut pas se contenter de cerner uniquement les risques liés aux usages pris de manière isolée, car au-delà de leurs contenus respectifs, ils constituent le carburant indifférencié d’une pure dépense d’énergie inhérente au protocole. De même, cette face ne peut être abordée d’abord comme un moyen de fournir un service particulier (résilience, sécurité) car elle représente avant tout une production de calcul sans contenu propre et non pas une fonctionnalité en soi. Elle n’acquiert un caractère fonctionnel que dans son intrication avec la face concrète. Par ailleurs, comme ces deux faces sont justement intriquées, la notion de « preuve de travail » ne peut être remplacée par une solution alternative sans remettre en cause les principes qui ont guidé la conception de bitcoin. Les usages qui en sont faits dans les transactions ne sont que les supports – fugaces et indifférents quant à leur contenu – d’une dynamique qui les subsume.