Skip to content

Conversation

@raulk
Copy link
Contributor

@raulk raulk commented Jan 21, 2026

Summary

Adds a new notebook analyzing block propagation timing relative to block size, with regional breakdown from two data sources.

New notebook: Block propagation by size (09-block-propagation-size)

Analyzes how block size affects propagation timing, comparing MEV vs local blocks with corrected timing that isolates network propagation from block building overhead.

Key visualizations:

  • Size distribution by builder type (histogram)
  • Compression ratio analysis
  • MEV timing breakdown (building vs network time)
  • Corrected first seen by size bucket (box plots)
  • Regional propagation comparison (Sentries vs Contributoor)
  • Regional CDF faceted by size bucket and builder type (4×2 grid)
  • Propagation spread analysis
  • Anomaly detection (z-score, residuals)

Regional data sources

Source Description Node count
Sentries EthPandaOps libp2p gossipsub monitoring ~50-100
Contributoor Community beacon API event collection ~875

Both sources provide per-region (EU, NA, AS, OC) timing data, enabling comparison of propagation patterns across geographic regions and infrastructure types.

New query modules

File Description
queries/block_propagation_by_size.py Main propagation query + Sentries regional query
queries/block_propagation_contributoor.py Contributoor regional query

Infrastructure changes

  • Multi-database ClickHouse support in scripts/fetch_data.py
    • New get_client(database) function routes queries to appropriate host
    • Per-query database selection via database field in pipeline.yaml
  • CI workflow updates in .github/workflows/sync.yml
    • Added CONTRIBUTOOR_CLICKHOUSE_* environment variables for Contributoor queries

Test plan

  • Verify just fetch 2026-01-20 fetches both regional datasets
  • Verify just render 2026-01-20 renders notebook successfully
  • Visual review of all charts in dev server
  • Confirm Contributoor data shows expected faster times (data center nodes)

Add new notebook analyzing block propagation timing relative to block size,
with regional breakdown from two data sources:

- Sentries: EthPandaOps libp2p gossipsub monitoring (~50-100 nodes)
- Contributoor: Community beacon API collection (~875 nodes)

Key features:
- Corrected first seen timing (subtracts MEV winning bid time)
- Size buckets for comparing propagation across block sizes
- Regional CDF faceted by size bucket and builder type
- Multi-database ClickHouse support for Contributoor queries

New files:
- notebooks/09-block-propagation-size.ipynb
- queries/block_propagation_by_size.py
- queries/block_propagation_contributoor.py
@raulk raulk force-pushed the feat/regional-propagation-analysis branch from 843bfde to 6b69ce4 Compare January 21, 2026 18:47
@raulk raulk changed the title feat(propagation): add block size and regional propagation analysis feat(notebooks): add block propagation by size analysis with regional breakdown Jan 21, 2026
@raulk raulk marked this pull request as ready for review January 21, 2026 18:50
@raulk
Copy link
Contributor Author

raulk commented Jan 21, 2026

@misilva73 tagging you so that you receive the preview URL that the bot will post shortly.

@github-actions
Copy link

Preview Deployment

🚀 Preview is ready!

URL: https://observatory-staging.ethp2p.dev/pr-50/

Updated: 2026-01-21T19:04:51.070Z

@raulk raulk merged commit fd525a4 into main Jan 21, 2026
1 check passed
@raulk raulk deleted the feat/regional-propagation-analysis branch January 21, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants