Skip to main content

Mais qu’est que c’est cette « blockchain ». Mais avant de chercher à la définir, nous allons comprendre le problème qu’elle résout.

Imagine que Joe est votre meilleur ami. Il voyage à l’étranger et au cinquième jour de ces vacances, il vous appel et dit, « Mec, j’ai besoin d’argent. »

Et vous répondez, « Je t’en envoie dès maintenant !» et raccrochez.

Vous appelez ensuite votre banque et demandez, « Pouvez-vous transférer 1000€ à Joe.»

Votre banquier vous répond, « Oui, monsieur. »

Il ouvre le registre, vérifie que vous avez suffisamment d’argent pour le transfert de 1000€ à Joe. Parce que vous êtes un homme riche vous avez largement de quoi faire, donc il va créer un mouvement dans le registre comme suit :

Note : On ne parle pas d’ordinateur, juste pour simplifier les choses.

Vous appelez Joe et lui dites, « J’ai transféré l’argent. »

Qu’es-ce qui s’est passé ? Vous et Joe avez fait confiance à la banque pour gérer votre argent. Il n’y a eu aucun mouvement d’argent physique pour transférer l’argent. Tout ce qui a été nécessaire est une entrée dans le registre. Ou plus précisément, une entrée dans le registre que ni vous ou Joe contrôle ou possède.

Et c’est tout le problème du système actuel.

Pendant des années, nous avons dépendu de ces tierces personnes pour nous faire confiance entre nous. Vous pouvez vous demander, « Quel est le problème à dépendre d’eux ? »

Le problème est qu’ils sont singuliers en nombre. Si le chaos doit être injecté dans la société, il suffit d’une seule personne/organisation  corrompue, intentionnellement ou non.

Que se passe-t-il si le registre où a été enregistrée la transaction est détruit ?

Que ce qui passe-t-il si, par erreur mon banquier entre un transfert de 1500€ au lieu de 1000€ ?

Et s’il le faisait de façon volontaire ?

Il ne pourrait pas avoir un système où l’on peut toujours transférer de l’argent sans le besoin d’une banque ?

Pour répondre à cette question, nous allons devoir creuser pour poser une question plus précise et avoir une meilleure réponse.

Pensez-y pendant 2 minutes, que signifie transférer de l’argent ? Juste une entrée sur un registre ? La meilleure question serait donc :

Y a-t-il un moyen pour maintenir un registre de compte entre nous plutôt que quelqu’un d’autre le fasse pour nous ?

Maintenant, c’est une question qui vaut le coup d’être répondu. Et vous avez peut-être déjà deviné la réponse. La blockchain est la réponse.

C’est une méthode pour maintenir le registre entre nous au lieu de dépendre de quelqu’un d’autre pour le faire.

Vous êtes toujours avec moi ? Bien. Parce que maintenant, nous allons apprendre comment ce registre partagé fonctionne.

Les prérequis de cette méthode c’est qu’il faut avoir suffisamment de personnes qui ne veulent plus dépendre d’une tierce personne. C’est seulement là où ils pourront maintenir le registre par eux-mêmes.

Combien sont suffisants ? Au moins trois. Pour notre exemple, nous allons imaginer que dix personnes ne veulent plus de la banque comme tierce personne. Avec l’accord de chacun, ils ont les détails des comptes des autres à tout moment, sans connaitre leur identité.

  1. Un fichier vide

Tout le monde à fichier vide au début. Au fur et à mesure, ces dix individus continueront à ajouter des pages à ce fichier vide. Et cette collection de pages formera le registre qui suit les transactions.

  1. Quand une transaction est faite

Ensuite, tout le monde dans le réseau à une page blanche et un stylo dans leurs mains.

Tout le monde est prêt à écrir n’importe qu’elle transaction qui survient dans le système.

Maintenant, si #2 veut envoyer 10€ à #9.

Pour faire la transaction, #2 dit à tout le monde, « Je veux transférer 10€ à #9. Donc, tout le monde écrit la transaction sur sa page »

Tout le monde vérifie que #2 ait assez d’argent pour faire le transfert de 10€ à #9. Si elle a suffisamment d’argent, tout le monde marque la transaction.

La transaction est donc considérée comme faite.

  1. Les transaction s’enchaînent

Au fil du temps, plus de personnes dans le réseau ressentent le besoin de transférer de l’argent aux autres. Et quand ils veulent en faire une, ils l’annoncent à tout le monde. Aussi tôt que quelqu’un entend cette annonce, il ou elle l’écrit sur sa page.

Cet exercice continue jusqu’à ce que tout le monde n’ait plus de place sur la page sur laquelle il a commencé à écrire. En assumant qu’une page à de la place pour dix transactions, aussi tôt que la dixième transaction est faite, tout le monde a fini sa page.

Il est temps de mettre cette page de côté dans le fichier et d’en sortir une nouvelle pour répéter l’étape 2 du dessus.

  1. Changer de page

Avant que l’on mette cette page dans nos fichiers, nous devons la « sceller » avec une clé unique que tout le monde dans le réseau valide. En la scellant, nous nous assurerons que personne ne puisse y faire de changement quand ces copies sont mises dans les fichiers de chacun. Pas demain, ni la semaine prochaine ou dans un an, une fois qu’elle est dans le fichier elle il y reste.

Intéressant ! Donc comment on scelle cette page ?

Avant d’apprendre comment on scelle la page, on va apprendre comment un cadenas fonctionne en général.

La machine magique

Imaginez une machine entourée de murs épais. Si vous y mettez une boite avec quelque chose à l’intérieur, il en ressortira une boite avec quelque chose de différent à l’intérieur.

Note : Cette machine est en fait une « Hash Function », mais je n’ai pas envie d’être trop technique aujourd’hui donc on l’appellera juste une machine magique.

Supposons que l’on fait rentrer le numéro 4 dedans, on verra que la machine nous renverra « fdezg ».

Comment a-t-elle pu convertir le numéro 4 en un mot tel que celui-ci ? Personne ne le sait. En plus, c’est un processus irréversible. Avec le mot « fdezg », il est impossible de dire ce qu’a eu la machine en entrée. Mais à chaque fois qu’on lui donnera le numéro 4, il ressortira toujours « fdezg ».

Et si on essayait avec le numéro 26 ?

On a obtenu « vn456re » cette fois ! Intéressant ! Donc le mot peut contenir des numéros aussi.

Et si je vous posais la question suivante :

« Pouvez-vous me dire ce que je devrais envoyer à la machine pour qu’il en ressorte un mot commençant par trois zéros ? Par exemple, 000ab ou 00098. »

Pensez à cette question pendant un moment ?

Je vous ai dit que la machine à la propriété que l’on ne puisse pas calculer ce qu’il y avait en entrée. Avec une telle machine à notre disposition, comment répondre à cette question ?

On peut penser à essayer tous les nombres de l’univers un par un jusqu’à ce qu’un corresponde.

En étant optimiste, après plusieurs milliers de tentatives, on se retrouvera avec un numéro qui permettra les résultats escomptés.

Il était extrêmement difficile de calculer, l’élément d’entrée connaissant les conditions à remplir en sortit. Mais en même temps, il sera toujours incroyablement facile de vérifier si le nombre à l’entrée en fonction de la sortie. Souvenez-vous que la machine donne toujours le même mot pour un nombre.

Est-il difficile de répondre si je vous donne un numéro par exemple, 96455 et vous demandais, « Es que ce numéro, peut fournir, quand il passe dans la machine, un mot qui commence avec trois zéros ? »

Tout ce que vous devez faire est, rentrer un numéro dans la machine et voir ce qu’il en ressort. C’est  tout.

La propriété la plus importante de ces machines est que, «  en ayant seulement le résultat, il est incroyablement difficile de calculer ce qu’il y avait à l’entrée »

Comment se servir de cette machine pour sceller une page ?

Nous allons utiliser cette machine magique pour générer un cadenas pour cette page. Comme précédemment, nous allons commencer par une situation imaginaire.

Imaginez que je vous donne deux boites. La première boite contient le numéro 20893. Je vous demande ensuite, « Pouvez-vous trouver un nombre qui, quand ajouter au numéro de la première boite et une fois rentrée dans la machine en résultera un mot qui commence par trois zéros ? »

Cette une situation similaire à celle que l’on a vue précédemment et nous avons appris que la seule façon de calculer un tel nombre est d’essayer tous les nombres disponibles dans tout l’univers.

Après plusieurs milliers de tentatives, nous trouvons un nombre, disons 21191, et quand il est ajouté à 20893 (21191 + 20893 = 42084) et donné à la machine, remplira nos conditions.

Dans ce cas, ce nombre, 21191 devient le cadenas pour le nombre 20893. Assumons qu’il éxiste une page ou l’on retrouve le numéro 20893. Pour sceller cette page (personne ne peut changer son contenu), nous pourrons mettre un badge ou il est écrit « 21191 ». Aussi tôt que le numéro scellant (21191) est apposé sur la page, la page est scellée.

Note : Le numéro scellant est appelé « preuve de travail » ou « proof of work », qui signifie que le nombre est la preuve que l’effort a été fait pour le calculer. Nous continuerons à l’appeler « numéro scellant » dans notre situation.

Si quelqu’un veut vérifier si une page a été modifié, tout ce que nous devrions faire est d’ajouter le contenu de la page avec le numéro scellant et le donner à la machine magique. Si la machine nous donne un mot commençant par trois zéros, le contenu n’a pas été modifié. Si le mot qui en ressort n’entre pas dans nos conditions, nous pouvons jeter la page puisque son contenu a été compromis et est donc inutile.

Nous utiliserons un mécanisme similaire pour sceller toutes nos pages et éventuellement l’arranger dans nos fichiers respectifs.

Finalement, sceller nos pages…

Pour sceller notre page qui contient les transactions du réseau, nous allons devoir trouver un nombre qui, appliquer à la liste de transactions et donné à la machine, nous donne un mot qui commence par trois zéros.

Note : J’ai souvent utilisé la phrase « mot commençant par trois zéros » seulement comme un exemple. Il illustre comment la « Hash Function » fonctionne. Les vrais challenges sont beaucoup plus compliqués que ça.

Une fois que le nombre est calculé après y avoir passé du temps et de l’électricité dans les machines, la page est scellée avec ce nombre. Si toutefois, quelqu’un essaye de changer le contenu de la page, le cadenas de la page permettra à n’importe qui de vérifier l’intégrité de la page.

Maintenant que nous savons comment sceller une page, nous allons remonter le temps, au moment où nous avions fini d’écrire les dix transactions sur la page, et que nous n’avions plus de place sur notre page.

Aussi tôt que tout le monde n’a plus de place sur sa page pour inscrire plus de transactions. Ils commencent à calculer un numéro pour sceller la page pour qu’elle soit rangée dans le fichier. Tout le monde sur le réseau fait le calcul. Le premier sur le réseau à trouver le numéro scellant l’annonce à tous les autres.

Immédiatement après avoir entendu le nombre scellant, tout le monde vérifie s’il colle avec les conditions pour qu’il soit apposé à la page.

Mais que ce passe-t-il si quelqu’un dit #7, le nombre scellant que tu as annoncé ne colle pas avec ce qu’il en est requis ? Ces cas ne sont pas anodins. La possible raison pour ce problème serait :

  • Il a peut-être mal entendu au moins une des transactions.
  • Il a peut-être essayé de tricher ou d’être malhonnête au moment d’écrire les transactions, soit pour favoriser sa situation ou celle de quelqu’un d’autre sur le réseau.

Peu importe la raison, #7 n’a qu’une seule solution. Jeter sa page et prendre la copie de quelqu’un d’autre. S’il ne met pas la page dans son fichier, il ne peut pas continuer à enregistrer des transactions.

Mais pourquoi quelqu’un passerait du temps et de l’argent à faire ces calculs quand ils savent que quelqu’un d’autre le fera et l’annoncera à sa place ? Pourquoi pas ne rien faire et attendre les annonces.

Très bonne question. C’est là que les incitations rentrent en jeux. Tous ceux qui font partie de la blockchain sont éligibles à une récompense. Le premier à calculer le nombre scellant reçoit une récompense avec de l’argent pour ces efforts.

Simplifiez cette image, si #5 calcule le nombre scellant d’une page, il reçoit la récompense, on va dire 1€, qui sort de nulle part. En d’autres termes, le compte de #5 est incrémenté avec 1€ quand le compte de quelqu’un d’autre est débité.

C’est comme ça que le Bitcoin a commencé à exister. C’était la première monnaie à pouvoir être échangé sur la blockchain. Et en retour, pour encourager les efforts qui ont été fait sur le réseau, les gens ont été récompensés en Bitcoins.

Quand suffisamment de personnes possèdent des Bitcoins, ils augmentent en valeur, générant l’envie chez d’autres personnes d’en posséder. Faisant Bitcoin grandir en valeur encore plus, et ainsi de suite…

Et quand tout le monde range les pages de transactions dans leurs fichiers, ils sortent une nouvelle page blanche et répète le processus, et ce encore et encore.

Et c’est comme ça, mes amis, c’est comme ça que la Blockchain fonctionne.

Sauf qu’il y a une petite chose que je ne vous aie pas dit…

Imaginez qu’il y ait déjà cinq pages dans le fichier. Toutes scellées avec un numéro. Et si je remonte à la deuxième page et modifie une transaction pour me favoriser ? Le numéro scellant laissera n’importe qui détecter la discontinuité des transactions, n’est-ce pas ? Et si je calculais un nouveau numéro scellant pour modifier les transactions ?

Pour empêcher ce problème, il y a une petite astuce sur la méthode de calcul du numéro scellant.

Protéger les modifications du numéro scellant

Vous vous souvenez quand je vous disais que je vous donnais deux boites, une contenant le numéro 20893 et l’autre vide ou que vous devez le calculer ? En réalité, pour calculer le numéro scellant dans une Blockchain, au lieu de deux boites, il y en a trois, deux préremplis et une autre qui doit être calculé.

Et quand le contenu de toutes ces boites sont additionnées et mises dans la machine, le résultat doit satisfaire les conditions de ce numéro.

Nous savons déjà que cette boite contient une liste de transactions et une boite contiendra le numéro scellant.

Nous savons déjà qu’une boite contient la liste de transactions et une boite contient le numéro scellant. La troisième boite contiendra le résultat de la machine magique pour la page précédente.

Avec cette petite astuce, nous nous sommes assuré que chaque page dépend sur page précédente. Ainsi, si quelqu’un veut modifier une page de l’historique, il devra aussi changer le contenu et le numéro scellant de toutes les pages après ça, pour que la chaine soit toujours consistante.

Si un individu, faisant partie des dix que l’on a imaginé au début, essaye de tricher et de modifier le contenu de la Blockchain (le fichier contenant les pages avec la liste des transactions), il devrait modifier, ajuster plusieurs pages et calculer le nouveau numéro pour toutes ces pages. Nous connaissons la difficultée attaché au calcul du numéro scellant. Ainsi, une personne malhonnête dans le réseau ne peut pas battre les neufs honnêtes.

Ce qu’il se passerait est, de la page de la personne malhonnête qui essaye de tricher, il créerait une autre chaine dans le réseau, mais cette chaine ne serait jamais capable de rattraper la chaine honnête. Simplement parce que l’effort d’une personne ne peut pas battre l’effort commun de neuf personnes. Garantissant que la chaine la plus longue dans le réseau est la chaine honnête.

Et si, au lieu d’une personne, six était malhonnête ?

Dans ce cas, le protocole serait compromis. Ce phénomène est plus connu comme «l’attaque des 51%». Si la majorité des individus dans le réseau décident d’être malhonnêtes et de tricher face au reste du réseau, le protocole échoue à sa tâche.

Et c’est la seule raison pourquoi la Blockchain pourrait s’effondrer. C’est assez difficile à mettre en place puisqu’il requiert que la majorité du réseau soit corrompu, mais il faut connaitre les points vulnérables du système. Qui a été construit en assumant que la majorité de la foule est toujours honnête.

Et cette fois mes amis c’est absolument tout ce qu’il faut savoir sur la Blockchain ! Si jamais vous trouvez quelqu’un qui se dit « Mais qu’est-ce que c’est cette blockchain ?» renvoyez-les ici !


Cet article n’est pas une recommandation d’investissement dans les cryptomonnaies et ICO. Ces investissements sont risqués et spéculatifs. VaTeFaireDécrypter publie des articles les plus objectifs possibles et ne peut être tenu pour responsable en cas de pertes liées à des placements de la part de ses lecteurs. VaTeFaireDécrypter ne fait pas garantie de l’exactitude des informations de ce document.

Roméo VEGA

Author Roméo VEGA

More posts by Roméo VEGA