# Devnet-1 Attestation and Block Propagation Analysis Report
**Network Simulation using Shadow**
**Analysis Date:** December 17, 2025
<!-- **Test Configuration:** Slot 10, Validator 0 (Attestations), Node 10 (Blocks) -->
---
## Summary
This report analyzes the propagation characteristics of attestations and blocks in a simulated lean Ethereum consensus network using Shadow network simulator with bandwidth/latency data obtained from [RIPE Atlas measurement platform](https://atlas.ripe.net/). [Qlean](https://github.com/qdrvm/qlean-mini/) client was used to spin up networks and run simulations under shadow. The analysis covers four network configurations:
- **64-node network** - Small-scale baseline
- **128-node network** - Medium-scale deployment
- **256-node network** - Large-scale deployment
- **256-node network (2x bandwidth)** - Large-scale with 2x improved bandwidth comparing to original data from the Atlas database.
### Key Findings
1. **Network size significantly impacts propagation times**: Moving from 64 to 256 nodes increases median attestation propagation from ~39ms to ~885ms (22.9x increase).
2. **Bandwidth improvements do not provide meaningful gains**: Doubling bandwidth in the 256-node network reduces median attestation propagation by ~14% (885ms → 760ms) and improves P90 by ~14% (2504ms → 2155ms).
3. **Scalability challenges emerge at scale**: The 256-node network shows high variance and long tail propagation times, with P99 reaching 4.7s for attestations and 7.7s for blocks.
---
## Network Configurations
### Atlas GML Underlay Topology


- Real-world network topology based on Atlas dataset (January 2018)
- Realistic latency and bandwidth characteristics
- Latency: median=43.90 ms, p90=142.04 ms, max=300.00 ms
- Bandwidth: median=35.49 Mbps, p90=77.32 Mbps, max=175.19 Mbps
- Heterogeneous network conditions reflecting actual internet infrastructure
### Overlay topology
- Gossipsub v1.1
- `mesh_n` = 6
- `mesh_n_low` = 5
- `mesh_n_high` = 12
- `mesh_outbound_min` = 2
### Test Parameters
- **Slot Duration**: 4000ms (4 seconds)
- **Attestation Slot**: 10, slot taken for attestation propagation analysis
- **Block Slot**: 10, slot taken for block propagation analysis
- **Publishing Node**: Node 0 (attestations), Node 10 (blocks)
---
## Detailed Results
### 1. Attestation Propagation
#### 1.1 Small Network (64 nodes)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 27.0 | 0.7% |
| P10 | 31.0 | 0.8% |
| P25 | 34.4 | 0.9% |
| **Median** | **38.6** | **1.0%** |
| P75 | 48.4 | 1.2% |
| P90 | 81.3 | 2.0% |
| P95 | 89.2 | 2.2% |
| P99 | 101.9 | 2.5% |
| Max | 109.9 | 2.7% |
| Mean ± Std | 46.7 ± 20.1 | 1.2% |
**Analysis**: Excellent propagation characteristics with all nodes receiving attestations within 110ms (2.7% of slot time). Low variance indicates stable network performance.
#### 1.2 Medium Network (128 nodes)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 17.9 | 0.4% |
| P10 | 31.7 | 0.8% |
| P25 | 38.7 | 1.0% |
| **Median** | **76.7** | **1.9%** |
| P75 | 129.4 | 3.2% |
| P90 | 152.1 | 3.8% |
| P95 | 175.5 | 4.4% |
| P99 | 206.8 | 5.2% |
| Max | 220.8 | 5.5% |
| Mean ± Std | 86.1 ± 49.3 | 2.2% |
**Analysis**: Doubling network size increases median propagation by 1.98x (38.6ms → 76.7ms). Still maintains sub-second propagation for all nodes.
#### 1.3 Large Network (256 nodes - Standard)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 31.9 | 0.8% |
| P10 | 106.3 | 2.7% |
| P25 | 350.8 | 8.8% |
| **Median** | **885.2** | **22.1%** |
| P75 | 1744.8 | 43.6% |
| P90 | 2504.2 | 62.6% |
| P95 | 3728.8 | 93.2% |
| P99 | 4725.6 | 118.1% |
| Max | 5042.7 | 126.1% |
| Mean ± Std | 1190.4 ± 1110.2 | 29.8% |
**Analysis**:
- **Critical scalability challenge**: Median propagation reaches ~1 second (22% of slot time)
- **Long tail problem**: P99 exceeds slot duration (4.7s > 4.0s), meaning ~1% of nodes receive attestations after the slot boundary
#### 1.4 Large Network (256 nodes - 2x Bandwidth)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 19.6 | 0.5% |
| P10 | 67.6 | 1.7% |
| P25 | 181.9 | 4.5% |
| **Median** | **760.0** | **19.0%** |
| P75 | 1609.0 | 40.2% |
| P90 | 2155.2 | 53.9% |
| P95 | 2576.7 | 64.4% |
| P99 | 3331.3 | 83.3% |
| Max | 8163.6 | 204.1% |
| Mean ± Std | 1027.2 ± 977.2 | 25.7% |
**Analysis**:
- **Median improvement**: 14.1% faster (885ms → 760ms)
- **P90 improvement**: 13.9% faster (2504ms → 2155ms)
- **P99 improvement**: 29.5% faster (4725ms → 3331ms)
### Attestation Propagation: Network Size Scaling

| Network | Nodes | Median (ms) | P90 (ms) | Scaling Factor (Median) |
|---------|-------|-------------|----------|-------------------------|
| Small | 64 | 38.6 | 81.3 | 1.0x |
| Medium | 128 | 76.7 | 152.1 | 1.99x |
| Large | 256 | 885.2 | 2504.2 | 22.9x |
| Large (2x BW) | 256 | 760.0 | 2155.2 | 19.7x |
**Observation**: Non-linear scaling suggests network diameter and multi-hop propagation dominate at larger scales.
---
### 2. Block Propagation
#### 2.1 Small Network (64 nodes)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 29.0 | 0.7% |
| P10 | 34.2 | 0.9% |
| P25 | 35.3 | 0.9% |
| **Median** | **40.2** | **1.0%** |
| P75 | 50.8 | 1.3% |
| P90 | 83.3 | 2.1% |
| P95 | 89.5 | 2.2% |
| P99 | 104.9 | 2.6% |
| Max | 114.4 | 2.9% |
| Mean ± Std | 49.3 ± 20.4 | 1.2% |
**Analysis**: Block propagation is similar to attestations in small networks (~40ms median). Minimal overhead from larger message size.
#### 2.2 Medium Network (128 nodes)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 27.6 | 0.7% |
| P10 | 33.6 | 0.8% |
| P25 | 38.6 | 1.0% |
| **Median** | **51.6** | **1.3%** |
| P75 | 74.4 | 1.9% |
| P90 | 110.5 | 2.8% |
| P95 | 126.2 | 3.2% |
| P99 | 135.8 | 3.4% |
| Max | 155.9 | 3.9% |
| Mean ± Std | 60.9 ± 29.2 | 1.5% |
**Analysis**: Block propagation remains fast (~52ms median). Performs better than attestations at this scale, likely due to different gossip patterns or proposer location advantage.
#### 2.3 Large Network (256 nodes - Standard)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 889.4 | 22.2% |
| P10 | 1840.8 | 46.0% |
| P25 | 2469.4 | 61.7% |
| **Median** | **2947.9** | **73.7%** |
| P75 | 3723.7 | 93.1% |
| P90 | 6476.2 | 161.9% |
| P95 | 6692.1 | 167.3% |
| P99 | 7718.5 | 193.0% |
| Max | 11604.2 | 290.1% |
| Mean ± Std | 3396.7 ± 1605.3 | 84.9% |
**Analysis**:
- **Critical performance degradation**: Median propagation is 2.95 seconds (73.7% of slot time)
- **Slot boundary violations**: P90 exceeds slot duration by 61.9%
- **Severe long tail**: P99 reaches 7.7 seconds (nearly 2 slots)
- **Block size impact**: 3.3x slower than attestations at median (2948ms vs 885ms)
- **Risk to consensus**: Delayed block propagation could cause missed attestations or chain reorganizations
#### 2.4 Large Network (256 nodes - 2x Bandwidth)

| Metric | Value (ms) | % of Slot |
|--------|------------|-----------|
| Min | 1018.1 | 25.5% |
| P10 | 2042.6 | 51.1% |
| P25 | 2517.1 | 62.9% |
| **Median** | **3319.5** | **83.0%** |
| P75 | 4079.2 | 102.0% |
| P90 | 5166.2 | 129.2% |
| P95 | 6205.5 | 155.1% |
| P99 | 9798.9 | 245.0% |
| Max | 12220.2 | 305.5% |
| Mean ± Std | 3521.5 ± 1596.5 | 88.0% |
**Analysis**:
- **Unexpected result**: Median increased by 12.6% (2948ms → 3320ms) despite doubled bandwidth
- **P90 improvement**: 20.2% better (6476ms → 5166ms)
- **Possible causes**:
- Different routing paths due to bandwidth changes
- Congestion patterns shifted rather than eliminated
- Block size amplifies certain bottleneck effects
- **Conclusion**: Bandwidth alone insufficient to solve block propagation at scale; routing and gossip protocol optimization needed
### Block Propagation: Network Size Scaling

| Network | Nodes | Median (ms) | P90 (ms) | Scaling Factor (Median) |
|---------|-------|-------------|----------|-------------------------|
| Small | 64 | 40.2 | 83.3 | 1.0x |
| Medium | 128 | 51.6 | 110.5 | 1.28x |
| Large | 256 | 2947.9 | 6476.2 | 73.3x |
| Large (2x BW) | 256 | 3319.5 | 5166.2 | 82.6x |
**Observation**: Extreme non-linear scaling for blocks (73x vs 23x for attestations) indicates significant bandwidth/congestion sensitivity.
---
## Performance Against Slot Timing
### Attestation Deadlines
In lean consensus, attestations should propagate within the slot to maximize effectiveness.
| Network Configuration | Nodes within Slot (< 4000ms) | Median % of Slot | Status |
|----------------------|------------------------------|------------------|--------|
| 64 nodes | 100% | 1.0% | ✅ Excellent |
| 128 nodes | 100% | 1.9% | ✅ Excellent |
| 256 nodes (standard) | ~76% | 22.1% | ⚠️ Concerning |
| 256 nodes (2x BW) | ~82% | 19.0% | ⚠️ Improved but concerning |
### Block Propagation Deadlines
Blocks should propagate quickly to allow attesters to attest to the correct head.
| Network Configuration | Nodes within Slot (< 4000ms) | Median % of Slot | Status |
|----------------------|------------------------------|------------------|--------|
| 64 nodes | 100% | 1.0% | ✅ Excellent |
| 128 nodes | 100% | 1.3% | ✅ Excellent |
| 256 nodes (standard) | ~48% | 73.7% | ❌ Critical |
| 256 nodes (2x BW) | ~44% | 83.0% | ❌ Critical |
---
## Future steps
### 1. Replacing attestations with aggregations
Current propagation times at 256 nodes exceed acceptable thresholds for consensus safety. This is likely due to the large block sizes caused by all attestations being stored in the block. Future devnets will replace attestations with aggregations, making blocks sizes smaller for large networks.
### 2. Block Propagation Improvements
Consider erasure-coded propagation for redundancy with less overhead.
### 3. Gossip Protocol Enhancements
Explore structured topologies, or optimization techniques such as [SOON](https://ethresear.ch/t/selecting-optimal-outbound-neighbors-soon-for-fast-bandwidth-efficient-propagation-in-p2p-networks/23358)
### 4. Testing and Validation
– Test at 512 and 1024 nodes to understand further scaling behavior
– Test with different network topologies beyond Atlas
- Compare simulation results with testnet data