A block header is the compact summary at the start of a block that identifies the block and lets the network verify it without scanning all its transactions. It contains metadata rather than the full transaction list.
Each block has two big parts: the header and the body. The body holds raw transactions. The header sits above it as a fingerprint of what the block contains, so nodes can check integrity quickly.
Block headers usually include:
Some chains also add fields like block height. Exact layouts can vary by network.
Mining involves finding a header hash that meets the current difficulty target. Miners only hash the small header rather than the entire block, which saves time because a block can contain thousands of transactions. They keep tweaking the nonce and re-hashing the header until the result fits the target.
The “previous block hash” inside each header creates a chain. If someone tried to change a transaction, the Merkle root in that header would change, which then breaks the hash for that block and all the blocks after it. Recomputing all those headers becomes infeasible as the chain grows.
Because headers are small, devices with limited storage can sync using headers alone and still perform basic checks. They can use the Merkle root to verify that a given transaction was included in a block, even if they do not store the full block. This is the idea behind lightweight or simplified payment verification clients.
Headers are compact. In Bitcoin, the header has a fixed size of 80 bytes. Across different blockchains, header sizes typically stay small and within roughly the same order of magnitude to keep syncing efficient.
During block creation on proof-of-work networks, nodes check that the header’s hash meets the difficulty target and that the header correctly references the parent block. This process helps the network agree on the next valid block without loading the entire transaction set.