2-34 La blockchain se présente comme une technologie de stockage et de transmission d’informations. Le législateur l’a définie comme un « dispositif d’enregistrement électronique partagé permettant l’authentification »45 des opérations réalisées. En ce sens, c’est une base de données comparable à un registre de comptes décentralisé46.
2-35 Technologie complexe, ses subtilités informatiques et mathématiques ne seront pas abordées ici. Mais si le juriste veut comprendre en quoi la révolution des codes et des données numériques influence le droit47, comment le droit y répond, et comment qualifier cette nouvelle économie, il convient de saisir tout de même le fonctionnement global de la blockchain.
2-36 La blockchain est une technologie à laquelle on associe en pratique trois fonctions permettant de nombreuses applications dans tous les secteurs d’activité et originairement dans le domaine bancaire et financier48. Ces fonctions sont : le transfert d’actifs, le registre et la création de smart contracts, ou contrats qui peuvent s’exécuter automatiquement49.
L’originalité de la technologie tient à la combinaison qu’elle renferme de plusieurs procédés techniques connus, tout en relevant le défi de la fiabilité des communications enregistrées.
Elle se propose de résoudre ce que les informaticiens dénomment « le problème des généraux byzantins » : mener de front une attaque sans chef d’état-major50. C’est la question des clés pour déchiffrer les données, constante de toutes les blockchains (Section I). Dans son fonctionnement concret ensuite, des variables existent (Section II).
2-37 La blockchain est soutenue par deux technologies fondamentales : le hachage, ou calcul informatique de l’empreinte d’une information (Sous-section I) et la cryptographie dite « asymétrique » à travers le couple clé publique et clé privée (Sous-section II).
2-38 – Sous quelle forme s’échangent les documents ? Sous la forme transcrite en caractères numériques d’un document ou schéma écrit classique. Il s’agit de la technique du hachage, ou transformation et réduction d’un document sous format numérique. Une donnée est alors transformée en empreinte numérique par une suite d’opérations et instructions (les algorithmes). En clair, le document objet du message se présente comme un condensé cryptographique sous forme de séquence de caractères alphanumériques de longueur fixe.
Comme le souligne le professeur Legeais, les qualités complémentaires du procédé de hachage cryptographique pour assurer l’intégrité et l’historique des transactions sont quadruples51 :
la valeur de hachage d’un message se calcule « très rapidement » ;
il est, par définition, impossible pour une valeur de hachage donnée de construire un message ayant cette valeur de hachage ;
il est, par définition, impossible de modifier un message sans changer sa valeur de hachage ; on parle de fonctions à sens unique, puisqu’il est impossible de retrouver le fichier dont est issue une empreinte. L’empreinte ne permet pas de connaître le contenu du fichier d’entrée52 ;
il est, par définition, impossible de trouver deux messages différents ayant la même valeur de hachage.
2-39 – Cryptographie asymétrique. – Pour échanger et stocker des données de manière sécurisée, on recourt à la cryptographie asymétrique, plus sûre que celle symétrique car elle suppose que chaque partie – l’émetteur et le récepteur du message – ait le même code, dispose de la même clé, unique. Le procédé consiste à crypter les messages en conférant deux clés à une personne, une clé publique qui peut être connue de tous et une clé privée qui demeure confidentielle. Le calcul de la clé publique s’obtient à partir de la clé privée. Séduisant techniquement, le procédé est parfois critiqué pour n’être pas infaillible à toute épreuve… l’épreuve de la cryptographie53.
Seule la clé privée peut déchiffrer un message chiffré grâce à la clé publique qui y est associée. Là réside la confidentialité de l’échange, hors d’une connaissance humaine de l’autre partie. Ce qui importe est de garantir la fiabilité de la transaction. Ainsi c’est par la clé publique correspondant à la clé privée ayant servi à signer la transaction que l’opération demeure fiable54. Chaque utilisateur est ainsi capable de vérifier la validité des transactions sur le registre constitué par la blockchain.
Rappelons que le logiciel de la blockchain s’assure que chaque nœud accepte, dans un processus appelé « consensus », les informations déposées. Ici interviennent les clés : chaque acteur, émetteur ou récepteur a un identifiant qui permet de le tracer (sans révéler son identité ; les échanges sont dits « pseudonymes » et non « anonymes »). Ces identifiants sont précisément la paire de clés électroniques possédée par chaque membre de la communauté : la clé publique qui contient son adresse et la clé privée qui permet de signer les transactions.
2-40 – Ordres donnés et usage des clés. – Concrètement, chaque nœud du réseau reçoit en permanence des messages proposant de nouvelles transactions à ajouter à la blockchain. La transaction initialisée est transmise via internet sous la forme d’une requête signée avec la clé privée de l’émetteur de la transaction, pour vérification non pas par un tiers de confiance, mais par les ordinateurs du réseau : les mineurs55.
L’application blockchain installée sur le serveur d’un mineur vérifie alors la validité de la transaction (vérification de la clé, de la détention de somme d’argent). Il s’agit de découvrir, lire, l’information en entête de chaque bloc, nommée « nonce », pour reconnaître le bloc concerné dans la chaîne. C’est une opération très complexe et grande consommatrice d’énergie ; sur cet aspect, elle prête le flanc à la critique56.
Dès qu’un mineur découvre un nonce satisfaisant57, il diffuse cette information à tous les nœuds du réseau ; cette étape est qualifiée de « preuve de travail » (proof-of-work). En rétribution de leur contribution, les mineurs perçoivent des bitcoins, nouvellement émis.
Tous les acteurs de la blockchain disposent enfin d’une copie du registre. C’est par là un registre distribué réalisant une transmission de pair-à-pair.
2-41 – L’inaltérabilité des transactions. – L’utilisation des clés est l’un des rouages de la blockchain permettant d’éviter la duplication. Son mécanisme de numérotation électronique58 permet en effet d’assurer :
qu’une inscription numérique reste unique (elle ne peut pas être dépensée deux fois – double spend) ;
que le support sur lequel elle est inscrite (la chaîne de blocs) ne puisse pas être altéré – ou du moins que cette altération soit visible et son coût fortement dissuasif.
En pratique, celui qui possède un ether ou un bitcoin – il est donc le détenteur d’une clé privée à laquelle est associé un solde de X cryptomonnaies – peut par l’envoi de transactions à la blockchain concernée le déplacer, le donner, le vendre, mais jamais le dupliquer, c’est-à-dire le dépenser deux fois. Si le réseau reçoit l’envoi de deux transactions d’envoi portant sur le même actif, seule la première transaction insérée dans un bloc sera traitée, l’autre sera considérée par les participants comme invalide (car portant sur un actif déjà transféré) et rejetée par le réseau.
La détention pratique d’un bitcoin prend diverses formes, qui illustrent l’une des variables de la technologie blockchain.
2-42 Le fonctionnement technique de la blockchain peut varier selon les moyens de stockage des actifs générés par la chaîne (Sous-section I), les modes de détention par le titulaire des actifs (Sous-section II), ou enfin selon sa gouvernance interne (Sous-section III).
2-43 L’une des fonctions de la blockchain est de créer un actif numérique, précisément une cryptomonnaie ; ainsi du bitcoin, historiquement. Si d’autres cryptomonnaies ont vu le jour sur des blockchains, certaines en sont dissociées.
2-44 Les cryptomonnaies stockées sur des blockchains sont reliées soit à des blockchains publiques, soit à des blockchains privées.
Parmi les premières, citons Bitcoin, dont le protocole de création en 2008 a fixé à l’origine le nombre d’actifs pouvant être émis. La fin de l’émission est prévue pour 2140, pour vingt et un millions de bitcoins émis. Depuis, les cryptomonnaies générées par les protocoles du type Ethereum (blockchain créée en 2013 qui émet des ethers) ou Tezos (imaginée en 2018, qui émet des XTZ sur une plateforme spécialement dédiée aux smart contacts) sont bâties sur le modèle similaire de consensus, avec leurs objets ou usages propres. D’autres cryptomonnaies telles que Dash, Monero, Zcash, suscitent plus d’interrogations car cherchent un anonymat total59.
Les secondes séries de blockchains abritant des cryptomonnaies sont celles dites « de consortium »60. On peut citer comme exemple Stellar (réseau d’échange entre cryptomonnaies et monnaies classiques par la monnaie virtuelle lumen) et Ripple (protocole de règlement ou d’envoi de fonds, via une monnaie dénommée « XRP », en réseau distribué en open source, nécessitant l’accord de 80 % des serveurs pour la validation d’une transaction).
2-45 Enfin, des États ou institutions financières traditionnelles réfléchissent à créer leur propre cryptomonnaie ; des expériences de paiement via un registre distribué ont été menées (Autorité monétaire de Singapour, Banque du Canada) et la conception même d’une monnaie a été réalisée (Chine)61.
La Banque de France elle-même travaille sur la question62, une application pratique pouvant se réaliser dans les transactions de montants peu importants, au lieu de paiements en espèces ou cash. Paradoxalement, face à la « menace » d’un ordre bancaire parallèle hors de contrôle des banques centrales, l’idée de développer un euro digital serait le moyen de réaffirmer la souveraineté monétaire des États.
2-46 Par ailleurs, des cryptomonnaies peuvent être conçues indépendamment de toute blockchain.
Les premières, les grandes sociétés de l’internet se sont intéressées aux cryptomonnaies : ainsi de Libra, présentée par Facebook comme une monnaie pour tous, liée à une structure financière propre et mondiale, simple, ouverte aux exclus du système bancaire classique. Les partenaires initiaux étaient des géants de la finance, du numérique, ou de la communication tels Visa, Mastercard, Free, Uber, mais le projet a très vite suscité des inquiétudes chez certains d’entre eux et les gouvernements des principaux pays industrialisés marquent leur méfiance. Sa mise en œuvre dépend donc du gain de confiance des établissements bancaires63.
Plus généralement, ce sont de grandes entreprises de secteurs divers qui réfléchissent à la création de monnaies virtuelles, y compris pour payer leurs salariés64.
2-47 – Actifs numériques liés à un compte. – L’ether, le bitcoin et leurs dérivés, abordés précédemment, sont le cas d’usage par excellence de la technologie blockchain ; c’est-à-dire la création d’actifs numériques. Ces actifs numériques sont des inscriptions numériques ayant des caractéristiques proches d’un actif physique. L’inscription sur une blockchain est associée à une identité, un compte65, détenu dans un portefeuille dédié appelé wallet.
Le wallet est créé auprès d’un prestataire de services numériques66, mais il peut aussi être détenu et géré directement par le propriétaire des actifs en question, ce qui a des conséquences sur la qualification du portefeuille si le détenteur détient des unités différentes sous des formats différents67. Il présentera le solde de bitcoins de son titulaire. On distingue le cold/hard wallet (détention des bitcoins dans un contenant non connecté à internet, mais en pratique détenu sur un ordinateur via une clé USB, un disque dur externe ou lu sur flash code imprimé sur papier) du hot wallet (détention via une application en ligne).
Toute une économie se développe autour des services liés à la détention d’un wallet : des sociétés proposent aujourd’hui des services de conservation des clés privées des tiers, les wallet providers.
2-48 On distingue classiquement deux types de blockchains : publique ou privée, selon que le protocole est ouvert à tous et selon la présence ou non d’une autorité centrale.
2-49 La blockchain publique fonctionne en réseau dit peer-to-peer qui est ouvert et lisible par tous ; le réseau lui-même, via ses mineurs, est censé assurer la sécurité des opérations d’échange. Le fait que chacun puisse y participer contribue à la fiabilité du système68. Les blockchains publiques qui se sont ainsi développées sont surtout celles donnant naissance aux cryptomonnaies, du type Bitcoin, Ethereum ou Tezos.
On parle aussi à leur sujet de cryptoéconomie incitative69.
Elles sont marquées par la toute-puissance de la vérité partagée par les membres, loin de tout contrôle de tiers, surtout étatique.
2-50 À l’opposé existent des blockchains dites « privées ». Une autorité centrale, ou tiers gérant, maîtrise la chaîne, son protocole, et en réserve le bénéfice à certains acteurs. Les banques l’utilisent aujourd’hui par préférence. Il est possible aussi d’imposer aux membres des obligations juridiques au travers des conditions générales d’utilisation. L’application MiniBonds appartient à cette catégorie.
2-51 Enfin, la pratique a imposé un type intermédiaire de blockchain : hybride ou dite « de consortium ».
Ses participants sont limités et un droit de veto peut être affecté à certains. Ses acteurs possèdent des droits et les décisions sont prises à la majorité. Ce type de blockchain attire les institutions bancaires et financières pour opérer dans des environnements réglementés et obligeant à connaître l’identité des participants. Le « R3 » est l’exemple le plus connu70.
Citons aussi le projet de blockchain entre le notariat, les banques et les huissiers de justice pour sécuriser et automatiser la mise en œuvre des copies exécutoires d’actes de prêt71.
2-52 Un oracle72 peut être défini comme une entité de confiance faisant partie intégrante du réseau, qui transmet les informations du monde réel physique au contrat intelligent de la blockchain. Les diverses missions des oracles dans le système du smart contract sont examinées plus loin73. Mentionnons seulement ici que l’oracle permet l’exécution du smart contract en fonction d’éléments extérieurs à la blockchain situés dans le monde « réel ».
L’oracle pourra ainsi rentrer une donnée extérieure dans la blockchain de différentes façons74 : soit en utilisant un élément dans le serveur, soit en recourant à la majorité des membres de la blockchain de consensus, soit en se référant à une base de données acceptée ; l’oracle peut aussi être une personne physique.