TONTONDocs
Consensus

Catchain & BCP visualizer

Interactive visual simulation of Catchain + BCP rounds

To understand this simulation, read Catchain whitepaper first.

Shortcuts: Space to pause/resume the simulation, Esc to close any open pop-up.

S1S2S3S4S5
Round#1
Attempt1 (fast)
ProposerS1
CoordinatorN/A (fast)
VoteFor target
Committed

Candidates

Committed chain

No committed candidates yet.

Attempt timer8.0s left
Speed0.20x
Event types

Interact with the simulation

  • Click nodes to view status (locks/commits) and toggle behavior (good, crash, lagging).
  • Click Adjust simulation config at the top to change consensus simulation parameters.
  • Hover over the Event types at the bottom to read short description.
  • Click moving messages to inspect sender/receiver, timings, and embedded actions; drop a message from the overlay with Drop message button.
  • Click Candidates in the sidebar to see proposer, priority, and per-node approvals/votes/pre-commits/commits observed.
  • Use the speed slider to slow down/accelerate the sim; use Restart round to begin a new round.

Simulation notes

This is a teaching simulation, not the exact C++ validator-session implementation of the whitepaper. It contains certain simplifications.

  • Timing is approximate; actions are driven by the sim loop and simplified delays, not the precise check_all/process_blocks cadence.
  • Catchain dependency handling is simplified: if a node sees a message but lacks one of its parents, it asks peers for that missing block (no vector-time sync).
  • Quorums use equal weights (counts), not stake weights.
  • Submits are auto-scheduled per priority window; retries and network sync differ from the real catchain/validator logic.
  • Null candidate is assumed after its delay; VoteFor/slow-mode handling is simplified.

Last updated on