TON DocsTON Docs
Consensus

Catchain 1.0 and BCP visualizer

Interactive visual simulation of Catchain 1.0 and BCP rounds

To understand this simulation, read the Catchain whitepaper first.

Attempt timer8.0s left
Speed0.20x
S1S2S3S4S51.1Approve0/4

Round state

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

Consensus phases • 1.1

Approve0 of 4 required
Vote0 of 4 required
PreCommit0 of 4 required
Commit0 of 4 required

Candidates

No candidates yet.

Committed chain (empty)

Press Space to pause or resumePress Esc to close modals and restore the overview pane

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 without a 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 and validator logic.
  • Null candidate is assumed after its delay.
  • VoteFor and slow-mode handling is simplified.