Skip to content

Instantly share code, notes, and snippets.

@portlandhodl
Created March 28, 2026 13:16
Show Gist options
  • Select an option

  • Save portlandhodl/2dbc8e1fda53af47ab7741d2568719b5 to your computer and use it in GitHub Desktop.

Select an option

Save portlandhodl/2dbc8e1fda53af47ab7741d2568719b5 to your computer and use it in GitHub Desktop.
Can Bob Burnett Activate BIP-110 by Himself ....

Can Bobs 1/2016th of Bitcoin's Hashrate 55% the Network though luck into a BIP110 activation?

tl;dr No. The probability is approximately 10⁻²⁸⁵³ — effectively zero.


Setup

  • Network hashrate: H
  • Miner's hashrate: h = H / 2016
  • Miner's win probability per block: p = 1/2016 ≈ 0.0496%
  • Blocks per difficulty epoch: n = 2016
  • Goal: mine 55% of blocks → X ≥ 1109 blocks (55% × 2016 = 1108.8, rounded up)

Step 1 — Model

Each of the 2016 blocks is won independently with probability p.

X ~ Binomial(n = 2016, p = 1/2016)

Expected blocks mined: λ = n × p = 2016 × (1/2016) = 1


Step 2 — Poisson Approximation

When n is large and p is tiny, Binomial(n, p) ≈ Poisson(λ).

Since λ = np = 1:

P(X = k) = e⁻¹ / k!

This is exact to many decimal places for our parameters.


Step 3 — What We Need

To reach 55% the miner needs at least 1109 blocks — which is 1108 standard deviations above their expected value of 1.

P(X ≥ 1109) = Σ[k=1109 → ∞]  e⁻¹ / k!

Step 4 — Chernoff Bound

For a Poisson variable with mean λ, and any target t > λ:

P(X ≥ t)  ≤  (e·λ / t)ᵗ · e⁻λ

Plug in t = 1109, λ = 1:

log P  ≤  1109 · ln(e / 1109)  −  1
       =  1109 · (1 − ln 1109)  −  1
       =  1109 · (1 − 7.0112)   −  1
       =  1109 · (−6.0112)      −  1
       ≈  −6,666  (nats)
       ≈  −2,895  (base 10)

Result

P(X ≥ 1109)  ≤  10⁻²⁸⁹⁵

This is an upper bound — the true value is smaller still.

Compare to the 51% threshold (≥1009 blocks): that was 10⁻²⁵⁹².
Raising the bar to 55% makes it ~10³⁰³ times less likely — or about the square of all atoms in the universe, less probable again.


Context

Thing Count
Atoms in the observable universe ~10⁸⁰
Planck-time intervals since the Big Bang ~10⁶¹
Attempts needed to expect one success 10²⁸⁹⁵

The gap between 10⁸⁰ (atoms) and 10²⁸⁹⁵ (attempts needed) is itself 10²⁸¹⁵ — a number with 2,815 digits.

This event cannot happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment