Principes et applications de la Blockchain, Anna Scius-Bertrand*

Un sujet qui fait la une des magazines depuis de nombreuses semaines : tout ce que vous voulez savoir sur la blockchain… ou presque.

*Anna SCIUS-BERTRAND est doctorante contractuelle à l’École pratique des hautes études.


A la suite de la crise financière de 2008, sous le pseudonyme Satoshi Nakamoto, est créé un système de transfert d’argent à distance sans avoir recours à un tiers de confiance tel que les institutions financières, c’est le bitcoin. L’une des difficultés majeures à surmonter est de prévenir les doubles dépenses : s’assurer qu’une somme ne peut être dépensée deux fois simultanément, et donc qu’une transaction soit non réversible.

Jusqu’alors les institutions financières assuraient cette fonction en centralisant les comptes de leurs clients et en vérifiant la validité de chaque transaction. Le besoin existe de se passer d’une institution centrale, d’un tiers de confiance.

L’idée nouvelle est de conserver l’historique de l’ensemble des transactions effectuées. Dans la blockchain, les transactions sont conservées dans un registre. Comment garantir son intégrité ? La solution est un assemblage, élégant et très astucieux, de technologies existantes reposant sur trois concepts clés : un réseau pair à- pair, la cryptographie asymétrique et le consensus distribué.

La première étape est de garantir l’identification unique des participants. Chaque utilisateur est identifié par un couple de clés uniques, lequel constitue un portefeuille virtuel. La clé privée, comme son nom l’indique, doit rester secrète, et la clé publique peut être communiquée au monde entier sans risque de piratage. Dans le cas du bitcoin, il existe 2 160 adresses différentes : avec 1 milliard d’essais par seconde, il faudrait mille milliards d’années pour trouver une clé privée à partir d’une clé publique.

UN REGISTRE GÉRÉ DANS UN RÉSEAU PAIR-À-PAIR
Le registre contenant l’historique des transactions est répliqué dans un réseau pair-à-pair, c’est-à-dire dans un grand nombre de nœuds informatiques (unité de calcul, par exemple un ordinateur, un smartphone…). Ce réseau pair-à-pair est tel que chaque unité de calcul est reliée à toutes les autres. Plus le registre sera répliqué‚ plus il sera difficile à modifier.

UNE VERSION UNIQUE DU REGISTRE
Enfin, il est nécessaire que tous les participants au réseau s’accordent sur une version unique du registre, qui évolue au cours du temps, ce que réalise le consensus distribué. Lorsqu’une transaction est effectuée, une empreinte unique est générée, puis stockée dans un bloc. Les « mineurs » sont des nœuds du réseau qui en « travaillant » produisent des preuves de travail. Preuves qui les autorisent à ajouter une transaction dans la chaîne (un bloc est créé toutes les dix minutes). En fait, chaque mineur du réseau choisit des transactions en attente pour composer un bloc, qu’il cherche à ajouter à la chaîne des blocs précédents. Pour obtenir le droit d’ajouter ce bloc, il doit effectuer une opération appelée « hachage », qui consiste à calculer une empreinte du bloc qui prend en compte l’empreinte des blocs précédents et qui vérifie une certaine propriété.

LA VALIDATION
Lorsque le bloc est plein, il est envoyé à un ensemble de mineurs. Les mineurs commencent par vérifier la validité des transactions à l’intérieur du bloc. Dans le cas du bitcoin, la validation d’un bloc s’opère avec la preuve de travail. Il y a alors compétition entre mineurs: le premier qui résout une énigme cryptographique envoie la solution aux autres mineurs. L’énigme cryptographique est difficile à résoudre mais la solution est simple à vérifier. Le mineur qui a gagné est rétribué.

Si la solution est approuvée, le bloc est ajouté aux blocs précédents, créant ainsi une chaîne de blocs. La solution est intégrée au bloc. Elle contient des informations relatives à chacune des transactions du bloc : la date, l’heure de création du bloc et la solution du bloc précédent contenant également ces mêmes informations.

Dans l’hypothèse où un individu voudrait modifier une transaction, il devrait changer le résultat de la solution en réalisant à nouveau un long calcul pour la trouver. Il devrait aussi recalculer les solutions des blocs suivants, et ce pour la majorité des chaînes contenues dans chacun des nœuds du réseau. Pour s’assurer que le calcul de la solution ne soit pas trop rapide, la puissance utilisée pour résoudre l’énigme dans le réseau est évaluée régulièrement. Avec ce mécanisme, il est impossible de modifier le contenu des blocs, sauf si 51 % des mineurs forment une coalition. Plus le réseau sera grand, plus cette coalition sera difficile à obtenir.

Il existe deux mécanismes d’incitations pour encourager les mineurs à utiliser de la puissance de calcul… et de l’électricité. Le premier mineur qui résout l’énigme reçoit un certain nombre de bitcoins, 50 lors de la première année de bitcoin. La rétribution est divisée par quatre tous les ans, ayant pour conséquence la création d’un nombre fini de bitcoins. Au 1er février 2018 ont été minés 16,8 millions de bitcoins sur les 21 millions programmés. Pour pallier la diminution croissante de la rétribution, les participants ont la possibilité d’ajouter un montant à l’attention du mineur qui validera le bloc.

Ainsi, la blockchain garantit la sécurisation de transactions sans tiers de confiance et en toute transparence. Utilisée initialement pour des paiements en ligne, la blockchain tend à se propager dans de nombreux domaines, assurances, immobilier, énergie ou encore santé, éducation, art. Par exemple, dans le domaine de l’énergie, la blockchain peut servir à certifier les échanges d’énergie entre particuliers.

Toutefois, la blockchain n’en est qu’à ses balbutiements. De nombreuses questions restent ouvertes, notamment celle de la consommation énergétique due à la validation du registre. La complexité évacuée par la porte revient ainsi par la fenêtre.

Le code de bitcoin a été publié en open source, donc il est accessible à tous. Depuis 2008, des milliers d’implémentations analogues et différentes ont été réalisées. On compte deux ou trois grandes catégories de blockchains suivant la façon dont on les voit : publiques, de consortium et privées, ces deux dernières étant de même nature. Bitcoin est un exemple de blockchain publique : tout internaute peut lire les contenus des blocs, créer un portefeuille et devenir mineurs ; dans les blockchains de consortium seul un groupe de participants a le contrôle du registre, et ils peuvent décider qui peut ou non accéder au registre ou le certifier ; dans les blockchains privées, un seul individu détient le processus de validation. On est bien loin du principe originel de décentralisation de la gouvernance.

La blockchain publique n’appartient à personne, et même son créateur ne peut plus changer les règles de fonctionnement une fois qu’elle est exécutée.

Laisser un commentaire

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