BitcoinMachine
BEGINNER_DOC_002 // BEGINNERS / BLOCKCHAIN
THE
BLOCKCHAIN
The blockchain is Bitcoin's public ledger — an ordered list of every transaction ever made. It is stored by thousands of nodes worldwide and is designed to be immutable: once a transaction is recorded, it cannot be altered without redoing an enormous amount of computational work.
BLOCK 839,999 — PREVIOUS BLOCK
Hash: 000000000000000000029a3b... Prev Hash: 000000000000000000018f2c... Txs: 3,241 transactions
LINKED BY HASH
BLOCK 840,000 — CURRENT BLOCK (HALVING BLOCK)
Hash: 0000000000000000000320a7... Prev Hash: 000000000000000000029a3b... ← points to previous block Txs: 3,050 transactions
LINKED BY HASH
BLOCK 840,001 — NEXT BLOCK
Hash: 000000000000000000041b9c... Prev Hash: 0000000000000000000320a7... ← points to previous block Txs: 2,890 transactions
The Hash Pointer
CRYPTOGRAPHIC LINK
Every block contains the hash of the previous block in its header. A hash is a unique fingerprint of data — change even one byte in a block and its hash changes completely.
Block N Header contains: previous_block_hash = HASH256(Block N-1 Header) If anyone alters Block N-1: → its hash changes → Block N's "previous_block_hash" no longer matches → Block N becomes invalid → Every block after N is also invalid
This chain of hashes is what makes the blockchain tamper-evident. You cannot change history quietly.
BLOCK ZERO
The first block ever mined — block 0 — is called the Genesis Block. It was hardcoded into the Bitcoin software by satoshi-nakamoto/">Satoshi Nakamoto and has no previous block hash.
Block Height: 0 Timestamp: 2009-01-03 18:15:05 UTC Prev Hash: 0000000000000000000000000000000000000000000000000000000000000000 Coinbase msg: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
The message embedded in the Genesis Block is a timestamp proving it was created on or after January 3, 2009 — and a commentary on the financial system Bitcoin was designed to replace.

The Cost of Rewriting History
PROOF OF WORK
To alter a past block, an attacker must redo the proof-of-work for that block AND every block after it — while the honest network keeps adding new blocks ahead of them.
Attacker wants to change Block 500: Must redo PoW for Block 500 Must redo PoW for Block 501 Must redo PoW for Block 502 ... Must redo PoW for Block 840,000+ Must do all this faster than the entire honest network → Practically impossible with current hashrate
This is why more confirmations = more security. After 6 confirmations (~1 hour), a transaction is considered irreversible for practical purposes.
Chain Selection
CONSENSUS
If two miners find a valid block at the same time, the network temporarily has two competing chains. Nodes always follow the chain with the most cumulative proof-of-work — the "longest" chain.
Chain A: ... → Block 100 → Block 101a → Block 102a → Block 103a ← WINS Chain B: ... → Block 100 → Block 101b → Block 102b Block 101b becomes "orphaned" — discarded by the network. Transactions in 101b return to the mempool.
This is called a "chain reorganization" or reorg. Short reorgs (1–2 blocks) happen occasionally and are normal. Deep reorgs are extremely rare.

BLOCKCHAIN SIZE
~700+ GB as of 2025.
Growing by ~1–2 MB per block.
~6 blocks per hour.
~144 blocks per day.
BLOCK INTERVAL
Target: 10 minutes per block.
Maintained by difficulty-adjustment/">difficulty adjustment.
Every 2016 blocks (~2 weeks) the difficulty updates to keep this target.
TERMINOLOGY_INDEX
Blockchain
An ordered, linked list of blocks each containing transactions and a hash of the previous block.
Block
A container of validated transactions added to the blockchain roughly every 10 minutes.
Hash
A unique fixed-length fingerprint of data. Any change in input produces a completely different output.
Block Height
The position of a block in the chain. Block 0 = Genesis Block. Current height = 840,000+.
Immutable
Cannot be changed. Once recorded in the blockchain, a transaction is permanent.
Longest Chain
The chain with the most cumulative proof-of-work. All honest nodes follow and build on this chain.
Orphan Block
A valid block that was not included in the longest chain. Its transactions return to the mempool.
Confirmation
Each block added on top of the block containing your transaction adds one confirmation.