pools de minage : Que résolvent vraiment les mineurs de bitcoins ?


Ce qui suit est une description du pari statistique global qui se joue toutes les 10 minutes environ. L’intervalle du jeu est contrôlé par la difficulté qui indique combien de « hachages » sont nécessaires par intervalle.

En d’autres termes, la difficulté et l’objectif définissent les « chances de la maison » par rapport à vos chances d’obtenir un hachage SHA gagnant. Le nonce est la zone « à gratter ».

Chaque hasch consomme de l’électricité et émet de la chaleur, ce qui nécessite un refroidissement supplémentaire.

pools de minage : Que résolvent vraiment les mineurs de bitcoins ?

Voici ce qui est fait avec chaque hachage :

Étape 1

À un niveau élevé, le logiciel de mineur prend une liste de transactions actives, puis les regroupe dans ce qu’on appelle un « bloc ».

Ou plus précisément : le logiciel du mineur cache toutes les transactions dans une vue récapitulative appelée « racine merkle », et la hache, ce qui est représentatif des transactions.

Étape 2

Ensuite, le logiciel de minage le convertit en un format binaire appelé en-tête de bloc, qui fait également référence aux blocs précédents (également appelé chaîne).

Champ Objectif Mis à jour lorsque. Taille (octets)

Numéro de version du bloc de version Vous mettez à niveau le logiciel et 4

il spécifie une nouvelle version

hashPrevBlock Hachage 256 bits du précédent Un nouveau bloc arrive en 32

en-tête de bloc

hashMerkleRoot Hachage 256 bits basé sur tout Une transaction est acceptée 32

les transactions dans le bloc

Heure Horodatage actuel en secondes Toutes les quelques secondes 4

depuis 1970-01-01T00 :00 UTC

Bits Cible actuelle au format compact La difficulté est ajustée 4

Nonce Nombre 32 bits (commence à 0) Un hachage est essayé (incréments) 4

Étape 3 :

Le matériel du mineur modifie une petite partie de ce bloc appelé « nonce ».

Étape 4 :

L’en-tête du bloc est haché et comparé à la cible comme s’il s’agissait simplement d’un grand nombre comme 10 000 000 > 7 000 000 (les nombres réels sont beaucoup plus gros et en hexadécimal). La cible est compressée et stockée dans chaque bloc dans un champ appelé bits.

Une cible étendue ressemble à ceci  :

Cible

Et le but est de s’assurer que le hachage SHA256 du bloc est inférieur à cette valeur. Dans l’exemple ci-dessous, « 83ee » est plus petit que « 83ef »

Pour simplifier ce concept, vous pouvez évaluer la cible en comptant les zéros non significatifs (comme l’explique l’autre réponse ici). Voici un exemple :

Voici un exemple de bloc avec des transactions que vous pouvez consulter sur BlockChain.info. Recherchez ce hachage dans le coin supérieur droit de la page Web  :

Hachage

Ce hachage précédent date d’aujourd’hui et comporte 14 zéros non significatifs. Comparons cela à ce qui était nécessaire il y a 3 ans avec le bloc 100 qui a 8 zéros non significatifs.

Hachage

Sommaire

Donc, en fin de compte, tout ce qu’un mineur fait est :

  • Prendre un en-tête de bloc en entrée
  • Changer le nonce
  • Testez si le hachage de l’en-tête du bloc est inférieur à la cible. Si c’est le cas, vous gagnez
  • Passez à l’étape 2 (ou passez à l’étape 1 si quelqu’un d’autre a remporté le bloc)
  • Vous voulez voir ce que fait Bitcoin-QT lorsqu’il trouve un bloc.. Je l’ai posté ici.