Skip to content
DonateБГ

Block structure

Previous block

The previous block hash in bitcoin is the 32-byte hash of the block a new block builds on. That link chains each block to the one before.

By Dimitar Zurnov · Updated 4 Nov 2026
Adapted from Learn Me a Bitcoin by Greg Walker.

The previous block field is the 32-byte hash of the block that a new block builds on. Each block names its parent by hash, so the blocks form a chain, as the Bitcoin white paper describes. This chain is the blockchain, and the field is what joins one block to the next.

What does the field contain?

The field is 32 bytes, stored in natural byte order. Explorers show the same bytes in reverse. Block 1 shows the difference:

version      01000000
previous     6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000

Reverse those 32 bytes and you get 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. That is the hash of the genesis block, block 0. Open block 1 in our explorer and its previous block links to block 0.

The field holds a hash, not a height. A hash names exactly one block. A height could match several competing blocks at once, so the field uses the hash.

How does a miner choose the previous block?

A miner builds the next block on the tip of the chain. The tip is the newest block of the longest chain, the chain with the most work behind it. The miner puts that tip's hash into the previous block field of the candidate block.

You can find the current tip with bitcoin-cli getbestblockhash.

Building on any older block would waste the work. The new block would sit off the main chain, and nodes would not count it, so its coinbase reward would never become spendable.

Why does linking by hash matter?

A block's hash depends on its whole header, and the header includes the previous block field. So each hash depends on the hash before it, all the way back to the start.

Each block stores the hash of the block before it, so the blocks form one chain back to block 0. Block 974,000 previous …68e74280 Block 973,999 previous …b9da388d Block 973,998 previous …be056544 block 0
Shortened hashes. The full values are in the text on this page.

Suppose someone edits an old block. Its hash changes, so the next block no longer names it as its parent. To keep the edit, that person would have to redo the proof of work for the edited block and for every block after it. That is the reason people call the blockchain an immutable ledger. In practice it is very hard to change, but the rule is not absolute. See the 51% attack page for what it would take.

Here are three real links from near the tip of the chain, as explorers show them:

  • Block 974,000 names 00000000000000000000e82c9859150d7b200e2409e69854602df82068e74280, the hash of block 973,999.
  • Block 973,999 names 0000000000000000000079328619aa51ddbbe6b5b5df4ebbbb8b3fdbb9da388d, the hash of block 973,998.
  • Block 973,998 names 000000000000000000013b9017fbfbb41f1e6c0e22f999b2df9cf316be056544, the hash of block 973,997.

Each block names the one below it, so you can follow the chain from the tip down to block 0.

What is the previous block of the genesis block?

The genesis block is the first block, so nothing comes before it. Its previous block field is 32 zero bytes. Every other block points at a real earlier block.

What happens if the parent is unknown?

A node that receives a block naming a parent it has never seen cannot connect the block to the chain. Until the parent arrives, the block is not part of the chain. A block whose parent is never published will never be part of the chain.

What comes next?

Next is merkle root, the field that fingerprints the transactions.

In this section: Block structure

All of Bitcoin from zero

Something look wrong? Tell us