Les limites de la blockchain
Résumé : Les limites de la blockchain. Recherche parmi 300 000+ dissertationsPar Andria-Liantsoa • 13 Avril 2024 • Résumé • 3 573 Mots (15 Pages) • 129 Vues
La blockchain
et ses limites
A l’ère du libéralisme économique naît une demande pour des méthodes de transactions financières toujours plus pratiques. Bien que les méthodes de paiement aient grandement évolué depuis les premiers transferts d’argent par télégramme datant de 1871 [1] au tout premier paiement en ligne en 1994 [2], elles ont toujours lieu sous la supervision d’une autorité centrale. La présence de cette troisième entité au milieu de la transaction engendre des frais [3] et la délégation de leurs données personnelles [4] devient un problème pour les utilisateurs.
C’est dans ce contexte qu’un ou plusieurs chercheurs anonymes sous le pseudonyme de Satoshi Nakamoto présentent en 2008 la blockchain, cette technologie qui rend possible aujourd’hui des transactions financières décentralisées et anonymes en ligne. Par décentralisées on entend indépendantes d’une autorité centrale [5].
On se propose dans cet article d’étudier avec un regard critique le fonctionnement de la blockchain afin d’en déterminer les limites, car cette technologie, bien que prometteuse, est récente et mérite de connaître à l’avenir des améliorations.
Qu’est-ce qu’une blockchain ?
La nécessité d’un médiateur
La présence d’un tiers de confiance comme la banque entre les deux parties de la transaction est en effet primordiale pour les paiements en ligne classiques. Son rôle au centre de ce réseau est d’être
le médiateur qui garantit qu’une somme d’argent ne puisse être dépensée qu’une fois, en débitant le compte de l’acheteur et en créditant celui du marchand par une somme équivalente [6].
Sans la banque, l’acheteur serait libre de ne pas débiter son compte et pourrait alors utiliser simultanément le même argent pour plusieurs achats différents : on dit qu’il y a double-dépense [7].
Eviter la fraude sans autorité
La blockchain, elle, permet à un réseau dépourvu d’autorité centrale d’éviter la fraude, car elle fonctionne comme une base de données contenant toutes les transactions faites au sein de ce réseau.
Tous les membres du réseau de la blockchain possèdent une copie de cette dernière et sont libres d’écrire de nouveaux blocs d’informations en effectuant des transactions. L’écriture de chaque information est surveillée de près par tous les utilisateurs car chaque bloc d’informations authentique doit contenir une trace du précédent. C’est cet enchaînement qui rend très difficile la falsification d’un bloc [7].
L’écriture d’une transaction
Voici donc le fonctionnement détaillé de ce processus d’écriture quasi inviolable.
Les blockchains ne pouvant être dépendantes de la banque et donc de sa monnaie, les transactions qui se font au sein de son réseau sont faites avec sa propre monnaie électronique ou cryptomonnaie.
La toute première blockchain créée par Nakamoto en 2008 utilise le bitcoin, mais d’autres cryptomonnaies comme l’Ethereum ou le Tether existent [8] et ont un fonctionnement similaire. Une pièce de monnaie électronique est transférée d’un utilisateur à un autre de manière vérifiable grâce à un protocole de signatures électroniques à double clé [5].
[pic 1]
Figure 1 : Enchaînement des transactions dans une blockchain [5]
Alain veut envoyer une pièce de monnaie électronique à Bernard.
Chaque utilisateur possède une clé privée et une clé publique fonctionnant comme un relevé d’identité bancaire, appelons celles d’Alain Aprivée et Apublique, et celles de Bernard Bprivée et Bpublique. [9].
Bernard envoie à Alain sa clé publique [9].
Alain rassemble Bpublique ainsi que d’autres informations comme le montant à envoyer, la somme en sa possession et la référence de la dernière transaction inscrite dans la blockchain. Le tout forme un ensemble T [9].
Une fonction f(Aprivée,T) = T’ qu’on appelle fonction de hachage va « hacher » toutes ces données avec la clé privée d’Alain pour forger T’ la signature qu’Alain apposera sur la transaction [10].
Les utilisateurs du réseau témoins de la transaction peuvent vérifier son authenticité sans que l’anonymat d’Alain soit compromis car en effet il existe une fonction de hachage g(Apublique,T’) = T. On voit que Aprivée n’intervient pas dans cette équation [10]. La transaction T0 est complète quand les utilisateurs la valident.
A l’avenir, si Bernard veut envoyer la pièce de monnaie à Charlène alors il rassemblera cette-fois si tout ce qui concerne la transaction T0 et sa clé privée Bprivée. La transaction est validée par sa signature
f(Bprivée, T0) = T’’ [5]. Un enchaînement de quelques transactions forme un bloc [9], un nouveau bloc est validé toutes les dix minutes environ [10].
Sécurisé mais pas incassable
La sécurité de ce système provient des fonctions de hachage f et g basées sur la méthode de cryptographie à courbes elliptiques [10].
Pour rappel une fonction de hachage est une fonction qui prend en entrée un fichier texte (toutes les informations dans la blockchain sont des fichiers textes) et produit en sortie le « hash » de ce fichier, une suite de caractère qui lui est propre [6].
Une courbe elliptique est définie par tous les couples de nombres (x,y) tels que y² = x3 + ax + b où a et b sont d’autres nombres pour lesquels la quantité 4a3 + 27b² est différente de 0 [11]. Les fonctions
de hachages utilisent cette courbe et trouvent leurs valeurs de sorties en traçant une droite qui coupe la courbe en différents points [12].
[pic 2]
Figure 2 : Différents cas de figure sur la courbe d'expression y² = x3 - x + 1 [13]
En théorie il est impossible de trouver l’expression de ces fonctions car pour résoudre l’équation il faut pouvoir calculer le logarithme discret de chaque élément de la courbe elliptique, chose qui reste actuellement un mystère mathématique [11].
Le problème du logarithme discret n’a pas été résolu à ce jour mais aucune démonstration de son insolvabilité n’a été faite. Le risque mathématique de l’effondrement de la blockchain existe donc bel et bien [14].
Décrypter les fonctions de hachage de la blockchain permettrait de découvrir la clé privée de tous
les utilisateurs et donc d’effectuer des transactions frauduleuses avec leurs fonds.
Le consensus au centre de la blockchain
La fiabilité de la blockchain réside en partie dans le hachage successif des données qui y sont inscrites, formant ainsi une chaîne de blocs [7]. Il s’agit aussi de faire en sorte que des informations erronées ne soient pas gravées par erreur dans la blockchain. L’intervention des membres du réseau de transactions est donc nécessaire [7], leur consensus est alors ce qui sécurisera définitivement le réseau.
...