Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Message Propagation Replay

The propagation replay is the centerpiece of the visualizer. It shows, in real time, how a single gossip message spreads from its origin through the network to our observer’s peers.

The Radial Layout

The visualization uses a radial layout with the observer node at the center:

  • Angular position — determined by the peer’s community (e.g., known hub operators, implementation groups). Each community occupies a proportional angular slice.
  • Radial position — determined by the peer’s average arrival percentile (avg_arrival_pct). Peers that consistently receive messages early sit closer to the center; slower peers sit near the edge.

The formula:

radius = maxR × (0.15 + 0.85 × avg_arrival_pct)

This ensures even the fastest peers have some distance from the center (the 0.15 floor), while slow peers extend to the full radius.

The Wavefront Ring

An orange expanding ring sweeps outward from the center during playback. This represents the passage of time — as the ring reaches each peer’s radial position, that peer should be receiving the message around that moment.

The ring’s radius at any point is:

ring_radius = (elapsed_ms / time_spread_ms) × maxR

Note: the ring is a time metaphor, not a geometric boundary. Peers light up based on their actual recorded arrival time, which may not perfectly align with the ring.

Peer States

Each peer dot transitions through states during playback:

StateColorMeaning
WaitingDim grayHasn’t received the message yet
ReceivedBright community colorJust received the message
FadedMuted colorReceived earlier, fading to background

What You Can Learn

By watching multiple messages play out, patterns emerge:

  • Some peers consistently light up first — they’re well-connected or close to common originators
  • Clusters of peers that light up together suggest shared network paths
  • Peers that are always last may have poor connectivity or be behind rate limiters