Part V — Blockchain & Trustless Consensus · Chapter 7

Sybil attacks, 51% attacks & economic security

Hook

Nothing stops you from generating a thousand keypairs and claiming to be a thousand different nodes. If a network counted votes "one per identity," that would be game over. So how does a system that lets anyone join stay hard to take over?

Intuition

Identity itself is free in every case — the difference is entirely in what backs it. Fake keypairs cost nothing; fake hash power and fake stake don't exist, so the attacker has to buy the real thing.

Creating fake identities costs nothing — that bar sits at zero no matter how many you generate. The bars that actually cost something are the ones backed by a real, scarce resource: hash power you have to buy and run, or stake you have to actually own. Identity is free; influence isn't.

Formalize
  1. A Sybil attack is fake identities, not fake resources

    Generating nn keypairs costs sybilCost(n)=n×costPerIdentity\text{sybilCost}(n) = n \times \text{costPerIdentity}. In a naive peer-to-peer network, costPerIdentity=0\text{costPerIdentity} = 0, so this is 00 regardless of nn — a thousand "nodes" for free.

  2. Proof-of-work and proof-of-stake price influence, not identity count

    attackCost(share,totalValue)=share×totalValue\text{attackCost}(\text{share}, \text{totalValue}) = \text{share} \times \text{totalValue}. It doesn't matter whether an attacker splits their acquired resource across 1 identity or 10,000 — the cost only depends on how much of the total resource they end up controlling.

  3. The 51% threshold is where an attacker can start overriding the honest majority

    Below 50% share, honest nodes' combined resource still outweighs the attacker's on every rule that relies on majority agreement (longest-chain, majority stake-weighted voting). At or above it, the attacker's resource can start winning those votes.

  4. A security budget turns 'expensive' into 'deterred'

    An attack is priced out once its cost exceeds what the attacker is rationally willing to spend — not because the attack becomes impossible, but because it stops being worth it.

  • share — the fraction of the network's total resource (hash power or stake) an attacker needs.
  • totalValue — the resource's total value across the whole honest network; a bigger network is a more expensive target.
Play

The cost is linear in share and independent of how the attacker packages it — one identity holding 30% of the resource costs exactly the same as a thousand identities splitting it.

Slide the attacker's targeted share and watch both bars grow linearly — the cost formula doesn't care what mechanism backs the resource, only how much of it there is in total and what fraction is being bought.

Worked example

Fixed scenario: total proof-of-work resource value $1,000,000; total staked value $2,000,000.

  1. A Sybil attack, priced

    1,000 fake identities in a naive P2P network: sybilCost(1000) = 1000 × 0, which is $0.

  2. A 51% proof-of-work attack

    attackCost(0.51, 1000000) =0.51×1,000,000=510,000= 0.51 \times 1{,}000{,}000 = 510{,}000, i.e. $510,000, against the $1,000,000 proof-of-work total.

  3. A 51% proof-of-stake attack

    attackCost(0.51, 2000000) =0.51×2,000,000=1,020,000= 0.51 \times 2{,}000{,}000 = 1{,}020{,}000, i.e. $1,020,000, against the $2,000,000 staked total — twice as expensive here, simply because this scenario's total staked value is twice the proof-of-work total.

  4. Against a $500,000 security budget
    • Proof-of-work: $510,000 is more than $500,000 → priced out
    • Proof-of-stake: $1,020,000 is more than $500,000 → priced out (even pricier)
    • Sybil: $0 never exceeds any budget → never priced out — exactly why identity alone was never the thing worth defending
Checkpoint

Slide the attacker's targeted share of proof-of-work hash power to the exact point where acquiring it first costs more than the network's $500,000 security budget (out of a total $1,000,000 to control 100%) — not just any share past that point.

Slide to search for the price-out point
Summary
attackCost(share,totalValue)=share×totalValue\text{attackCost}(\text{share}, \text{totalValue}) = \text{share} \times \text{totalValue}

Sybil resistance doesn't come from making identities hard to create — it comes from making influence cost something scarce, so that no number of free identities adds up to real power. The capstone chapter puts every piece from this Part together: hashing, Merkle roots, and proof-of-work mining, chained into an actual toy blockchain.