Original Protocol · History & Architecture

Bitcoin Deep Dive

From a cypherpunk email to an indestructible protocol — a complete technical and historical guide

Module 01 — History
PART I
The Genesis

The dark years and Satoshi Nakamoto's first communications on the Cypherpunk mailing list.

The Cryptography Mailing List — The Email of November 1, 2008

Satoshi Nakamoto introduced Bitcoin on the metzdowd.com mailing list — the legendary cryptography list where the sharpest minds of the Cypherpunk movement gathered. The announcement was initially met with skepticism by veterans who had watched dozens of previous digital-cash attempts fail.

"I've been working on a new electronic cash system that's fully peer-to-peer, with no trusted third party."
— Satoshi Nakamoto, November 1, 2008

Key Recipients

Prominent figures such as Adam Back (Hashcash), Hal Finney (RPOW) and Wei Dai (b-money) were contacted directly to refine the conceptual foundations. It was not a shout into the void — it was a deliberate act of technical validation.

OCTOBER 2, 1992
The Cypherpunk List Is Born
Timothy May, Eric Hughes and John Gilmore found the cypherpunks@toad.com mailing list. The manifesto: privacy, strong cryptography and digital money free from the State.
1997
Adam Back Publishes Hashcash
An anti-spam proof-of-work system based on SHA-1. Satoshi would cite it directly in the White Paper as the conceptual predecessor of Bitcoin's Proof of Work.
1998
Wei Dai Proposes b-money
A concept for anonymous, distributed digital money without a central authority. Satoshi references b-money in the second citation of the White Paper.
OCT 31, 2008
Bitcoin White Paper Published
The historic email reaches the cryptography list. 9 pages that solved the double-spending problem without the need for a trusted third party.
JANUARY 3, 2009
The Genesis Block (#0)
Satoshi mines the first block and embeds the Times headline: "Chancellor on brink of second bailout for banks". It is no accident — it is a political manifesto encoded into the chain forever.
JANUARY 12, 2009
First P2P Transaction
Satoshi sends 10 BTC to Hal Finney in block #170. The protocol is 9 days old and already working.

Key Contributors — The First Believers

Bitcoin was not a solitary Big Bang. There were real humans who validated, debugged and sustained the project in its most fragile days.

First Believer
Hal Finney
Legendary cryptographer and PGP developer. He was the first to download the executable code and run a full node. He maintained a constant exchange of bug reports via email with Satoshi to stabilize the primitive v0.1.0 version.
Received the first transaction (10 BTC) on January 12, 2009.
Web Architect
Martti Malmi
A Finnish student who became Bitcoin's second developer in 2009. He designed the official bitcoin.org website, managed the early online community and helped package the first stable releases for Linux.
Structured the first support forum of the Bitcoin community.
Guardian of the Protocol
Gavin Andresen
Received the "keys to the kingdom" directly from Satoshi before his disappearance. He led the development of Bitcoin Core during the critical years 2011–2014 and founded the Bitcoin Foundation to coordinate development.
Last developer to receive direct communication from Satoshi.
PART II
Architecture

The choice of language, network architecture and the design decisions behind unprecedented resilience.

Why C++ — Total Memory Control

Satoshi wrote the initial 31,000 lines of code in C++ for its extreme predictability in memory usage, direct low-level socket control and native speed across heterogeneous operating systems.

Native Speed

In a global monetary network, the overhead of a garbage collector (as in Java) or the slowness of interpreted languages could cause fatal desynchronization of data blocks. C++ compiles to machine code with no intermediate layers.

🧠

Memory Determinism

Transaction validation must produce exactly the same result on any hardware on the planet. With C++, Satoshi controlled data types down to the bit — especially critical for satoshi arithmetic with int64_t.

🌐

Total Portability

The first client ran simultaneously on Windows XP, Ubuntu 8.04 and macOS. In 2009, with no Docker or containers, C++ was the only viable option for universal distribution.

// Real fragment of Satoshi's original v0.1.0 code (2009)
// Monetary arithmetic uses int64 to avoid floating-point overflow
typedef long long  CAmount;
static const CAmount COIN = 100000000;       // 1 BTC = 10^8 satoshis
static const CAmount MAX_MONEY = 21000000 * COIN;

inline bool MoneyRange(const CAmount& nValue) {
    return (nValue >= 0 && nValue <= MAX_MONEY);
}

Network Robustness — Three Pillars of Resilience

Satoshi designed a network that survives attacks, outages and malicious actors through three fundamental architectural properties that reinforce one another.

🗣️

Gossip Protocol

Transactions and new blocks propagate redundantly from node to node. If 90% of the nodes go down, the remaining 10% retains the complete, synchronized copy. There is no single point of failure.

🛡️

Anti-Sybil Defense

Instead of basing identity on IP addresses (easily forged), Satoshi tied the ability to add blocks to real computational power (Proof of Work), elegantly neutralizing massive Sybil attacks.

🕰️

Distributed Clock

By unifying Proof of Work with a cryptographic timestamp linked in a chained manner, he eliminated at the root the need for a centralized timekeeping entity for validation.

Mathematical Issuance — The Equation of Fixed Supply

21M
Absolute Limit (BTC)
210K
Blocks per Halving
~4
Years between Halvings
3.125
Current BTC Reward

Bitcoin's controlled issuance is governed by the block subsidy reward, which is halved every 210,000 blocks. This immutable rule is encoded in the consensus core:

Rblock = 50 ÷ 2⌊Block / 210,000⌋
EventBlockYearRewardBTC issued (cumul.)
Genesis0200950 BTC0 → 10.5M
1st Halving210,000201225 BTC10.5M → 15.75M
2nd Halving420,000201612.5 BTC15.75M → 18.375M
3rd Halving630,00020206.25 BTC18.375M → 19.687M
4th Halving ✦840,00020243.125 BTC19.687M → ~20.3M
5th Halving1,050,000~20281.5625 BTC~20.3M → ~20.65M
Final supply~6,929,999~21400 BTC21,000,000 BTC
PART III
Live Network

The dynamic, real-time operation of the network: validation by nodes and mining competition.

The Mining Process — Proof of Work & SHA-256

Miners package transactions into a block and compete to solve a one-way hash puzzle. This requires performing trillions of operations per second to guess the random value (nonce) that meets the network's current difficulty.

🔐

The Puzzle

Find a nonce N such that SHA256(SHA256(block_header + N)) begins with enough zeros. The difficulty determines how many zeros are required. There is no mathematical shortcut — only brute force.

⏱️

Difficulty Adjustment

Every 2,016 blocks (~2 weeks), the difficulty is dynamically recalculated to ensure that the average time to produce a block is always 10 minutes, regardless of total hashrate.

// Simplified pseudocode of the mining process
while (true) {
    nonce++;
    hash = SHA256(SHA256(block_header + nonce));

    if (hash < target_difficulty) {
        broadcast_block(block);  // BLOCK FOUND!
        collect_reward(3.125_BTC + fees);
        break;
    }
    // Otherwise: try the next nonce (or change the extra-nonce)
}

Nodes vs Miners — The Separation of Powers

A common misconception: miners do not control Bitcoin. Full nodes are the sovereign guardians of the rules. This distinction is the most important political key of the protocol.

Feature 🖥️ Full Nodes (Verifiers) ⛏️ Miners (Block Builders)
Primary Function Independently validate transactions and blocks against the consensus rules. Group transactions and spend electrical energy to propose new valid blocks.
Reward None directly. Their reward is sovereignty and the certainty of validating their own rules. They earn the block subsidy (newly created satoshis) and network fees.
Political Power Absolute. If miners propose an invalid block, the nodes simply ignore it. Limited. They cannot force consensus rule changes that the nodes reject.
Historical example In the block size war (2017), the nodes rejected SegWit2x despite the support of 90% of the hashrate. The hashrate followed the economic nodes, not the other way around. The miners backed down.

Satoshi's Legacy — The Disappearance as a Political Act

"
I've moved on to other things. The project is in good hands with Gavin and the rest of the developers.
— Satoshi Nakamoto · Final email · April 23, 2011

His voluntary disappearance transformed software created by one person into a truly decentralized and indestructible protocol, with no single political points of failure. Had Satoshi continued, Bitcoin would be a project led by one person — vulnerable to legal pressure, coercion and points of failure. By disappearing, he created a headless system that cannot be decapitated.

~1M BTC untouched (Satoshi's Coins) Identity never revealed Genuinely decentralized protocol
Module 02 — White Paper

The Bitcoin White Paper

Published on October 31, 2008 by the pseudonym Satoshi Nakamoto, the White Paper titled "Bitcoin: A Peer-to-Peer Electronic Cash System" solved a problem that frustrated cryptographers for decades: double-spending without the need for a trusted third party.

Key Points of the Document:

  • Peer-to-Peer Network (P2P): There are no central servers. All nodes are equal.
  • Timestamp Server: A chronological proof of when a transaction occurred, preventing money from being spent twice.
  • Proof of Work: The consensus mechanism that secures the network through computational power.
  • Longest chain: The chain with the most accumulated work is the truth of the system.
"A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution." — Satoshi Nakamoto.
📄

9 Pages That Changed the World

The White Paper is just 9 pages and 12 sections long. In that space, Satoshi defined the double-spending problem, the solution via a P2P timestamp, Proof of Work, the longest chain and the privacy analysis.

🏛️

Historical Context

Published 44 days after the collapse of Lehman Brothers (Sep 15, 2008). The global banking system was in free fall. Satoshi proposed a mathematically verifiable alternative at the very moment of greatest institutional distrust.

Module 03 — Cryptography

Cryptography in Bitcoin

Bitcoin does not use cryptography to "hide" data (everything is public), but to guarantee ownership and the integrity of the system. It is cryptography as a mathematical substitute for trust.

🔢 Hashing (SHA-256)

Bitcoin uses SHA-256 to link blocks and in Proof of Work. It converts any input into a unique 256-bit string (64 hex). It is deterministic, one-way and exhibits the avalanche effect: a 1-bit change produces a completely different hash.

🔑 Asymmetric Cryptography (ECDSA)

It uses the secp256k1 elliptic curve. Your private key (256 bits, ~77 digits) generates a public key, which in turn generates your Bitcoin address via SHA256+RIPEMD160 hashing.

SHA-256 SIMULATOR — Type any text and watch the resulting hash
SHA-256 OUTPUT (256 bits / 64 hex):
← Type above to see the hash in real time
✓ Deterministic ✓ One-Way ✓ Avalanche Effect

Key Derivation — From the random number to the address

PRIVATE KEY
e9873d79c6d87dc
0fb6a5778633389
f4453213303da61f
256 random bits
PUBLIC KEY (secp256k1)
04bfcab8722991ae
774db48f934ca79f
bb2d2cc6...3f8
Elliptic-curve multiplication
SHA256 + RIPEMD160
89abcdefabbaabba
abbaabbaabbaabba
abbaabba
160-bit hash
BITCOIN ADDRESS
1A1zP1eP5QGefi2
DMPTfTL5SLmv7Di
vfNa
Base58Check encoding

⚠️ The process is one-way: from the address it is impossible to derive the public key, and from the public key it is impossible to derive the private key.

Module 04 — UTXO Transactions

Anatomy of a Transaction — The UTXO Model

In Bitcoin there are no "balances" like in a bank account. There are UTXOs (Unspent Transaction Outputs). Your real balance is the sum of the "digital bills" (UTXOs) that you hold under the control of your private key.

STEP 01
🪙

Available UTXOs

You have 3 UTXOs: 0.5 BTC, 0.3 BTC, 0.2 BTC. They are your "bills". You cannot split a UTXO: you must spend it whole.

STEP 02
📥

Input Selection

To pay 0.4 BTC, you select the 0.5 BTC UTXO. You sign with your private key to prove ownership.

STEP 03
📤

Output Creation

Two outputs are created: 0.4 BTC → recipient, and 0.09 BTC → yourself (change). The remainder (0.01 BTC) = fee for the miner.

STEP 04

Confirmation

The miner includes the TX in a block. Your 0.5 UTXO is destroyed. Two new UTXOs are born: 0.4 and 0.09 BTC.

The UTXO is Bitcoin's "bill". It is not split or fractioned during spending — it is spent whole and produces change, exactly like a physical bill in a store.
Module 05 — The Code

Bitcoin Core — The Code of Trust

The original software was written in C++ by Satoshi Nakamoto. Today, hundreds of developers maintain it under the name Bitcoin Core. It is one of the most audited and reviewed software projects in history.

Transaction validation logic (conceptual):

// Validation pseudocode in Bitcoin Core
bool CheckTransaction(const CTransaction& tx) {
    // 1. Verify that the inputs are not empty
    if (tx.vin.empty()) return false;

    // 2. Verify the range of values
    for (const auto& txout : tx.vout) {
        if (!MoneyRange(txout.nValue)) return false;
    }

    // 3. Verify that the output value does not exceed the input value
    CAmount totalInput  = GetValueIn(tx);
    CAmount totalOutput = tx.GetValueOut();
    if (totalOutput > totalInput) {
        return false; // You cannot create money out of nothing
    }

    // 4. The difference is the fee for the miner
    CAmount fee = totalInput - totalOutput; // ≥ 0

    // 5. Verify the cryptographic signature (ECDSA / Schnorr)
    if (!VerifySignatures(tx)) return false;

    return true;
}
👥

Open Development

Bitcoin Core is developed on GitHub with public code review. Any consensus change requires exhaustive review, discussion on mailing lists and voluntary adoption by the nodes. There is no CTO or CEO.

🔬

Consensus Rules

The rules are Bitcoin's legal system: the 21M limit, the halving reward, the maximum block size, signature validity. They are enforced by each node independently. They cannot be changed without massive consensus.

Module 06 — Consensus and Transparency

Absolute Transparency and Consensus Rules

Bitcoin's transparency lies in the fact that anyone in the world can run a node in their own home with basic hardware (~500 GB of storage, ~4 GB of RAM). In doing so, you download an exact copy of the entire financial history since the genesis block (January 2009).

🏔️

Immutability

Once a block enters the blockchain with enough Proof of Work, modifying it would require redoing that block and all subsequent ones with more hashrate than 51% of the global network. Currently, that is equivalent to more energy than many countries.

📊

Fixed Monetary Policy

It is written in stone: only 21 million Bitcoins will ever exist. Every 210,000 blocks (~4 years) the Halving occurs, cutting issuance in half. It is the only currency in the world with a mathematically verifiable supply.

🌍

Universal Verification

You do not need to trust any bank, government or company. The rules are open source, run on tens of thousands of independent nodes in more than 100 countries. Trust is mathematical, not institutional.

"
Bitcoin's robustness lies in its mathematical verification. Don't trust, always verify.
— Fundamental Principle of the Bitcoin Protocol