Blockchain : un truc souvent inutile

Le Bitcoin est un protocole réseau et cryptographique qui, sans autorité centrale, permet de créer des jetons et de valider des transactions sur ceux-ci. La chaîne de blocs est une nécessité de cette absence d’autorité.

Absence d’autorité

D’après les crypto-archéologues, le Bitcoin (avec une majuscule pour différencier le protocole des jetons) serait né dans les milieux crypto-anarchistes. L’anarchisme est une philosophie d’organisation politique qui rejette toute autorité centrale – que les anarchistes me pardonnent de ce raccourci.

Par construction, l’exécution du protocole et uniquement elle (pas de gouvernements, pas d’organisations intersidérales, pas de sociétés privées) garantit bien une transaction à savoir que :

  • l’émetteur détient bien les jetons,
  • le destinataire les reçoit,
  • l’émetteur ne les a plus à l’issue de l’opération,
  • l’opération est atomique : on ne s’arrête pas au milieu.

Les autres types de transaction dématérialisée sont validés par un tiers de confiance : une banque, une chambre de compensation inter-bancaire, Visa, Mastercard, Paypal…

Cette absence d’autorité qui se retrouve dans le titre de l’excellent ouvrage : « Bitcoin, la monnaie acéphale » est le caractère singulier du Bitcoin.

Blockchain

Comment s’assurer que l’émetteur d’une transaction détient bien les jetons ? Faute d’un tiers de confiance pour valider cet état, il est nécessaire de tracer les transactions depuis la création des jetons, c’est le rôle de la chaîne de blocs où un bloc de transactions est scellé par rapport au précédent.

Pour s’assurer qu’un bloc est valide, on part du premier et on parcourt la chaine en vérifiant le scellement de chaque bloc par rapport au précédent jusqu’à celui recherché. Pour s’assurer qu’un émetteur détient des jetons, on parcours toute la chaine à la recherche des jetons qu’il a créés, reçus et transmis. Pour s’éviter ce travail fastidieux et couteux, il est préférable de lire la chaine une fois, d’établir un état dans une base de données et de le mettre à jour à la suite de chaque validation de bloc.

Les jetons sont créés lors de la validation d’un bloc en récompense de la dépense générée pour la résolution d’un défi cryptographique (opération de minage) de validation d’un bloc de transactions.

(Souvent) inutile

La chaîne de blocs présente de nombreux inconvénients couteux :

  • lecture séquentielle : on doit parcourir toute la chaîne pour avoir un état, (ou au moins la parcourir une fois, stocker tous les états et les tenir à jour à chaque nouveau bloc).
  • toujours plus grande : on ne retire jamais de blocs,
  • stockage énorme : elle est recopiée chez tous les participants.

Si les géniaux inventeurs du Bitcoin ont retenu cette solution peu performante, c’est qu’elle est nécessaire.

Dés que vous introduisez une autorité / tiers de confiance pour valider des transactions, la blockchain est la pire des solutions. Si on vous propose un produit / une solution avec des morceaux de blockchain dedans, sauf cas exceptionnel, fuyiez.

Laisser un commentaire

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