PoW SIMULATOR
github

open experiment / deterministic by design

Gears and starfields.
Proof of work,
two clocks.

The Tick model advances every node on one synchronized clock; the Routine model lets goroutines mine concurrently, with a 500 μs sleep after a failed attempt.

GO 1.22+SEED 42JSON + LOG
propagation field LIVE
sample 01 / 03
canonical tipcompeting tip
ROUTINE / LOGloading simulation logseed 42
01CONTROLreproducible experiments
02OBSERVEforks, tips, miner share
03COMPAREsame PoW, different clocks
04EXPORThuman logs / machine JSON

01 / the setup

One phenomenon,
two observatories.

The project keeps the chain model intentionally simple, then changes the clock and network around it. That makes the effect of latency visible instead of burying it in infrastructure.

ADISCRETE / CENTRALIZED

Tick simulator

Every node tries, packets wait in time buckets, then tips reconcile. A controlled lens for comparing difficulty, population and attack rate.

tick →
BCONTINUOUS / GOSSIP

Routine simulator

Independent goroutines mine and gossip over real TCP connections. Bootnode observes the DAG while peers discover their own rhythm.

gossip →

02 / experiment families

Three lenses.
one proof rule.

representative runs / seed 42
01
BLOCKS / FORKS

From a clean tip to a crowded DAG

Tick advances in synchronized rounds; Routine mines continuously and sleeps 500 μs after a failed attempt.

setupresult
Tick · 100 nodes · d 0.00110.90 ticks / block
Routine · 5 nodes · d 0.005 · ρ 0.3031 blocks · 1 fork
Routine · 20 nodes · d 0.005 · ρ 0.6060 blocks · 8 forks
02
SELFISH MINING

Private blocks, public revenue

A miner withholds work, then releases it when the private lead is valuable.

setupprofitability
10% malicious · 100 nodes3.64%
30% malicious · 50 nodes22.24%
40% malicious · 100 nodes55.09%
03
FORK ATTACK

Can a private branch catch up?

The attacker mines privately while honest miners extend the public branch.

setupsuccess rate
10% malicious · 100 nodes0.03%
30% malicious · 50 nodes7.52%
40% malicious · 100 nodes29.83%

03 / under the hood

Simple rules.
Rich behavior.

No real hashing, no transaction layer, no magic. Just enough machinery to make propagation delay, private chains and miner strategy legible.

01mineprobability × hash power
02propagatedelay or TCP gossip
03reconcilehighest visible tip wins
MODEL / POWDifficulty × HashPower

Both branches share the same probability rule. Only the clock, transport and observability layer change.