igneum/sim/economy/results.md
igneum-labs 990ecd5cc2 Economy: agent-based mining-versus-proving simulation, six stress scenarios, lever study, analysis and bench entry
sim/economy/sim.py: 1,000 operators choosing MINE, PROVE, HYBRID or OFF per card class with their own clients; sortition by weight with the 10-s window then open claiming, external jobs with the 90/10 split, backlog rule, difficulty clamps, GBM price. Scenarios a to f, 5 seeds: no backlog, no window miss, hash floor 0.74 of pre-event. Traffic sensitivity finds the shortage oscillation only above the proving fleet's capacity (100 to 300 shards per block); at 100 the sortition window (10 s to 20 s) is the lever that removes it. docs/analysis/economy-2026-10-04.md holds the model, assumptions, results, worst case and the proposal (window = p90 shard time plus a swap, 25 s at today's targets; B_p tied to the live fleet), not applied.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 23:16:46 +00:00

6.2 KiB

Igneum economy simulation, 1000 operators, 30 days, seeds [1, 2, 3, 4, 5], tick 180 s

Parameters: tick=180.0, days=30, n_ops=1000, emission=31.688, pool=0.2, window=10.0, assignees=8, burn=0.1, timeout=300.0, shards_per_block=3.0, job_work=10.0, ext_usd_day=2000.0, ext_mult=1.0, price0=0.012, vol_day=0.05, swap=5.0, aggregation=4.0, waste=0.5, hyst_lo=0.05, hyst_hi=0.25, dwell_ticks=20, decide_every=4, ema_ticks=20.0, farm_share=0.2, backlog_rule=600.0

  • a: baseline
  • b: external pays 10x from day 7, coin price falls 70% over days 7 to 14
  • c: no external demand
  • d: the 20% operator disappears at day 10
  • e: a 30% operator never fulfils its assignments
  • f: a pool with hash equal to the network's arrives at day 10 (2x hash)
Metric a a min a max b b min b max c c min c max d d min d max e e min e max f f min f max
hash mining share (mean) 0.93 0.92 0.94 0.85 0.84 0.87 0.96 0.95 0.96 0.92 0.92 0.93 0.91 0.90 0.91 0.93 0.91 0.93
cards proving, day 1 0.15 0.14 0.15 0.15 0.14 0.15 0.09 0.08 0.10 0.15 0.14 0.15 0.21 0.21 0.22 0.16 0.15 0.17
cards proving, day 10 0.15 0.14 0.17 0.27 0.25 0.28 0.08 0.08 0.09 0.15 0.14 0.17 0.22 0.21 0.23 0.15 0.14 0.16
cards proving, day 20 0.16 0.13 0.19 0.36 0.32 0.41 0.08 0.06 0.09 0.12 0.09 0.15 0.21 0.20 0.22 0.14 0.12 0.15
cards proving, day 30 0.15 0.11 0.20 0.34 0.29 0.40 0.09 0.07 0.11 0.13 0.11 0.15 0.21 0.19 0.23 0.17 0.14 0.22
cards hybrid, day 30 0.54 0.53 0.55 0.45 0.40 0.51 0.54 0.53 0.55 0.45 0.45 0.46 0.42 0.41 0.43 0.50 0.44 0.52
cards off, day 30 0.01 0.00 0.04 0.10 0.06 0.15 0.01 0.00 0.02 0.09 0.09 0.09 0.01 0.00 0.03 0.06 0.01 0.17
hash min / pre-event 0.95 0.93 0.95 0.82 0.81 0.85 0.97 0.96 0.97 0.75 0.74 0.75 0.98 0.98 0.99 0.95 0.95 0.96
hash day 30 / pre-event 1.00 0.97 1.02 0.87 0.82 0.91 1.00 0.98 1.01 0.80 0.78 0.81 1.00 0.99 1.01 1.92 1.77 2.00
hours hash under 50% 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
backlog max, shards 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
oldest unproven age max, s 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
age max day 10, s 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
age max day 20, s 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
age max day 30, s 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
blocks proven within 60 s 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
worst day within 60 s 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
blocks proven within 20 s 0.26 0.25 0.27 0.41 0.26 0.64 0.29 0.28 0.30 0.21 0.20 0.22 0.14 0.13 0.14 0.27 0.23 0.40
blocks/s mean 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
blocks/s hourly max 1.05 1.05 1.06 1.05 1.05 1.06 1.05 1.04 1.06 1.05 1.04 1.06 1.05 1.04 1.05 1.05 1.05 1.06
blocks/s hourly min 0.95 0.94 0.95 0.95 0.94 0.95 0.95 0.94 0.95 0.95 0.95 0.95 0.95 0.94 0.96 0.95 0.94 0.95
difficulty end / start 1.00 0.96 1.04 0.86 0.80 0.94 1.00 0.98 1.01 0.80 0.77 0.85 1.00 0.98 1.02 1.91 1.76 1.98
external jobs delivered 1.00 1.00 1.00 1.00 1.00 1.00 nan nan nan 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
price at day 30, $ 0.01 0.01 0.02 0.00 0.00 0.01 0.01 0.01 0.01 0.02 0.01 0.02 0.01 0.01 0.02 0.01 0.01 0.01
proving-share crossings per day 13.20 11.10 14.30 6.92 6.10 8.30 15.18 11.10 17.50 13.94 12.60 15.20 10.56 9.50 11.80 11.92 10.70 15.70
proving-share 10-90 pct range, points 8.46 7.95 9.34 7.36 5.93 9.93 2.79 1.87 3.89 8.45 7.81 9.43 3.83 3.23 4.52 5.72 3.57 10.09
mode switches (operator x class) 245,632 221,853 263,797 149,307 136,699 159,157 202,169 189,878 211,638 248,420 243,171 262,933 124,643 113,075 132,562 248,936 159,175 468,404
Flag a b c d e f
miner shortage (hash under 50% of pre-event for 1 h or more) 0/5 0/5 0/5 0/5 0/5 0/5
backlog over 600 s (design's backlog-rule trigger) 0/5 0/5 0/5 0/5 0/5 0/5
growing backlog (positive 10-day trend and over 60 s at day 30) 0/5 0/5 0/5 0/5 0/5 0/5
window miss (a day under 90% of blocks within 60 s) 0/5 0/5 0/5 0/5 0/5 0/5
oscillation (proving-share 10-90 range over 10 points in the last 10 days) 0/5 0/5 0/5 0/5 0/5 1/5

Operator profit by card class, $ per card-day (mean over seeds, all modes including off):

Scenario 5090 3090 3060 small shard share 5090 shard share 3090 shard share 3060
a 6.373 1.663 0.780 0.394 0.59 0.26 0.16
b 5.170 1.819 1.355 0.146 0.63 0.19 0.18
c 6.115 1.569 0.762 0.388 0.62 0.29 0.09
d 6.480 2.338 1.064 0.572 0.53 0.31 0.16
e 5.081 1.534 0.853 0.311 0.43 0.28 0.29
f 3.350 0.685 0.431 0.149 0.56 0.25 0.19