Blockchain et blockchain : prière de ne pas confondre

La blockchain est une technologie qui a de multiples champs d’application. Éprouvée dans le cadre d’une monnaie libre, elle peut aussi servir la monnaie institutionnelle.

Par Gérard Dréan.

Selon les médias, les banques et les gouvernements adopteraient la blockchain.

Seraient-ils donc en train de se convertir à la philosophie libertarienne des concepteurs de Bitcoin ? L’objectif explicite était au contraire de prouver qu’un système de paiement peut se passer des banques et autres intermédiaires financiers, y compris de l’État.

Cette fausse interprétation résulte d’une confusion entre différentes acceptions du terme blockchain (en français chaîne de blocs), qui à strictement parler ne désigne rien de plus qu’un format de fichier informatique popularisé par le système Bitcoin, mais n’est qu’un modèle abstrait capable d’être utilisé par une multitude d’applications dans n’importe quel environnement, au service de n’importe quelle idéologie.

L’objectif du Bitcoin

Bitcoin a un objectif précis : permettre à chacun de dépenser son argent comme il l’entend sans que personne ne puisse l’en empêcher. Ou plus généralement, permettre à deux personnes ou organismes qui ne se connaissent pas de passer des accords en ayant la certitude qu’ils seront respectés, sans intervention d’un tiers, et cela dans un milieu ouvert à tous — y compris des fraudeurs et ennemis en tous genres.

La solution retenue est d’ouvrir à tous un accès direct au système de paiement à travers des comptes anonymes, et de donner à tous confiance dans ce système en prenant à témoin le monde entier pour chaque transaction. Pour cela, chaque opération est rendue publique, tout le monde est autorisé à tout vérifier, mais quand une transaction a été dûment validée, revalidée et inscrite dans un Grand Livre en forme de chaîne de blocs, elle devient indélébile et protégée contre toute modification.

Dans un fichier de cette forme, les informations sont enregistrées sous forme de « blocs » successifs, chaque bloc étant identifié par son empreinte cryptographique et contenant l’empreinte du bloc qui le précède dans la chaîne.

Quand le système construit un bloc, en regroupant des transactions en attente, il y inclut la clé qui permet d’accéder au bloc précédent, et verrouille le tout avec une clé qui ne fonctionne que si le contenu du bloc n’a pas changé. Cette clé sera incluse dans le bloc suivant.

En fonctionnement normal, on consulte le registre en commençant par les transactions les plus récentes, donc en remontant l’ordre des pages à l’aide de ces clés. Si un fraudeur arrive par miracle à modifier le contenu d’un bloc (qui est en quelque sorte une page écrite avec une encre indélébile), les clés d’accès ne fonctionnent plus. Il devient donc impossible de lire ce contenu, et d’accéder à toutes les pages précédentes.

Un Grand Livre public infalsifiable

Un fichier sous forme d’une chaîne de blocs est donc extrêmement difficile à modifier. Pour faire accepter une modification, il faut recalculer l’empreinte du bloc qui la contient et celles de tous les blocs suivants ; ce calcul peut être rendu particulièrement difficile de façon délibérée. On parle alors de « preuve de travail » (proof of work).

Le prix à payer pour cette sécurisation est une énorme consommation de ressources informatiques, et donc d’électricité. Cela a entraîné la concentration de l’opération de construction des blocs sur une vingtaine de groupements mettant leurs ressources en commun et rémunérés par création monétaire, d’où le nom de « coopératives minières ».

Une caractéristique fondamentale de Bitcoin est d’être implanté sur un réseau où chacun travaille sur son propre ordinateur en coopération avec tous les autres. Tout participant peut exercer toutes les fonctions du système avec les logiciels de son choix ; aucun rôle n’est réservé ou n’exige une autorisation préalable.

Le Grand livre

Les participants utilisent normalement les logiciels standards de la bibliothèque, mais chacun peut aussi les modifier ou développer ses propres logiciels et les utiliser pour interagir avec le système, tant qu’il respecte les conventions de communication.

En particulier, chacun peut tenir à jour localement un exemplaire du Grand Livre des transactions en procédant lui-même à l’assemblage des blocs qu’il reçoit des mineurs. Il exécute pour cela un « protocole de consensus » destiné à assurer que tous les exemplaires construits indépendamment seront néanmoins identiques.

Le Grand Livre existe donc en un très grand nombre d’exemplaires (probablement autour de 8 000 pour Bitcoin), ce qui augmente ainsi d’autant la sécurité du système.

Ce type de réseau est appelé « permissionless » ou « unpermissioned » : il n’est besoin d’aucune permission pour participer. Il est même souhaitable que les participants à chacune des fonctions soient aussi nombreux et aussi divers que possible, d’une part pour maximiser l’ «effet réseau», et d’autre part pour qu’un grand nombre d’utilisateurs participent à la validation des opérations afin de maximiser la confiance.

La contrepartie de cette ouverture totale est qu’on ne peut jamais savoir à qui on a affaire. Tout interlocuteur peut être incompétent, fraudeur, escroc ou saboteur.

Chacun, quelle que soit sa fonction, doit donc considérer toutes les informations qu’il reçoit comme potentiellement frauduleuses et dangereuses, et se protéger par des protocoles de validation approfondis, omniprésents et donc coûteux, d’autant plus qu’ils sont exécutés par tous les utilisateurs. Le prix à payer est une sévère limitation des performances malgré une énorme consommation de ressources.

La preuve qu’un système de paiement n’a pas besoin d’État ou de banque centrale

Dans l’esprit de ses promoteurs, Bitcoin n’était qu’un prototype fonctionnel (proof of concept) destiné à prouver qu’un système de paiement peut se passer de tout intermédiaire et de tout gestionnaire centralisé, notamment du gestionnaire de la monnaie qu’est devenu l’État.

En huit ans d’existence, Bitcoin a amplement satisfait cet objectif en prenant la dimension imprévue de 300 000 transactions par jour, mais a aussi été le banc d’essai de technologies utilisables à d’autres fins et/ou dans d’autres contextes.

Les technologies inventées et éprouvées dans le cadre de Bitcoin ont donné naissance à plus de 1 100 réalisations dérivées du projet original.

Toutes consistent à tenir à jour, dans le cadre d’un réseau d’ordinateurs, une base d’informations critiques qu’on appelle un « registre distribué » (distributed ledger), et presque toutes utilisent la technologie de la chaîne de blocs.

Cependant, les informations enregistrées peuvent représenter autre chose que des paiements, par exemple de simples faits, des titres de propriété matérielle ou intellectuelle ou des programmes.

Elles peuvent aussi représenter des transactions d’une autre nature que le paiement, par exemple des contrats, des paris, etc. Elles peuvent concerner un domaine très général ou au contraire un milieu limité, par exemple les jeux en réseau ou les prestations de services sur Internet. Autant d’applications différentes visant à rendre des services différents.

La technologie « chaine de blocs » peut s’appliquer à bien d’autres champs

En tant que méthode de stockage d’informations, la technologie de la chaîne de blocs peut parfaitement être utilisée dans un système centralisé conventionnel. Dans les applications de registre distribué, il en existe une pour chaque application, ou même plusieurs pour des informations de nature différente, et toujours en de multiples exemplaires. Dans la réalité, il n’existe rien de concret qu’on puisse appeler « LA blockchain ».

Par ailleurs, les registres distribués peuvent exister dans des contextes différents qui impliquent des disciplines de gestion de réseau différentes. Il s’agit toujours de tenir un registre central unique et cohérent alimenté par des sources indépendantes, mais contrairement à Bitcoin ces sources peuvent se connaître, avoir des relations organisées et réglementées et des structures de contrôle communes.

C’est le cas des entreprises et notamment des établissements financiers. Dans ce contexte, les rôles de chacun sont distribués d’avance et doivent se traduire dans le système. Tout ou partie des activités sur le réseau est soumis à autorisation préalable. On dit alors que le système est permissioned.

Les tiers de confiance et la blockchain

Dans cet environnement, des simplifications sont possibles. La validation des transactions peut n’être effectuée que par les parties à la transaction et éventuellement par quelques sites spécialisés réputés « de confiance ». Il est possible de limiter la visibilité des transactions aux deux parties ou à des sites spécifiques.

Ces limitations simplifient et accélèrent considérablement les opérations de construction de la chaîne de blocs qui constituent le coeur même du système, notamment en rendant inutile le système de preuve de travail. La production de la confiance étant externalisée, les performances peuvent être améliorées de façon spectaculaire.

Enfin, ces systèmes n’ont pas forcément besoin de leur propre monnaie, mais peuvent se contenter des monnaies traditionnelles existantes.

En contrepartie, des fonctions supplémentaires doivent être introduites : la gestion des relations de confiance, la gestion des identités et l’authentification (vérifier que chaque intervenant est bien celui qu’il dit être).

Il est également possible de programmer une variété de transactions plus complexes et d’accepter que les critères de validation soient personnalisés par type de transaction, par compte ou par organisme validateur, y compris des vérifications de conformité règlementaire (Know Your Customer, mesures anti-blanchiment, fiscalité).

Ces fonctions sont principalement des fonctions périphériques qui ne grèvent que peu les performances.

Anonymes et égaux versus accrédités et autorisés

Dans un système public comme Bitcoin, tous les participants sont anonymes et égaux, et peuvent aussi bien participer à la validation des transactions que soumettre de nouvelles transactions. Dans un système permissioned, chacun sait avec qui il traite et quel est son rôle ; en particulier, la validation des transactions est assurée par des organismes autorisés.

Dans Bitcoin et les systèmes analogues, l’objectif est de supprimer les intermédiaires et de s’affranchir des lois et règlements en vigueur. Dans les systèmes permissioned, les organismes chargés de faire respecter les lois et règlements en vigueur jouent leur rôle statutaire. Une énergie considérable doit être dépensée pour sécuriser un système unpermissioned ; dans un système permissioned, la sécurisation est assurée par des participants « de confiance ».

Du côté unpermissioned, les systèmes emblématiques sont Bitcoin et ses centaines de variantes dont Litecoin est la plus importante, ou Ethereum dans un domaine différent.

Du côté permissioned, les systèmes se présentent souvent sous la forme de briques de base destinées à être intégrées dans les systèmes informatiques des entreprises, et les projets sont portés par des entreprises adhoc (Clearmatics, Cryptocorp, Tembusu, Tezos, Tillit) ou des consortiums associant des organismes utilisateurs et des entreprises informatiques (Hyperledger, R3 Corda).

Il existe aussi des systèmes mixtes pour des cas d’applications qui associent les deux classes d’objectifs : Ripple a été le premier à mettre en oeuvre des idées propres aux systèmes permissioned en superposant à Bitcoin la possibilité de déclarer et d’exploiter des relations de confiance. Certaines extensions récentes à Bitcoin affectent des rôles particuliers à certains noeuds. Il est probable que c’est la direction que prendra la toute récente Entreprise Ethereum Alliance.

La course au cyberarmement pour contrer la cybermonnaie indépendante

Dans l’ensemble, il s’agit bien de problèmes différents et d’usages différents par des acteurs différents, visant des buts différents voire opposés, et qui vont de toute évidence coexister.

Le fait qu’ils font appel aux mêmes technologies est tout à fait accessoire : après tout, Mario Draghi écrit peut-être avec le même stylo que Satoshi Nakamoto. Les technologies peuvent être mises au service de n’importe quelle application dans n’importe quel environnement ; les fonctions applicatives, les rôles dévolus aux acteurs et les principes de gestion du réseau constituent les différences fondamentales.

Le problème se posera différemment quand les transactions en cybermonnaies prendront une part importante dans la totalité des transactions.

Les libertariens pourront-ils résister à la guerre que leur livreront les États et leurs complices de l’establishment bancaire pour préserver leurs privilèges chèrement acquis ? Qui gagnera la course aux armements (informatiques) ? Les solutions technologiques suffiront-elles pour permettre à un réseau unpermissioned de traiter le flux de transactions, ou deviendra-t-il nécessaire de reconnaître des privilèges à certains acteurs « de confiance » pour résoudre les problèmes de performances et de changement de taille scalability ?

Quoi qu’il en soit, il est probable que de nombreux systèmes coexisteront, certains contestant l’ordre monétaire et d’autres s’y pliant voire essayant de le consolider, que des technologies différentes seront mises au service des mêmes objectifs. À l’inverse, les mêmes technologies, y compris la blockchain, seront mises en oeuvre au service d’objectifs différents voire opposés.

Pour plus d’informations et de conseils, c’est ici