DST Experiment RigSize, deploy and read a large P2P experiment on Kubernetes
checking node releases…

Plan an experiment

Set the network size and traffic. The rig sizes the cluster, estimates gossip bandwidth and the observability bill, and flags plans that would end up measuring the cluster instead of the protocol.

Experiment

Checks

Breakdown

Manifests

Namespace, bootstrap nodes, a headless Service, the peer StatefulSet and a ServiceMonitor, generated from the plan and checked by the Kubernetes hardening engine from pwnsy.com.

experiment.yaml

Pod Security check

Run record fingerprint ties results to this exact plan

Read a run

Paste per-message delivery records (CSV node,msg_id,sent_ms,recv_ms, empty recv_ms for a miss, or the same as JSON). A synthetic 200-peer run is loaded so the analysis shows its shape.

Latency distribution

Peers to look at

How it works

  • Built by Edward Tay for a job application. Not affiliated with, endorsed by, or operated by Logos or the Institute of Free Technology.
  • Bandwidth is first-order gossipsub: each peer receives every message once plus D minus 1 duplicates and forwards to D minus 1 peers. IHAVE gossip and control traffic are left out, so real numbers run higher.
  • Packing is identical pods on identical machines, packed to 80% of allocatable CPU and memory so contention does not show up as protocol latency, and capped by the kubelet maxPods default of 110 with room for system pods.
  • Prometheus disk follows the formula in the Prometheus storage docs: retention seconds times samples per second times bytes per sample (2 used here). Series per pod defaults to 600.
  • Kubernetes schedules CPU and memory and has no native bandwidth resource, so two bandwidth-heavy peers can land on one machine and the run measures the NIC. The NIC check here is a planning guard; a bandwidth-aware scheduler plugin closes the gap at placement time.
  • maxPods defaults to the kubelet's 110. Labs built for P2P scale raise it (to 1,000 in some public lab configs) together with a larger pod CIDR.
  • The Prometheus figure is a ceiling for a VictoriaMetrics setup, which stores samples more compactly; the series count is the number that matters for both.
  • Manifests run through the pwnsy.com Kubernetes hardening engine (Pod Security Standards and RBAC rules), shipped with this page.
  • The release chip reads the node repository's releases from the GitHub API in your browser. The repository has moved from waku-org/nwaku to logos-messaging/logos-delivery; the Docker image name is unchanged.
  • The results tab uses synthetic data unless you paste your own. Nothing is uploaded.
  • Tests: node tests/run.cjs (units, packing, budgets, warnings, manifest kinds and fields, Restricted PSS verdict, fingerprints, percentiles and outlier detection).