This section describes data components of Bitcoin block.
At a high level, a Bitcoin block has two major data components:
1. Transaction List -
The ordered list of transactions.
The list could have 0 transactions, or more than 1,000 transactions.
There is no upper limit. But the block size is limited to 1 MB.
So if the average size of transactions is 500 bytes.
You can store up to 2,000 transactions in a block.
2. Block header -
The block header has a fixed size of 80 bytes.
It contains 4 important information:
Merkle Root -
The root of the Merkle Tree,
which is the fingerprint of the Transaction List.
This prevents anyone to alter any transaction included in the block.
Hash of Previous Block -
The hash value of block header of the previous block.
This establishes the sequence of blocks in the blockchain.
It also prevents anyone to alter the block header
of any old block.
The date and time when the block was created.
A random integer added to ensure hash of the block header
meets the blockchain requirement.
Below is an illustration of 2 data components in a Bitcoin block:
Transaction List and Block Header.
Note that the Merkle Tree is not stored in the block.