Glossary
Block hash
A block hash is the cryptographic hash of a block's header, uniquely identifying that block in a blockchain's history.
A block hash is the cryptographic hash of a block's header. It serves
as that block's unique identifier and is the value child blocks reference
as their parentHash, forming the chain itself. Paste a block hash into
tx.taxi/{hash} and you are routed to the configured explorer's block page.
How it is computed
A block hash is not a hash of every transaction byte. It is a hash of the
block header, a compact structure containing fields such as the parent
hash, the state root, the transactions root, the timestamp, and a handful
of chain-specific values. Because the header commits to the transactions
root (typically a Merkle root), any change to any transaction in the block
also changes the block hash.
- On EVM chains, the block hash is a 32-byte Keccak-256 hash of the RLP-encoded
header, shown as a 0x-prefixed 64-character hex string. This is what
ethereum and EVM L2s such as optimism
use in their /block/0x... URLs.
- On UTXO chains, the block hash is the double-SHA256 of the 80-byte
header. bitcoin block hashes are 64 hex characters
with no 0x prefix, conventionally shown with leading zeros (the
proof-of-work requirement forces those zeros).
Block hash vs block number
A block number (also called block height) is a
sequential integer assigned to each block on the canonical chain. A block
hash is a content-addressed identifier. The two are not interchangeable:
- A block number is short, human-readable, and monotonically increasing.
Explorers and casual users typically link by number.
- A block hash is long, opaque, but uniquely names a specific block even
across reorganisations.
During a reorganisation ("reorg"), two different blocks can share the
same block number but have different block hashes. Only one of those
blocks ends up on the canonical chain; the other is orphaned. This is why
trustworthy references to a block use the hash, not just the height,
particularly on chains with probabilistic finality such as
Where you see block hashes
Block explorers display the block hash near the top of every block page,
alongside the block number, the parent hash, and the state root. RPC
calls such as eth_getBlockByHash accept it directly. SDKs use it to
verify that a particular transaction hash was
included in a specific, immutable block, since the receipt of a tx includes
the block hash that contained it.
Common gotchas
- A "valid-looking" hash you find by hand is not a block hash. Real block
hashes on proof-of-work chains have many leading zeros because the
network's difficulty rule forces the miner to find a header whose hash
is below a target. You cannot synthesize one.
- Two block hashes at the same height do not mean the chain is broken; it
means the network briefly saw a fork. After enough
confirmations, only one of those hashes
remains on the canonical chain.
- The block hash is committed to by the next block's
parentHash. That
is what makes the chain a chain.