# GHOSTDAG withholding simulator, 1 blocks/s, k 18, 8 honest miners, 20 seeds per cell Generated by `sim/horizon/consensus-security/ghostdag_sim.py` on 2026-10-06 19:37 UTC. Every number is this simulator's; the model and its limits are in the file header. ## 1. Honest parallelism alone: natural selected-chain reorg depth at honest miner 0 (chain blocks), 150 s per episode | one-way delay d, s | blocks in flight (bps x d) | reorg depth p99 (worst seed) | reorg depth max | |---|---|---|---| | 0.35 | 0.35 | 2 | 3 | | 0.67 | 0.67 | 2 | 2 | | 2 | 2.00 | 6 | 7 | | 5 | 5.00 | 15 | 15 | ## 2. Withhold for T seconds, then release everything: what the honest selected chain does `won` = the attacker's private tip became honest miner 0's selected chain after the release (its earlier-ordered conflicting transaction then precedes the honest copy). `reorg` = chain blocks removed from miner 0's selected chain (median and max over seeds). `fork age` = seconds between the fork point and the release: the window a conflicting transaction can reach back. `att blue` = the attacker's blue blocks over its blocks in miner 0's view (weight and subsidy kept); `hon red` = honest blocks since the fork turned red by the release. | d, s | attacker share H | hold T, s | blocks withheld (mean) | won | reorg med / max | fork age if won, s (med) | att blue / att blocks | hon red / hon blocks | |---|---|---|---|---|---|---|---|---| | 0.35 | 20% | 30 | 6.0 | 5% | 0 / 21 | 30 | 57% | 3% | | 0.35 | 20% | 60 | 10.9 | 0% | 0 / 0 | - | 36% | 2% | | 0.35 | 20% | 90 | 17.9 | 0% | 0 / 0 | - | 22% | 1% | | 0.35 | 20% | 120 | 23.4 | 0% | 0 / 1 | - | 18% | 1% | | 0.35 | 34% | 30 | 11.4 | 40% | 0 / 19 | 30 | 73% | 3% | | 0.35 | 34% | 60 | 21.8 | 40% | 0 / 38 | 61 | 55% | 13% | | 0.35 | 34% | 90 | 31.4 | 5% | 0 / 42 | 95 | 36% | 3% | | 0.35 | 34% | 120 | 43.0 | 10% | 0 / 58 | 124 | 28% | 6% | | 0.35 | 45% | 30 | 14.1 | 75% | 12 / 18 | 31 | 93% | 5% | | 0.35 | 45% | 60 | 26.8 | 80% | 24 / 34 | 61 | 87% | 25% | | 0.35 | 45% | 90 | 40.4 | 75% | 39 / 48 | 91 | 84% | 36% | | 0.35 | 45% | 120 | 53.8 | 75% | 52 / 61 | 121 | 84% | 44% | | 0.35 | 51% | 30 | 15.6 | 80% | 11 / 16 | 32 | 93% | 5% | | 0.35 | 51% | 60 | 29.9 | 80% | 22 / 30 | 62 | 86% | 26% | | 0.35 | 51% | 90 | 44.4 | 75% | 34 / 46 | 91 | 84% | 36% | | 0.35 | 51% | 120 | 59.7 | 75% | 46 / 57 | 122 | 81% | 43% | | 0.35 | 67% | 30 | 21.9 | 100% | 10 / 15 | 32 | 98% | 10% | | 0.35 | 67% | 60 | 40.4 | 100% | 17 / 26 | 62 | 98% | 39% | | 0.35 | 67% | 90 | 59.4 | 100% | 28 / 35 | 92 | 99% | 55% | | 0.35 | 67% | 120 | 79.8 | 100% | 37 / 45 | 122 | 99% | 63% | | 0.35 | 90% | 30 | 28.7 | 100% | 3 / 4 | 32 | 98% | 18% | | 0.35 | 90% | 60 | 54.0 | 100% | 5 / 9 | 62 | 99% | 49% | | 0.35 | 90% | 90 | 81.0 | 100% | 7 / 13 | 92 | 99% | 59% | | 0.35 | 90% | 120 | 106.5 | 100% | 10 / 18 | 122 | 99% | 72% | | 0.67 | 20% | 30 | 6.0 | 10% | 0 / 18 | 33 | 65% | 4% | | 0.67 | 20% | 60 | 10.9 | 0% | 0 / 1 | - | 38% | 2% | | 0.67 | 20% | 90 | 17.9 | 0% | 0 / 1 | - | 21% | 1% | | 0.67 | 20% | 120 | 23.4 | 0% | 0 / 1 | - | 18% | 1% | | 0.67 | 34% | 30 | 11.4 | 40% | 0 / 18 | 30 | 77% | 4% | | 0.67 | 34% | 60 | 21.8 | 40% | 0 / 36 | 61 | 55% | 14% | | 0.67 | 34% | 90 | 31.4 | 5% | 0 / 39 | 95 | 35% | 4% | | 0.67 | 34% | 120 | 43.0 | 10% | 0 / 52 | 124 | 28% | 6% | | 0.67 | 45% | 30 | 14.1 | 70% | 10 / 17 | 31 | 94% | 5% | | 0.67 | 45% | 60 | 26.8 | 75% | 22 / 32 | 61 | 84% | 25% | | 0.67 | 45% | 90 | 40.4 | 70% | 33 / 46 | 91 | 80% | 34% | | 0.67 | 45% | 120 | 53.8 | 70% | 46 / 57 | 121 | 80% | 42% | | 0.67 | 51% | 30 | 15.6 | 85% | 10 / 15 | 32 | 90% | 6% | | 0.67 | 51% | 60 | 29.9 | 85% | 20 / 28 | 63 | 88% | 28% | | 0.67 | 51% | 90 | 44.4 | 80% | 32 / 44 | 92 | 86% | 39% | | 0.67 | 51% | 120 | 59.7 | 80% | 42 / 53 | 122 | 84% | 46% | | 0.67 | 67% | 30 | 21.9 | 100% | 8 / 13 | 32 | 98% | 12% | | 0.67 | 67% | 60 | 40.4 | 100% | 16 / 23 | 62 | 98% | 40% | | 0.67 | 67% | 90 | 59.4 | 100% | 26 / 31 | 92 | 99% | 56% | | 0.67 | 67% | 120 | 79.8 | 100% | 34 / 41 | 122 | 99% | 64% | | 0.67 | 90% | 30 | 28.7 | 100% | 2 / 4 | 32 | 98% | 19% | | 0.67 | 90% | 60 | 54.0 | 100% | 4 / 9 | 62 | 99% | 51% | | 0.67 | 90% | 90 | 81.0 | 100% | 6 / 13 | 92 | 99% | 59% | | 0.67 | 90% | 120 | 106.5 | 100% | 9 / 17 | 122 | 99% | 73% | | 2 | 20% | 30 | 6.0 | 10% | 0 / 12 | 34 | 69% | 8% | | 2 | 20% | 60 | 10.9 | 0% | 0 / 2 | - | 35% | 3% | | 2 | 20% | 90 | 17.9 | 0% | 0 / 3 | - | 19% | 2% | | 2 | 20% | 120 | 23.4 | 0% | 0 / 3 | - | 17% | 2% | | 2 | 34% | 30 | 11.4 | 70% | 8 / 12 | 33 | 86% | 11% | | 2 | 34% | 60 | 21.8 | 55% | 15 / 23 | 64 | 69% | 21% | | 2 | 34% | 90 | 31.4 | 5% | 0 / 29 | 95 | 40% | 5% | | 2 | 34% | 120 | 43.0 | 10% | 0 / 38 | 124 | 27% | 7% | | 2 | 45% | 30 | 14.1 | 90% | 9 / 15 | 32 | 95% | 13% | | 2 | 45% | 60 | 26.8 | 85% | 16 / 23 | 62 | 90% | 32% | | 2 | 45% | 90 | 40.4 | 80% | 26 / 31 | 92 | 88% | 42% | | 2 | 45% | 120 | 53.8 | 65% | 32 / 39 | 123 | 79% | 42% | | 2 | 51% | 30 | 15.6 | 100% | 9 / 13 | 33 | 98% | 14% | | 2 | 51% | 60 | 29.9 | 100% | 18 / 23 | 63 | 98% | 40% | | 2 | 51% | 90 | 44.4 | 95% | 25 / 33 | 93 | 97% | 52% | | 2 | 51% | 120 | 59.7 | 90% | 32 / 41 | 123 | 93% | 57% | | 2 | 67% | 30 | 21.9 | 100% | 7 / 9 | 33 | 98% | 21% | | 2 | 67% | 60 | 40.4 | 100% | 12 / 16 | 63 | 98% | 49% | | 2 | 67% | 90 | 59.4 | 100% | 20 / 23 | 93 | 99% | 62% | | 2 | 67% | 120 | 79.8 | 100% | 26 / 30 | 123 | 99% | 70% | | 2 | 90% | 30 | 28.7 | 100% | 2 / 4 | 32 | 98% | 29% | | 2 | 90% | 60 | 54.0 | 100% | 4 / 8 | 62 | 99% | 58% | | 2 | 90% | 90 | 81.0 | 100% | 6 / 13 | 92 | 99% | 61% | | 2 | 90% | 120 | 106.5 | 100% | 9 / 16 | 122 | 99% | 76% | | 5 | 20% | 30 | 6.0 | 15% | 2 / 14 | 36 | 67% | 15% | | 5 | 20% | 60 | 10.9 | 0% | 2 / 8 | - | 32% | 5% | | 5 | 20% | 90 | 17.9 | 0% | 1 / 5 | - | 19% | 4% | | 5 | 20% | 120 | 23.4 | 0% | 2 / 5 | - | 14% | 3% | | 5 | 34% | 30 | 11.4 | 100% | 7 / 13 | 35 | 96% | 31% | | 5 | 34% | 60 | 21.8 | 35% | 10 / 18 | 68 | 67% | 22% | | 5 | 34% | 90 | 31.4 | 5% | 1 / 22 | 104 | 42% | 11% | | 5 | 34% | 120 | 43.0 | 5% | 2 / 29 | 123 | 23% | 9% | | 5 | 45% | 30 | 14.1 | 100% | 5 / 9 | 35 | 96% | 28% | | 5 | 45% | 60 | 26.8 | 95% | 10 / 14 | 64 | 94% | 47% | | 5 | 45% | 90 | 40.4 | 85% | 16 / 19 | 94 | 91% | 54% | | 5 | 45% | 120 | 53.8 | 65% | 20 / 25 | 124 | 78% | 49% | | 5 | 51% | 30 | 15.6 | 100% | 6 / 9 | 34 | 96% | 33% | | 5 | 51% | 60 | 29.9 | 95% | 10 / 15 | 64 | 96% | 51% | | 5 | 51% | 90 | 44.4 | 95% | 16 / 22 | 94 | 97% | 61% | | 5 | 51% | 120 | 59.7 | 90% | 20 / 28 | 124 | 93% | 65% | | 5 | 67% | 30 | 21.9 | 100% | 4 / 7 | 34 | 97% | 39% | | 5 | 67% | 60 | 40.4 | 100% | 9 / 12 | 64 | 98% | 61% | | 5 | 67% | 90 | 59.4 | 100% | 13 / 16 | 94 | 99% | 73% | | 5 | 67% | 120 | 79.8 | 100% | 18 / 22 | 123 | 99% | 77% | | 5 | 90% | 30 | 28.7 | 100% | 2 / 3 | 32 | 98% | 52% | | 5 | 90% | 60 | 54.0 | 100% | 4 / 6 | 62 | 99% | 66% | | 5 | 90% | 90 | 81.0 | 100% | 5 / 10 | 92 | 99% | 74% | | 5 | 90% | 120 | 106.5 | 100% | 8 / 14 | 122 | 99% | 83% | ## 3. Selfish withholding (release when about to lose, or at lead L = 6): blue share against hash share over 600 s, d = 0.67 s | attacker share H | attacker blue blocks / its blocks (weight kept) | attacker share of ALL blue blocks (weight share; honest mining gives H) | private tip is the chain at the end | max reorg depth seen | |---|---|---|---|---| | 20% | 100% | 19.3% | 0% | 1 | | 34% | 100% | 34.3% | 60% | 1 | | 45% | 100% | 44.9% | 60% | 2 | | 51% | 100% | 51.1% | 80% | 2 | | 67% | 100% | 67.2% | 100% | 3 | | 90% | 100% | 90.3% | 100% | 1 | (106 cells, 11 s)