Algorithme de minage du Bitcoin : Comprendre les bases du SHA-256

Au-delà de sa caractéristique d’actif numérique, le Bitcoin représente surtout et avant tout une nouvelle technologie. Propulsé par la blockchain, l’écosystème Bitcoin fait appel à des notions complexes de mathématiques et plus spécifiquement de cryptographie. Aujourd’hui nous vous présentons l’algorithme de consensus du Bitcoin appelé SHA-256. Il permet notamment le minage de Bitcoin.

Source : Adobe / concept w

​Les bases du minage de Bitcoin

Le minage est l’activité qui permet de créer de nouveaux bitcoins. Pour rappel, la quantité maximum de bitcoins qui pourront (à terme) être mis en circulation est plafonnée à 21 millions. Les personnes qui s’attellent à cette tâche sont appelés les mineurs.

Le minage permet aussi le traitement de votre transaction. Les mineurs se chargent en effet de valider le traitement numérique de la transaction afin de l’enregistrer sur la blockchain.

Le minage peut être vu comme une compétition entre les différents mineurs du réseau. Le premier qui trouve la solution mathématique « remporte la mise » et valide le bloc en question. Mais de quelle solution mathématique parle-t-on ? C’est là qu’intervient l’algorithme SHA-256.

​Qu’est-ce que la fonction mathématique hash ?

Pour faire simple, la fonction de hashage permet de « condenser » tout type de fichier (image, texte, etc.) en une série de caractères.

Lorsque vous regardez votre passe sanitaire, vous observez un QR code. En fait, le QR code résulte d’un hashage de votre certification (test ou vaccination). La différence est simplement visuelle. Au lieu de vous montrer une suite de caractères, vous voyez des carrés noirs et blancs.

Il existe différentes fonction de hashage comme SHA-1, SHA-224, SHA-256, SHA-512, etc. Concrètement, le principe de toutes ces fonctions est similaire, seule change la longueur de la série de caractères en sortie. Sur le Bitcoin, la fonction SHA-256 est utilisée. 

A moins d’avoir une appétence pour les mathématiques, il vaut mieux ne pas regarder sous le capot d’une fonction de hashage ! Mais si jamais la curiosité vous y pousse, vous y verrez une succession d’opérateurs logiques du type « AND », « OR », « NOT », etc. Au niveau macro, que donne une fonction de hashage ?

Vous trouverez ci-dessous des exemples concrets de hashage :
 

Donnée d’entrée : texte ou imageDonnée de sortie : Résultat du hashage avec la fonction SHA-256
Le cours du Bitcoin est en baisse de 5 %91d7f62e9b24e9a6bfc101c63c3af200870081dd5bb18b5ae39df8805b74e254
Le cours du Bitcoin est en baisse de 5 % ?6c145527b63b0853cbc8b93a8a5ff007af47d33d1ab764d410582e2ed7ed9f01
0d9624f1c94f771c5e1f500e795b47f233e1e67493e0bfde0e7c2508df72ea80

Ces exemples permettent d’illustrer plusieurs aspects particuliers du hashage :

  • Flexibilité : Tout peut être converti en hash, que ce soit une photo, un texte, un document...
  • Longueur : La fonction SHA-256 renvoie un résultat sous la forme de chaînes de 64 caractères en langage hexadécimal. Mais pourquoi la dénomination « 256 » alors ? Pour être précis, SHA-256 produit une série de 256 caractères binaires, c’est-à-dire une suite de 256 digits « 0 » ou « 1 ». Pour raccourcir ce résultat, il est transformé en langage hexadécimal. Le langage hexadécimal se compose de lettres et de chiffres. Chaque caractère en hexadécimal correspond à 4 digits en binaire. Par exemple, « a » (hexadécimal) équivaut à « 1010 » en binaire. Avec cette conversion, le résultat passe de 256 caractères à 64.
  • Unicité : Chaque mot, phrase, document, fichier, etc possède un hash qui lui est propre. Pour illustrer cet aspect, on peut comparer le hash à l’empreinte ADN d’un individu.
  • Non prédictibilité : Le moindre changement dans le fichier source (comme l’ajout d’un « ? » dans nos exemples) renvoie un hash complètement différent.
Bannière, Numéro, Chiffre, Mathématiques, Arithmétique
Source : Pixabay

​Les avantages de la fonction de hashage pour le Bitcoin

La fonction de hashage mathématique présente plusieurs avantages dans le cadre du Bitcoin tels que :

  • Sens unique. N’importe quel fichier peut être réduit sous la forme d’un hash. Par contre, comme vu ci-dessus, à partir du hash, il est impossible de revenir aux données sources.
  • Compression. En réduisant une transaction sous forme de hash, cela permet de stocker beaucoup de données sans prendre beaucoup de place sur la blockchain.
  • Facilité. Le calcul du hash est facile à faire. Dans le contexte du minage, le hash est donc pertinent à utiliser. Sa facilité de calcul permet au mineur de faire plusieurs itérations afin de trouver la solution mathématique dans un temps raisonnable. Pour rappel, il en va du temps de la validation d’un bloc et donc des transactions des utilisateurs. Sur le Bitcoin, un bloc est validé toutes les 10 minutes.
  • Forte résistance aux collisions. On parle de collision lorsque l’on peut trouver un même hash pour deux fichiers différents. Or, comme expliqué ci-dessus, cela est très hautement improbable. En fait, du point de vue mathématique, il existe 1 chance sur … 2 puissance 64 (soit 1 suivi de 64 zéros…) !

 

A ce stade, vous avez compris l’intérêt de la fonction mathématique de hashage. Mais que vient faire le calcul du hash dans toute la séquence du minage de Bitcoin ? 

Découvrez cela dans un prochain article disponible d’ici quelques jours sur Cryptonews !

 

_______________________

Suivez nos liens d'affiliés:

Pour acheter des cryptomonnaies en Zone SEPA, Europe et citoyens français, visitez Coinhouse 

Pour acheter des cryptomonnaies au Canada, visitez Bitbuy

Pour générer des intérêts grâce à vos bitcoins, allez sur le site de BlockFi

Pour sécuriser ou stocker vos cryptomonnaies, procurez-vous les portefeuilles Ledger ou Trezor

Pour transiger vos cryptos de façon anonyme, installez l'application NordVPN

Pour investir dans le minage ou les masternodes :

Pour accumuler des cryptos en jouant :

  • Au poker sur la plateforme de jeux CoinPoker
  • À un fantasy football mondial sur la plateforme Sorare

________________

Voici les sources d’informations qu’on vous propose:

Notre newsletter hebdomadaire gratuite: https://www.getrevue.co/profile/CryptonewsFR

Twitter: https://twitter.com/cryptonews_FR

Telegram: https://t.me/cryptonews_FR

LinkedIn: https://www.linkedin.com/company/11745115