Block Size vs. Propagation on Mainnet
Question
When a block on Ethereum mainnet gets bigger, how much longer does it actually take to disseminate across the gossipsub mesh? And do MEV-Boost relays disperse blocks any faster than a regular proposer publishing into its own mesh?
Background
A block is propagated on the consensus-layer p2p network as one gossipsub message: the full signed beacon block, SSZ-encoded then snappy-compressed (ssz_snappy). The compressed payload is what hits the wire. Every node in the gossipsub mesh receives the bytes, validates the message at the consensus level (proposer signature, parent seen, slot, etc.), and forwards it to its peers. Per the bellatrix p2p-interface spec, execution-payload validity is not required for gossip propagation, so newPayload doesn't sit in the dissemination hot path. This investigation focuses on dissemination only.
A note on the time origin. When a sentry first sees a block over gossipsub, two things happened: the block was released into the network at some point in the slot, then it dispersed through the gossipsub mesh until it reached the sentry. Measuring from slot start mixes these. The release-into-network time is dominated by builder behavior (especially MEV-Boost relay deadlines, which cluster blocks into late-slot cohorts), not by the network. So to study the network we use t_first, the earliest sighting of the block by any Xatu sentry, as the time origin and look at how long after that each individual sentry saw it. This isolates pure mesh dispersion from release timing.
The data window is 2026-04-25 to 2026-05-02 (7 days, 50,318 mainnet blocks). Block-source classification uses fct_block_mev: any block delivered through a tracked relay is tagged as MEV-Boost; everything else is treated as locally-built.
View Query: bsp_headline
MEV-Boost is 95% of the window. Locally-built blocks are smaller (70 vs 165 KB pre-snappy at the median) and use less gas (11M vs 30M).
Investigation
When measured from slot start
For reference, here is the naive view: bin every individual-class node observation by post-snappy block size and plot the median, p95, and p99 of seen_slot_start_diff.
View Query: bsp_naive_view
A 9 KB block reaches the median individual node at 1505 ms; a 238 KB block at 2122 ms. That works out to roughly 3.7 ms per post-snappy KB at p50. The 4-second attestation deadline sits comfortably above the p99 line for every size on mainnet today. This is what people usually quote, but it includes builder release timing — see the methodology note in the background for why we move the origin to t_first for the rest of the investigation.
When measured from first sighting
Subtract t_first per block from each individual-node observation. What remains is pure mesh dispersion.
View Query: bsp_pure_dispersion
The numbers are much smaller. Median dispersion ranges from 104 ms (9 KB) to 348 ms (~238 KB). p99 ranges from 427 ms to 1248 ms. The slope is about 0.9 ms per post-snappy KB at p50, 2.5 ms/KB at p95, 3.7 ms/KB at p99.
Within any single bin the spread is large. Most of the propagation variance comes from per-pair network conditions like peering, geography and link latency, not from block size. The size effect is real and monotonic, but it sits on top of much larger noise from network topology.
When comparing MEV-Boost to locally-built
A locally-built block enters the network through the proposer's own ~8-peer gossipsub mesh and starts spreading hop-by-hop from there. A MEV-Boost block is published by the relay, which is connected to a much larger set of CL nodes and could in principle blast it to many of them at once before gossipsub takes over. If relays are doing that, MEV-Boost blocks should disperse faster from t_first than local blocks at the same size, especially in the early percentiles.
View Query: bsp_dispersion_lookup
The two p50 lines sit on top of each other. The two p95 lines do too. At every size band, dispersion-from-first-sighting is indistinguishable between the two sources, so relays don't appear to be giving MEV-Boost blocks a head start over the proposer-mesh path that locally-built blocks take. Whatever the relay's peer set looks like, the network sees the same dispersion curve from t_first onwards either way.
Lookup tables for the simulator
Per-bin dispersion percentiles. Cell colour shades light to dark by latency. The two tables look essentially the same, which is the whole point: the gossipsub mesh treats MEV-Boost and locally-built blocks identically.
MEV-Boost (95% of mainnet)
Local (5% of mainnet)
Compare any row across the two tables and the percentiles match within tens of milliseconds, well under the per-bin spread.
Takeaways
- Pure gossip mesh dispersion is small at today's block sizes. p50 fits
132 + 0.93 * post_snappy_KBms; p99 fits655 + 3.66 * post_snappy_KBms. A typical 73 KB block at p50 disperses in around 200 ms; a p99-sized 184 KB block at p99 disperses in around 1330 ms. - For a simulator that wants to model "how fast does a payload of size X disseminate across mainnet today," use the dispersion lookup table directly.
- MEV-Boost relays don't appear to give their blocks a wider initial broadcast than the proposer-mesh path that locally-built blocks take. Once a block is on the network, MEV and local disperse at the same rate at every size band.
- The 4-second attestation deadline is not at risk for any size band currently on mainnet. p99 of mesh dispersion stays under 1.3 seconds after first network sighting for the largest size bin observed (224+ KB post-snappy).