BSAHI — Data Quality Assessment Produced: 2026-09-11 03:24 UTC | Updated: 2026-09-16 (primary reachable-node series captured); corrected 2026-09-20
Earlier revisions of this note — and several other documents — described totalKnownAddresses = 32,000 as an addrman cap. That is wrong, and we have the measurement to show it: getnodeaddresses 0 (which returns the whole address manager) came back with 61,302 addresses on 2026-09-20, and the count has kept growing with peer exposure. The 32,000 figure came from an older code path that requested a literal count and so truncated the response.
Two separate corrections follow from this:
tools/research/node_census_capture.py captures the btcnodes.io snapshot API (renamed bitnodes) — 3,981 snapshots, 2026-05-08 → 2026-09-15, ~3/day. data/node_census_series.json is the primary-source reachable-node series.
Live reading: ~26,600 reachable nodes (latest 26,586; monthly means 25.3–26.9K, June–Sep 2026). The separate local addrman sample (data/node_census.json) is a count of gossiped addresses — public, listening-biased, and not a node count.
Era anchors for the SCCR reconstruction (N table):
bitnodes.earn.com/api/v1/snapshots/ page-1 (47,320-snapshot history), recovered raw via web.archive.org/web/... id_.Deep history is NOT recoverable as a continuous series: btcnodes retains only ~4 months; the Wayback Machine holds just 3 captures of the old paginated API (2017-12-11 retrievable; two 2022-12-31 mementos 404 on raw fetch). Eras 2013-2016 and 2018-2025 remain approximation in the SCCR N table; 2017 and 2026 are now primary-anchored.
SCCR impact (2026-09-16, re-run): with N=26,635 (not 32,000), 2026 SCCR = 0.297 (still < 1 — first sustained sub-1× regime confirmed). With N=11,891 (not 8,000), 2017 SCCR = 3.35 — the Q7 "2017 ≈ 10.0" claim is even less reproducible than at the old estimate.
| Field | Value |
|---|---|
| Census date | 2026-08-02T19:05:03.982Z |
| Staleness at the time | 39 days |
| Total known addresses | 32,000 (the truncated sample recorded then; now 61,302) |
| Live connections at capture | 8 |
| Live capture attempted | No — Bitcoin Core RPC not reachable |
| Live capture reason | bitcoind not running; bitcoin-cli cannot connect to 127.0.0.1:8332 |
The node census was a primary-source lower bound — the node knows at least the addresses in its address manager. What was not understood at the time is that the address-manager sample measures addresses, not nodes, and that the recorded 32,000 was a truncation rather than a ceiling. The true reachable-node set is measured separately, with independent estimates spanning 10K–100K.
A stale census meant:
research/model-spec.json) was exceededcensus_stale: true flag was correctly set in data/sccr_latest.jsonby_user_agent_top)The reachable-node series is captured by tools/research/node_census_capture.py (btcnodes snapshot API), scheduled daily.
The local address-manager sample is captured by tools/agents/25-node-census.js, which runs bitcoin-cli getnodeaddresses 0 (the whole address manager) on the local Bitcoin Core node:
bitcoind with the BSAHI configuration (~/Library/Application Support/Bitcoin/bitcoin.conf)node tools/agents/25-node-census.jsdata/node_census.json and appends to data/addrman_history.jsonNo data was fabricated. The values recorded on 2026-08-02 are kept as the historical record. What changed is the interpretation: the 32,000 was a truncated address sample, not an addrman cap and not a node count.
Postscript (2026-09-20): getnodeaddresses 0 returns 61,302 addresses, so the "cap" reading is retired. N (reachable nodes) is measured at 26,586 from an independent crawl.
Census sources: btcnodes.io snapshot API (reachable nodes) and Bitcoin Core getnodeaddresses 0 (address sample). Agents: tools/research/node_census_capture.py, tools/agents/25-node-census.js.