BCASim

EXPLORE BCASIM

Watch a blockchain take shape.

Replay a recorded simulation to explore how blocks travel between nodes and form a blockchain.

日本語の紹介ページ →
Open and compare recordings

Select adjacencyMatrix.csv, block.json, and event.json from one run together. Include metrics.json for analysis and initialAdjacencyMatrix.csv for network changes. Files are read locally in your browser.

The bundled sample is recording A until you import another run.

Playback

Loading simulation data…

Seeking and stepping pause playback. All events at the selected time are applied in recorded order.
Playback settings
Color by
Simulation seconds advanced every 0.5 seconds.
Replay earlier events to show the state at this time.

Apply settings with Start simulation or Restart simulation.

Simulation time: 0 s

Recording A · Drag to explore, scroll to zoom

Network

Block propagation

Dots represent nodes. Each line shows at least one directed connection. Highlighted connections show block propagation; recorded network changes add or remove links.

Blockchain

Blocks & forks

Each box is a block. Arrows connect blocks to their successors; branches reveal forks.

Inspect the current timeline position

Latest event

No recording loaded.

Latest block

No recording loaded.
Compare recorded results

Metrics describe the entire run, regardless of playback position. Missing metrics are shown as “Not recorded”. Delta is B − A; percentage differences use percentage points (pp). Compare runs with the same observer and settings for a meaningful interpretation.

MetricRecording ARecording BDelta B − A
NodesNot recordedNot recorded
Recorded blocks (including Genesis)Not recordedNot recorded
Recorded eventsNot recordedNot recorded
Last recorded timeNot recordedNot recorded
Observer nodeNot recordedNot recorded
Tracked nodeNot recordedNot recorded
Accepted blocksNot recordedNot recorded
Published blocksNot recordedNot recorded
Stale fractionNot recordedNot recorded
Tracked node revenue shareNot recordedNot recorded
Fork pointsNot recordedNot recorded
ReorganizationsNot recordedNot recorded
Maximum reorganization depthNot recordedNot recorded
Mean propagation delayNot recordedNot recorded
Attack successesNot recordedNot recorded
Attack failuresNot recordedNot recorded
Attack success rateNot recordedNot recorded
Transactions confirmedNot recordedNot recorded

The tracked node is configured by metrics.attackerNode, including honest baselines. Published and accepted blocks exclude Genesis. Attack success is scenario-specific; no trials produces no success rate. See the simulation guide for metric definitions.

Build an experiment configuration

Export a PoW configuration for the BCASim command line. Honest nodes have equal weight; attack scenarios put the attacker at node 0 and split the remaining weight equally. Transaction generation is off.

Used by attack scenarios only.

Choose settings, generate, then download the configuration.

Configuration preview

Move the download into your BCASim directory, then run:

java -jar target/bcasim-0.0.1-SNAPSHOT.jar --config experiment.properties --output runs/my-experiment

Import the resulting files above. Use a new output directory for every run.