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.
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_blockscadence. - 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