BI consulting vous aide à percer les mystères de la blockchain

La blockchain est la technologie connue pour supporter les transactions de cryptomonnaies, en particulier celles du BitCoin. Elle a été conçue en même temps que celui-ci par un développeur – ou probablement plutôt un groupe de développeurs – connu sous le pseudonyme de Satoshi Nakamoto, dans une publication d’octobre 2008 envoyée sur une mailing list de cryptographie : metzdowd.com. La publication originale est disponible sur le site bitcoin.org : https : //bitcoin.org/bitcoin.pdf

Pour expliquer le fonctionnement de la blockchain, le mieux est de s’appuyer sur l’exemple du Bitcoin, même si son utilisation n’est pas restreinte à cet usage. La blockchain permet de résoudre un problème des transactions monétaires : comment s’assurer qu’un acquéreur dispose des fonds nécessaires pour l’achat de biens ? Comment être certain qu’il n’a pas déjà dépensé cet argent pour acheter un autre produit ?

Aujourd’hui, c’est la banque qui joue le rôle d’intermédiaire de confiance. Avant d’accepter une transaction, le vendeur demande à la banque de l’acheteur si ce dernier dispose des fonds nécessaires à l’achat. Cela implique que toutes les parties prenantes fassent confiance à l’institution monétaire.
Avec l’invention du Bitcoin, Satoshi Nakamoto entend se passer d’intermédiaires institutionnels tels que les banques. Et c’est ainsi qu’il invente la blockchain : le principe est d’enregistrer non pas les soldes des utilisateurs, comme sur un compte bancaire, mais les transactions entre utilisateurs et de les rendre entièrement publiques afin que tout le monde puisse y avoir accès.

Aussi ingénieux soit-il, ce principe soulève des problématiques essentielles :
1. Les transactions se doivent d’être anonymes (vous n’avez pas nécessairement envie que le monde entier sache que vous êtes très riche !)
2. Il faut s’assurer qu’il n’y ait pas d’usurpation d’identité : se faire passer pour un autre afin de dépenser son argent.
3. Empêcher les utilisateurs mal intentionnés de modifier l’historique des transactions pour s’adjuger des fonds imaginaires.
4. Il faut s’assurer que l’acheteur qui va transférer ses Bitcoins au vendeur les possède effectivement : le problème de la double dépense.

Mais à chaque problème sa solution

Pour expliquer l’anonymat des transactions et la sécurité de la blockchain, il est important de définir deux mécanismes de cryptographie :

  • le chiffrement asymétrique RSA qui assure la confidentialité des transactions
  • le hachage qui permet de garantir l’intégrité des transaction

Le chiffrement asymétrique RSA, qués aco ?
En 1978, trois mathématiciens (Rivest,; Shamir et Adleman) créent un algorithme cryptographique asymétrique RSA. Le principe est le suivant :, chaque utilisateur disposent d’un couple unique de nombres, appelés “clé publique” et “clé privée”. Ces deux clés peuvent être utilisées pour envoyer des messages chiffrés.
Par exemple, si Alice souhaite envoyer un message secret à Bob, e. Elle utilise la clé publique de Bob et l’algorithme RSA pour chiffrer son message qu’elle envoie à Bob. Bob utilise alors sa clé privée afin de décrypter le message. Puisque seul Bob dispose de l’unique clé privée permettant de déchiffrer le message,; Alice est sûre que celle seul Bob pourra le lire.

Le Hash
Le Hash (ou Hachage) est une fonction mathématique qui permet de transformer n’importe quel message ou n’importe quelle donnée en un nombre de taille finie. Si le message initial change, ne serait-ce que d’une virgule, le nombre résultant serait totalement différent.

Par exemple :
“Vive BI consulting” –> C73B8237AA1F2D3EF102A98F1ACB18FA5EF857C58F899E880C450646660C323F

“Vive BI consulting!” –> 0D7F6A9106AFE91500287AB39C17C75C5FE8B67766F404E3D776596DFE69C5B0

Ainsi chaque bloc de la chaîne, commence systématiquement par le Hash du bloc précédent. Si un utilisateur mal intentionné voulait falsifier la blockchain pour inclure une transaction de 100 BTC sur son adresse, le Hash des blocs suivants ne correspondrait plus.

Le Minage ou la planche à billets virtuelle
Il reste un problème à résoudre : comment obtenir de nouveaux Bitcoins pour effectuer des transactions. C’est là qu’interviennent les mineurs. Le rôle de mineurs est de calculer les  Hash des nouveaux blocs. Enfin… ce n’est pas si simple !
Souvenez-vous que pour qu’une transaction soit effective, elle doit être validée par un nombre suffisamment conséquent d’utilisateurs. En moyenne, Satoshi Nakamoto considérait qu’il fallait environ 10 minutes pour que ce nombre soit atteint. Pour respecter ce délai, il a été décidé d’inclure une difficulté concernant le hashage des blocs. Cette difficulté est une valeur numérique à laquelle le Hash du nouveau bloc doit être inférieur. Les mineurs effectuent des calculs afin de trouver un Hash inférieur à la difficulté cible. Plus le nombre de mineurs est important, plus la difficulté sera restreinte afin de conserver ce délai de validation de 10 minutes.
Le calcul fait par les mineurs consiste à concaténer un chiffre avec le Hash de l’ancien bloc et de calculer le nouveau Hash. Ce chiffre s’appelle le nonce et il vaut de l’or, car lorsqu’un mineur trouve un nonce qui permet d’avoir un résultat inférieur à la difficulté cible, un nouveau bloc peut être ajouté à la chaîne. Le mineur est alors récompensé par des Bitcoins, une dizaine environ, ce qui peut représenter beaucoup d’euros. Vous savez désormais d’où vient l’appelation « mineurs » : ceux qui “découvrent” les Bitcoins à la manière de chercheurs d’or.

Ce n’est qu’une fois que le bloc est intégré à la chaine que les transactions qu’il contient sont validées et que de nouveaux Bitcoins sont créés, permettant d’effectuer de nouvelles transactions.

Vous n’arrivez toujours pas à visualiser le concept ?

Afin de mettre des images sur ce principe, il suffit de se rendre sur le site https://blockchain.info/ . Il permet de visualiser et de parcourir la blockchain.


Sur le site, on visualise les blocs ajoutés dernièrement. On peut voir que le délai de 10 minutes imposé par le protocole est respecté : 9 minutes écoulées entre le dernier et l’avant-dernier bloc, 10 minutes entre l’avant-dernier et l’antépénultième.

Regardons en détail le bloc n°514665 :

On y voit le nombre de transactions validées qu’il comprend : 1206. Sur la droite, on trouve le Hash du bloc précédent et le nouveau Hash du bloc. Le Hash du bloc commence par vingt-cinq 0 et est inférieur à la difficulté cible qui était pour ce bloc de 3,462,542,391,191.56.
Le nonce trouvé par le mineur était de 1076520795 et il a reçu 12,5 BTC pour sa contribution. Soit un équivalent de 108 771 $ ce jour-là.

Quelles limites pour la blockchain ?
Puisque le nombre de Hash est limité, nous savons d’ores et déjà combien de Bitcoins pourront être créés : un peu moins de 21 millions, et que ce chiffre devrait être atteint aux alentours de 2033. D’ici là, les autorités devraient petit à petit intervenir pour réguler le marché des cryptomonnaies encore peu réglementé.

Par Hoël Vasseur, consultant chez BI consulting

Source

https://openclassrooms.com/courses/comprendre-le-bitcoin-et-la-blockchain/le-principe-du-bitcoin-2-2-le-reseau-de-mineurs
https://www.coindesk.com/information/how-does-blockchain-technology-work/
https://fr.wikipedia.org/wiki/Signature_num%C3%A9rique

Article
Précédent
Article
Suivant