Pentru orice bloc bitcoin combinăm diferite câmpuri Header pentru a crea un șir care este o intrare la un algoritm SHA cu 2 treceri. Hashul rezultat trebuie să se potrivească cu Hash-ul din antetul Bloc pentru ca blocul să fie valid.
Pentru a testa această logică, precum și algoritmul SHA, am folosit antetul blocului numărul 695877 (https://blockchain.info/rawblock/695877?format=json) pentru a crea șirul de intrare 8
Acum, când aplic algoritmul SHA cu 2 treceri, hashul rezultat se potrivește cu hash-ul din Bloc (ignorând partea Endian pentru moment).
Hash calculat: 629ef98d63e12f6b01476419a5a71efa8814dea40aec09000000000000000000
Blocare hash: 00000000000000000009ec0aa4de1488fa1ea7a5196447016b2fe1638df99e62
Dar când am introdus manual antetul înainte de a-l trece la algoritmul SHA cu 2 treceri, după cum urmează: 04008020546c359986812644420e453113e209afeaaeeb316f3a07000000000000000000b8fa13b3fca087c1456daac626ab9b8a47eae821a326f17e0ffffc15433df709b0f718610b1812175a5c9544800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280 Acest lucru are ca rezultat un hash incorect.
Nu reușesc să văd ce este în neregulă în căptușeală. Poate cineva să-l sublinieze, vă rog?