forked from novacoin-project/novacoin
-
Notifications
You must be signed in to change notification settings - Fork 122
Block header
CryptoManiac edited this page Jan 29, 2014
·
9 revisions
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 | Size | 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 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 | Block header 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.