I am new to Bitcoins and still learning thus please bear with me. As I read Bitcoin Block header (on which the Block Hash is computed) is supposed to be:
- hash - 32 Bytes
- ver - 4 Bytes
- prev_block - 32 Bytes
- mrkl_root - 32 Bytes
- time - 4 Bytes
- bits - 4 Bytes
- nonce - 4 Bytes
(source: https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch08.html)
Now when I check one of the latest Blocks the fields are:
Hash : 00000000000000000009ec0aa4de1488fa1ea7a5196447016b2fe1638df99e62
Version : 545259524
Previous Block : 000000000000000000073a6f31ebaeeaaf09e21331450e424426818699356c54
Merkel Root : 09f73d4315fcff0f7ef126a321e8ea478a9bab26c6aa6d45c187a0fcb313fab8
Time : 1629026224
Bits : 387061771
Nonce : 1150639194
(source: https://blockchain.info/rawblock/695877)
The Version, Time, Bits and Nonce fields don't seem to match in size. What am I interpreting wrong here.
And I am unclear about the Version field. What are the various options. And hypothetically as a miner if one runs a tailor made self coded program what should be its value and how does it matter to a miner who will simply mine a new Block? Is there a default safe value for this field?
It would be helpful if someone can point to a explained for version (something that is easy and comprehensive enough for beginning miners)?