Author

Topic: Need Help pour comprendre la vérification d'un bloc-> SHA256(SHA256(Block_Head)) (Read 618 times)

full member
Activity: 171
Merit: 100
Wink
Lit la difficulté à l'envers Wink
C'est les stockage inter de la donne qui donnée qui donne cette ordre .
D'ailleurs lis la version aussi à l'envers

Ah, oui c'est mieux  Grin


Dommage pour moi, je n'ai pas vue le ruby même si le code paraît très clair
legendary
Activity: 1372
Merit: 1008
1davout
legendary
Activity: 1918
Merit: 1190
Wink
Lit la difficulté à l'envers Wink
C'est les stockage interne de la donne qui donnée qui donne cette ordre .
D'ailleurs lis la version aussi  à l'envers
legendary
Activity: 1918
Merit: 1190
Wink
Lit la difficulté à l'envers Wink
C'est les stockage inter de la donne qui donnée qui donne cette ordre .
D'ailleurs lis la version aussi à l'envers
full member
Activity: 171
Merit: 100
Bonjour  Smiley

Dans le cadre d'une petite soutenance et de mes recherches personnels j'essaye de comprendre le bitcoin d'un point de vue technique.

Aujourd'hui, j'essaie juste de comprendre comment vérifié le hash d'un bloc à partir de son en tête.
Sur ce lien qui ma l'air pas mal du tout : https://en.bitcoin.it/wiki/Block_hashing_algorithm

On trouve tous les champs de l'en tête ( Version, hashBlocPrec, hashRacineMerkle, Temps, Difficulté, Nonce ) et déjà là, je ne comprends pas à quoi correspond la version et le format compacté de la difficulté.

En effet sur l'exemple qu'il donne, on remarque que le bloc 125552 est calculé avec ce header :
header_hex = (
    "01000000" +
    "81cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a308000000000000" +
    "e320b6c2fffc8d750423db8b1eb942ae710e951ed797f7affc8892b0f1fc122b" +
    "c7f5d74d" +
    "f2b9441a" +
     "42a14695")

Or, lorsque je regarde les informations dispo sur ce bloc
http://blockexplorer.com/block/00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d
on remarque le difficulté en décimal puis en format compacté -> Difficulty?: 244 112.487774 ("Bits"?: 1a44b9f2)
Or le format compacté ne concorde pas avec l'avant dernier argument de header_hex.

Donc au final, je ne comprends pas trop l'en tête et comment arrivé au hash final car  SHA256(SHA256(Block_Head)) c'est facilement compréhensible mais au final je vois pas vraiment à quoi ressemble le Block_Head avant de le passer deux fois à la moulinette ...

Je vous remercie pour toute aide ou tout lien qui pourrais m'aidé à comprendre.
Pour des liens qui m'en apprendrait d'avantage je prends aussi  Grin
Jump to: