Where will Solana be heard first?
Rotor relay selection, computed from public state · 26 July 2026
When Solana's coming Rotor block-propagation goes live (part of the Alpenglow upgrade),
"which machine hears a block first" stops being a secret you buy from a shred-streaming vendor and
becomes something anyone can compute from public state. So we computed it — with public RPC data,
a €24/month server, and zero vendor subscriptions.
11 / 64Rotor relay slots per slice that are already deterministic
on today's stake distribution — a sixth of the propagation surface is predictable before any randomness.
68.1%of active stake sits within 50 ms RTT of Zurich under our
box-calibrated latency model. The published claim was ~65%. It checks out.
+1.7 msis all the optimal listener city (the Frankfurt–Amsterdam corridor)
buys over an ordinary German server, ranked 28 of 103 world locations we scored.
§01What Rotor actually does
Today Solana disseminates blocks through Turbine, a multi-hop tree. Rotor replaces it with a single
hop: the leader erasure-codes each block slice into 64 shreds (any 32 reconstruct the
slice) and sends shred i to relay i — 64 relays drawn per (slot,
slice) by stake-weighted sampling. From the reference implementation (Anza, Apache-2.0), the
production sampler is FA1-P: any validator holding ≥ 1/64 of total stake is a
guaranteed relay, selected floor(stake fraction × 64)
times for every slice of every block; the residual stake is split into equal-stake bins with one
low-variance draw per bin.
Two facts we haven't seen published anywhere:
- On the current mainnet stake distribution (epoch 1007: 693 active validators, 428.5M SOL),
9 heavyweight validators occupy 11 of the 64 relay slots deterministically —
independent of any future randomness-seed design.
- The reference implementation's bin partitioning is itself not yet reproducibly seeded, and
SIMD-0326 activates the Votor consensus first while explicitly keeping Turbine — Rotor gets its own
SIMD later. Every relay-selection detail below is therefore statistical, not seed-exact, by design.
§02Method
- Validator set:
getVoteAccounts +
getClusterNodes on public RPC. 99.9% of active stake exposes a gossip IP.
- Geolocation: 699 validator IPs, geo-located and cached.
- Latency model: great-circle distance at 200 km/ms times a fiber factor that
was measured, not assumed — ICMP from our Frankfurt-area server to a stake-stratified sample
of 150 validators (93% reachable) gives a median long-haul factor of 2.03.
- Simulation: 300 slots, stake-weighted leaders, the FA1-P committee per slot (our
Python port of the reference sampler — self-tested: the FA1 floor guarantee holds on real stake, and
empirical relay frequency lands within 4.1% of stake share over 5,000 slices). A listener at location
L has "heard" a slice when its 32nd shred arrives via leader → relay → L.
§03Results
The first-hearing ranking is brutally flat at the top: the best 15 of 103 candidate cities are all in
a tight German–Dutch band, 34.2–34.4 ms mean time to reconstruction — Limburg an der Lahn, Nijmegen,
Woerden, Rotterdam, Frankfurt, Amsterdam. Zurich's centroid status holds: 68.1% of active stake within
50 ms RTT under our calibrated model.
The practical punchline: an ordinary Hetzner box in Germany ranks 28th of 103 at 35.9 ms,
1.7 ms behind the optimal city. For today's stake map, the entire topology edge
available from relocating a listener is under two milliseconds. Placement is nearly free;
vendors selling positioning are selling less than they imply.
§04Validating the method on live mainnet
Rotor isn't on mainnet yet — Turbine is. But the core methodological claim ("per-slot network roles
plus geography predict who hears first") is testable today. Our production fleet races multiple free RPC
websockets on every vault update and scores, hourly, which endpoint wins per slot leader (the
leader schedule is public). Joining that race matrix with leader geolocation gives a permutation test:
do nearby leaders shift the winning endpoint? The dataset started accumulating on 26 July 2026; the
verdict lands after roughly two weeks — and if the answer is "geography doesn't matter on Turbine,"
we'll publish that too and downgrade this research track accordingly.
§05Caveats
- Geo-IP city resolution is coarse; anycast and private peering make some real paths faster than
great-circle × 2.03. The ~0.2 ms separations at the top of the ranking are not meaningful; the
Germany-vs-elsewhere gap and the +1.7 ms delta are.
- Rotor's parameters (shred counts, sampler, seed derivation) can still change before its SIMD.
FA1-P and 64/32 are what the reference implements today.
- This is network measurement, not trading advice, and not a promise of any outcome. A first-hearing
edge only matters to systems that can act on it; measuring it costs nothing, which is the point.
Follow the research live. The measurement fleet behind this note posts its watchlist
calls and a daily receipts scoreboard — every call counted, misses included, from an append-only
ledger — in our public Telegram channel:
t.me/Valtgeist.
§06Sources