1. Base d’une blockchain


Introduction

Le concept général d’une blockchain est assez simple et en connaître les principes fondamentaux permettra par la suite de comprendre la force de cette technologie.

On aura donc pu le deviner, une blockchain est une chaîne de blocs. Ces blocs (virtuels) sont entre autre constitués d’une liste de transactions (TX) qui ont été faites sur le réseau.

Les blocs sont créés (miner) à intervale régulier, une fois qu’une transaction est inscrite dans un blocs, cette dernière est définitive. Impossible donc de revenir en arrière si la transaction est une erreur, elle est à jamais gravée dans la blockchain.

Jusqu’ici, rien de révolutionnaire. Une blockchain est simplement un immense livre de compte auquel on ajoute des paquets de transactions à intervales réguliers.

Un des avantages de la blockchain qui peut déjà être abordé ici est la transparence. Chaque transaction peut être vue par tout le monde. Dans une transaction on retrouve notamment l’adresse débiteuse, l’adresse créditeuse ainsi que la somme transférée.

Système traditionnel

Traditionnellement c’est une banque qui tient le livre de compte.

Une banque sert à plusieurs choses, dont gérer des flux et des avoirs financiers. Si A veut envoyer 100chf à B, il annonce à la banque la transaction. La banque vérifie que A a l’argent suffisant sur son compte, supprime la somme de 100chf des avoirs de A pour les ajouter aux avoir de B.

On voit donc que pour une transaction entre 2 personnes (A et B), une troisième intervient : la banque. On voit aussi que dans le cas où la banque n’est pas de bonne fois elle peut, même si A possède bien les 100chf sur son compte, ne pas autoriser la transaction. La banque a un pouvoir important dès qu’on met son argent chez elle.

Cas réels et problèmes que cela pose

En Suisse nos banques sont bonnes et font leur travail correctement mais il y a eu de nombreux cas où ça n’était pas le cas.

Par exemple, au Liban, il n’y a pas longtemps, les banques ont gelés les avoirs des citoyens, ces derniers ne pouvait retirer que quelques dollars par jours. On se souvient des cas ou des gens comme nous allaient braquer leur banque. Pas pour voler l’argent des autres personnes mais bien pour récupérer l’argent quelles avaient mise à la banque !

Autre exemple. En 2008 la crise des subprimes fait vacier le monde car les banques avaient prêter beaucoup trop d’argent par rapport à ce qu’elles avaient réellement. Ces banques se sont retrouvées dans une situation où elles avaient absolument besoin d’argent. Le gouvernement US a donc décider de leur donner l’argent qui les sauveraient. On se retrouve donc dans une situation où de part leur très mauvaise gestion les banques risquaient de perdre l’entiéreté des avoirs des gens. Pour ne pas que cela arrive, les impôts des gens on servit à financer les erreurs des banques pour sauver, coûte que coûte ces dernières.

On voit bien que tant que les banques font bien leur travail nous pouvons avoir confiance en elles. Cependant, avoir une troisième partie qui joue avec notre argent peut devenir dangereux. Et cette troisième partie est sûre que si elle venait à faire des conneries il n’y aurait pas de soucis pour elle. Les gouvernements viendrait à leur rescousse avec encore plus d’argent des gens comme nous. Si une banque fait n’importe quoi avec l’argent des gens, ces mêmes gens payeront pour sauver leur conneries. Facile comme travail !

Evidemment je simplifie un peu les choses mais on voit bien qu’il y a un problème. C’est exactement de ce constat que vient la motivation de créer le Bitcoin après la crise des subprimes.

Décentralisation

La technologie blockchain répond à la problématique suivante :

Comment se passer du troisième acteur (les banques) si on ne peut faire assez confiance à personne pour tenir un livre de compte sans tricher ? Tout être humain est faillible, croire que donner le pouvoir à une personne de tenir le livre de compte sans qu’il n’y ait jamais de dérive est un rêve utopiste.

L’idée est donc que le livre de compte soit tenu par tout le monde. C’est le principe de décentralisation. Chacun peut tenir un copie du livre de compte et plus il y a de copie plus le réseau est sécurisé.

Cela a d’autre avantages intéressants :

  1. Ne peut pas être censuré. Si le gouvernement de C voulait interdire une cryptomonnaie, il pourrait lui interdire de tenir une copie mais C pourrait toujours trouver un moyen d’accéder au copie des autres et donc de faire des transactions et avoir accès à ses fonds.
  2. Résilience. Si une des copies venait à disparaître, cela ne changerait rien au bon fonctionnement de la blockchain sachant qu’il y a encore des miliers de copies.
  3. Ouverture. A moins de couper intégralement l’accès à internet à quelqu’un, tout le monde peut participer à une blockchain. C’est un système qui ne laisse personne sur le carreau.

Thermes techniques

Note : Vu qu’on est pas des bébés je vais commencer à attaquer avec les thermes techniques. Ca me ferait gagner du temps et ça permettra d’être plus précis dans ce que je veux expliquer.

  • Jusqu’ici j’ai utilisé le terme de banques ou de troisième partie dans mes exemples. Le terme généralement utilisé est ‘’third-party’’ (troisième partie). Cela inclu toute entité centralisée qui vient interférer dans une transaction. On verra plus tard qu’il y a souvent des third-party dans les processus et que ce n’est pas forcément des banques.
  • Un acteur qui possède une copie du livre de compte est appelé un ‘’node’’ (noeud en français).

Proof of Work – PoW

Jusqu’ici on a vu que l’idée principale de Bitcoin est de supprimer les intermédiaires comme les banques, en permettant des transactions directes et transparentes. Mais comment sécuriser la chose ?

Il y a plusieurs moyen de sécuriser une blockchain mais commençons par celui qui est utilisé pour Bitcoin.

Les mineurs de bitcoin sont les entités (personne ou entreprise) qui proposent des nouveaux blocs à ajouter à la blockchain. Pour avoir le droit de proposer un nouveau bloc, il faut être le premier à résoudre un problème mathématique complexe qui ne peut être résolu qu’en essayant un nombre important de solutions. Voici les facteurs qui rentre en compte pour la résolution du calcul :

  • Puissance de calcul. Plus elle est élevée, plus on peut tester de solution à la seconde.
  • Difficulté du calcul. Il est automatiquement adapté par la blockchain pour qu’il y ait en moyenne une résolution toute les x minutes (dépend de la chaîne).
  • Facteur chance. La première solution testée peut être la bonne comme aucune des 100’000 premières.

Lorsqu’un mineur résout un calcul, il peut donc proposer sont bloc qui contient des transactions en attentes. Ce bloc est ensuite vérifié par les autres mineurs/noeuds et si ce dernier est valide il est finalement ajouté à la blockchain. Le mineur reçoit ensuite une récompense en bitcoin pour sa participation à la sécurisation du réseau.

Cycle complet d’une transaction

Emission d’une transaction

N’importe qui peut émettre une transaction qui contient une adresse de débit (celle de l’émetteur), une adresse de réception et le montant de la transaction

Vérification de la transaction

Le mineur vérifie que la transaction est valide avant de l’ajouter au bloc. Il vérifie principalement que l’émetteur aie, sur son compte, au moins la somme qu’il veut envoyer.

Création du bloc

Le mineur prend plusieurs transactions valide pour créer un bloc. Si c’est le premier à résoudre le problème mathématique il propose son bloc.

Vérification du bloc

Le bloc est alors proposé et vérifiés par les autres mineurs.

Ajout du bloc à la chaîne

Si le bloc est validé, il est finalement ajouté à la chaîne.

Récompense au mineur

Pour ça contribution, le mineur qui a vu son bloc validé est récompensé en cryptomonnaie. Dans le cas de Bitcoin, le protocôle crée des nouveaux Bitcoins pour récompenser le mineur. C’est ce qu’on a déjà tous entendu quand on parle de ‘’mineur de Bitcoin’’.

Risque pour un mineur frauduleux

Si un mineur propose un bloc faux ou frauduleux, il risque plusieurs conséquences. D’abord, le bloc sera très probablement rejeté par le réseau, car les autres nœuds vont vérifier la validité des transactions et de la solution du problème. En plus, le mineur pourrait perdre la récompense liée à ce bloc, et s’il persiste dans des comportements malveillants, il pourrait être mis sur liste noire par le réseau. De plus, la résolution du problème est très coûteux en énergie, proposer un bloc frauduleux et ne pas obtenir la récompense fait perdre beaucoup d’argent à une mineur.

Conclusion

Evidemment que le système de blockchain est plus compliqué et il serait possible de faire une centaine de pages comme celle-ci pour comprendre tous les mécanismes à l’oeuvre mais il n’est pas forcément utile d’en savoir beaucoup plus pour comprendre le fonctionnement global.

Ce qui est selon moi important de retenir c’est que ce système permet de se passer d’une entité centralisée à qui il faut faire confiance. N’importe qui peut être un mineur et nous n’avons pas besoin d’avoir confiance en lui. Soit il fait bien son boulot et est récompensé, soit il le fait mal et sera à terme blacklisté sans avoir jamais reçu de récompense.

On voit aussi que c’est un système entièrement automatisé, fini les décisions à la gueule du client : chacun joue avec les mêmes règles.


Être informé des dernières publications par mail

Email

The form has been submitted successfully!
There has been some error while submitting the form. Please verify all form fields again.

Commentaires

S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires