Bitcoin a été créé par une personne anonyme dont le nom d’utilisateur était Satoshi Nakamoto. Il s’agissait de résoudre un problème simple. Empêcher les doubles transactions. Grâce à ce système créé par Satoshi, l’échec des transactions a pu être réduit. Il ne savait pas que cela se révélerait si énorme.
Vous pouvez diviser la réponse au titre en 2 parties ?
- Technique
- Économique
Je vais discuter de la partie technique dans ce post/blog. Vous n’avez pas besoin de savoir tout cela pour échanger du Bitcoin ou de savoir pourquoi c’est bon pour l’économie. Cet article/blog ne couvrira que le fonctionnement de Bitcoin, c’est-à-dire l’aspect technique de Bitcoin.
Pour savoir comment fonctionne Bitcoin, prenons un exemple.
Imaginez que vous et vos amis décidiez de créer un registre (un endroit où vous pouvez noter qui doit de l’argent à qui).
UNE donne B 20$. Ensuite, vous devez écrire dans le grand livre que B doit UNE 20$. Mais le problème ici est que les gens peuvent écrire n’importe quoi. Un péché UNE peut écrire « B doit UNE 100$” mille fois et personne ne saura jamais qui l’a écrit.
Alors, ce que l’on peut faire, c’est qu’ils devront utiliser une signature numérique après avoir écrit leur nom. Comment fonctionne cette signature numérique ?
Nous entrons maintenant dans des calculs, alors faites réfléchir.
Une signature numérique n’est pas n’importe quelle image composée de 1 et de 0. C’est un peu particulier.
Tout d’abord, vous avez besoin d’une clé publique et d’une clé secrète pour que cette signature numérique fonctionne. Cette signature numérique change pour chaque message dans lequel elle est insérée. Même si vous modifiez légèrement le message, la signature numérique change beaucoup. Expliquer en maths
Signe(Message, Clé_Secrète) = Signature
Vérifier(Message, Signature, Public_key) = Vrai/Faux
Pour cette raison, nous pouvons comprendre que vous seul pouvez produire la signature (à cause de la clé secrète) et personne ne peut simplement copier votre signature et la coller dans un autre message car le message est également impliqué dans la production de la signature. La fonction Vérifier affiche simplement Vrai ou Faux, c’est-à-dire qu’elle vérifie la signature.
La signature produite comporte 256 chiffres qui sont tous des 1 ou des 0. Il y a donc 2²⁵⁶ différentes combinaisons possibles de la Signature. Ce nombre est énorme.
2²⁵⁶ = 11579209000000000000000000000000000000000000000000000000000000000000000000
C’est la taille du nombre. Ainsi, vous pouvez être extrêmement sûr que si quelqu’un a utilisé la signature numérique, il n’utilisera que la clé secrète correspondante.
Mais encore, il pourrait y avoir un problème. Une personne peut simplement copier et coller le même message dans le registre autant de fois qu’elle le souhaite. Donc, ce que nous pouvons faire, c’est que chaque message commence par un numéro d’index différent afin que tous les messages soient différents et que personne ne puisse falsifier les signatures numériques.
Donc, jusqu’à présent, notre protocole pour le grand livre ressemble à ceci
- Tout le monde peut ajouter des lignes au registre
- Réglez avec de l’argent réel chaque mois
- Seules les transactions signées sont valides
Mais que se passe-t-il si quelqu’un ne se présente pas à la fin du mois pour payer l’argent ? Par exemple, le registre ressemble à ceci
- A paie B 69 $ (Signature numérique de B)
- A paie D 420$ (Signature numérique de D)
- A paie C 100 $ (Signature numérique de C)
Et il s’avère que UNE ne s’est jamais présenté pour rembourser l’argent à la fin du mois. Il existe une solution simple à cela. Au début du mois, tout le monde doit mettre une certaine somme d’argent dans le grand livre et on ne peut emprunter que jusqu’à concurrence de la somme d’argent qu’il reste dans le grand livre.
Par exemple, A met 500 $ dans le grand livre. Il ne peut donc emprunter que 500 $ à n’importe qui, c’est-à-dire
- A paie D 420$ (Signature numérique de D)
- A paie B 69 $ (Signature numérique de B)
- A paie C 100 $ (Signature numérique de C)
Dans cet exemple, le 3e relevé ne sera pas accepté car A n’a mis que 500 $ dans le grand livre et il les dépasse. Maintenant, comme nous pouvons voir que nous avons atteint un point où nous pouvons convertir notre argent réel en argent du grand livre et utiliser cet argent du grand livre entre amis.
Mais il y a encore un peu de confiance requise pour ce système. Comme qui contrôle les règles d’ajout de choses au grand livre. Qui héberge le site Web du grand livre. Donc, pour supprimer même ce peu de confiance, ce que nous pouvons faire, c’est donner une copie du registre à tout le monde et diffuser un signal de chaque nouvelle transaction, puis tout le monde peut noter la transaction dans son registre.
Mais comment savoir quelle transaction est correcte ou erronée ? Pour cela, quelques calculs supplémentaires sont nécessaires. Alors plongeons-y profondément
Il existe une fonction appelée SHA256 qui prend n’importe quel type de texte et génère un hachage. Par exemple, si vous saisissez Viram Mehta il sort 24A10E1D386FDE074BD96537EAB727367214B0C98CA64A173CC1EDD6539EF7D9. Et si vous saisissez Viram Mehta il sort 17B6D2FCA7FE444EC15B849CFBEC13682A36D153195B55FED876BF51400411E5. Un seul a supplémentaire est ajouté et la sortie change complètement. Ça a l’air aléatoire mais ça ne l’est pas. Ces hachages sont des hachages de 256 bits. SHA256 est une fonction de hachage irréversible. Par conséquent, vous ne pouvez pas obtenir l’entrée si vous avez la sortie. La meilleure façon est de le vérifier manuellement un par un.
Revenons à la façon dont nous pouvons arrêter les fausses transactions. Ce qui se passe lors de l’utilisation de Bitcoin, c’est que toutes les 2400 transactions sont placées dans le même fichier et au bas du fichier, il faut trouver le hachage commençant par un nombre spécifique de 0. Le nœud qui trouve ce hachage en premier obtient une certaine quantité de récompense. Un nœud est juste un ordinateur du réseau Bitcoin qui a pour tâche de trouver des hachages. Le texte du hachage correspond aux transactions dans le fichier. Appelons ce fichier un bloc. Ce bloc vérifié est ensuite diffusé à tout le monde, et ils peuvent enregistrer toutes ces transactions dans leurs registres respectifs. Le bloc suivant doit contenir le hachage du bloc précédent et il a également un hachage qui doit être trouvé.
Pour cette raison, il est très difficile de changer l’ordre des blocs, car ils nécessitent le hachage du bloc précédent.
Supposons qu’un nœud reçoive 2 blocs différents, alors le nœud fera 2 chaînes différentes et la chaîne qui s’allongera sera acceptée par le nœud. Il est donc très difficile pour quiconque de pirater le réseau, car le pirate devra continuer à faire de plus en plus de travail de calcul pour conserver sa chaîne plus longtemps. Pour cela, le pirate doit contrôler 51% de la puissance de calcul du réseau.
Les mineurs, c’est-à-dire les nœuds qui trouvent des hachages pour chaque bloc, reçoivent une récompense s’ils trouvent un hachage. C’était 50 Bitcoin au début et il se divise par deux au fur et à mesure que de plus en plus de Bitcoin sont extraits. Par conséquent, je pense qu’il y a moins d’incitation pour quelqu’un à pirater le réseau car le pirate peut également détenir des bitcoins (parce que le pirate doit faire partie du réseau et extraire également des bitcoins pour que les transactions réussissent) et une fois que la nouvelle est sortie qu’il est piraté, les gens perdront espoir et tous les Bitcoins seront sans valeur. De plus, les coûts de contrôle de 51 % de la puissance de calcul sont également très élevés. C’est quelque chose comme si vous alliez contre le monde entier.
Alors maintenant, voyons-le tous en action.
UNE paie B 20$. Ce message est d’abord vérifié, puis placé dans un bloc. Ensuite, les mineurs commencent la course pour trouver le hachage du bloc et celui qui le trouve obtient la récompense. Puis ce bloc est diffusé et tous les nœuds notent ces transactions. Si quelqu’un diffuse un faux bloc, tous les nœuds noteront toujours les transactions et garderont une trace des deux chaînes. La chaîne qui s’allongera sera conservée et l’autre sera effacée.
C’est ainsi que depuis sa création, il n’y a pas une seule transaction échouée dans le réseau Bitcoin. Tous les cas de fraude que vous entendez/lisez sont simplement dus au fait que des personnes ont mal géré les mots de passe de leurs portefeuilles Bitcoin.
Merci de l’avoir lu jusqu’ici. J’espère que cela aurait dissipé certains de vos doutes concernant la sécurité de Bitcoin. Si vous trouvez un autre moyen de pirater le réseau Bitcoin autre que de contrôler 51 % de sa puissance de calcul, n’hésitez pas à le taper dans la section des commentaires.
J’aborderai l’aspect économique du Bitcoin dans le prochain article/blog.
Merci.