Essayer de comprendre la valeur nbits du protocole de strate
-
23-12-2019 - |
Question
je regarde le protocole de strate et j'ai un problème avec la valeur nbits de la méthode mining.notify.J'ai du mal à le calculer, je suppose que c'est la difficulté monétaire.
J'ai extrait une notification d'un pool dogecoin et elle a renvoyé 1b3cc366 et à l'époque la difficulté était 1078.52975077.
Je suppose ici que 1b3cc366 devrait me donner 1078,52975077 une fois converti.Mais je n'arrive pas à faire la conversion correctement.
j'ai regardé ici, ici et j'ai également essayé la fonction .NET BitConverter.Int64BitsToDouble.
Quelqu'un peut-il m'aider à comprendre ce que signifie la valeur nbits ?
La solution
Tu as raison, nbits
est la difficulté actuelle du réseau.
La difficulté d'encodage est entièrement décrite ici.
Représentation hexadécimale comme 0x1b3cc366
se compose de deux parties :
0x1b
-- nombre d'octets dans une cible0x3cc366
-- préfixe cible
Cela signifie que le hachage valide doit être inférieur à 0x3cc366000000000000000000000000000000000000000000000000
(c'est exactement 0x1b
= 27 octets de long).
La représentation en virgule flottante de la difficulté montre à quel point la cible actuelle est plus difficile que celle utilisée dans le bloc de genèse.
Satoshi a décidé d'utiliser 0x1d00ffff
comme une difficulté pour le bloc de genèse, la cible était donc0x00ffff0000000000000000000000000000000000000000000000000000
.
Et 1078,52975077 représente de combien l’objectif actuel est supérieur à l’objectif initial :
$ echo 'ibase=16;FFFF0000000000000000000000000000000000000000000000000000 / 3CC366000000000000000000000000000000000000000000000000' | bc -l
1078.52975077482646448605