Blockchain

Blockchain, ce mot est désormais connu de tous ou presque, tant il est asséné à longueur d’articles, de tweets et de posts LinkedIn de la part d’entrepreneurs, d’experts, de cabinets et même de la presse mainstream qui s’est emparée de cette mode, de cette nouvelle cour des miracles ! Le mot est donc connu mais ce qu’il recouvre, souvent un peu moins… Afin de commencer à dissiper le brouillard, nous en resterons, au travers de cet article, à présenter les concepts généraux tant les applications pratiques sont nombreuses, très diverses et pour la plupart toujours à l’étude !

Pourquoi blockchain et pourquoi aujourd’hui ?

Rendons à César ce qui lui appartient. Il est indéniable que le mérite en revient à l’essor important du bitcoin et plus largement des crypto-monnaies depuis quelques années (dont vous trouverez ici un article introductif sur le sujet). Elles s’appuient en effet pour fonctionner sur des technologies de registres distribués, communément appelées DLT pour Distributed Ledger Technologies, garantissant notamment la conservation des transactions et le respect de l’inaltérabilité de celles-ci.

Ainsi, tout le monde s’est d’abord intéressé au bitcoin puis sur la façon dont il fonctionne et notamment sur sa technologie de stockage des transactions, son « grand livre comptable », qui s’avère être implémenté sous la forme d’une blockchain. De fil en aiguille, la blockchain est devenue un terme très en vogue et miracle, cette technologie, popularisée via le bitcoin, peut s’appliquer dans des domaines extrêmement variés ! Bien évidemment, les moyens de paiement sont à l’honneur, mais de nombreuses initiatives voient le jour comme par exemple la gestion d’état civil ou d’actes notariés, le domaine médical, etc.

Définition

La terminologie employée de blockchain ou chaîne de blocs correspond très bien à l’image que l’on s’en fait de prime abord. De façon générale, il faut en effet simplement imaginer des éléments ou blocs liés les uns aux autres dans un ordre bien précis. Ces blocs sont des conteneurs où de l’information peut y être stockée. La blockchain est ainsi une chaîne de données.

Cette approche de stockage de l’information n’est pas particulièrement novatrice puisqu’on en parle au moins depuis les années 1990. En revanche ce qui est nouveau, c’est sa mise en œuvre sur des cas concrets (bitcoin), rendue possible grâce aux technologies modernes (cryptographie entre-autres).

De manière générale, ses caractéristiques sont les suivantes :

  • distribuée (s’appuie sur un réseau) ;
  • décentralisée (par opposition à une centralisation de la conservation des informations) ;
  • sécurisée de par le caractère inaltérable des informations stockées.

La blockchain est donc une technologie de registre distribué, une DLT (Distributed Ledger Technology). Attention, il n’y a pas réciprocité car d’autres technologies de registre distribué existent sans être nécessairement des blockchains.

Différents types de blockchain

Toutes les blockchains ne sont pas identiques. Elles se différencient en de nombreuses manières suivant leurs objectifs, le caractère publique ou non des informations qu’elles stockent, la gouvernance mise en place, etc. Un point crucial concerne la définition de la gouvernance de la blockchain : qui en est responsable, qui a le droit de la modifier mais également, qui peut voir et vérifier son contenu. 3 types principaux de blockchain sont à considérer :

  • blockchain publique unpermissioned
    Il n’y a pas de tiers de confiance. La gouvernance est entièrement décentralisée. Le contenu de la blockchain est publique. Tout le monde peut avoir accès au réseau, à l’information existante au sein de la blockchain, vérifier sa validité et participer à l’ajout de nouvelles informations. La confiance entre les nœuds du réseau s’établit par différents mécanismes (cf. paragraphe suivant).
    ex : blockchain de bitcoin
  • blockchain de consortium
    La gouvernance est partiellement décentralisée et repose sur un groupe pré-défini d’acteurs. Ce groupe peut être réparti sur différents sites géographiques, liés à différentes organisations, etc. Les acteurs du réseau sont connus (et donc se connaissent, renforçant leur confiance mutuelle), facilitant l’ajout d’information et sa vérification.
    ex : blockchain de Ripple qui s’appuie sur un consortium de banques internationales
  • blockchain privée permissioned
    La gouvernance est centralisée. Le contenu est privé, ainsi que les processus de visualisation, de vérification et d’ajout de l’information. La blockchain fonctionne selon les règles édictées par son propriétaire. Tous les acteurs du réseau sont connus permettant nativement l’établissement d’une confiance au sein du réseau.

NB : dans ce paragraphe, pour des raisons de simplification, nous avons passé outre la différentiation entre les notions publiques/privées et unpermissioned/permissioned (cf. cet article pour aller plus loin). En effet, il existe d’autres types de blockchain comme par exemple des blockchains publiques où l’accès au réseau est soumis à des contraintes, et donc « permissioned ».

Les avantages et les inconvénients de chacun de ces types de blockchain dépendent de l’usage que l’on en fait. La nature de la blockchain, ainsi que son fonctionnement varient en fonction des situations pour lesquelles on souhaite l’implémenter.

Fonctionnement

Sans entrer dans tous les détails, exceptions et subtilités, ce paragraphe a pour objectif de mieux appréhender le fonctionnement global d’une blockchain.

Bloc et adresse

Nous avons vu précédemment qu’une blockchain permettait de stocker un ensemble de données dans des blocs liés les uns aux autres. De façon générale, chaque bloc contient 3 types d’information :

  • des données : celles que l’on veut stocker dans la blockchain ;
  • l’adresse de ce même bloc : permet de l’identifier ;
  • l’adresse du bloc précédent : permet de faire le lien avec le bloc précédent et donc de lier les blocs et ainsi de créer une chaîne de blocs.

Les adresses sont calculées à partir des données présentes dans chacun des blocs, grâce à des algorithmes de hachage (le hash est l’adresse du bloc).

NB : Si la notion de hash n’est pas limpide pour vous, sachez simplement qu’il s’agit de l’empreinte du bloc (un peu comme l’empreinte digitale de nos doigts). Différents algorithmes (ex : SHA-256) existent pour construire ce hash en transformant des données en une suite limitée de chiffres et de lettres. La modification, même infime, d’une information du bloc implique une nouvelle empreinte et donc oblige à recalculer l’empreinte correspondante aux nouvelles informations du bloc. La détection d’un changement au sein du bloc s’effectue par vérification (recalcul de l’empreinte) et comparaison de l’empreinte.

Ajout d’un bloc

L’ajout d’une nouvelle information se fait simplement par la création d’un nouveau bloc, en y stockant l’information souhaitée et l’adresse du bloc précédent, puis en calculant l’adresse de ce nouveau bloc. Cela permet de constituer une blockchain valide où les adresses de tous les blocs sont correctement calculées et utilisées pour faire le lien entre les blocs.

Validité de la blockchain

Le mécanisme de vérification de la validité de la blockchain est essentiel. Il permet de s’assurer de la qualité de l’information contenue dans la blockchain et donc transmise sur le réseau. Mais ce n’est pas suffisant pour établir la confiance dans l’inaltérabilité des informations et leur légitimité.

Mécanisme de preuve

Plusieurs mécanismes existent pour répondre à cette problématique, c’est ce que l’on appelle les preuves, parmi lesquelles (liste non-exhaustive) :

  • Preuve de travail (proof-of-work PoW)
  • Preuve d’enjeu ou de participation (proof-of-stake PoS)
  • Preuve de possession (proof-of-hold PoH)
  • Preuve d’utilisation (proof-of-use PoU)
  • Preuve d’importance (proof-of-importance PoI)
  • Preuve d’autorité (proof-of-authority PoA)

Dans le cas du bitcoin, le mécanisme implémenté est la preuve de travail (proof-of-work) qui impose la génération d’une adresse (du dernier bloc en cours de création) respectant un format particulier (ex : l’adresse doit commencer par 0000). Cela nécessite de très nombreuses tentatives, en jouant sur une variable dédiée, avant de trouver une adresse qui correspond aux contraintes. Beaucoup de nœuds du réseau tentent de trouver la solution dans un même laps de temps au cours du processus de minage de l’adresse. Le premier nœud du réseau à avoir réussi, communique la réponse, impose l’adresse du dernier bloc créé et est récompensé pour son travail. Les autres nœuds peuvent vérifier aisément la réponse par vérification du hash.

Suivant la nature de la blockchain et la gouvernance de celle-ci, le mécanisme de preuve implémenté ne sera pas le même. C’est le cas par exemple des blockchains publiques qui utilisent aujourd’hui principalement des preuves de travail ou d’enjeu, alors que les blockchains privées vont par exemple privilégier des preuves d’autorité. Les réseaux étant organisés très différemment, les contraintes et les processus d’obtention du consensus ne sont pas les mêmes.

Sécurité

Ce type de mécanisme rend ainsi quasiment impossible la modification d’une information présente dans la blockchain. En effet, cela obligerait le hacker à « recalculer » en minant à nouveau toutes les adresses (hash) des blocs suivants (en respectant la difficulté imposée) afin de conserver une blockchain valide. Difficulté supplémentaire, il faudrait ensuite imposer cette blockchain modifiée, à la majorité du réseau. On parle souvent d’attaque des 51% (dans le cas du bitcoin, il faudrait avoir 51% de la puissance de calcul du réseau… difficile à atteindre !).

Des usages en construction

De par le monde, de nombreuses initiatives récentes sont en cours dans des domaines très variés et en sont principalement au stade de recherches et de tests. Les défis à relever sont biens réels (usages, mise en œuvre opérationnelle, sécurité, gouvernance, etc.) car tout est à construire.

Bien que cette technologie soit pleine de promesses, attention aux usages que l’on en fait car il y a risque à céder à un effet de mode sans raison. La blockchain trouve principalement sa raison d’être dans des réseaux distribués et décentralisés. Les avantages et les inconvénients sont à établir avec attention en fonction de chaque situation, et sont à mettre en perspective avec les technologies utilisées depuis quelques décennies. Tout n’est pas à jeter aux orties !

Le sujet est prometteur. À suivre dans les prochaines semaines, mois et années ; nous n’avons pas fini d’entendre parler des blockchains ou autres DLT !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.