PARALLAX

Home/Findings/The ballot that became a nonce

Finding · free in full · coverage heights 0–960,000

The ballot that became a nonce

In 2015, zero Bitcoin blocks rolled version bits. In 2025, 96.64% do.

The block version field started as a version number, became a ballot in the scaling war, then mining hardware discovered that flipping those bits makes chips more efficient (overt AsicBoost / BIP320) — so the ballot box became extra nonce space.

We measured the whole transition on our own full-archive node, frozen at height 960,000 (2026-07-28T16:33:32Z), 960,001 blocks gapless, 0 negative versions. Registry: F-2026-07-31-010 (adoption, era-decomposed) · F-2026-07-31-012 (mechanism refutation), both CONFIRMED T1_CONTROLLED.

Definition: rolled ⇔ (version & 0xE0000000) == 0x20000000 and (version & 0x1FFFE000) != 0.

Verify on your node

Your own node can reproduce every number on this page — exactly. 14 seconds.

Download verify_rolling.py. Standard library only. No pip. No access to our machine. Default run: landmarks + sampled annual shares. --full: exact annual counts (we re-read 630,003 blocks / 1,260,007 RPC calls and matched 12/12 years integer-for-integer in 14s).

Download verify_rolling.py Mechanism refutation Mandatory limits

python3 verify_rolling.py          # landmarks + sampled shares
python3 verify_rolling.py --full   # exact annual counts from your node

No curl-pipe-bash. Serve and run the file as-is.


Adoption · publish whole or not at all

From 0.00% to 96.64%

96.64% of 2025 blocks rolled

Share of blocks with rolled version bits by calendar year (UTC of header time). 2026* is a partial year ending at frozen height 960,000. The 2016 hump is the Classic ballot, not machine rolling — see era decomposition below.

Rolled share by year — ballot hump vs machine ramp

ballot 2016 · 3.30% machines 2019 · 43.58% 2025 · 96.64% 2015 2026* 100% 0%

Quarterly anchors: 2018Q4 17.96% · 2019Q4 55.72% · 2020Q4 70.84% · first quarter ≥95% = 2024Q2 (95.08%).

YearBlocksRolledShare
201554,32100.00%
201654,8511,8083.30%
201755,9283680.66%
201854,4982,8835.29%
201954,23223,63543.58%
202053,22235,98567.61%
202152,68638,54973.17%
202253,18844,84784.32%
202353,99949,81592.25%
202453,47350,97795.33%
202553,08251,30096.64%
2026*29,66028,50396.10%

*2026 partial year ending at frozen height 960,000.

Era decomposition · load-bearing

Ballot vs noise — the same bit test means different things

Era bounds are part of every number. The same bit test means ballot in 2016 and noise in 2024. Drop the era decomposition and you overcount rolling by exactly the Classic ballot.

Pre-2018Q3 grind-field hits = 2,297, of which 2,176 = the Bitcoin Classic ballot to the block (1,808 in 2016 + 368 in 2017), remainder 121 early-rolling blocks, all in 2018H1.

Ballot era (2016)Noise era (2026Q2)
Grind-field hits1,80812,494
Distinct grind values16,181
Distinct per rolled block~0.0010.495

Distinct grind patterns per rolled block — 0.001 → 0.495

ballot era 2016 · ~0.001 noise era 2026Q2 · 0.495 A ballot is one pattern repeated thousands of times. Noise is thousands of patterns.

Entropy: if rolling were uniform 16-bit, 2026Q2 would show ~11,375 distinct values; observed 6,181 = 54% of uniform. Bit preferences: 2019 has bits 22–23 at 68% / 64% vs ~25% for all others; 2026 is a gradient 44% (bit 13) → 17% (bit 28). Structured — no mechanism offered.

Landmarks

Two heights that mark the plot

HeightDate (UTC)Version
First non-zero grind field ever — a ballot, not rolling398,3642016-02-140x30000000
First multi-bit rolled block513,4242018-03-140x20fff000

Finding · equal prominence · F-2026-07-31-012

The timing lines up perfectly — and the test still says no

Tempting story: the hardware wave that ate the version field caused the modern nonce anomaly (see Nonce Archaeology). The ramps co-time. We tested the mechanism anyway.

Metric frac_low = share of winning nonces < 2³¹. Baseline 2016–17: 0.5005 (n=110,779).

This is the second co-timing kill in one week — same standard as the BIP34 uniqueness refutation on 943 Days of Silence: a beautiful story that fails the controlled test is content, not a confession.

QuarterNon-rolled frac_lowRolled frac_lowGap
2018Q30.5112 (n=13,373)0.4949 (n=495)−0.016
2018Q40.5239 (n=10,357)0.4857 (n=2,267)−0.038
2019Q10.5207 (n=8,507)0.4890 (n=4,693)−0.032
2019Q20.5356 (n=8,319)0.5007 (n=5,259)−0.035
2019Q30.5471 (n=7,849)0.5072 (n=6,232)−0.040
2019Q40.5718 (n=5,922)0.5576 (n=7,451)−0.014
2020Q10.5768 (n=4,731)0.5827 (n=8,415)+0.006

Plateau 2020–2021 pooled: non-rolled 0.5773 (n=31,374) vs rolled 0.5733 (n=74,534), z = −1.22. Anomaly amplitude +0.074; max gap 0.040, and the ramp gap sign is negative — the non-rolled blocks are the more anomalous group.

Verdict: The nonce anomaly is a property of the hardware era, not of the version-rolling flag — rolling and the anomaly are co-timed siblings, not cause and effect. What causes the anomaly remains open.

Open observation · not a claim

Bit-28-only patterns reappear

Open observation, not a claim: exact bit-28-only patterns reappear 2023–2026 (53 / 360 / 421 / 194 blocks per year — far above uniform chance. Unexplained, filed as such.

Controls · the product

Six controls. All passed.

ControlResult
Instrument (10 synthetic versions, both code paths)10/10 exact
Independent Core re-read (25 heights incl. landmarks + 40k stride)0 mismatches
Era decomposition2,176 = Classic, exact to the block
Mechanism baseline (2016–17 must read ~0.50)0.5005 — and it caught a real metric bug in our first pass (2³⁰ slip, corrected same session, never published)
Mechanism testrefuted rolling-as-cause — a result, not a failure
Exhaustive reader-side verifier12/12 years exact, 630,003 blocks, 14s — every annual count integer-for-integer from the node alone

Mandatory limits

What this does NOT claim

  1. Era bounds are part of every number. The same bit test means ballot in 2016 and noise in 2024. Any reuse that drops the era decomposition overcounts rolling by exactly the Classic ballot.
  2. No hardware, manufacturer, or pool is identified. “Rolled” is a property of the winning block’s bytes. Pool tags are self-reported; none are load-bearing here.
  3. We do not claim what causes the nonce anomaly. One candidate refuted; mechanism OPEN. Do not let the page imply a replacement.
  4. Rolling entropy is not uniform (54% of uniform expectation, structured bits) — measured, no mechanism offered.
  5. Open observation, not a claim: exact bit-28-only patterns reappear 2023–2026 (53 / 360 / 421 / 194 blocks per year) — far above uniform chance. Unexplained, filed as such.
  6. Coverage is 0–960,000. No claim about later blocks.
  7. frac_low is one metric of the anomaly, chosen because it is the registry’s step metric. Do not restate it as “the” anomaly — the anomaly family is broader (see the Nonce Archaeology finding).

Method

Definitions

  • TOP = version & 0xE0000000 — rolled requires TOP == 0x20000000
  • GRIND = version & 0x1FFFE000 — bits 13..28 (BIP320 general-use field)
  • rolled = TOP == 0x20000000 AND GRIND != 0
  • Year = UTC year of the block header timestamp; 2026 stops at height 960,000

This finding is the ending of the Scaling War arc: the ballot box became nonce space. Reproduce: verify_rolling.py.

Free finding · no sealed SKU

This finding is free-only

No fifth product. Sealed datasets remain the three existing SKUs under other findings. Free kits: samples, manifest, OpenTimestamps, verify.py before pay.

Download verifier Scaling War (the ballot) Sealed datasets

Cite

Citation

Copy for papers and notes. Prefer the free finding URL. Attribute figures only as published here; carry era bounds and limits with any citation of the curve.

BibTeX
@misc{parallax-ballot-became-a-nonce-2026,
  author       = {PARALLAX},
  title        = {The ballot that became a nonce},
  year         = {2026},
  howpublished = {\url{https://parallaxbtc.com/findings/ballot-became-a-nonce.html}},
  note         = {Version-bit rolling adoption 0\% (2015) to 96.64\% (2025), era-decomposed Classic ballot vs machine noise; mechanism test refutes rolling as cause of modern nonce anomaly. Coverage heights 0--960,000. Free verify\_rolling.py. Pseudonymous research; figures re-derivable.},
  url          = {https://parallaxbtc.com/findings/ballot-became-a-nonce.html}
}

RIS
TY  - ELEC
AU  - PARALLAX
TI  - The ballot that became a nonce
PY  - 2026
UR  - https://parallaxbtc.com/findings/ballot-became-a-nonce.html
N1  - Version-bit rolling adoption 0% (2015) to 96.64% (2025); era-decomposed; rolling not cause of nonce anomaly; coverage 0-960000; free verify_rolling.py.
ER  -

Plain URL: https://parallaxbtc.com/findings/ballot-became-a-nonce.html