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.
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%
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
Quarterly anchors: 2018Q4 17.96% · 2019Q4 55.72% · 2020Q4 70.84% · first quarter ≥95% = 2024Q2 (95.08%).
| Year | Blocks | Rolled | Share |
|---|---|---|---|
| 2015 | 54,321 | 0 | 0.00% |
| 2016 | 54,851 | 1,808 | 3.30% |
| 2017 | 55,928 | 368 | 0.66% |
| 2018 | 54,498 | 2,883 | 5.29% |
| 2019 | 54,232 | 23,635 | 43.58% |
| 2020 | 53,222 | 35,985 | 67.61% |
| 2021 | 52,686 | 38,549 | 73.17% |
| 2022 | 53,188 | 44,847 | 84.32% |
| 2023 | 53,999 | 49,815 | 92.25% |
| 2024 | 53,473 | 50,977 | 95.33% |
| 2025 | 53,082 | 51,300 | 96.64% |
| 2026* | 29,660 | 28,503 | 96.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 hits | 1,808 | 12,494 |
| Distinct grind values | 1 | 6,181 |
| Distinct per rolled block | ~0.001 | 0.495 |
Distinct grind patterns per rolled block — 0.001 → 0.495
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
| Height | Date (UTC) | Version | |
|---|---|---|---|
| First non-zero grind field ever — a ballot, not rolling | 398,364 | 2016-02-14 | 0x30000000 |
| First multi-bit rolled block | 513,424 | 2018-03-14 | 0x20fff000 |
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.
| Quarter | Non-rolled frac_low | Rolled frac_low | Gap |
|---|---|---|---|
| 2018Q3 | 0.5112 (n=13,373) | 0.4949 (n=495) | −0.016 |
| 2018Q4 | 0.5239 (n=10,357) | 0.4857 (n=2,267) | −0.038 |
| 2019Q1 | 0.5207 (n=8,507) | 0.4890 (n=4,693) | −0.032 |
| 2019Q2 | 0.5356 (n=8,319) | 0.5007 (n=5,259) | −0.035 |
| 2019Q3 | 0.5471 (n=7,849) | 0.5072 (n=6,232) | −0.040 |
| 2019Q4 | 0.5718 (n=5,922) | 0.5576 (n=7,451) | −0.014 |
| 2020Q1 | 0.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.
| Control | Result |
|---|---|
| Instrument (10 synthetic versions, both code paths) | 10/10 exact |
| Independent Core re-read (25 heights incl. landmarks + 40k stride) | 0 mismatches |
| Era decomposition | 2,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 test | refuted rolling-as-cause — a result, not a failure |
| Exhaustive reader-side verifier | 12/12 years exact, 630,003 blocks, 14s — every annual count integer-for-integer from the node alone |
Mandatory limits
What this does NOT claim
- 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.
- 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.
- We do not claim what causes the nonce anomaly. One candidate refuted; mechanism OPEN. Do not let the page imply a replacement.
- Rolling entropy is not uniform (54% of uniform expectation, structured bits) — measured, no mechanism offered.
- 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.
- Coverage is 0–960,000. No claim about later blocks.
- 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 requiresTOP == 0x20000000GRIND = 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.
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.
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