Block header
The block header is a metadata structure which is used to link blocks in the blockchain.Block header has a size of 80 bytes and consists of 6 fields:
Field | Type | sizeof | Description | Updated when |
---|---|---|---|---|
nVersion | unsigned int | 4 | Block header version | You upgrade the software and it specifies a new version |
hashPrevBlock | unsigned char[] | 32 | Previous block header hash, used to link block headers into list | New block is accepted |
hashMerkleRoot | unsigned char[] | 32 | Merkle tree hash, used to link block header and block contents | Transactions pool is updated |
nTime | unsigned int | 4 | Unix timestamp | Every few seconds for Proof-of-Work, every successful attempt for Proof-of-Stake |
nBits | unsigned int | 4 | Compact representation of claimed proof difficulty | The difficulty is adjusted |
nNonce | unsigned int | 4 | Attempts counter for Proof-of-Work | New Proof-of-Work hash tried, or never with Proof-of-Stake |
Each block header is required to satisfy the claimed proof.