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>
5.6 KiB
Lever study and sensitivities, scenario b
Run 1: design traffic (3 shards per block), protocol levers plus the traffic and observation-window sensitivities. Note: the age column of the 300-shard row was produced before the backlog-age formula was corrected (it diverged once the backlog rule throttled arrivals); the hash, window and mode columns of that row stand. Run 2: the protocol levers at 100 shards per block, after the correction.
Run 1, 3 shards per block
Lever study on scenario b (external pays 10x from day 7, coin price falls 70% over days 7 to 14), seeds [1, 2]. One parameter at a time, the rest at the design values.
Rows pool, window, burn, timeout are protocol levers; shards_per_block (chain traffic) and ema_ticks (operators' observation window, ticks of 180 s) are model sensitivities.
| Lever | Value | hash min / pre | hash d30 / pre | hours hash under 50% | age max s | within 60 s (mean) | worst day within 60 s | cards proving d30 | cards off d30 | external delivered | 3060 shard share | balance score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pool | 0.1 | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.315 | 0.094 | 1.00 | 0.15 | 0.947 |
| pool | 0.2 (design) | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| pool | 0.3 | 0.82 | 0.87 | 0 | 0 | 1.000 | 1.000 | 0.403 | 0.117 | 1.00 | 0.20 | 0.955 |
| pool | 0.4 | 0.77 | 0.78 | 0 | 0 | 1.000 | 1.000 | 0.475 | 0.188 | 1.00 | 0.19 | 0.927 |
| window | 5.0 | 0.75 | 0.78 | 0 | 0 | 1.000 | 1.000 | 0.366 | 0.151 | 1.00 | 0.10 | 0.927 |
| window | 10.0 (design) | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| window | 20.0 | 0.84 | 0.85 | 0 | 0 | 1.000 | 1.000 | 0.355 | 0.113 | 1.00 | 0.23 | 0.951 |
| window | 30.0 | 0.84 | 0.85 | 0 | 0 | 1.000 | 1.000 | 0.355 | 0.113 | 1.00 | 0.23 | 0.951 |
| burn | 0.0 | 0.80 | 0.83 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.134 | 1.00 | 0.18 | 0.944 |
| burn | 0.1 (design) | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| burn | 0.25 | 0.78 | 0.82 | 0 | 0 | 1.000 | 1.000 | 0.387 | 0.145 | 1.00 | 0.17 | 0.940 |
| burn | 0.5 | 0.82 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.342 | 0.135 | 1.00 | 0.17 | 0.947 |
| timeout | 60.0 | 0.83 | 0.86 | 0 | 0 | 1.000 | 1.000 | 0.133 | 0.247 | 1.00 | 0.06 | 0.954 |
| timeout | 120.0 | 0.79 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.191 | 0.235 | 1.00 | 0.05 | 0.946 |
| timeout | 300.0 (design) | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| timeout | 600.0 | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| shards_per_block | 3.0 (default) | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| shards_per_block | 30.0 | 0.82 | 0.89 | 0 | 0 | 1.000 | 1.000 | 0.305 | 0.069 | 1.00 | 0.19 | 0.962 |
| shards_per_block | 100.0 | 0.63 | 0.85 | 0 | 85 | 1.000 | 0.994 | 0.293 | 0.054 | 1.00 | 0.23 | 0.902 |
| shards_per_block | 300.0 | 0.06 | 0.75 | 22 | 209232311263960 | 0.948 | 0.825 | 0.289 | 0.049 | 1.00 | 0.28 | 0.525 |
| ema_ticks | 7.0 | 0.80 | 0.86 | 0 | 0 | 1.000 | 1.000 | 0.306 | 0.145 | 1.00 | 0.16 | 0.952 |
| ema_ticks | 20.0 (default) | 0.81 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.374 | 0.127 | 1.00 | 0.18 | 0.947 |
| ema_ticks | 60.0 | 0.85 | 0.85 | 0 | 0 | 1.000 | 1.000 | 0.376 | 0.106 | 1.00 | 0.18 | 0.951 |
| ema_ticks | 480.0 | 0.81 | 0.82 | 0 | 0 | 1.000 | 1.000 | 0.408 | 0.130 | 1.00 | 0.17 | 0.939 |
Run 2, 100 shards per block
Lever study on scenario b (external pays 10x from day 7, coin price falls 70% over days 7 to 14), seeds [1, 2], traffic 100 shards per block. One parameter at a time, the rest at the design values.
Rows pool, window, burn, timeout are protocol levers; shards_per_block (chain traffic) and ema_ticks (operators' observation window, ticks of 180 s) are model sensitivities.
| Lever | Value | hash min / pre | hash d30 / pre | hours hash under 50% | age max s | within 60 s (mean) | worst day within 60 s | cards proving d30 | cards off d30 | external delivered | 3060 shard share | balance score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pool | 0.1 | 0.59 | 0.81 | 0 | 168 | 1.000 | 0.994 | 0.271 | 0.046 | 1.00 | 0.22 | 0.841 |
| pool | 0.2 (design) | 0.62 | 0.84 | 0 | 325 | 1.000 | 0.994 | 0.301 | 0.071 | 1.00 | 0.22 | 0.765 |
| pool | 0.3 | 0.64 | 0.86 | 0 | 16 | 1.000 | 0.999 | 0.330 | 0.073 | 1.00 | 0.21 | 0.945 |
| pool | 0.4 | 0.67 | 0.79 | 0 | 0 | 1.000 | 1.000 | 0.441 | 0.097 | 1.00 | 0.21 | 0.931 |
| window | 5.0 | 0.53 | 0.79 | 0 | 565 | 0.993 | 0.929 | 0.291 | 0.040 | 1.00 | 0.11 | 0.592 |
| window | 10.0 (design) | 0.62 | 0.84 | 0 | 325 | 1.000 | 0.994 | 0.301 | 0.071 | 1.00 | 0.22 | 0.765 |
| window | 20.0 | 0.77 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.315 | 0.078 | 1.00 | 0.24 | 0.948 |
| window | 30.0 | 0.77 | 0.84 | 0 | 0 | 1.000 | 1.000 | 0.315 | 0.078 | 1.00 | 0.24 | 0.948 |
| burn | 0.0 | 0.58 | 0.75 | 0 | 325 | 1.000 | 0.994 | 0.361 | 0.110 | 1.00 | 0.19 | 0.733 |
| burn | 0.1 (design) | 0.62 | 0.84 | 0 | 325 | 1.000 | 0.994 | 0.301 | 0.071 | 1.00 | 0.22 | 0.765 |
| burn | 0.25 | 0.63 | 0.83 | 0 | 325 | 1.000 | 0.994 | 0.291 | 0.065 | 1.00 | 0.21 | 0.761 |
| burn | 0.5 | 0.64 | 0.80 | 0 | 325 | 1.000 | 0.994 | 0.310 | 0.100 | 1.00 | 0.21 | 0.750 |
| timeout | 60.0 | 0.45 | 0.82 | 0 | 325 | 1.000 | 0.994 | 0.095 | 0.199 | 1.00 | 0.08 | 0.757 |
| timeout | 120.0 | 0.75 | 0.89 | 0 | 325 | 1.000 | 0.994 | 0.099 | 0.091 | 1.00 | 0.07 | 0.780 |
| timeout | 300.0 (design) | 0.62 | 0.84 | 0 | 325 | 1.000 | 0.994 | 0.301 | 0.071 | 1.00 | 0.22 | 0.765 |
| timeout | 600.0 | 0.62 | 0.84 | 0 | 325 | 1.000 | 0.994 | 0.301 | 0.071 | 1.00 | 0.22 | 0.765 |