Short answer: no evidence that it did. Two independent instruments both show flat-to-slightly-lower stale-block rates after 2026-07-18. A subtle effect cannot be excluded, and a clean answer was structurally impossible for reasons worth stating up front.
Data current as of 2026-07-26. Measurements come from the Sovright relay's network observatory.
https://relay.sovright.com/public_telemetry.json
No key, refreshes every 30s. Relevant fields:
| field | meaning |
|---|---|
orphan.orphan_rate_pct / .orphans / .judged |
trailing-24h stale rate |
orphan.history[] |
{ts, orphans, total, orphan_rate_pct}, hourly, 7-day sliding window |
orphan.by_pool[] |
per-pool orphans / blocks |
Heard-vs-canonical. Our P2P ingress records the consensus_hash of every
block it hears on the network. After a ~10-minute settle, each is checked
against a local Zebra full node's main chain. A block that was heard but is not
on the chain is an orphan.
The ingress hears ~1160 distinct blocks per 24h against ~1150 produced, so coverage is effectively complete including the losers — which is the part naive methods miss.
Two methods we tried and rejected, in case you are tempted by either:
- Explorer polling under-counts to ~0.03%. It misses fast reorgs entirely.
- Zebra's
chain forklog over-counts ~3x. Roughly 2/3 of those events are a node's own out-of-order block receipt and candidate-chain switching, not genuine network orphans. See the caveat below — this matters.
The orphan history is a rolling 7-day window. As of today it begins 2026-07-19. The deprecation date has already been pruned, and it slides further out of reach daily. Nobody was archiving the long record.
So the only pre-deprecation comparison available from the authoritative instrument is a single spot reading:
| stale rate | |
|---|---|
| Pre-deprecation, 2026-07-08 (one full 24h window) | 0.521% |
| Post-deprecation week, 169 hourly windows (07-19 → 07-26) | mean 0.432%, median 0.360%, range 0.090–0.918% |
The July 8 reading sits at the 63rd percentile of the post-deprecation distribution, with 62 of 169 post-windows running higher. Nothing anomalous.
That is one "before" against 169 "after". It rules out a large step change. It says nothing about a subtle one.
Daily medians of the trailing-24h rate:
07-20 0.582% 07-21 0.536% 07-22 0.354% 07-23 0.179%
07-24 0.352% 07-25 0.792% 07-26 0.269%
A 4x swing across a week with no trend. At ~1150 blocks/day, a 0.5% rate is about 6 events — single days are dominated by Poisson noise. Any real deprecation effect needs weeks to separate from this.
Zebra's journal retains ~2 months, so this proxy reaches back before the deprecation. Critically, the fleet ran zebrad 6.0.0 from 07-12 to 07-22, which gives a same-version window either side of July 18 — no instrument change confounding the comparison. (July 18 itself is excluded as the transition day.)
Three geographically independent full nodes:
| node region | pre/day (07-13→17) | post/day (07-19→22) | ratio |
|---|---|---|---|
| us-central1 | 11.60 | 7.50 | 0.65x |
| europe-west4 | 7.20 | 7.75 | 1.08x |
| asia-east1 | 8.80 | 6.25 | 0.71x |
| pooled | 9.20 | 7.17 | 0.78x |
All three are flat-to-lower, scattered around 1.0 with europe slightly up. One-sided p for an increase = 0.97.
This proxy is not merely biased — it does not track the authoritative metric. Over the 7-day overlap where both exist, daily pooled chain-fork counts vs the authoritative daily rate give Pearson r = -0.45 (Spearman -0.29). n=7, so weak either way, but it is certainly not positive tracking. The local-artifact component dominates day-to-day movement.
Consequence: the proxy's stability across July 18 is decent evidence that nothing dramatic happened to fork/reorg behavior, and poor evidence about the true orphan rate. We do not use it to put a numeric bound on a change in the real rate, and neither should you.
One more open thread: there is an unexplained step in chain-fork volume on 2026-07-01 (~24/day in June → ~9/day in July) that is not a Zebra version change. It falls well before July 18 and so does not affect this comparison, but it is unexplained, and we would want it understood before leaning on this proxy for anything load-bearing.
Per-pool stale rates are the easiest thing here to over-read.
- 2026-07-25: ViaBTC held 6 of 9 orphans — 1.16% vs 0.48% for everyone else.
- 2026-07-26, one day later: Foundry 3/150 = 2.00%, ViaBTC 1/519 = 0.19%.
The ranking inverted in a day. ViaBTC's apparent skew was its 44.4% share of blocks, not a defect: expected 4.09 of 9 at the network rate, Fisher one-tailed p = 0.17. Attributing every canonical block to a pool showed ViaBTC at the network median propagation latency with the smallest blocks of any major pool — no mechanism.
Exposure dominates. A pool mining 44% of blocks collects ~44% of orphans with nothing wrong. Per-pool claims need the blocks denominator and weeks of accumulation.
"Uncle" is Ethereum's term for a stale block that still earns a partial reward. Zcash has no uncle mechanism — an orphaned block earns nothing. The quantity here is the orphan/stale rate: blocks that were validly mined and propagated but lost the race and pay out zero.
- No evidence that the July 18 zcashd deprecation raised orphan rates. Two independent instruments both read flat-to-lower.
- A subtle effect cannot be excluded. The authoritative window had already slid past July 18, and the proxy that does span it is not a reliable measure of the true rate.
- Current network stale rate is ~0.4%, consistent with the ~0.5% we have measured since early July.
Corrections welcome — the endpoint above is live and open, so anyone can check this independently.