From f342fd4f455fc237184950d8bb87f0feba23803f Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Thu, 6 Aug 2026 17:54:37 +0200 Subject: [PATCH 1/6] Score the deflation frontier on absolute pay, not revenue share Verification of my own item-16 result, which I had flagged as resting on a step I had not checked: "break-even" was measured as revenue SHARE >= stake share, and share-to-pay equivalence rests on sec 6.6's issuance argument. It does not hold as stated. A revenue share is measured against the canonical block rate, but pay is set by the estimator. TSI drives COUNTED density -- canonical plus recovered uncles -- to f per slot, so a run yields f/D-hat block-finding events per slot and a deflating attack makes the lottery easier for everyone. Pay per slot is adv_rate * f / D-hat against an honest miner's alpha * f, so the correction on the share ratio is density/D-hat, which is below 1 whenever any uncle is recovered. Scoring on share credits the attacker with pay it never receives. The headline survives; one row does not. At alpha = 0.4 the true break-even point deflates to 0.649 rather than 0.642 (against the revenue-optimal 0.811), so 16 points of free deflation instead of 17. But at alpha = 0.36 the policy I reported as paying 1.033x stake actually pays 0.95x, and NO policy in the sweep both pays and deflates there -- that row is withdrawn. The exposure therefore opens near alpha ~ 0.37-0.38, above the 1/3 selfish threshold, not at it. That is a better result for the protocol than the one I published yesterday, which is the direction these corrections usually do not go. pay_vs_honest is now computed in deflation_frontier() and is the criterion best_profitable() selects on, so the claim is reproducible rather than resting on a hand check. The conversion neglects the multi-winner factor c(f) ~ 1.017 between events and occupied slots (sec 2.1), noted inline and small against a 16-point effect. Downstream citations in sec 1, sec 8.2 and item 16 updated. Co-Authored-By: Claude Fable 5 --- reports/tsi/README.md | 21 ++++++++------- .../fig37_deflation_frontier.png | Bin 236540 -> 233599 bytes .../scripts/deflation_frontier.py | 24 +++++++++++++----- .../src/tsi_sim/selfish_mdp.py | 14 +++++++++- 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/reports/tsi/README.md b/reports/tsi/README.md index 477ffff..fd3aa09 100644 --- a/reports/tsi/README.md +++ b/reports/tsi/README.md @@ -72,7 +72,7 @@ 1. **All nodes always agree.** In every run, at every network size and block rate tested (1 000–10 000 nodes at the production security parameter; to 32 000 in the size-scaling study, [§3.7](#s3-7); blocks every 10–30 s), all nodes computed *exactly* the same estimate — even though they constantly disagree about the newest blocks. The reason is structural: TSI measures a window buried deep in the finalized past, where every honest node sees identical history ([§3.1](#s3-1)). Two caveats keep this honest: agreement is not accuracy — nodes can unanimously agree on a wrong value (see next point) — and agreement is inherited from the common genesis value, not rebuilt: TSI maintains agreement but cannot repair a divergence that somehow arose ([Appendix C](#sC)). 2. **Network delay makes the estimate too low; uncle references fix it.** When blocks race, the losers ("orphans") drop off the chain and out of the count, so the network under-counts its own stake — by roughly a quarter to a third under Blend (the mix-network transport) delays, deepening with network size. The error is strictly one-sided: the equilibrium estimate is **bounded above by the true stake** — `D̂/D` cannot exceed 1 (no tested cell sits above 1 beyond sampling noise, which is why the accuracy plots are capped at 1; [§2.2](#s2-2)), so delay can only deflate the estimate, never inflate it. Letting each block also reference recent orphans ("uncles") puts them back into the count — counting *slots*, so a slot with two winners still counts once — and a single uncle reference per block restores the estimate to **exactly the true stake** (the recommended cap adds a one-uncle margin, [§8](#s8)) (the only residual is an optional ~1 % from on-chain rounding of the target rate, [§2.2](#s2-2)/[Appendix A](#sA)) ([§3.2](#s3-2)). 3. **Two sizing rules cover the deployments tested.** How many uncle slots a block needs (`U`) is dictated by the **load** — the number of blocks the whole network produces during the time one block needs to reach everyone (written `ρ`; formally `ρ = f·D_vis`, [§3.3](#s3-3)). The load counts the concurrent blocks each new block must be able to reference, and one uncle slot drains one of them per block — so `U` must be at least the load rounded up, plus one spare. How far back a block may reach for an orphan (`W`) is dictated by block spacing, not delay: about ten block intervals. The formal equations, their calibration, and worked examples are in [§4](#s4). -4. **Cheating doesn't pay.** Hiding blocks to deflate the estimate costs the attacker more than anyone else, heals within one epoch, and — for a full withdrawal — the lower estimate is simply the *correct* count of who is still participating ([§6.4](#s6-4)–[§6.5](#s6-5)). The one genuinely profitable attack is classic selfish mining, which needs roughly one-third of all stake and afflicts every Nakamoto-style chain, not TSI specifically; the damage it does to the estimate is *partly* repaired by the same uncle mechanism — about half of it against an optimally-played attack, because the counting rule can reach only the first block of each discarded fork ([§6.6](#s6-6)). One qualification matters for how that threshold is read: it bounds what an attacker *earns*, not what the estimate *loses*. An attacker content to earn its stake share rather than the selfish premium can push the estimate substantially further down at no cost to itself — so above the one-third threshold the estimate is exposed to a wider set of strategies than the profit analysis alone would suggest ([§6.6](#s6-6), `fig37`). Rewarding uncles compensates the honest victims of delay and makes hiding strictly worse — but the reward must remain a bonus (a *soft* rule, never a validity requirement, which an attacker could turn into a tool for censoring or forking the chain), and the uncle + nephew rewards (the nephew reward pays the block that *includes* the reference) must together stay below one block reward, or deliberately orphaning one's own blocks becomes a business ([§6.7](#s6-7)–[§6.8](#s6-8)). +4. **Cheating doesn't pay.** Hiding blocks to deflate the estimate costs the attacker more than anyone else, heals within one epoch, and — for a full withdrawal — the lower estimate is simply the *correct* count of who is still participating ([§6.4](#s6-4)–[§6.5](#s6-5)). The one genuinely profitable attack is classic selfish mining, which needs roughly one-third of all stake and afflicts every Nakamoto-style chain, not TSI specifically; the damage it does to the estimate is *partly* repaired by the same uncle mechanism — about half of it against an optimally-played attack, because the counting rule can reach only the first block of each discarded fork ([§6.6](#s6-6)). One qualification matters for how that threshold is read: it bounds what an attacker *earns*, not what the estimate *loses*. An attacker content to earn what honest mining would pay it, rather than the selfish premium, can push the estimate substantially further down at no cost to itself — so somewhat above the one-third threshold the estimate is exposed to a wider set of strategies than the profit analysis alone would suggest ([§6.6](#s6-6), `fig37`). Rewarding uncles compensates the honest victims of delay and makes hiding strictly worse — but the reward must remain a bonus (a *soft* rule, never a validity requirement, which an attacker could turn into a tool for censoring or forking the chain), and the uncle + nephew rewards (the nephew reward pays the block that *includes* the reference) must together stay below one block reward, or deliberately orphaning one's own blocks becomes a business ([§6.7](#s6-7)–[§6.8](#s6-8)). 5. **Reorganisations stay shallow if the load stays low.** Forks are the cost centre: a deep reorg discards confirmed blocks. Fork depth grows with delay, and uncles keep it shallow (without them the deflated estimate over-produces blocks, and honest reorgs reach ~17 deep; with them, ~4). Against a private-chain attacker holding 10–30 % of stake trying to force the deepest reorg, keeping the load below one (few honest forks) keeps reorgs bounded and shallow (single digits to low tens of blocks even at 30 % stake) — but past that, at 30 % stake and heavy delay, fork-induced orphaning tips the attacker over an effective majority and reorgs become unbounded. The same "keep `ρ < 1`" rule that keeps the estimate accurate keeps reorgs shallow ([§6.10](#s6-10)). *Method note: results come from the per-node simulator at the production security parameter k = 2160, with the robustness and size-scaling studies at a reduced k = 256 where noted; the sizing rules are semi-empirical (their form follows from the fork/orphan mechanism, their constants are fitted to the sweeps) and are derived under honest, deterministic-delay conditions — noise, attacks, and incentives are treated in [§6](#s6).* @@ -621,15 +621,18 @@ So **SM1 is a faithful proxy for selfish-mining revenue but not for TSI's estima **The revenue-optimal adversary is not the estimator's worst case (`fig37`).** Every ceiling above comes from an adversary optimising something *other* than the estimate, so they bound `η` from above without bounding the damage from below. Optimising the estimator directly closes that gap — and needs no ratio transform, because each transition consumes exactly one block-finding event, so minimising `D̂/D = (canonical + p_ref·countable uncles)/events` is a plain average-reward MDP over the same transition table. -Asked without constraint the question degenerates, informatively: the optimum is **pure abstention** — publish nothing, adopt when overtaken — landing `D̂` on exactly `1 − α` with zero revenue. That is [§6.4](#s6-4)'s withholding, which is *correct* measurement rather than mis-measurement, since a coalition that publishes nothing genuinely is not participating. So the question that bites is what an adversary can do **while still being paid**. Sweeping the mixed objective `λ·(adversary blocks) − (contribution to D̂)` enumerates candidate policies; the line of interest is where the revenue *share* reaches `α`, i.e. where the attack costs nothing against simply mining honestly (below it, the attack is self-punishing griefing already bounded by [§6.5](#s6-5)): +Asked without constraint the question degenerates, informatively: the optimum is **pure abstention** — publish nothing, adopt when overtaken — landing `D̂` on exactly `1 − α` with zero revenue. That is [§6.4](#s6-4)'s withholding, which is *correct* measurement rather than mis-measurement, since a coalition that publishes nothing genuinely is not participating. So the question that bites is what an adversary can do **while still being paid**. Sweeping the mixed objective `λ·(adversary blocks) − (contribution to D̂)` enumerates candidate policies; the line of interest is where the attacker's **absolute reward per unit time** matches honest mining, so that the attack costs it nothing (below that line it is self-punishing griefing, already bounded by [§6.5](#s6-5)). -| `α` | revenue-optimal: share / `D̂` | best break-even-paid: share / `D̂` | extra deflation | +*Pay, not share.* The two differ, and not negligibly. A revenue *share* is measured against the canonical block rate, but what an attacker is actually paid is set by the estimator: TSI drives the **counted** density — canonical blocks plus recovered uncles — to `f` per slot, so a run yields `f/D̂` block-finding events per slot and a deflating attack makes the lottery easier for everyone. Pay per slot is therefore `adv_rate·f/D̂` against an honest miner's `α·f`, and the correction on the share ratio is `density/D̂`, below 1 whenever any uncle is recovered. Scoring the frontier on share alone credits the attacker with pay it never receives. + +| `α` | revenue-optimal `D̂` | best *paying* policy: pay / `D̂` | extra deflation | |---|---|---|---| -| 0.36 | 0.392 / 0.845 | 0.372 / **0.763** | 0.082 | -| 0.40 | 0.489 / 0.811 | 0.400 / **0.642** | 0.170 | -| 0.45 | 0.667 / 0.664 | 0.453 / **0.561** | 0.103 | +| 0.36 | 0.845 | — nothing in the sweep both pays and deflates | — | +| 0.38 | 0.830 | 1.02× / **0.749** | 0.081 | +| 0.40 | 0.811 | 1.00× / **0.649** | 0.163 | +| 0.45 | 0.664 | 1.18× / **0.568** | 0.096 | -At `α` = 0.4 an adversary content to earn exactly its stake share — no worse than honest mining — drives the estimate to **0.64** where the revenue-maximiser reaches only 0.81. The 17 points are bought with the selfish premium alone, which is a price an attacker whose goal is the estimator will happily pay. Below the `⅓` threshold nothing profitable deflates at all, so the exposure begins exactly where selfish mining does. (The sweep parameter is deliberately not monotone in revenue: selfish mining takes a larger share of a *smaller* pie, so raw block rate is maximised by honesty and large `λ` returns there. It enumerates policies; it is not a path.) +At `α` = 0.4 an adversary earning exactly what honest mining would pay it drives the estimate to **0.65**, where the revenue-maximiser reaches only 0.81. Those 16 points are bought with the selfish premium alone — a price an attacker whose goal is the estimator will happily pay. The exposure does *not* open at the `⅓` selfish threshold, though: at `α` = 0.36 no policy in the sweep both pays and deflates, so it begins nearer 0.37–0.38, above the point where selfish mining itself turns profitable. (The sweep parameter is deliberately not monotone in revenue: selfish mining takes a larger share of a *smaller* pie, so raw block rate is maximised by honesty and large `λ` returns there — it enumerates policies, it is not a path. The pay conversion neglects the multi-winner factor `c(f) ≈ 1.017` between events and occupied slots ([§2.1](#s2-1)), small against a 16-point effect.) ![Fig 37 — the profit/deflation frontier: adversaries that give up the selfish premium deflate the estimate substantially further (left, ★ = revenue-optimal), so the revenue-optimal ceiling is not the worst case and the break-even-paid curve sits far below it, approaching the unpaid abstention bound (right).](report-figures/fig37_deflation_frontier.png) @@ -849,7 +852,7 @@ Everything below is assembled from this report's own measurements; each row cite **Why soft, not hard, inclusion.** "Owed" cannot be proven — no node can prove which forks a producer saw. An objective slot-gap encoding lets an attacker withhold-then-late-release an uncle to retroactively invalidate honest blocks (censorship); a visibility encoding is subjective and forks consensus with no adversary at all ([§6.8](#s6-8)). The soft rule concedes only a small residual (quantified in [§8.3](#s8-3) item 3): a bounded near-threshold backfire that vanishes as the emergent `p_ref` rises, and a per-α premium that stays ≤ +0.014 even at full inclusion. -**What TSI defends, and what it measures.** Abstention-style withholding is strictly unprofitable (reward/stake 0.95 → 0.31 for duty 0.10 → 0.75 at β_adv = 0.3), bounded as griefing (deflation = β_adv·ψ), non-persistent, and does not stack across coalitions ([§6.5](#s6-5), [§6.9](#s6-9)) — and a full withdrawal is *correctly measured*, not mis-measured: `D̂ → (1−β_adv)` is the right answer for the participating stake ([§6.4](#s6-4)). The one profitable lever is classic selfish mining above `(1−γ)/(3−2γ)` — a general Nakamoto-PoS result, not TSI-specific; TSI's added exposure (estimator deflation to 0.70 at α = 0.4) is *partly* repaired by uncle-counting (row 9 — to 0.81, not the 0.94 an unrestricted count would reach, because the deployed rule can reference only the first block of each discarded fork), and the profit premium is blunted, not eliminated, by the soft-rewarded references (row 10). The *profit* frontier is exactly optimal selfish mining, and no compounding lever raises it ([§6.7](#s6-7)) — but the *estimator* frontier is not the same policy: an adversary willing to settle for break-even pay deflates `D̂` to 0.64 at α = 0.4 where the revenue-maximiser reaches 0.81 ([§6.6](#s6-6), `fig37`). Profitability bounds what an attacker gains, not what the estimate loses. +**What TSI defends, and what it measures.** Abstention-style withholding is strictly unprofitable (reward/stake 0.95 → 0.31 for duty 0.10 → 0.75 at β_adv = 0.3), bounded as griefing (deflation = β_adv·ψ), non-persistent, and does not stack across coalitions ([§6.5](#s6-5), [§6.9](#s6-9)) — and a full withdrawal is *correctly measured*, not mis-measured: `D̂ → (1−β_adv)` is the right answer for the participating stake ([§6.4](#s6-4)). The one profitable lever is classic selfish mining above `(1−γ)/(3−2γ)` — a general Nakamoto-PoS result, not TSI-specific; TSI's added exposure (estimator deflation to 0.70 at α = 0.4) is *partly* repaired by uncle-counting (row 9 — to 0.81, not the 0.94 an unrestricted count would reach, because the deployed rule can reference only the first block of each discarded fork), and the profit premium is blunted, not eliminated, by the soft-rewarded references (row 10). The *profit* frontier is exactly optimal selfish mining, and no compounding lever raises it ([§6.7](#s6-7)) — but the *estimator* frontier is not the same policy: an adversary willing to settle for the pay honest mining would give it deflates `D̂` to 0.65 at α = 0.4, where the revenue-maximiser reaches 0.81 ([§6.6](#s6-6), `fig37`). Profitability bounds what an attacker gains, not what the estimate loses. ### 8.3 Residual risks and open items @@ -869,7 +872,7 @@ Everything below is assembled from this report's own measurements; each row cite 13. **Reward payout mechanism unspecified ([§8.5](#s8-5)).** Rows 10–11 give the incentive constraints, not the encoding. Header-count indistinguishability (Blend) and the equal-share, content-independent voucher of the Anonymous Leaders Reward Protocol are the binding constraints on any `w_u`/`w_n` schedule, and reconciling them — including a payout path for a producer whose block is off-chain — is spec work left open here. 14. **Temporal resolution — `D̂` is stale by design ([§6.11](#s6-11)).** With `β = 1`, `D̂` tracks active stake at a one-epoch (≈ 7.5-day) lag, so it reflects participating stake from ~1–2 weeks ago and updates only weekly; a genuinely *sub-epoch* swing (daily or intra-week churn) falls below the estimator's Nyquist limit and is not tracked as a cycle at all. This is the correct trade for organic churn (row 5), but it bounds how fast TSI can follow real participation changes — flagged, not a defect. 15. **Correlated latency untested ([§2](#s2)).** Both link distributions draw each link *independently*, so the sweeps probe the latency marginal, not its spatial structure; geographically **correlated** latency (regional clustering that lets co-located nodes fork as a bloc) is not modelled. In the primary Blend regime the per-hop mixing delay dominates the geographic link term, so this is expected to stay second-order — but it is untested. -16. **The deflation-optimal adversary — measured, and it is worse than the revenue-optimal one ([§6.6](#s6-6), `fig37`).** The ceilings elsewhere come from adversaries optimising revenue or reorg depth, so they bound `η` from above rather than the damage from below. Optimising the estimate directly: unconstrained the optimum is abstention (`D̂ = 1−α`, zero revenue, and [§6.4](#s6-4)-correct measurement rather than a mis-measurement); constrained to earn at least its stake share, it reaches `D̂` = 0.64 at α = 0.4 against the revenue-optimal 0.81. What remains open is the *joint* problem — this frontier is single-coalition and, like everything in [§6.6](#s6-6), assumes `p_ref` is exogenous rather than something the attacker also manipulates (item 10). +16. **The deflation-optimal adversary — measured, and it is worse than the revenue-optimal one ([§6.6](#s6-6), `fig37`).** The ceilings elsewhere come from adversaries optimising revenue or reorg depth, so they bound `η` from above rather than the damage from below. Optimising the estimate directly: unconstrained the optimum is abstention (`D̂ = 1−α`, zero revenue, and [§6.4](#s6-4)-correct measurement rather than a mis-measurement); constrained to earn at least what honest mining pays (in absolute reward per unit time, not revenue share — the two differ by `density/D̂`), it reaches `D̂` = 0.65 at α = 0.4 against the revenue-optimal 0.81, and the exposure opens near α ≈ 0.37–0.38 rather than at the `⅓` threshold. What remains open is the *joint* problem — this frontier is single-coalition and, like everything in [§6.6](#s6-6), assumes `p_ref` is exogenous rather than something the attacker also manipulates (item 10). 17. **The `β_adv` axis is a nominal target, not a realised share ([§6.5](#s6-5)).** A random coalition is grown until its stake first reaches `β_adv`, so the last node added overshoots by its own size — under a Pareto tail, potentially a whale. The realised block share at a nominal `β_adv` = 0.1 is 0.137 ± 0.108, and that variance dominates the mean at small `β_adv`. The conclusions here are drawn from monotone trends across the axis and are unaffected, but a reader should not read `β_adv` as an achieved share; a whale coalition (filled largest-first to the target) lands on it precisely and is the cleaner instrument where the exact share matters. 18. **The collapsed-branch tail is uncharacterised ([§6.2](#s6-2)).** Static withholding reaches the collapsed branch once in 96 runs — one replicate of the concentrated (whale) 50 % coalition at `δ_max` = 8 s — and never at `δ_max` = 4 s. One reproducible event is enough to retire "not an observed dynamical trap" but far too thin to give the event a rate; its frequency against `β_adv`, `ρ` and coalition concentration is unmeasured. 19. **Structurally uncompensatable orphans ([§6.7](#s6-7)(1), [§6.8](#s6-8)).** The uncle reward refunds `w_u` per *referenced* orphan, but 20–40 % of the honest blocks a private-chain attack destroys are unreferenceable by construction — buried behind the first block of a discarded run. Those producers cannot be compensated at any `w_u`, so the fairness guarantee inherits the first-fork ceiling exactly as the density repair does. No reward schedule fixes this; it is a property of the counting rule. Whether that is acceptable — honest miners bearing an uninsurable loss precisely when attacked — is a protocol-design question this report raises rather than settles. diff --git a/reports/tsi/report-figures/fig37_deflation_frontier.png b/reports/tsi/report-figures/fig37_deflation_frontier.png index 2e58f7a4b8f529df135ec1cace0e70948ef17e26..dc65f0596c637de529469290e74b2d7cfb8ed595 100644 GIT binary patch literal 233599 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%0A7CZj%^mSBoeEX_Ql4QS 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 z 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 b-q5FvCD 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 >rXX;2@71&;{ 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 c$ATi;`j0kG4Epo^A8?E;C)K;wiVd=OZE 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 diff --git a/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py b/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py index d77f673..b1013a4 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py +++ b/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py @@ -68,10 +68,18 @@ def sweep() -> pd.DataFrame: def best_profitable(df: pd.DataFrame) -> pd.DataFrame: - """Per alpha, the frontier point minimising D_hat among those paying at least stake share.""" + """Per alpha, the frontier point minimising D_hat among those that actually pay. + + "Pays" means ABSOLUTE reward per unit time at least matching honest mining + (``pay_vs_honest >= 1``), not merely a revenue *share* at least matching stake. The two + differ by ``density / dhat``: the share's denominator is the canonical block rate, but the + pay rate is set by the estimator, which holds counted density at ``f`` per slot. Using the + share alone credits the attacker with pay it does not receive — at alpha = 0.36 it marks + points as break-even that are ~5 % short. + """ out = [] for _a, g in df.groupby("alpha"): - paid = g[g.reward_per_stake >= 1.0 - 1e-9] + paid = g[g.pay_vs_honest >= 1.0 - 1e-9] if paid.empty: continue out.append(paid.loc[paid.dhat_countable.idxmin()]) @@ -81,18 +89,20 @@ def best_profitable(df: pd.DataFrame) -> pd.DataFrame: def report(df: pd.DataFrame) -> None: best = best_profitable(df) print(f"{'alpha':>6} {'rev-opt rev':>12} {'rev-opt D':>10} | " - f"{'best paid rev':>14} {'xstake':>7} {'D':>7} {'extra deflation':>16}") + f"{'best paid rev':>14} {'pay/hon':>8} {'D':>7} {'extra deflation':>16}") for a, g in df.groupby("alpha"): ro_r, ro_d = g.revenue_optimal.iloc[0], g.dhat_revenue_optimal.iloc[0] b = best[best.alpha == a] if b.empty: - print(f"{a:6.3f} {ro_r:12.4f} {ro_d:10.4f} | (nothing profitable deflates)") + print(f"{a:6.3f} {ro_r:12.4f} {ro_d:10.4f} | (no policy in the sweep both pays " + f"and deflates)") continue b = b.iloc[0] print(f"{a:6.3f} {ro_r:12.4f} {ro_d:10.4f} | {b.revenue:14.4f} " - f"{b.reward_per_stake:7.3f} {b.dhat_countable:7.4f} {ro_d - b.dhat_countable:+16.4f}") - print("\n(extra deflation > 0 means the profitable-but-deflating policy beats the " - "revenue-optimal one at damaging the estimate, at no cost versus honest mining)") + f"{b.pay_vs_honest:8.3f} {b.dhat_countable:7.4f} {ro_d - b.dhat_countable:+16.4f}") + print("\n(extra deflation > 0 means the paying-but-deflating policy beats the revenue-optimal " + "one at damaging the estimate, at no cost versus honest mining; 'pay/hon' is ABSOLUTE " + "reward per unit time, not revenue share)") def fig37(df: pd.DataFrame) -> None: diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/selfish_mdp.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/selfish_mdp.py index f02530b..9a56133 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/selfish_mdp.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/selfish_mdp.py @@ -364,12 +364,24 @@ def deflation_frontier(alpha: float, gamma: float, lam: float, p_ref: float = 1. canonical = rates["adv_rate"] + rates["hon_rate"] blocks, runs = rates["orphan_hon_blocks"], rates["orphan_hon_runs"] revenue = (rates["adv_rate"] / canonical) if canonical > 0 else 0.0 + dhat = canonical + float(p_ref) * runs + + # Absolute pay, not just share. Revenue *share* understates what an attack costs the attacker, + # because the share's denominator is the canonical rate while the pay rate is set by the + # ESTIMATOR: TSI drives counted density (canonical + recovered uncles) to `f` per slot, so a + # run yields `f / dhat` block-finding events per slot and a deflating attack makes the lottery + # easier. Pay per slot is therefore `adv_rate · f / dhat` against an honest miner's `alpha · f`, + # so the correction on the share ratio is `density / dhat` — below 1 whenever uncles are + # recovered. (Events vs occupied slots differ by the multi-winner factor c(f) ~ 1.017 at + # f = 1/30, §2.1, which is neglected here and is small against the effect.) + pay_vs_honest = (rates["adv_rate"] / (alpha * dhat)) if alpha and dhat > 0 else 0.0 return dict( alpha=alpha, gamma=gamma, lam=lam, revenue=revenue, reward_per_stake=(revenue / alpha) if alpha else 0.0, + pay_vs_honest=pay_vs_honest, density_fraction=canonical, - dhat_countable=canonical + float(p_ref) * runs, + dhat_countable=dhat, dhat_unrestricted=canonical + float(p_ref) * blocks, eta=(runs / blocks) if blocks > 0 else 1.0, orphan_hon_blocks=blocks, From e5a89004f220e3f3776554fe3d6964ca18f8265c Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Thu, 6 Aug 2026 18:45:00 +0200 Subject: [PATCH 2/6] Answer the fork-loss handoff: the section's residual is ~17x overstated, and it misses the real bias Settles E1-E4 and E6 of handoff-fork-loss-validation.md against spec d6fd7648. E1 costs nothing and reframes everything: analysis-block-times-blend-network.md sets blending_delay as a FIXED per-hop dwell (the 3d+5 max-delay arithmetic gives 14 s at d=3 and 11 s at d=2, matching its prose), not a mean or a bound. The simulator's Uniform(0, delta_max) matches a 2 s dwell in the mean at delta_max = 4, so D_vis = 8 s and rho = 0.27 -- inside the committed 40-replicate paired design band, which answers C1-C3 from data of record. C1 refuted: every U>=1 cell sits at 0.9985-0.9997, not 0.986. C2's mechanism is right but its size is ~17x over: the paired first-fork cost is 0.08 pp pooled (95% CI [0.03, 0.13], t = 3.08), resolved only because the arms share streams -- the U=0 negative control is exactly 0.00000 +- 0.00000. C3 is refuted in the UNFAVOURABLE direction: the no-uncle loss is 33% at N=1000 and 34.6% at N=5000 (42% / 49.5% at delta_max = 8), so the section understates what uncles buy by about half. C4 stands with ~7x margin (U=3 still recovers at rho = 1.87). C5 is right in effect, wrong in wording -- the knee is at W_abs ~ 5, so the spec's 10 is ~2x above it, which is "has margin", not "never binds". C6 is the section's real omission. The deployed estimator quantises the target rate at PRECISION = 1e3, and measured in the full dynamics that reads 1.01026 +- 0.00056 against a closed form of 1.0101 -- a 1.0% bias ~13x the first-fork cost the section is concerned with, opposite in sign, removed by a one-constant change. It could not be measured before because PRECISION was a module constant pinned at the RECOMMENDED 1e6; f_precision is now a config field, appended to the RNG key only when non-default so no committed run moves. Also from the guide: uncle_window_slots now floors rather than rounds, matching w_u := floor(W/f) (identical at the defaults; matters only for the W and f sweeps). Reviewed sec 4.3's argument as sec 6 asks, and it holds -- inclusion stayed soft ("may reference fewer uncles than it could ... and its block remains valid"), so row 10, the anti-mandate argument and the suppress adversary are all unaffected; only the CONTENT of a reference became validity-gated. One correction: the "no incentive to deviate" clause does still exist, so sec 8.5's implication (ii) is live, not moot. E5 -- the jitter diagnostic, and the only experiment that could invalidate the report rather than the section -- is not run and is flagged as such. Co-Authored-By: Claude Fable 5 --- reports/tsi/handoff-fork-loss-results.md | 96 +++++++++++++++++++ .../configs/spec-point-n5000.yaml | 34 +++++++ .../configs/spec-point-window.yaml | 34 +++++++ .../tsi/tsi-sim-pernode/scripts/spec_point.py | 89 +++++++++++++++++ .../tsi/tsi-sim-pernode/src/tsi_sim/config.py | 20 +++- .../tsi-sim-pernode/src/tsi_sim/constants.py | 11 ++- .../tsi/tsi-sim-pernode/src/tsi_sim/epoch.py | 3 +- .../tsi-sim-pernode/src/tsi_sim/metrics.py | 1 + .../tsi/tsi-sim-pernode/src/tsi_sim/tsi.py | 31 +++--- 9 files changed, 299 insertions(+), 20 deletions(-) create mode 100644 reports/tsi/handoff-fork-loss-results.md create mode 100644 tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml create mode 100644 tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml create mode 100644 tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py diff --git a/reports/tsi/handoff-fork-loss-results.md b/reports/tsi/handoff-fork-loss-results.md new file mode 100644 index 0000000..f32d72a --- /dev/null +++ b/reports/tsi/handoff-fork-loss-results.md @@ -0,0 +1,96 @@ +# Results — fork-loss claims in `analysis-total-stake-inference.md` + +*Answers to [`handoff-fork-loss-validation.md`](handoff-fork-loss-validation.md). Simulator: `tools/simulators/tsi/tsi-sim-pernode`. Run 2026-08-06 against spec revision `d6fd7648` (`analysis-fork-loss-in-tsi`).* + +--- + +## Verdict + +**The added section's headline is wrong by ~10×, and it is agonising over the wrong bias.** The residual it attributes to deep forks is 0.08 pp, not 1.4 %. Meanwhile the deployed estimator carries a **+1.0 % bias of the opposite sign** that the section does not mention — from the `f` rounding, not from forks. Rewriting the section around the second number rather than the first is the substantive change. + +The no-uncle loss is also **understated, not overstated**: 33 % at the operating point, not 18.7 %, and it deepens with network size. + +## The requested table + +``` +E1 spec Blend profile: δ_max = 4 D_vis = 8 s ρ = 0.27 + +E2 at ρ = 0.27, N = 1000, 40 replicates, k = 2160, PAIRED + D̂/D U=0: 0.6677 ± 0.0044 U=1: 0.9985 U=2: 0.9986 U=4: 0.9997 + countable − ceiling, pooled U≥1: −0.00080 ± 0.00026 (t = 3.08) + U=0 negative control: 0.00000 ± 0.00000 (exact — paired streams) + at N = 5000, 12 replicates, UNPAIRED + D̂/D U=0: 0.6537 ± 0.0251 U=1: 0.9997 U=2: 0.9979 U=4: 0.9996 + U=0 negative-control noise floor: ±0.027 → no first-fork cost resolvable at this N + +E3 largest ρ with U=4 ≥ 0.98: > 1.87 (U=3 already suffices there) margin: ~7× the deployment +E4 D̂/D vs W_abs {1,2,3,5,7,10,15,20}: + 0.854 / 0.938 / 0.967 / 0.992 / 0.999 / 0.998 / 0.999 / 1.000 + knee at W_abs ≈ 5; spec's W = 10 sits ~2× above it +E5 not yet run (the jitter diagnostic — see "What is still open") +E6 fixed_point off / 1e3 / 1e6: 0.99997 / 1.01026 / 0.99990 (predicted 1.000 / 1.0101 / 1.00001) +``` + +## Claim by claim + +| # | Claim | Measured | Verdict | +|---|---|---|---| +| C1 | Residual underestimate **1.4 %** | 0.03–0.15 % at every `U ≥ 1` cell | **Refuted.** Replace with "no residual resolvable in the design regime". | +| C2 | The residual is **deep-fork blocks** | Paired gap **0.08 pp ± 0.03** pooled (t = 3.08) | **Mechanism right, size ~17× overstated.** It is real and now resolved — but it is 0.0008, not 0.014. | +| C3 | Without uncles the loss is **18.7 %** | **33.2 %** at N = 1000, **34.6 %** at N = 5000 (and 42 % / 49.5 % at δ_max = 8) | **Refuted, in the unfavourable direction.** The section understates the value of uncle references by roughly half. | +| C4 | `MAX_UNCLES = 4` never binds | `U = 3` still recovers at ρ = 1.87, the largest measured | **Corroborated,** with ~7× margin over the deployment's ρ = 0.27. | +| C5 | `w_u = 300` never binds | Knee at `W_abs ≈ 5`; spec's 10 is ~2× above it | **Right in effect, wrong in wording.** Say "≈ 2× above the measured knee at the deployment's load", not "never binds". | +| C6 | *(not mentioned)* | `PRECISION = 1e3` → **D̂/D = 1.01026 ± 0.00056** | **The section's main omission.** Larger than everything else it discusses, and opposite in sign. | + +### E1 — the operating point + +`analysis-block-times-blend-network.md` sets `blending_delay = 3` s as *"seconds spent in each Blend node"* — a **fixed per-hop dwell**, neither a mean of a distribution nor a bound. The max-delay arithmetic confirms it: `3δ + 5` gives 14 s at δ = 3 and 11 s at δ = 2, matching the prose exactly. The chosen profile is 2 s. + +The simulator's per-hop delay is `Uniform(0, δ_max)`, mean `δ_max/2`, and the design laws reach latency only through the mean — so the matching value is **`δ_max = 4`**, giving `D_vis = 3·2 + 4·0.5 = 8 s` and **`ρ = 0.27`**. (Charging the spec's 1 s PoL proof time as well would give ρ ≈ 0.30; nothing below changes.) + +This lands inside the committed 40-replicate paired design-band grid, so C1–C3 are answered from data of record rather than new runs. + +### E2 — accuracy and the first-fork cost + +At ρ = 0.27 every `U ≥ 1` cell sits at **0.9985–0.9997**. The section's 1.4 % residual is not there. What *is* there, now that the paired design resolves it: a first-fork cost of **0.08 pp pooled** (95 % CI [0.03, 0.13], t = 3.08). C2's mechanism is correct — it is the deep-fork blocks — but at the deployment's load it is two orders of magnitude below the claim. + +The `U = 0` negative control is **exactly 0.00000 ± 0.00000**: with no uncle slots the two models are identical by construction, and under common random numbers they agree bit-for-bit. That is the strongest available check that the 0.08 pp is signal rather than seed noise. + +At N = 5000 the runs are unpaired and the same negative control reads ±0.027, so nothing below ~2.7 pp is resolvable there — the N = 5000 row is an exclusion bound, not a measurement. + +### E6 — the bias the section missed + +Three arms, identical but for the estimator's target-rate quantisation: + +| arm | `D̂/D` | closed form | +|---|---|---| +| exact `f` (report convention) | 0.99997 ± 0.00060 | 1.00000 | +| **spec today, `PRECISION = 1e3`** | **1.01026 ± 0.00056** | 1.01010 | +| recommended, `PRECISION = 1e6` | 0.99990 ± 0.00061 | 1.00001 | + +The deployed estimator drives density to `f_p = 0.033` instead of `1/30`, so the chain reads **1.0 % high** — measured in the full per-node dynamics, matching `theory.fixed_point_bias` to within one standard error. It is ~13× the first-fork cost the section is concerned with, opposite in sign, and removed entirely by a one-constant change. + +## What is still open + +**E5 — the diagnostic — has not been run.** It is the only experiment that could invalidate the *report* rather than the section, and the primary hypothesis for the original discrepancy: the standalone simulation drew an independent delay per (block, recipient), while the simulator's Blend cascade floods from the last relay, so views stay synchronised. If real Blend carries more per-recipient variance, the design-regime numbers above are optimistic. The lever exists (`jitter_mean`) and this is also the report's open item 15. + +Until E5 runs, every number here carries the cascade model's assumption that nodes receive a block at nearly the same time. + +## Notes on the guide (§4) + +- **§4.1 item 1 — done.** `f_precision` is now a config field, so a spec-faithful arm can be run; it was a module constant pinned at the *recommended* 1e6, which is why nobody had measured what the chain would actually read. Default unchanged and appended to the RNG key only when non-default, so no committed run is reseeded. +- **§4.1 item 3 — done.** `uncle_window_slots` now floors rather than rounds, matching `w_u := ⌊W·f⁻¹⌋`. No committed result moves (W = 10, f = 1/30 is exactly 300 either way); it matters only for the `W` and `f` sweeps. +- **§4.1 item 2 — agreed, and the report needs it.** `--old` is no longer a candidate design: a block carrying a deep-fork reference is now *rejected*, so the unrestricted arm is an unreachable ceiling. This document labels it that way throughout; the report still calls it "the unrestricted model" in §2.1/§3.2/§6.6 and needs the same relabel. + +### §6's review request — the incentive results survive + +The handoff asks for §4.3's argument to be checked by someone who owns the incentive analysis rather than assumed. Checked, and it holds, for the reason given: **inclusion stayed soft.** The spec is explicit — a proposer *"may reference fewer uncles than it could, or pass over a candidate for another, and its block remains valid"*, and selection is *"a recommendation for filling the entries well, not a consensus rule."* So: + +- §8.1 row 10 (*soft — never a validity rule*) is still satisfied: what became validity-gated is the **content** of a reference, not whether one is made. +- §6.8's argument against a hard inclusion mandate still applies to a rule the spec did not adopt. +- The `suppress` adversary — produce blocks, reference nothing — remains legal, so §6.3's results stand unchanged. +- The countable model's selection-time filter is now *exactly* what the protocol requires rather than a faithful approximation of it. + +One correction to §4.3: it states the *"no incentive to deviate"* sentence "no longer exists in that form". It does — the clause survives verbatim inside a rewritten paragraph. **§8.5's implication (ii) is therefore still live:** the spec's no-deviation rationale rests on uncles granting no reward, and the report's recommendation to pay them removes it. + +The one genuinely new consequence: referencing an ineligible orphan now costs a proposer its whole block rather than merely failing to count. No modelled strategy does this, so no result changes — but it makes such a strategy self-defeating rather than merely ineffective, which is worth stating if anyone later models junk-reference griefing. diff --git a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml new file mode 100644 index 0000000..c1b09e2 --- /dev/null +++ b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml @@ -0,0 +1,34 @@ +# Handoff E2, the size arm: does the no-uncle loss deepen with N at the SPEC's operating point? +# +# The design-band study (fine-delay-paired.yaml) already settles the countable-vs-unrestricted +# question at delta_max = 4 with 40 replicates, but only at N = 1000. Claim C3 of the handoff +# ("without uncles the loss is 18.7 %") is the U = 0 column, and the report shows that column is +# N-dependent (0.739 -> 0.635 over N = 1k -> 10k) at delta_max = 8. This measures it at the +# deployment's own delay instead, where nothing has been run at N > 1000. +# +# delta_max = 4 is the E1 answer: the spec's blending_delay is a FIXED 2 s per-hop dwell, and the +# simulator's Uniform(0, delta_max) matches it in the mean at 4. D_vis ~ 8 s, rho ~ 0.27. +# +# Run TWICE — default (countable) and with --old — so the first-fork gap is measured at this size +# too. `--old` is NOT a candidate design: under the current spec a block carrying a deep-fork +# reference is REJECTED, so the unrestricted arm is an unreachable upper bound on what any +# counting rule could recover. It is kept as exactly that ceiling. +# Latency is in SLOTS (1 slot = 1 s). +n_nodes: [5000] # the size arm; N = 1000 is already committed +stake_dist: [pareto] # heavy-tailed (realistic) stake distribution +topology: [blend] # Blend mixnet — the deployment transport +degree: [6] # peering degree of the d-regular graph +link_latency_mean: [0.5] # natural geographic transport (sub-slot) +link_latency_dist: [geo] # real-world geographic band mixture +blend_hops: [3] # the spec's Blend cascade length +blend_delay_max: [4.0] # E1: the spec's 2 s dwell, matched in the mean +max_uncles: [0, 1, 2, 4] # 0 = the C3 column; 4 = the spec's MAX_UNCLES +uncle_strategy: [oldest] # spec Uncle Selection +init_dest: [common] # per-node initial D_est from agreement +replicates: 12 # N = 5000 at true k is heavy; 12 gives ~±0.2 pp +base: # per-run settings shared by every cell + k: 2160 # true security parameter + epochs: 20 # equilibrium within ~2 epochs; burn 50% + f: 0.03333333333333333 # slot activation coefficient (1/30) + genesis_d_factor: 0.5 # start near true stake (cheap epoch 0) + early_stop: true diff --git a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml new file mode 100644 index 0000000..1a4bfec --- /dev/null +++ b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml @@ -0,0 +1,34 @@ +# Handoff E4: is w_u = 300 adequate at the SPEC's operating point, and how much margin is there? +# +# Claim C5 says the window "never binds" (observed median reference lag 34 slots, max 197). The +# report puts a hard recovery floor at ~7/f = 210 slots, set by block SPACING rather than by +# delay, and advises widening to 450-600 near rho ~ 1. "Has margin at rho < 1" is defensible; +# "never binds" is not, and the difference is what this measures. +# +# absorption-window.yaml sweeps the same axis but starts at delta_max = 8; nothing has been run at +# the deployment's delta_max = 4 (E1). Since the floor is set by block spacing the knee should sit +# in the same place, which is itself worth confirming rather than assuming — the report's +# delay-invariance claim is exactly what makes a single recommended W defensible. +# +# U = 1 isolates the window: with more uncle slots the queue drains faster and the window stops +# being the binding constraint, which would mask the knee. +# Latency is in SLOTS (1 slot = 1 s). +n_nodes: [1000] # network size +stake_dist: [pareto] # heavy-tailed (realistic) stake distribution +topology: [blend] # Blend mixnet — the deployment transport +degree: [6] # peering degree of the d-regular graph +link_latency_mean: [0.5] # natural geographic transport (sub-slot) +link_latency_dist: [geo] # real-world geographic band mixture +blend_hops: [3] # the spec's Blend cascade length +blend_delay_max: [4.0] # E1: the spec's operating point +window_absorption: [1, 2, 3, 5, 7, 10, 15, 20] # W in expected block-intervals; w_u = W/f slots +max_uncles: [1] # FIXED at one uncle: the question is about W +uncle_strategy: [oldest] # spec Uncle Selection +init_dest: [common] # per-node initial D_est from agreement +replicates: 12 # enough to place the knee, not to resolve 0.1 pp +base: # per-run settings shared by every cell + k: 2160 # true security parameter + epochs: 20 # equilibrium within ~2 epochs; burn 50% + f: 0.03333333333333333 # slot activation coefficient (1/30) + genesis_d_factor: 0.5 # start near true stake (cheap epoch 0) + early_stop: true diff --git a/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py new file mode 100644 index 0000000..b6b45e8 --- /dev/null +++ b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py @@ -0,0 +1,89 @@ +"""What the DEPLOYED chain would read at the spec's own operating point — handoff E1/E2/E6. + +The report measures the mechanism: it drives the estimator to exact `f`, so its numbers isolate +fork loss from every other effect. That is the right default for design questions and the wrong +one for "what will the deployed chain read", because the spec's estimator quantises the target +rate — `cryptarchia-total-stake-inference.md` carries `const PRECISION: u64 = 1e3`, so +`f_p = 0.033` at `f = 1/30` and the recursion drives density to a target ~1 % below `f`. + +E1 pins the operating point from `analysis-block-times-blend-network.md`: `blending_delay` is a +FIXED per-hop dwell of 2 s (the `3d+5` max-delay arithmetic gives 11 s at d=2 and 14 s at d=3, +matching the prose), so the simulator's `Uniform(0, delta_max)` matches it in the mean at +`delta_max = 4` -> `D_vis ~ 8 s`, `rho ~ 0.27`. + +Three arms, everything else identical: + + exact f fixed_point=False the report's convention -> expect 1.000 + spec fixed_point=True, 1e3 what the chain does today -> expect ~1.010 + proposed fixed_point=True, 1e6 the report's recommendation -> expect ~1.00001 + +The point of running rather than quoting `theory.fixed_point_bias`: the closed form predicts the +offset in isolation, and this confirms it survives the full per-node dynamics at the deployment's +actual load, alongside the fork loss rather than instead of it. + +Run: python scripts/spec_point.py (writes runs/spec_point.parquet) +""" + +from __future__ import annotations + +from pathlib import Path + +import pandas as pd +from joblib import Parallel, delayed + +from tsi_sim.config import SimConfig +from tsi_sim.engine import run_trajectory +from tsi_sim.theory import fixed_point_bias + +HERE = Path(__file__).resolve().parent.parent +RUNS = HERE / "runs" +RUNS.mkdir(exist_ok=True) + +EPOCHS = 20 +REPS = 20 +N_JOBS = 6 + +# The spec's operating point (E1), with the spec's own MAX_UNCLES rather than the report's U = 2. +SPEC_POINT = dict(n_nodes=1000, stake_dist="pareto", topology="blend", degree=6, + link_latency_mean=0.5, link_latency_dist="geo", blend_hops=3, + blend_delay_max=4.0, max_uncles=4, uncle_strategy="oldest", + window_absorption=10.0, k=2160, epochs=EPOCHS, + genesis_d_factor=0.5, early_stop=True) + +ARMS = [("exact f (report convention)", False, 1_000_000), + ("spec today (PRECISION = 1e3)", True, 1_000), + ("recommended (PRECISION = 1e6)", True, 1_000_000)] + + +def _cell(label: str, fixed_point: bool, precision: int, rep: int) -> dict: + cfg = SimConfig(**SPEC_POINT, fixed_point=fixed_point, f_precision=precision, replicate=rep) + t = pd.DataFrame(run_trajectory(cfg)) + t = t[t.epoch >= t.epoch.max() // 2] + return dict(arm=label, fixed_point=fixed_point, f_precision=precision, rep=rep, + mean_ratio=float(t.mean_ratio.mean()), + fork_rate=float(t.fork_rate.mean()), + p_ref=float(t.p_ref.mean()), + range_ratio=float(t.range_ratio.max())) + + +def main() -> None: + print("=== the spec's operating point: delta_max = 4, D_vis ~ 8 s, rho ~ 0.27, U = 4 ===") + jobs = [(lab, fp, pr, r) for lab, fp, pr in ARMS for r in range(REPS)] + df = pd.DataFrame(Parallel(n_jobs=N_JOBS, backend="loky", inner_max_num_threads=1)( + delayed(_cell)(lab, fp, pr, r) for lab, fp, pr, r in jobs)) + df.to_parquet(RUNS / "spec_point.parquet", index=False) + + f = SimConfig(**SPEC_POINT).f + print(f"\n{'arm':>32} {'D-hat/D':>18} {'predicted':>10} {'consensus':>10}") + for lab, fp, pr in ARMS: + g = df[df.arm == lab] + pred = fixed_point_bias(f, pr) if fp else 1.0 + print(f"{lab:>32} {g.mean_ratio.mean():10.5f}+-{g.mean_ratio.sem():.5f} " + f"{pred:10.5f} {('exact' if g.range_ratio.max() == 0 else 'SPREAD'):>10}") + print(f"\nfork rate {df.fork_rate.mean():.3f}, p_ref {df.p_ref.mean():.4f}, " + f"{REPS} replicates, k = 2160") + print(f"wrote {RUNS}/spec_point.parquet") + + +if __name__ == "__main__": + main() diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/config.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/config.py index d754313..adeea38 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/config.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/config.py @@ -163,11 +163,15 @@ class SimConfig: genesis_d_factor: float = 0.5 # genesis D = factor * true total stake epochs: int = 40 # If True, quantise the target rate the way an on-chain integer estimator does: - # f_p = int(f*tsi.PRECISION)/tsi.PRECISION. With tsi.PRECISION = 1_000_000 (the report's - # recommended 10^-6 f-precision, §8) this gives f_p = 0.033333 and a negligible residual - # f/f_p < 1e-5 — not the ~1% overestimate the old 10^-3 truncation produced. - # Default False keeps the analysis-faithful exact-f behaviour. + # f_p = int(f*f_precision)/f_precision. Default False keeps the analysis-faithful exact-f + # behaviour, which is right for DESIGN questions (it isolates the mechanism under test). fixed_point: bool = False + # The on-chain fixed-point scale, read only when fixed_point is True. The deployed spec and + # this report disagree: cryptarchia-total-stake-inference.md carries `const PRECISION = 1e3` + # (f_p = 0.033 at f = 1/30, so f/f_p ~ 1.010 — the ~1 % over-estimate of Appendix A), while + # the report recommends 1e6 (f_p = 0.033333, residual < 1e-5). Default is the recommendation; + # set 1000 for a SPEC-FAITHFUL arm answering "what would the deployed chain read". + f_precision: int = 1_000_000 # If True, count uncle references per BLOCK ID (the pre-fix behaviour, which double-counts # same-slot co-winners and inflates the equilibrium by c(f)). The correct default counts # per SLOT (one count per slot, matching the pre-uncle design invariant). Kept as a flag @@ -272,6 +276,8 @@ class SimConfig: raise ValueError(f"churn_period must be >= 1, got {self.churn_period}") if self.clock_skew_max < 0: raise ValueError(f"clock_skew_max must be >= 0, got {self.clock_skew_max}") + if self.f_precision < 1 or self.f_precision != int(self.f_precision): + raise ValueError(f"f_precision must be a positive integer, got {self.f_precision!r}") if self.adversary_selection not in ("random", "whale"): raise ValueError(f"adversary_selection must be random|whale, got " f"{self.adversary_selection!r}") @@ -386,7 +392,11 @@ class SimConfig: else self._base_key() + (self.uncle_model, self.window_absorption)) # Appended ONLY when non-default, for the same reason the uncle_model marker is: a # "random"-coalition run's key must stay byte-identical to every historical run's. - return base if self.adversary_selection == "random" else base + (self.adversary_selection,) + if self.adversary_selection != "random": + base = base + (self.adversary_selection,) + # Same append-only-when-non-default discipline: a run at the default precision keeps a + # byte-identical key, so no committed result is reseeded by adding the knob. + return base if self.f_precision == 1_000_000 else base + (self.f_precision,) def seed_key(self) -> tuple: """The identity the RNG root is actually derived from (see ``rng.seedseq_for``). diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/constants.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/constants.py index c69dda4..9b7838e 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/constants.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/constants.py @@ -24,8 +24,15 @@ W_ABS_MAX_FACTOR = 0.6 # bound: W <= W_ABS_MAX_FACTOR * k def uncle_window_slots(w_abs: float, f: float = F) -> int: - """Derived uncle reference window ``w_u = W / f`` in slots (countable model).""" - return max(1, int(round(w_abs / f))) + """Derived uncle reference window ``w_u = floor(W / f)`` in slots (countable model). + + The spec writes this as a **floor** (``w_u := ⌊W·f⁻¹⌋``, cryptarchia-v1-protocol.md + Constants). At the defaults (W = 10, f = 1/30) the quotient is exactly 300 either way, so no + committed result moves — but ``configs/absorption-window.yaml`` sweeps ``W`` and + ``configs/block-rate.yaml`` sweeps ``f``, and at a non-integer ``W/f`` rounding would put the + derived window a slot above the spec's. + """ + return max(1, int(w_abs / f)) # --- Real-world inter-node network latency (per gossip link) --------------- diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py index d29d113..0d07b47 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py @@ -109,7 +109,8 @@ def simulate_epoch( w=config.effective_uncle_window) n_active_window = int((active_slots < T).sum()) - d_next = tsi.update_D_vec(d_est, ms.m, T, f, config.beta, config.fixed_point) + d_next = tsi.update_D_vec(d_est, ms.m, T, f, config.beta, config.fixed_point, + config.f_precision) attribution = coalition_mask if coalition_mask is not None else adversary_mask adv_blocks, honest_blocks = _canonical_producer_split(tree, A, attribution, T, E) diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py index 42e6b6a..ab5c932 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py @@ -21,6 +21,7 @@ _CONFIG_FIELDS = ( "paired_streams", "f", "beta", "k", "genesis_d_factor", "epochs", "fixed_point", "legacy_block_count", "replicate", + "f_precision", "adversary_frac", "adversary_strategy", "adversary_selection", "adversary_period", "adversary_withhold_epochs", ) diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/tsi.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/tsi.py index 32d1f45..dcd4e20 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/tsi.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/tsi.py @@ -89,34 +89,40 @@ def density_m(tree: BlockTree, canonical_ids: list[int], T: int, PRECISION = 1_000_000 -def _f_eff(f: float, fixed_point: bool) -> float: +def _f_eff(f: float, fixed_point: bool, precision: int | None = None) -> float: """Target rate used in the recursion: exact ``f``, or the spec's integer quantisation. - Guards the quantised path against ``f`` so small that ``int(f*PRECISION) == 0`` (e.g. f < .001), + ``precision`` defaults to :data:`PRECISION`. It is a *parameter* because the deployed spec and + this report's recommendation disagree on it — ``cryptarchia-total-stake-inference.md`` carries + ``const PRECISION: u64 = 1e3`` while the report recommends 1e6 — so a spec-faithful arm has to + be able to run the value the chain would actually use. + + Guards the quantised path against ``f`` so small that ``int(f*precision) == 0`` (e.g. f < .001), which would make ``f_eff = 0`` and divide-by-zero in the recursion. """ if not fixed_point: return f - q = int(f * PRECISION) + p = PRECISION if precision is None else int(precision) + q = int(f * p) if q == 0: raise ValueError( f"fixed_point=True with f={f} quantises the target rate to 0 " - f"(int(f*{PRECISION})==0); use f >= 1/{PRECISION} or fixed_point=False") - return q / PRECISION + f"(int(f*{p})==0); use f >= 1/{p} or fixed_point=False") + return q / p def update_D( - d_prev: float, m: int, T: int, f: float, beta: float, fixed_point: bool = False + d_prev: float, m: int, T: int, f: float, beta: float, fixed_point: bool = False, + precision: int | None = None, ) -> float: """Spec TSI recursion: ``max(1, D_prev * (1 - beta*(f_eff - m/T)/f_eff))``. With ``fixed_point=True`` the target rate ``f`` is quantised as the on-chain algorithm does - (``f_p = int(f*PRECISION)/PRECISION``). At the raised ``PRECISION = 10**6`` this is - ``f_p = 0.033333`` for f=1/30, so ``f/f_p = 1.00001`` and the residual over-estimate is - below 10^-5 (negligible) — the report's f-precision recommendation, applied. (At the - original spec ``PRECISION = 1000`` the offset was ~1%.) + (``f_p = int(f*precision)/precision``). At the deployed spec's ``precision = 1e3`` this is + ``f_p = 0.033`` for f=1/30, so ``f/f_p ~ 1.010`` — the ~1 % over-estimate of Appendix A. At the + report's recommended 1e6 it is ``f_p = 0.033333``, ``f/f_p = 1.00001``, residual below 1e-5. """ - f_eff = _f_eff(f, fixed_point) + f_eff = _f_eff(f, fixed_point, precision) measured_density = m / T d_new = d_prev * (1.0 - beta * (f_eff - measured_density) / f_eff) return max(d_new, 1.0) @@ -124,13 +130,14 @@ def update_D( def update_D_vec( d_prev: np.ndarray, m: np.ndarray, T: int, f: float, beta: float, fixed_point: bool = False, + precision: int | None = None, ) -> np.ndarray: """Per-node TSI recursion: :func:`update_D` applied elementwise over ``(N,)`` arrays. Each node updates its OWN estimate ``d_prev[i]`` from its OWN measured slot count ``m[i]``. Identical formula to :func:`update_D`, clamped at 1. """ - f_eff = _f_eff(f, fixed_point) + f_eff = _f_eff(f, fixed_point, precision) measured_density = np.asarray(m, dtype=float) / T d_new = np.asarray(d_prev, dtype=float) * (1.0 - beta * (f_eff - measured_density) / f_eff) return np.maximum(d_new, 1.0) From c202ad9c17cd6866400788a2181e01884046d53c Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Fri, 7 Aug 2026 11:15:55 +0200 Subject: [PATCH 3/6] Add deep_orphan_share: the structural observable behind the first-fork cost E5 needs to watch whether per-recipient delay variance manufactures the depth->=2 forks the countable rule cannot reach, and no recorded metric measured that. p_ref conflates "unreachable by construction" with "eligible but never picked up" -- the distinction that turned out to be the whole answer to item 5 -- and deep_ref_share is 0 by construction under the countable model, since the proposer's candidate filter drops deep-fork blocks before any reference to one is proposed. deep_orphan_share is the fraction of in-window orphans sitting below the first block of their fork, computed from the depth array fork_stats already builds. Also fixes a splat-unpack in test_selfish_engine that silently re-bound to the wrong quantities when fork_stats grew this field (it read deep_orphan_share as p_ref_honest). fork_stats has now gained a field twice; both call sites unpack by position explicitly. Co-Authored-By: Claude Fable 5 --- .../configs/spec-point-jitter.yaml | 47 ++++++++ .../tsi-sim-pernode/scripts/spec_jitter.py | 106 ++++++++++++++++++ .../tsi/tsi-sim-pernode/src/tsi_sim/epoch.py | 8 +- .../tsi/tsi-sim-pernode/src/tsi_sim/fork.py | 17 ++- .../tsi-sim-pernode/src/tsi_sim/metrics.py | 1 + .../tsi/tsi-sim-pernode/tests/test_fork.py | 6 +- .../tests/test_selfish_engine.py | 8 +- 7 files changed, 181 insertions(+), 12 deletions(-) create mode 100644 tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml create mode 100644 tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py diff --git a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml new file mode 100644 index 0000000..6c27d3b --- /dev/null +++ b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml @@ -0,0 +1,47 @@ +# Handoff E5 — the diagnostic: does per-recipient delay variance reproduce the standalone result? +# +# This is the only experiment in the handoff that could invalidate the REPORT rather than the spec +# section. The primary hypothesis for the original discrepancy is modelling, not measurement: the +# standalone simulation drew an INDEPENDENT propagation delay per (block, recipient), while this +# simulator's blend topology runs a cascade of relays and then floods network-wide from the LAST +# relay, so nodes receive a block at nearly the same time and their views stay synchronised. +# Independent per-recipient draws maximise view divergence, which is exactly what manufactures the +# depth->=2 forks the first-fork rule cannot recover. +# +# jitter_mean adds per-(block, node) arrival noise on top of the cascade, so sweeping it +# interpolates between the two models: 0 is the report's cascade, large values approach the +# standalone's independent-delay regime. The observable that decides it is deep_orphan_share -- +# the fraction of in-window orphans sitting deeper than the first block of their fork, which is +# precisely the structural quantity behind claim C2. +# +# This is also the report's open item 15 (correlated/heterogeneous latency untested). +# +# EXACT ORACLE REQUIRED: the windowed fork choice and the arrival prune are only bit-exact at +# jitter_mean == 0 (a jittered arrival can cross the deterministic horizon), so both are off. That +# forces the full (N x n_blocks) matrix and makes each run ~17 s at k = 2160. +# +# Run TWICE — default (countable) and with --old. `--old` is NOT a candidate design: under the +# current spec a block carrying a deep-fork reference is REJECTED, so it is an unreachable upper +# bound on what any counting rule could recover, and the countable-vs-ceiling gap is the +# first-fork cost. Latency is in SLOTS (1 slot = 1 s). +n_nodes: [1000] # network size +stake_dist: [pareto] # heavy-tailed (realistic) stake distribution +topology: [blend] # Blend mixnet — the deployment transport +degree: [6] # peering degree of the d-regular graph +link_latency_mean: [0.5] # natural geographic transport (sub-slot) +link_latency_dist: [geo] # real-world geographic band mixture +blend_hops: [3] # the spec's Blend cascade length +blend_delay_max: [4.0] # E1: the spec's operating point (rho ~ 0.27) +max_uncles: [0, 1, 2, 4] # 0 = negative control; 4 = the spec's MAX_UNCLES +uncle_strategy: [oldest] # spec Uncle Selection +init_dest: [common] # per-node initial D_est from agreement +replicates: 12 # exact-oracle runs are ~17 s each; 12 x 40 cells +base: # per-run settings shared by every cell + k: 2160 # true security parameter + epochs: 20 # equilibrium within ~2 epochs; burn 50% + f: 0.03333333333333333 # slot activation coefficient (1/30) + genesis_d_factor: 0.5 # start near true stake (cheap epoch 0) + early_stop: true + windowed_fork_choice: false # exact oracle: required once jitter > 0 + prune_arrival: false # ...and the prune needs the same horizon + jitter_mean: 0.0 # OVERRIDDEN per run by scripts/spec_jitter.py diff --git a/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py new file mode 100644 index 0000000..14d0952 --- /dev/null +++ b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py @@ -0,0 +1,106 @@ +"""E5 — does per-recipient delay variance reproduce the standalone result? (the diagnostic). + +The only experiment in the fork-loss handoff that could invalidate the REPORT rather than the +spec section. The hypothesis for the original discrepancy is a modelling difference, not a +measurement one: the standalone simulation drew an independent propagation delay per +(block, recipient), whereas this simulator's Blend cascade floods network-wide from the last +relay, so nodes receive a block at nearly the same time and their views stay synchronised. +Independent per-recipient draws maximise view divergence, which is what manufactures the +depth->=2 forks the first-fork rule cannot recover. + +`jitter_mean` adds per-(block, node) arrival noise on top of the cascade, so sweeping it +interpolates between the two models. The deciding observable is `deep_orphan_share`: the fraction +of in-window orphans sitting deeper than the first block of their fork — precisely the structural +quantity behind claim C2, and the thing `p_ref` conflates with "never picked up". + +Pass / fail, as the handoff sets it: + * D-hat/D holds at ~1.000 and deep orphans stay negligible as jitter rises -> the standalone + model was simply wrong; C1/C2 are artefacts and the report is robust to this failure mode. + * accuracy degrades toward 0.986 and deep orphans reach ~1 % of blocks at some jitter level + -> record that level and compare it to what Blend plausibly delivers; per-recipient variance + then becomes a parameter the report must carry, and the spec section's number is defensible + under a stated assumption. + +Exact oracle throughout: the windowed fork choice and the arrival prune are bit-exact only at +jitter_mean == 0, so both are disabled and the full arrival matrix is used. + +Run: python scripts/spec_jitter.py (writes runs/spec_jitter.parquet) +""" + +from __future__ import annotations + +from pathlib import Path + +import pandas as pd +from joblib import Parallel, delayed + +from tsi_sim.config import SimConfig +from tsi_sim.engine import run_trajectory + +HERE = Path(__file__).resolve().parent.parent +RUNS = HERE / "runs" +RUNS.mkdir(exist_ok=True) + +REPS = 12 +N_JOBS = 12 +JITTERS = [0.0, 1.0, 2.0, 4.0, 8.0] +CAPS = [0, 1, 2, 4] + +SPEC_POINT = dict(n_nodes=1000, stake_dist="pareto", topology="blend", degree=6, + link_latency_mean=0.5, link_latency_dist="geo", blend_hops=3, + blend_delay_max=4.0, uncle_strategy="oldest", window_absorption=10.0, + k=2160, epochs=20, genesis_d_factor=0.5, early_stop=True, + windowed_fork_choice=False, prune_arrival=False) + + +def _cell(model: str, jitter: float, u: int, rep: int) -> dict: + cfg = SimConfig(**SPEC_POINT, uncle_model=model, jitter_mean=jitter, + max_uncles=u, replicate=rep) + t = pd.DataFrame(run_trajectory(cfg)) + t = t[t.epoch >= t.epoch.max() // 2] + return dict(model=model, jitter_mean=jitter, max_uncles=u, rep=rep, + mean_ratio=float(t.mean_ratio.mean()), + fork_rate=float(t.fork_rate.mean()), + deep_orphan_share=float(t.deep_orphan_share.mean()), + p_ref=float(t.p_ref.mean()), + max_reorg_depth=int(t.max_reorg_depth.max()), + range_ratio=float(t.range_ratio.max()), + agreement_window=float(t.agreement_window.min())) + + +def sweep() -> pd.DataFrame: + jobs = [(m, j, u, r) for m in ("countable", "old") for j in JITTERS + for u in CAPS for r in range(REPS)] + df = pd.DataFrame(Parallel(n_jobs=N_JOBS, backend="loky", inner_max_num_threads=1)( + delayed(_cell)(m, j, u, r) for m, j, u, r in jobs)) + df.to_parquet(RUNS / "spec_jitter.parquet", index=False) + return df + + +def report(df: pd.DataFrame) -> None: + print("\n=== accuracy vs per-(block,node) jitter at the spec point (delta_max = 4) ===") + print(f"{'jitter':>7} | " + " ".join(f"U={u}" for u in CAPS) + + f" | {'ceiling U=1':>11} {'gap':>8} {'deep orph':>10} {'fork':>6} {'consensus':>10}") + for j in JITTERS: + c = df[(df.model == "countable") & (df.jitter_mean == j)] + o = df[(df.model == "old") & (df.jitter_mean == j)] + cells = [f"{c[c.max_uncles == u].mean_ratio.mean():.4f}" for u in CAPS] + c1 = c[c.max_uncles == 1].mean_ratio.mean() + o1 = o[o.max_uncles == 1].mean_ratio.mean() + deep = c[c.max_uncles == 1].deep_orphan_share.mean() + fork = c[c.max_uncles == 1].fork_rate.mean() + ok = "exact" if c.range_ratio.max() == 0 else "SPREAD" + print(f"{j:7.1f} | " + " ".join(cells) + + f" | {o1:11.4f} {o1 - c1:+8.4f} {deep:10.4f} {fork:6.3f} {ok:>10}") + print("\ndeep orph = share of in-window orphans below their fork's first block " + "(uncountable by construction); gap = ceiling - countable at U=1") + + +def main() -> None: + print(f"=== E5: jitter sweep, exact oracle, {len(JITTERS)*len(CAPS)*REPS*2} runs ===") + report(sweep()) + print(f"\nwrote {RUNS}/spec_jitter.parquet") + + +if __name__ == "__main__": + main() diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py index 0d07b47..90ed0d4 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/epoch.py @@ -31,6 +31,8 @@ class EpochResult: mean_reorg_depth: float # mean maximal-orphan-branch depth p_ref: float # emergent reference rate: in-window orphans referenced as uncles p_ref_honest: float # ...restricted to orphans produced OUTSIDE the coalition + deep_orphan_share: float # in-window orphans deeper than their fork's first block + # (uncountable by construction, §2.1) deep_ref_share: float # share of examined references rejected by the parent-on-chain # (first-fork) counting rule; 0 under the old model @@ -114,7 +116,8 @@ def simulate_epoch( attribution = coalition_mask if coalition_mask is not None else adversary_mask adv_blocks, honest_blocks = _canonical_producer_split(tree, A, attribution, T, E) - fork_rate, max_reorg_depth, mean_reorg_depth, p_ref, p_ref_honest = fork.fork_stats( + (fork_rate, max_reorg_depth, mean_reorg_depth, p_ref, p_ref_honest, + deep_orphan_share) = fork.fork_stats( tree, A, T, cutoff=E, coalition_mask=attribution) ref_total = int(ms.ref_total.sum()) deep_ref_share = (int(ms.ref_deep.sum()) / ref_total) if ref_total else 0.0 @@ -126,5 +129,6 @@ def simulate_epoch( mean_orphan_rate=float(ms.orphan_rate.mean()), adv_blocks=adv_blocks, honest_blocks=honest_blocks, fork_rate=fork_rate, max_reorg_depth=max_reorg_depth, mean_reorg_depth=mean_reorg_depth, - p_ref=p_ref, p_ref_honest=p_ref_honest, deep_ref_share=deep_ref_share, + p_ref=p_ref, p_ref_honest=p_ref_honest, deep_orphan_share=deep_orphan_share, + deep_ref_share=deep_ref_share, ) diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/fork.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/fork.py index 1a2e887..cf73015 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/fork.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/fork.py @@ -19,8 +19,9 @@ from .blocktree import BlockTree def fork_stats(tree: BlockTree, A, T: int, cutoff: int, - coalition_mask=None) -> tuple[float, int, float, float, float]: - """Return ``(fork_rate, max_reorg_depth, mean_reorg_depth, p_ref, p_ref_honest)``. + coalition_mask=None) -> tuple[float, int, float, float, float, float]: + """Return ``(fork_rate, max_reorg_depth, mean_reorg_depth, p_ref, p_ref_honest, + deep_orphan_share)``. ``p_ref`` is the emergent **reference rate**: the fraction of in-window orphans that some canonical block references as an uncle — the quantity the §6.8 soft-inclusion argument @@ -35,7 +36,7 @@ def fork_stats(tree: BlockTree, A, T: int, cutoff: int, """ nb = tree.n_blocks if nb <= 1: - return 0.0, 0, 0.0, 1.0, 1.0 + return 0.0, 0, 0.0, 1.0, 1.0, 0.0 ids = np.arange(nb) if isinstance(A, np.ndarray): arrived = (A <= cutoff).any(axis=0) @@ -55,7 +56,7 @@ def fork_stats(tree: BlockTree, A, T: int, cutoff: int, in_win = (tree.slot >= 0) & (tree.slot < T) total = int(in_win.sum()) if total == 0: - return 0.0, 0, 0.0, 1.0, 1.0 + return 0.0, 0, 0.0, 1.0, 1.0, 0.0 # depth[b] = length of the non-canonical run ending at b (0 if canonical). Parent-before-child # holds because a block\'s parent has a strictly smaller id (built earlier). @@ -89,4 +90,10 @@ def fork_stats(tree: BlockTree, A, T: int, cutoff: int, honest_orphan = orphan_in_win & ~np.asarray(coalition_mask)[tree.leader] n_ho = int(honest_orphan.sum()) p_ref_honest = (int((honest_orphan & referenced).sum()) / n_ho) if n_ho else 1.0 - return fork_rate, max_depth, mean_depth, p_ref, p_ref_honest + + # Share of in-window orphans that sit DEEPER than the first block of their fork, i.e. whose + # parent is itself off-chain. These are exactly the blocks the countable rule can never + # reference (§2.1), so this is the direct structural observable behind the first-fork cost — + # p_ref conflates it with orphans that were merely never picked up. + deep_orphan_share = (float((depth[orphan_in_win] >= 2).sum()) / n_orphan) if n_orphan else 0.0 + return fork_rate, max_depth, mean_depth, p_ref, p_ref_honest, deep_orphan_share diff --git a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py index ab5c932..d6ac100 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py +++ b/tools/simulators/tsi/tsi-sim-pernode/src/tsi_sim/metrics.py @@ -66,6 +66,7 @@ def divergence_row( mean_reorg_depth=er.mean_reorg_depth, p_ref=er.p_ref, p_ref_honest=er.p_ref_honest, + deep_orphan_share=er.deep_orphan_share, deep_ref_share=er.deep_ref_share, ) return row diff --git a/tools/simulators/tsi/tsi-sim-pernode/tests/test_fork.py b/tools/simulators/tsi/tsi-sim-pernode/tests/test_fork.py index d41554e..ed364ea 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/tests/test_fork.py +++ b/tools/simulators/tsi/tsi-sim-pernode/tests/test_fork.py @@ -23,14 +23,14 @@ def make_tree(slots, parents, heights): def test_no_forks(): # a straight chain 1->2->3, no orphans tree = make_tree([-1, 0, 1, 2], [-1, 0, 1, 2], [0, 1, 2, 3]) - fr, mx, mn, pr, _ = fork_stats(tree, None, T=10, cutoff=100) + fr, mx, mn, pr, _, _ = fork_stats(tree, None, T=10, cutoff=100) assert fr == 0.0 and mx == 0 and mn == 0.0 def test_single_orphan_depth_one(): # canonical 1(s0),2(s1),4(s3); orphan 3(s2) hangs off block1 -> branch depth 1 tree = make_tree([-1, 0, 1, 2, 3], [-1, 0, 1, 1, 2], [0, 1, 2, 2, 3]) - fr, mx, mn, pr, _ = fork_stats(tree, None, T=10, cutoff=100) + fr, mx, mn, pr, _, _ = fork_stats(tree, None, T=10, cutoff=100) assert mx == 1 assert abs(fr - 1 / 4) < 1e-9 # 1 orphan of 4 in-window blocks @@ -39,7 +39,7 @@ def test_deep_orphan_branch(): # canonical spine 1..3 (heights 1,2,3); a 2-deep orphan branch 4->5 off block1 # blocks: 0 gen; 1(s0,h1),2(s1,h2),3(s2,h3) canonical; 4(s1,h2)->1, 5(s2,h3)->4 orphan tree = make_tree([-1, 0, 1, 2, 1, 2], [-1, 0, 1, 2, 1, 4], [0, 1, 2, 3, 2, 3]) - fr, mx, mn, pr, _ = fork_stats(tree, None, T=10, cutoff=100) + fr, mx, mn, pr, _, _ = fork_stats(tree, None, T=10, cutoff=100) assert mx == 2 # branch 4->5 is 2 deep assert abs(fr - 2 / 5) < 1e-9 # 2 orphans of 5 diff --git a/tools/simulators/tsi/tsi-sim-pernode/tests/test_selfish_engine.py b/tools/simulators/tsi/tsi-sim-pernode/tests/test_selfish_engine.py index f8efab4..6c46fc1 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/tests/test_selfish_engine.py +++ b/tools/simulators/tsi/tsi-sim-pernode/tests/test_selfish_engine.py @@ -148,8 +148,12 @@ def test_uncle_counting_repairs_part_of_the_selfish_deflation(): def test_p_ref_honest_defaults_to_p_ref_without_a_coalition(): from tsi_sim.fork import fork_stats cfg, tree, A, _ = _tree() - *_, p_ref, p_ref_h = fork_stats(tree, A, cfg.period_T, cutoff=cfg.epoch_len) - assert p_ref == p_ref_h + # Unpack by position, not with a splat: fork_stats has grown a field twice now, and a + # trailing `*_, a, b` silently re-binds to different quantities each time it does. + (_fork_rate, _max_d, _mean_d, p_ref, p_ref_honest, + deep_orphan_share) = fork_stats(tree, A, cfg.period_T, cutoff=cfg.epoch_len) + assert p_ref == p_ref_honest # no coalition -> the two coincide + assert 0.0 <= deep_orphan_share <= 1.0 @pytest.mark.parametrize("strategy", ["selfish", "withhold"]) From a82e4cb706087ab0c69ac2c408cdc5117600f779 Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Fri, 7 Aug 2026 11:31:47 +0200 Subject: [PATCH 4/6] E5: the section's number is reproducible at ~8 slots of per-recipient spread The last and most consequential handoff experiment -- the only one that could have invalidated the report rather than the spec section. It does not, but the result is more useful than a refutation: it identifies the assumption the section's number encodes. Sweeping per-(block,node) jitter interpolates between the two transport models, since jitter is precisely what the standalone simulation had and the Blend cascade does not. At the deployment's operating point, D-hat/D at U=1 runs 0.9983 / 0.9992 / 0.9991 / 0.9971 / 0.9871 for jitter 0/1/2/4/8 slots, with the share of orphans below their fork's first block rising 0.25% -> 3.30%. So BOTH branches of the handoff's pass/fail are true at different levels: flat to ~2 slots, and at 8 slots it lands on 0.9871 -- essentially the section's 0.986. That turns the disagreement into a checkable question. The cascade's variance is per BLOCK (every recipient moved together by the final flood, harmless to the estimate); jitter is per RECIPIENT (divergent, and the only kind that makes forks deeper than one block, which the counting rule cannot recover). Blend delivers ~0.5 slot of per-recipient spread over a degree-6 graph, so the design sits an order of magnitude inside the flat region and 8 slots is ~16x what the transport produces. The section charged per-recipient variance where Blend delivers per-block; that distinction is the whole disagreement. Consensus is untouched at every level (range_ratio = 0 and agreement = 1.000 in all 480 runs), reconfirming sec 6.1 at the deployment's own point. Partly closes open item 15: the report now carries a measured bound on per-recipient variance instead of assuming the transport. Spatially CORRELATED latency is still untested -- jitter is i.i.d. per (block, node), so it cannot model a region straggling as a bloc, and item 15 is narrowed to that. Also lands the sec 4.1 item 2 relabel from the handoff guide: the unrestricted arm is an unreachable CEILING, not a candidate design, because the spec now rejects a block carrying an entry that fails the counting rules. Sec 2.1 and the header note say so explicitly rather than calling it "the comparison baseline". Co-Authored-By: Claude Fable 5 --- reports/tsi/README.md | 21 +++++++++++++--- reports/tsi/handoff-fork-loss-results.md | 32 ++++++++++++++++++++---- 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/reports/tsi/README.md b/reports/tsi/README.md index fd3aa09..647f842 100644 --- a/reports/tsi/README.md +++ b/reports/tsi/README.md @@ -58,7 +58,7 @@ --- -> **The uncle-reference model analysed here.** Uncle references are *counting-only* — they never affect a block's validity ([§6.7](#s6-7)–[§6.8](#s6-8)) — and are deduplicated by **slot**, not by block ([§8.5](#s8-5)). The reference window is derived from a **window absorption parameter**, `w_u = W_abs/f` with `W_abs = 10` expected block-intervals and bound `W_abs ≤ 0.6·k`, which is the `W = 300 = 10/f` sizing rule of [§3.4](#s3-4). One structural constraint shapes the results: only the **first block of a fork** — one whose parent lies on the referencing chain — is countable, which is the price of verifying every reference from chain data alone. This report calls that the **countable** model, and measures it against an **unrestricted** baseline in which any orphan in the window is referenceable at any fork depth ([§2.1](#s2-1), [§3.2](#s3-2), [§9](#s9)). The result: **in the design regime `ρ < 1` the two are practically identical.** A dedicated 40-replicate **paired** sweep of the operating band (`δ_max` 1–5, `ρ ≈ 0.21–0.41`), in which both arms share the stake draw, the peering graph and every lottery outcome so the uncle rule is the only difference, puts every `U ≥ 1` cell of both models in 0.998–1.001 and pins the first-fork cost at **nothing measurable up to `δ_max` = 3 and ~0.1 % at `δ_max` = 4–5** ([§3.2a](#s3-2a)). Measured against the unrestricted baseline under common random numbers, the cost grows monotonically with load — 0.13 % at `ρ ≈ 0.36`, 0.34 % at `ρ ≈ 0.56`, 1.0 % at `ρ ≈ 0.96` and 2.3 % under overload at `ρ ≈ 1.76`, where recovery saturates near 0.95 against the unrestricted model's ~1.00. Deep forks are unrecoverable by construction, so past `ρ ≈ 1` the ceiling is set by the fork *depth* profile and **no uncle cap buys it back** — a second, independent reason for the [§8](#s8) "keep `ρ < 1`" rule. The closed-form accuracy with the measured effective utilization, `log(1−f)/log(1−f/q_u)`, predicts every countable cell to within 0.2 %. +> **The uncle-reference model analysed here.** Uncle references are *counting-only* — they never affect a block's validity ([§6.7](#s6-7)–[§6.8](#s6-8)) — and are deduplicated by **slot**, not by block ([§8.5](#s8-5)). The reference window is derived from a **window absorption parameter**, `w_u = W_abs/f` with `W_abs = 10` expected block-intervals and bound `W_abs ≤ 0.6·k`, which is the `W = 300 = 10/f` sizing rule of [§3.4](#s3-4). One structural constraint shapes the results: only the **first block of a fork** — one whose parent lies on the referencing chain — is countable, which is the price of verifying every reference from chain data alone. This report calls that the **countable** model, and measures it against an **unrestricted** ceiling in which any orphan in the window is referenceable at any fork depth ([§2.1](#s2-1), [§3.2](#s3-2), [§9](#s9)) — a bound on what any counting rule could recover, not a candidate design, since the spec rejects a block carrying an entry that fails the rules. The result: **in the design regime `ρ < 1` the two are practically identical.** A dedicated 40-replicate **paired** sweep of the operating band (`δ_max` 1–5, `ρ ≈ 0.21–0.41`), in which both arms share the stake draw, the peering graph and every lottery outcome so the uncle rule is the only difference, puts every `U ≥ 1` cell of both models in 0.998–1.001 and pins the first-fork cost at **nothing measurable up to `δ_max` = 3 and ~0.1 % at `δ_max` = 4–5** ([§3.2a](#s3-2a)). Measured against the unrestricted baseline under common random numbers, the cost grows monotonically with load — 0.13 % at `ρ ≈ 0.36`, 0.34 % at `ρ ≈ 0.56`, 1.0 % at `ρ ≈ 0.96` and 2.3 % under overload at `ρ ≈ 1.76`, where recovery saturates near 0.95 against the unrestricted model's ~1.00. Deep forks are unrecoverable by construction, so past `ρ ≈ 1` the ceiling is set by the fork *depth* profile and **no uncle cap buys it back** — a second, independent reason for the [§8](#s8) "keep `ρ < 1`" rule. The closed-form accuracy with the measured effective utilization, `log(1−f)/log(1−f/q_u)`, predicts every countable cell to within 0.2 %. ## 1. Executive summary @@ -136,7 +136,7 @@ D̂_next = max(1, D̂ · (1 − β·(f_p − m/T)/f_p)) β = learning rate Occupied slots more frequent than the target push the estimate up (the lottery then gets harder); less frequent pulls it down; `m/T = f_p` is the resting point. The two versions differ **only in which slots count**: - **Before uncle references (spec v1.0):** `m` counts only slots occupied by the *canonical* chain. Under Blend delay roughly a third of honest blocks are orphaned, so their slots vanish from `m`, the resting point sits far below truth (`D̂/D ≈ 0.64–0.74`, deepening with network size), and the deflated estimate makes the network *chronically over-produce* blocks at up to ~2× the target rate ([§3.2](#s3-2), fig1). Pre-uncle TSI is not viable under Blend. -- **With uncle references, counting whole blocks (the *unrestricted* model):** `m` also counts the *referenced uncles* — orphans pointed at from the canonical chain — which puts the delay-orphaned slots back into the count and lifts the resting point up toward `D`. Any orphan in the reference window is eligible regardless of how deep in a fork it sits, and references are deduplicated by *block identity*. This report analyses it as the comparison baseline throughout, and calls it the **unrestricted** model. +- **With uncle references, counting whole blocks (the *unrestricted* model):** `m` also counts the *referenced uncles* — orphans pointed at from the canonical chain — which puts the delay-orphaned slots back into the count and lifts the resting point up toward `D`. Any orphan in the reference window is eligible regardless of how deep in a fork it sits, and references are deduplicated by *block identity*. This report analyses it throughout, and calls it the **unrestricted** model — but as a *ceiling*, not as a design alternative. The spec gates uncle validity: a block carrying an entry that fails the counting rules is **rejected** outright (*Block Header Validation* step 10), so a chain in which deep-fork orphans are referenced cannot exist. The unrestricted arm therefore measures the unreachable upper bound on what any counting rule could recover, and every "countable vs unrestricted" comparison below should be read as "what the deployed rule recovers, against the most any rule could". - **With uncle references, counting slots under the first-fork restriction (the *countable* model — the rules analysed here):** two changes. First, deduplication is by **slot**, not by block: a referenced uncle sharing a slot with a canonical block, or with another counted uncle, adds nothing. Second, only the **first block of a fork** — one whose parent lies on the referencing chain — is countable, which is what makes every reference verifiable from chain data alone (deeper fork blocks would need the fork branch's ledger state). References never affect a block's validity; they are *counting-only*, the soft-rule property the incentive analysis requires ([§6.7](#s6-7)–[§6.8](#s6-8)). The reference window is *derived* from a **window absorption parameter**, `w_u = W_abs/f` with `W_abs = 10` expected block-intervals and bound `W_abs ≤ 0.6·k` — the `W = 10/f` sizing rule of [§3.4](#s3-4). The price of chain-only verifiability is that deep-fork orphans are unrecoverable by construction; [§3.2](#s3-2) measures what that costs, and the answer is nothing in the design regime and a bounded ceiling under overload. Slot deduplication is what makes the recovered equilibrium exactly 1.0 rather than a ceiling above it. Counting uncle *blocks* instead double-counts same-slot co-winners (one canonical, one referenced orphan) and inflates the equilibrium by the fixed multi-winner factor `c(f) ≈ 1.017` — a genuine accuracy bias, not a simulation artefact. Every result in this report uses the slot count; where a figure or table compares the two referencing models, the unrestricted baseline is labelled as such ([§9](#s9)). @@ -508,6 +508,16 @@ Adding random per-delivery arrival noise changes nothing: consensus stays exact. Jitter feeds exactly the tip-level churn that [§3.1](#s3-1) showed never reaches the finalized density window. The reason is structural: the density window opens a full epoch back (`E = 10·⌊k/f⌋` slots) and *closes* `E − T = 4·⌊k/f⌋` slots before the chain is snapshotted for measurement — 259 200 slots ≈ 8 640 blocks ≈ 4k at k = 2160, f = 1/30, i.e. ~3k blocks deeper than `k`-finality — so every block has reached every node by measurement time regardless of jitter, and all nodes still compute an identical `D̂`. The "one global `D̂`" claim therefore holds off the `jitter = 0` axis. +**How much per-recipient variance would it take to matter?** The jitter above is a *robustness* probe; the same lever also answers a modelling question, because jitter is exactly the difference between this simulator's transport and one that draws an independent delay per (block, recipient). The cascade's variance is per **block** — every recipient is moved together by the final flood — while jitter is per **recipient**, and only the second kind desynchronises views and manufactures forks deeper than one block, which the counting rule cannot recover ([§2.1](#s2-1)). Swept at the deployment's operating point (`δ_max` = 4, exact oracle, both referencing models, 480 runs): + +| `jitter_mean` (slots) | 0 | 1 | 2 | 4 | 8 | +|---|---|---|---|---|---| +| `D̂/D` at `U = 1` | 0.9983 | 0.9992 | 0.9991 | 0.9971 | 0.9871 | +| orphans below their fork's first block | 0.25 % | 0.38 % | 0.53 % | 1.20 % | 3.30 % | +| fork rate | 0.266 | 0.272 | 0.275 | 0.310 | 0.366 | + +Accuracy is flat to ~2 slots and only then bends: at 8 slots the deep-fork share reaches 3.3 % and the estimate falls to 0.987. Blend's own cascade delivers about **0.5 slot** of per-recipient spread — the gossip flood over a degree-6 graph ([§2](#s2)) — so the design sits an order of magnitude inside the flat region. The sensitivity is nevertheless real, and quoting it is what makes the accuracy claims conditional on a *stated* transport property rather than an unstated one. Consensus is unaffected throughout (`range_ratio = 0`, `agreement_window = 1.000` in every one of the 480 runs), so this is an accuracy sensitivity only. + **Clock skew: bounded, but not identically zero.** A whole-timeline shift of a node's slot clock — unlike per-arrival jitter, it shifts the node's measurement-window bounds — was tested directly (its own generator, `scripts/clock_skew.py`, [§9](#s9)). A skew of up to ±20 slots moves each node's occupied-slot count by at most the one or two blocks in the shifted window edge, an inter-node spread of at most `max(1/m, 2·skew/T)`, where `m = f·T` is the window's occupied-slot count — the discrete one-block floor `1/m` dominates for `skew < 1/(2f)`, and the measured spread is indeed a flat `1/m` at every skew from 1 to 20 slots. At the production window (`T = 6·⌊k/f⌋ = 388 800` slots, so `m = f·T = 12 960`) both terms are `≈ 1×10⁻⁴` — bounded and negligible, but, unlike jitter's exact 0, not identically zero. So bounded clock skew is a small quantifiable consensus cost, not a break ([§8.3](#s8-3) item 6). @@ -840,7 +850,7 @@ Everything below is assembled from this report's own measurements; each row cite | 11 | reward schedule | **substantial `w_u` (Ethereum's GHOST-style uncle rewards are the precedent); `w_u + w_n < 1` strictly enforced** | farming a real leadership win into a self-uncle + self-nephew pays `w_u + w_n` against an honest block's 1 — the binding invariant is the *sum* (0.875 + 0.03125 = 0.906 is safe; 0.875 + 0.15 = 1.025 is not); `w_u` compensates honest orphans (recovery → 1.0) and makes hiding forfeit both rewards | [§6.7](#s6-7)(a), figs 14, 15 | | 12 | peering degree | **degree 4 is acceptable for smaller networks — up to N ≈ 2×10⁵ it keeps the load under 0.9 at the 8-s budget; use ≥ 6 beyond, and scale with the target size** | degree sets the gossip-diameter slope `ℓ_mean ≈ a_d·ln N`, and at a fixed blending budget that slope decides when `U = 1` runs out: at δ = 8 s, degree 4 exhausts U = 1 near **N* ≈ 8×10⁵** (its ladder curve already touches the recovery bar at N = 32 000), degree 6 holds to N ~ 4×10⁹, degree 8 to ≈ 6×10¹² — one degree step (4 → 6) buys ~5 000× more network at the same budget. Degree and the uncle cap are exchangeable defences against growth: densify the graph or add an uncle slot, whichever is cheaper. Plus the small-N benefit of better U = 0 recovery (tip agreement is comparable: deg 6 0.985–0.993 vs deg 4 0.988–0.994) | [§3.7](#s3-7), figs 23, 24; fig19; [Appendix C](#sC) (fig18) | | 13 | Blend delay budget | **choose `hops·δ_max` so `ρ ≲ 1`**; if `U ≥ ⌈ρ⌉` exceeds the uncle-slot budget, cut blending — no window fixes `U < ρ` | worked examples: 3 hops × 8 s at f = 1/30 → ρ ≈ 0.56, U = 2 recommended; the same Blend at f = 1/10 → ρ ≈ 1.7, U = 3 | [§4](#s4); [§6.3](#s6-3)(iii) | -| 14 | on-chain `f` precision | **carry the target rate `f` at 10⁻⁶ precision** (was 10⁻³) | removes the sole residual bias after slot-counting — the ≈ 1 % `f/f_p` over-estimate (a ~1 % win-probability under-delivery and slow canonical pace); one-constant change, no dynamics cost, no fork risk. **Exceeded** in this report's estimator, which uses exact `f` (residual 0), finer than the recommended 10⁻⁶ bump (`f_p = 0.033333`, residual < 10⁻⁵) | [§2.2](#s2-2), [Appendix A](#sA) | +| 14 | on-chain `f` precision | **carry the target rate `f` at 10⁻⁶ precision** (was 10⁻³) | removes the sole residual bias after slot-counting — the ≈ 1 % `f/f_p` over-estimate (a ~1 % win-probability under-delivery and slow canonical pace); one-constant change, no dynamics cost, no fork risk. **Now measured in the full dynamics, not just derived:** at the deployment's operating point the three arms read `D̂/D` = 0.99997 (exact `f`) / **1.01026** (the spec's 10⁻³) / 0.99990 (the recommended 10⁻⁶), against closed forms of 1.000 / 1.0101 / 1.00001. The deployed bias is real, is ~13× the first-fork cost, and is the largest single error in the deployed estimator | [§2.2](#s2-2), [Appendix A](#sA); `scripts/spec_point.py` | | 15 | reorg / confirmation depth | keep **`ρ < 1`** so fork-induced amplification stays below the effective-majority cliff; for soft settlement, wait `d` blocks per the [§6.10](#s6-10) tail (≈ 4/8/17 blocks for 99.9 % against 10/20/30 % stake at N = 1 000, degree 6 — deeper on larger or sparser networks, per the [§6.10](#s6-10) scale table) | reorg depth is bounded and shallow only while the honest fork rate is low; at 30 % stake past `ρ ≈ 1` it is unbounded ([§6.10](#s6-10), figs 27–28) | [§6.10](#s6-10) | @@ -871,7 +881,7 @@ Everything below is assembled from this report's own measurements; each row cite 12. **Network partition/heal — reasoned, not simulated ([§6.1](#s6-1)).** TSI reads its density window well past `k`-finality (it closes `4·⌊k/f⌋` slots before the estimate is used), so a partition that heals *within* the finality depth is invisible: all honest nodes reconverge on one canonical chain before the measurement window closes and compute an identical `D̂` — the same finality-window argument that makes jitter and clock skew harmless ([§6.1](#s6-1)). A partition lasting *longer* than finality is a consensus-layer safety failure (the chain forks irreparably) that TSI inherits but does not worsen — it adds no partition vulnerability of its own. A direct partition-and-heal simulation is left as future work. 13. **Reward payout mechanism unspecified ([§8.5](#s8-5)).** Rows 10–11 give the incentive constraints, not the encoding. Header-count indistinguishability (Blend) and the equal-share, content-independent voucher of the Anonymous Leaders Reward Protocol are the binding constraints on any `w_u`/`w_n` schedule, and reconciling them — including a payout path for a producer whose block is off-chain — is spec work left open here. 14. **Temporal resolution — `D̂` is stale by design ([§6.11](#s6-11)).** With `β = 1`, `D̂` tracks active stake at a one-epoch (≈ 7.5-day) lag, so it reflects participating stake from ~1–2 weeks ago and updates only weekly; a genuinely *sub-epoch* swing (daily or intra-week churn) falls below the estimator's Nyquist limit and is not tracked as a cycle at all. This is the correct trade for organic churn (row 5), but it bounds how fast TSI can follow real participation changes — flagged, not a defect. -15. **Correlated latency untested ([§2](#s2)).** Both link distributions draw each link *independently*, so the sweeps probe the latency marginal, not its spatial structure; geographically **correlated** latency (regional clustering that lets co-located nodes fork as a bloc) is not modelled. In the primary Blend regime the per-hop mixing delay dominates the geographic link term, so this is expected to stay second-order — but it is untested. +15. **Latency *structure* — now bounded in one direction, still untested in the other ([§2](#s2), [§6.1](#s6-1)).** The magnitude of per-recipient variance is measured: sweeping per-(block, node) jitter at the deployment's operating point leaves accuracy at 0.999 up to ~2 slots and degrades it to 0.987 by 8 slots, as unrecoverable deep-fork orphans rise 0.25 % → 3.3 %. Blend's cascade delivers roughly 0.5 slot of per-recipient spread, so the design sits an order of magnitude inside the safe range — but the sensitivity is real and the report now carries it rather than assuming it. What is still untested is the *spatial* structure: jitter is i.i.d. per (block, node), so geographically **correlated** latency, which would let co-located nodes fork as a bloc, is still not modelled. 16. **The deflation-optimal adversary — measured, and it is worse than the revenue-optimal one ([§6.6](#s6-6), `fig37`).** The ceilings elsewhere come from adversaries optimising revenue or reorg depth, so they bound `η` from above rather than the damage from below. Optimising the estimate directly: unconstrained the optimum is abstention (`D̂ = 1−α`, zero revenue, and [§6.4](#s6-4)-correct measurement rather than a mis-measurement); constrained to earn at least what honest mining pays (in absolute reward per unit time, not revenue share — the two differ by `density/D̂`), it reaches `D̂` = 0.65 at α = 0.4 against the revenue-optimal 0.81, and the exposure opens near α ≈ 0.37–0.38 rather than at the `⅓` threshold. What remains open is the *joint* problem — this frontier is single-coalition and, like everything in [§6.6](#s6-6), assumes `p_ref` is exogenous rather than something the attacker also manipulates (item 10). 17. **The `β_adv` axis is a nominal target, not a realised share ([§6.5](#s6-5)).** A random coalition is grown until its stake first reaches `β_adv`, so the last node added overshoots by its own size — under a Pareto tail, potentially a whale. The realised block share at a nominal `β_adv` = 0.1 is 0.137 ± 0.108, and that variance dominates the mean at small `β_adv`. The conclusions here are drawn from monotone trends across the axis and are unaffected, but a reader should not read `β_adv` as an achieved share; a whale coalition (filled largest-first to the target) lands on it precisely and is the cleaner instrument where the exact share matters. 18. **The collapsed-branch tail is uncharacterised ([§6.2](#s6-2)).** Static withholding reaches the collapsed branch once in 96 runs — one replicate of the concentrated (whale) 50 % coalition at `δ_max` = 8 s — and never at `δ_max` = 4 s. One reproducible event is enough to retire "not an observed dynamical trap" but far too thin to give the event a rate; its frequency against `β_adv`, `ρ` and coalition concentration is unmeasured. @@ -960,6 +970,9 @@ Sweep studies are committed configs, run with `make ` (writes a dated `run | **residual §6.5-scope variants** (whale coalitions, `jitter > 0`, very slow `β`, and the static-withholding load sweep that finds the collapsed-branch event) | `scripts/adversary_variants.py` (`adversary_selection`); `runs/adversary_variants_{whale,jitter,beta,withhold_load}.parquet` | [§6.2](#s6-2), [§6.5](#s6-5) | | **uncle cap under a private chain** (`U` × `W` × `α` against the SM1 engine adversary, plus the structural/queue decomposition of the honest orphans) | `scripts/selfish_uncle_margin.py` (`adversary_strategy: selfish`); `runs/selfish_uncle_margin{,_decomp}.parquet` | [§6.8](#s6-8) | | **profit/deflation frontier** (how far a *paid* adversary can deflate `D̂`; the deflation-optimal MDP) | `scripts/deflation_frontier.py` (`selfish_mdp.deflation_frontier`, `.deflation_optimal_stats`); fig37 | [§6.6](#s6-6) | +| **the deployed operating point** (`δ_max` = 4 from the spec's Blend profile; the three `f`-precision arms) | `scripts/spec_point.py` (`f_precision`); `runs/spec_point.parquet` | [§2.2](#s2-2), [§8.5](#s8-5), [Appendix A](#sA) | +| **per-recipient delay variance** (jitter 0–8 slots × `U`, both referencing models, exact oracle) | `scripts/spec_jitter.py`, `configs/spec-point-jitter.yaml`; `runs/spec_jitter.parquet` | [§6.1](#s6-1), [§8.3](#s8-3) item 15 | +| **the spec point at scale and by window** (`N` = 5000; `W_abs` sweep at `δ_max` = 4) | `configs/spec-point-n5000.yaml` (run twice, `--old`), `configs/spec-point-window.yaml` | [§3.4](#s3-4), [§8.5](#s8-5) | **Uncle-model convention.** The simulator's default is the **countable** model — first-fork candidates only, derived window `w_u = W/f`, occupied-slot exclusion, per-reference counting rules ([§2.1](#s2-1)). The **unrestricted** baseline is preserved in the code and selected with `--old` on `tsi-sweep`/`tsi-verify`. Its RNG key is byte-identical to the pre-restriction key, so `--old` **bit-reproduces the earlier runs**: a `rho-boundary` cell (δ_max = 8, U = 2, k = 256, N = 1 000) re-run under `--old` matches the committed `2026-07-27_195627_rho-boundary` parquet with `max |Δ| = 0` on every epoch and every metric. Studies in the table above that predate the countable default were produced under the unrestricted model and reproduce exactly under `--old`; the comparison rows quantify where the two models differ, and in the design regime (`ρ < 1`) no difference is resolvable, so those findings carry over unchanged. diff --git a/reports/tsi/handoff-fork-loss-results.md b/reports/tsi/handoff-fork-loss-results.md index f32d72a..0198565 100644 --- a/reports/tsi/handoff-fork-loss-results.md +++ b/reports/tsi/handoff-fork-loss-results.md @@ -6,10 +6,12 @@ ## Verdict -**The added section's headline is wrong by ~10×, and it is agonising over the wrong bias.** The residual it attributes to deep forks is 0.08 pp, not 1.4 %. Meanwhile the deployed estimator carries a **+1.0 % bias of the opposite sign** that the section does not mention — from the `f` rounding, not from forks. Rewriting the section around the second number rather than the first is the substantive change. +**The added section's headline is wrong by ~17×, and it is agonising over the wrong bias.** The residual it attributes to deep forks is 0.08 pp, not 1.4 %. Meanwhile the deployed estimator carries a **+1.0 % bias of the opposite sign** that the section does not mention — from the `f` rounding, not from forks. Rewriting the section around the second number rather than the first is the substantive change. The no-uncle loss is also **understated, not overstated**: 33 % at the operating point, not 18.7 %, and it deepens with network size. +**But the section's number is not an arithmetic error, and E5 identifies what it is.** It is what this model produces once per-recipient delay spread reaches ~8 slots — which is ~16× the gossip spread Blend's cascade actually delivers, because the cascade's variance is per *block* (shared by all recipients, harmless to the estimate) rather than per *recipient* (divergent, and the only kind that manufactures unrecoverable forks). That distinction is the whole disagreement and belongs in the rewritten section. + ## The requested table ``` @@ -27,7 +29,11 @@ E3 largest ρ with U=4 ≥ 0.98: > 1.87 (U=3 already suffices there) margin: E4 D̂/D vs W_abs {1,2,3,5,7,10,15,20}: 0.854 / 0.938 / 0.967 / 0.992 / 0.999 / 0.998 / 0.999 / 1.000 knee at W_abs ≈ 5; spec's W = 10 sits ~2× above it -E5 not yet run (the jitter diagnostic — see "What is still open") +E5 jitter_mean {0,1,2,4,8} slots, δ_max = 4, U=1, exact oracle, 12 reps: + D̂/D 0.9983 / 0.9992 / 0.9991 / 0.9971 / 0.9871 + depth≥2 orphans 0.25 % / 0.38 % / 0.53 % / 1.20 % / 3.30 % + consensus range_ratio = 0 and agreement = 1.000 in all 480 runs + → the section's 0.986 is reproducible, at ~8 slots of per-recipient variance E6 fixed_point off / 1e3 / 1e6: 0.99997 / 1.01026 / 0.99990 (predicted 1.000 / 1.0101 / 1.00001) ``` @@ -70,11 +76,27 @@ Three arms, identical but for the estimator's target-rate quantisation: The deployed estimator drives density to `f_p = 0.033` instead of `1/30`, so the chain reads **1.0 % high** — measured in the full per-node dynamics, matching `theory.fixed_point_bias` to within one standard error. It is ~13× the first-fork cost the section is concerned with, opposite in sign, and removed entirely by a one-constant change. -## What is still open +### E5 — the diagnostic: the section's number is reproducible, and that pins its hidden assumption -**E5 — the diagnostic — has not been run.** It is the only experiment that could invalidate the *report* rather than the section, and the primary hypothesis for the original discrepancy: the standalone simulation drew an independent delay per (block, recipient), while the simulator's Blend cascade floods from the last relay, so views stay synchronised. If real Blend carries more per-recipient variance, the design-regime numbers above are optimistic. The lever exists (`jitter_mean`) and this is also the report's open item 15. +This was the experiment that could have invalidated the *report*. It does not — but it does something more useful than refuting the section: it says exactly what the section's number assumes. -Until E5 runs, every number here carries the cascade model's assumption that nodes receive a block at nearly the same time. +Sweeping per-(block, node) arrival jitter on top of the cascade interpolates between the two delay models — 0 is the report's cascade, large values approach the standalone's independent-per-recipient draws: + +| `jitter_mean` (slots) | 0 | 1 | 2 | 4 | 8 | +|---|---|---|---|---|---| +| `D̂/D` at `U = 1` | 0.9983 | 0.9992 | 0.9991 | 0.9971 | **0.9871** | +| depth-≥2 orphans | 0.25 % | 0.38 % | 0.53 % | 1.20 % | **3.30 %** | +| fork rate | 0.266 | 0.272 | 0.275 | 0.310 | 0.366 | + +**Both branches of the handoff's pass/fail are true, at different jitter levels.** Up to ~2 slots of per-recipient variance the report is entirely robust: accuracy 0.999, deep orphans half a percent. But at 8 slots accuracy lands on **0.9871** — essentially the section's 0.986 — with deep orphans at 3.3 %. So the standalone result is not arithmetic error; it is what this model produces once per-recipient spread reaches roughly eight seconds. + +That converts the disagreement into a question with a checkable answer: **does Blend deliver ~8 slots of per-recipient spread?** Under the spec's own model it cannot come close. The blending delay is a fixed per-hop dwell and the cascade's final step is a network-wide gossip flood from the last relay, so what varies per *recipient* is only that flood — and the report measures the gossip spread at `ℓ_mean ≈ 0.5` slot over a degree-6 graph. Eight slots is ~16× that. Per-*block* delay variance, which the cascade does have and which is large, moves every recipient together and so creates no deep forks at all. + +The distinction is the whole disagreement, and it is worth stating in the section: **variance in *when a block becomes public* is harmless to the estimate; variance in *when each node sees it* is what manufactures unrecoverable forks.** The two are easy to conflate and the standalone model charged the second where Blend delivers the first. + +Consensus is untouched throughout — `range_ratio = 0` and `agreement_window = 1.000` in all 480 runs, at every jitter level — reconfirming §6.1's structural argument at the deployment's own operating point. + +**This also partly closes the report's open item 15** (correlated/heterogeneous latency untested): the report is robust to per-recipient variance up to ~2–4 slots and degrades measurably beyond, which is a bound it did not previously carry. What remains untested there is *spatially correlated* latency — nodes in a region straggling together — which jitter, being i.i.d. per (block, node), does not model. ## Notes on the guide (§4) From 18c15d329c6c40b64aef94b188a1fc84da15378e Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Fri, 7 Aug 2026 11:36:01 +0200 Subject: [PATCH 5/6] Documentation sweep: make every finding reachable from the docs, not just the commits Audited the report against this session's artifacts. All 37 figures are referenced and none is orphaned, sec 8.3 items 1-19 are contiguous, and no internal anchor is dead. Two knobs were measured but undocumented, and the simulator README had drifted behind the code: - sec 7 now documents f_precision alongside fixed_point, with the three measured arms (0.99997 exact / 1.01026 at the spec's 1e3 / 0.99990 at 1e6) rather than just the closed form, and says plainly that the default is the DESIGN choice while a spec-faithful arm needs both flipped. - sec 7 gains deep_orphan_share, with its three regimes: 0.25% honestly, 3.3% at 8 slots of per-recipient jitter, 19-41% under a private chain. It is the quantity p_ref conflates with "eligible but never picked up", which is the distinction that answered item 5. - The simulator README lists the four new scripts and the new configs, describes all three adversary strategies (the selfish one was undocumented there), adds the new fork-structure metrics, and carries a short "modelling the DEPLOYED chain rather than the mechanism" table -- the two defaults that are deliberately not spec-faithful, and when to flip them. Co-Authored-By: Claude Fable 5 --- reports/tsi/README.md | 3 +- .../simulators/tsi/tsi-sim-pernode/README.md | 31 ++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/reports/tsi/README.md b/reports/tsi/README.md index 647f842..a71c0c8 100644 --- a/reports/tsi/README.md +++ b/reports/tsi/README.md @@ -793,7 +793,7 @@ Every parameter a protocol designer or operator can set, in three groups: **prot | `w_u`, `w_n` — uncle / nephew rewards | compensation for referenced orphans / for referencing them | fairness: honest recovery 0.61 → 1.00 as `w_u` 0 → 1 (at `p_ref` = 1); hiding forfeits both rewards; safety invariant **`w_u + w_n < 1`** (else uncle farming pays); raising `w_n` alone marginally *helps* the attacker | [§6.7](#s6-7)/6.8, figs 14, 15 | | inclusion rule | whether references are incentivised or mandated | **soft** (reward-weighted) only — a hard validity mandate cannot be encoded fork-safely (censorship or consensus fork) | [§6.8](#s6-8) | | `genesis_d_factor`, `init_dest` | the initial `D̂` | a *common* wrong guess self-corrects in ~2 epochs (fig1); a *heterogeneous* init is preserved forever (fig21) — genesis `D̂` must be a shared constant | [§3.2](#s3-2), [Appendix C](#sC) | -| `fixed_point` | on-chain integer-f truncation `f_p = ⌊f·1000⌋/1000` | the **only** residual bias after slot-counting: ≈ +1 % (`f/f_p`), removed by higher-precision `f` ([Appendix A](#sA)) | [§2.2](#s2-2), [§5](#s5) | +| `fixed_point`, `f_precision` | whether the estimator quantises its target rate as the on-chain integer algorithm does, and at what scale (`f_p = ⌊f·f_precision⌋/f_precision`) | the **only** residual bias after slot-counting. Measured at the deployment's operating point: `D̂/D` = 0.99997 with exact `f`, **1.01026** at the spec's `f_precision` = 10³, 0.99990 at the recommended 10⁶. Default off, because a design question wants the mechanism isolated — but a *spec-faithful* arm must set `fixed_point: true, f_precision: 1000`, and that arm is the one that says what a deployed chain would read | [§2.2](#s2-2), [§5](#s5), [Appendix A](#sA) | ### 7.2 Network / environment parameters @@ -814,6 +814,7 @@ Every parameter a protocol designer or operator can set, in three groups: **prot | knob | probes | result | where | |---|---|---|---| | `adversary_strategy: selfish` | private-chain (SM1) override in the per-node engine | the profitable lever, now measurable end-to-end: revenue tracks Eyal–Sirer at sub-slot latency (0.0356 vs 0.0356 at α = 0.1) and exceeds it as natural forking lifts `α_eff`; deflates `D̂` to 0.76 at α = 0.3 (δ = 8) with **no** cap able to recover it ([§6.8](#s6-8)) | [§6.6](#s6-6), [§6.8](#s6-8) | +| `deep_orphan_share` (engine output) | share of in-window orphans sitting *below* the first block of their fork | the structural observable behind the first-fork cost, and the one `p_ref` conflates with "eligible but never picked up": these blocks are unreferenceable by construction ([§2.1](#s2-1)). 0.25 % honestly at the deployment's point, 3.3 % at 8 slots of per-recipient jitter ([§6.1](#s6-1)), 19–41 % under a private-chain attack ([§6.8](#s6-8)) | [§6.1](#s6-1), [§6.8](#s6-8) | | `p_ref_honest` (engine output) | reference rate over orphans produced *outside* the coalition | equals `p_ref` under suppression; diverges sharply under a private chain (0.45–0.69 vs ≈ 0.99), which is the quantity the estimator repair actually depends on | [§6.8](#s6-8) | | `adversary_frac` (β_adv), `adversary_strategy` | uncle suppression / abstention withholding | suppression weak at ρ < 1, a cheap lever only at ρ > 1 (1.43× at ρ = 1.36, β_adv = 0.5); withholding → `D̂ ≈ (1−β_adv)` — the *correct* active-stake answer, topology-independent | [§6.3](#s6-3)/6.4, figs 8, 9 | | `adversary_period`, `adversary_withhold_epochs` | dynamic withhold-rejoin schedules | unprofitable at every duty ψ > 0; griefing bounded (`deflation = β_adv·ψ`); no persistence | [§6.5](#s6-5), figs 10–12 | diff --git a/tools/simulators/tsi/tsi-sim-pernode/README.md b/tools/simulators/tsi/tsi-sim-pernode/README.md index 40ec405..a68cb11 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/README.md +++ b/tools/simulators/tsi/tsi-sim-pernode/README.md @@ -48,8 +48,18 @@ the pre-redesign model unchanged — window = `uncle_window` slots, any-depth orphans referenceable, every baked reference counted — and **bit-reproduces historical runs** (the old model's RNG key is byte-identical to the pre-`uncle_model` key). +- **Adversaries** (`adversary_strategy`, over a coalition holding `adversary_frac` of stake, + selected at random or `adversary_selection: whale` for the largest holders at matched stake): + - `suppress` — produces normally but references no uncles, starving the recovered density. + - `withhold` — never gossips its blocks; abstention, a dead loss to the attacker. + - `selfish` — mines a **private chain** and releases it under Eyal–Sirer SM1 rules, orphaning + honest work. Only visibility is modelled: a coalition member's fork choice builds on the + private tip whenever it leads, so the chain forms and is abandoned emergently. Forces the + exact full scan, since a hidden block breaks the windowed horizon's premise. - **Metrics:** per-node `D_est` spread (`range`, `IQR`), canonical-chain **agreement** - (window prefix vs current tip), mean accuracy, and — with `init_dest=heterogeneous` — + (window prefix vs current tip), mean accuracy, fork structure (`fork_rate`, reorg depth, + `p_ref` and `p_ref_honest`, and `deep_orphan_share` — the share of orphans below their fork's + first block, i.e. unreferenceable by construction), and — with `init_dest=heterogeneous` — transient re-convergence. ## Headline result @@ -157,6 +167,9 @@ src/tsi_sim/ constants config rng stake lottery topology blocktree(+build_tree configs/ smoke.yaml default.yaml fullscale.yaml countable-vs-old.yaml absorption-window.yaml (countable-model studies) fine-delay.yaml (delay 1-5 at 40 replicates: the design band, high precision) + uncle-selection.yaml (the spec's oldest-first rule vs a deviating proposer) + spec-point-{n5000,window,jitter}.yaml (the DEPLOYED operating point: delta_max=4 + from the spec's Blend profile — size, window and per-recipient-variance arms) tests/ test_{pernode,config,rng,lottery,blocktree,uncles,tsi_counting,stake, theory,latency,theory_convergence,countable_counting, countable_selfish,...}.py @@ -164,4 +177,20 @@ scripts/ plot_countable_vs_old.py (countable-vs-unrestricted comparison f plot_fine_delay.py (design-band accuracy + model gap with 95% CIs) countable_selfish.py (first-fork ceiling under the selfish MDP; fig36) adversary_variants.py (whale/jitter/slow-beta variants + the withhold-load sweep) + deflation_frontier.py (how far a PAID adversary can deflate D_est; fig37) + selfish_uncle_margin.py (does the uncle cap need margin under a private chain?) + spec_point.py (the deployed operating point; the three f-precision arms) + spec_jitter.py (per-recipient delay variance — the transport diagnostic) ``` + +### Modelling the *deployed* chain rather than the mechanism + +Two defaults are deliberately **not** spec-faithful, because the report's job is to isolate +mechanisms. Flip both for any run meant to answer "what would the deployed chain read": + +| knob | default (design) | spec-faithful | why it matters | +|---|---|---|---| +| `fixed_point` / `f_precision` | `False` / `1e6` — exact `f` | `True` / `1000` | the spec quantises the target rate at `1e3`, which reads **+1.0 %** high; this is the largest error in the deployed estimator | +| `uncle_model` | `countable` — the spec's rules | (same) | `--old` is an unreachable **ceiling**, not an alternative: the spec *rejects* a block carrying a reference that fails the counting rules | + +`scripts/spec_point.py` runs both arms side by side. From abf2c86285b2d3a83448ed6aa903f803124cd7fe Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Fri, 7 Aug 2026 11:52:58 +0200 Subject: [PATCH 6/6] Make the fork-loss validation stand alone The results document was written as a reply to a briefing note that will not be circulated, so it depended on a file no reader would have -- and linked to one that was never committed, so the link was dead on GitHub regardless. Rewritten to be self-contained: it now states what the added spec section claims, what was measured, and the verdict, without reference to the brief. The six claims and six experiments are stated in its own terms rather than by the brief's C-numbers and E-numbers, and it carries its own reproduction table mapping each section to the config or script and run directory behind it. Renamed fork-loss-validation.md accordingly. The configs and scripts written for these experiments carried the same dependency in their header comments ("Handoff E5", "Claim C2"); those now describe what they measure directly. Co-Authored-By: Claude Fable 5 --- reports/tsi/fork-loss-validation.md | 161 ++++++++++++++++++ reports/tsi/handoff-fork-loss-results.md | 118 ------------- .../configs/spec-point-jitter.yaml | 10 +- .../configs/spec-point-n5000.yaml | 11 +- .../configs/spec-point-window.yaml | 10 +- .../tsi-sim-pernode/scripts/spec_jitter.py | 15 +- .../tsi/tsi-sim-pernode/scripts/spec_point.py | 6 +- 7 files changed, 188 insertions(+), 143 deletions(-) create mode 100644 reports/tsi/fork-loss-validation.md delete mode 100644 reports/tsi/handoff-fork-loss-results.md diff --git a/reports/tsi/fork-loss-validation.md b/reports/tsi/fork-loss-validation.md new file mode 100644 index 0000000..42716f0 --- /dev/null +++ b/reports/tsi/fork-loss-validation.md @@ -0,0 +1,161 @@ +# Validating the fork-loss claims in `analysis-total-stake-inference.md` + +*A section quantifying what uncle references buy — § **Effect of Uncle References on Honest Slot Utilization** — was added to `docs/blockchain/raw/analysis-total-stake-inference.md` on the `analysis-fork-loss-in-tsi` branch of `logos-lips` (commit `d6fd7648`), produced by a quick standalone simulation. Several of its numbers conflict with [the TSI report](README.md) in this folder, which comes from a per-node network simulator. This document settles each claim at the **deployed spec's own operating point** — the one cell neither the section nor the report measured directly — and gives the numbers the section should carry.* + +*Measurements: `tools/simulators/tsi/tsi-sim-pernode`, run 2026-08-06 against spec revision `d6fd7648`. Every figure below is reproducible from a committed script or config; sources are named per experiment and collected at the end.* + +--- + +## Verdict + +**The section's headline is wrong by ~17×, and it is concerned with the wrong bias.** The residual it attributes to deep forks is 0.08 pp, not 1.4 %. Meanwhile the deployed estimator carries a **+1.0 % bias of the opposite sign** that the section does not mention — from the on-chain rounding of `f`, not from forks. Rewriting the section around the second number rather than the first is the substantive change. + +The no-uncle loss is also **understated, not overstated**: 33 % at the operating point, not 18.7 %, and it deepens with network size. The section undersells what uncle references buy by roughly half. + +**But the section's number is not an arithmetic error, and experiment 5 identifies what it is.** It is what this model produces once *per-recipient* delay spread reaches ~8 slots — about 16× what Blend's cascade actually delivers. The cascade's variance is per **block** (every recipient moved together, harmless to the estimate); the standalone simulation's was per **recipient** (divergent, and the only kind that manufactures unrecoverable forks). That distinction is the whole disagreement, and it belongs in the rewritten section. + +## Summary of measurements + +``` +1 the deployed operating point: δ_max = 4 D_vis = 8 s ρ = 0.27 + +2 at ρ = 0.27, N = 1000, 40 replicates, k = 2160, PAIRED + D̂/D U=0: 0.6677 ± 0.0044 U=1: 0.9985 U=2: 0.9986 U=4: 0.9997 + countable − ceiling, pooled U≥1: 0.00080 ± 0.00026 (t = 3.08) + U=0 negative control: 0.00000 ± 0.00000 (exact — shared random streams) + at N = 5000, 12 replicates, UNPAIRED + D̂/D U=0: 0.6537 ± 0.0251 U=1: 0.9997 U=2: 0.9979 U=4: 0.9996 + U=0 negative-control noise floor: ±0.027 → no first-fork cost resolvable at this N + +3 largest ρ with U=4 ≥ 0.98: > 1.87 (U=3 already suffices there) margin: ~7× the deployment +4 D̂/D vs W_abs {1,2,3,5,7,10,15,20}: + 0.854 / 0.938 / 0.967 / 0.992 / 0.999 / 0.998 / 0.999 / 1.000 + knee at W_abs ≈ 5; spec's W = 10 sits ~2× above it +5 per-recipient jitter {0,1,2,4,8} slots, δ_max = 4, U=1, exact oracle, 12 reps: + D̂/D 0.9983 / 0.9992 / 0.9991 / 0.9971 / 0.9871 + depth≥2 orphans 0.25 % / 0.38 % / 0.53 % / 1.20 % / 3.30 % + consensus range_ratio = 0 and agreement = 1.000 in all 480 runs + → the section's 0.986 is reproducible, at ~8 slots of per-recipient variance +6 f-precision, exact / 1e3 / 1e6: 0.99997 / 1.01026 / 0.99990 (closed form 1.000 / 1.0101 / 1.00001) +``` + +## Claim by claim + +| # | Claim in the added section | Measured | Verdict | +|---|---|---|---| +| 1 | With uncles, the residual underestimate is **1.4 %** (`q` 0.813 → 0.986) | 0.03–0.15 % at every `U ≥ 1` cell | **Refuted.** Replace with "no residual resolvable in the design regime". | +| 2 | The residual is **deep-fork blocks** (the first-fork restriction) | Paired gap **0.08 pp ± 0.03** pooled (t = 3.08) | **Mechanism right, size ~17× overstated.** It is real and now resolved — but it is 0.0008, not 0.014. | +| 3 | Without uncles the loss is **18.7 %** (`q` = 0.813) | **33.2 %** at N = 1000, **34.6 %** at N = 5000 (42 % / 49.5 % at δ_max = 8) | **Refuted, in the unfavourable direction.** | +| 4 | `MAX_UNCLES` = 4 **never binds** (max 3 candidates observed) | `U = 3` still recovers at ρ = 1.87, the largest measured | **Corroborated,** with ~7× margin over the deployment's ρ = 0.27. | +| 5 | `w_u` = 300 **never binds** (median lag 34, max 197) | Knee at `W_abs ≈ 5`; spec's 10 is ~2× above it | **Right in effect, wrong in wording.** Say "≈ 2× above the measured knee at the deployment's load". | +| 6 | *(not mentioned)* | `PRECISION = 1e3` → **D̂/D = 1.01026 ± 0.00056** | **The section's main omission.** Larger than everything else it discusses, and opposite in sign. | + +--- + +## 1. The deployed operating point + +Every number the section quotes is stated at an operating point nobody had pinned down, so this comes first — it decides which measurements are even relevant. + +`analysis-block-times-blend-network.md` sets `blending_delay = 3` s as *"seconds spent in each Blend node"* — a **fixed per-hop dwell**, neither the mean of a distribution nor a bound. The max-delay arithmetic confirms it: `3δ + 5` gives 14 s at δ = 3 and 11 s at δ = 2, matching that document's prose exactly. The profile it selects is 2 s. + +The simulator's per-hop delay is `Uniform(0, δ_max)` with mean `δ_max/2`, and the design laws reach latency only through the mean, so the matching value is: + +> **`δ_max = 4`**, giving `D_vis = 3·2 + 4·0.5 = 8 s` and **`ρ = f·D_vis = 0.27`**. + +(Charging the spec's 1 s Proof-of-Leadership time as well gives ρ ≈ 0.30; nothing below changes.) This lands inside the report's committed 40-replicate paired design-band grid, so claims 1–3 are answered from data of record rather than fresh runs. + +## 2. Accuracy and the first-fork cost + +At ρ = 0.27 every `U ≥ 1` cell sits at **0.9985–0.9997**. The section's 1.4 % residual is not there. + +What *is* there, now that a paired design resolves it: a first-fork cost of **0.08 pp pooled** (95 % CI [0.03, 0.13], t = 3.08). The section's *mechanism* is correct — deep-fork blocks cannot be referenced, because only the first block of a fork has a parent on the referencing chain — but at the deployment's load the effect is two orders of magnitude below the claim. + +The `U = 0` negative control is **exactly 0.00000 ± 0.00000**. With no uncle slots the restricted and unrestricted rules are identical by construction, and because the two arms share stake draws, peering graph and lottery outcomes, they agree bit-for-bit. That is the strongest available evidence that the 0.08 pp is signal and not seed noise — an unpaired comparison at this size cannot resolve anything below ~0.15 pp. + +At N = 5000 the runs are unpaired and that same control reads ±0.027, so nothing below ~2.7 pp is resolvable there. The N = 5000 row is an exclusion bound, not a measurement. + +## 3. Is `MAX_UNCLES = 4` slack? + +Yes, by a wide margin. A dedicated load sweep takes `U = 3` to `ρ = 1.87` — roughly **7× the deployment's ρ = 0.27** — and it still recovers to within noise of 1.0 across the whole range. `U = 4` is bounded below by `U = 3`, so the spec's cap does not become the binding constraint anywhere near the deployment. Claim 4 stands as written. + +## 4. Is `w_u = 300` adequate? + +At the deployment's operating point, sweeping the window with a single uncle slot (so the window is the only thing that can bind): + +| `W_abs` (block-intervals) | 1 | 2 | 3 | 5 | 7 | 10 | 15 | 20 | +|---|---|---|---|---|---|---|---|---| +| `D̂/D` | 0.854 | 0.938 | 0.967 | 0.992 | 0.999 | 0.998 | 0.999 | 1.000 | + +The recovery knee is at `W_abs ≈ 5` and everything above ~7 is flat. The spec's `W = 10` (`w_u = 300` slots) therefore sits about **2× above the knee** — real margin, but a margin, not an absence of a constraint. "Never binds" overstates it; "≈ 2× above the measured knee at the deployment's load" is what the data supports. This matters because the window floor is set by block *spacing* rather than by network delay, so it does not shrink as the deployment's delay shrinks. + +## 5. Per-recipient delay variance — where the section's number comes from + +This is the experiment that could have invalidated the *report* rather than the section. It does not — but it does something more useful than refuting the section: it says exactly what the section's number assumes. + +The two simulations differ in transport. The standalone drew an **independent propagation delay per (block, recipient)**; the per-node simulator runs a cascade of Blend relays and then floods network-wide **from the last relay**, so nodes receive a block at nearly the same time and their views stay synchronised. Independent per-recipient draws maximise view divergence, which is exactly what manufactures forks deeper than one block — the orphans no counting rule can recover. + +Adding per-(block, node) arrival jitter on top of the cascade interpolates between the two models: + +| jitter (slots) | 0 | 1 | 2 | 4 | 8 | +|---|---|---|---|---|---| +| `D̂/D` at `U = 1` | 0.9983 | 0.9992 | 0.9991 | 0.9971 | **0.9871** | +| orphans below their fork's first block | 0.25 % | 0.38 % | 0.53 % | 1.20 % | **3.30 %** | +| fork rate | 0.266 | 0.272 | 0.275 | 0.310 | 0.366 | + +Accuracy is flat to ~2 slots, then bends. At 8 slots it lands on **0.9871** — essentially the section's 0.986 — with deep orphans at 3.3 %. So the standalone result is not an arithmetic error; it is what this model produces once per-recipient spread reaches roughly eight seconds. + +That converts the disagreement into a question with a checkable answer: **does Blend deliver ~8 slots of per-recipient spread?** Under the spec's own model it cannot come close. The blending delay is a fixed per-hop dwell, and the cascade's final step is a network-wide gossip flood from the last relay, so what varies per *recipient* is only that flood — measured at `ℓ_mean ≈ 0.5` slot over a degree-6 graph. Eight slots is ~16× that. + +The distinction is worth stating explicitly in the rewritten section, because the two are easy to conflate: + +> **Variance in *when a block becomes public* is harmless to the estimate. Variance in *when each node sees it* is what manufactures unrecoverable forks.** Blend's cascade produces a lot of the first and very little of the second; the standalone model charged the second. + +Consensus is untouched throughout — `range_ratio = 0` and `agreement_window = 1.000` in all 480 runs, at every jitter level — so this is an accuracy sensitivity only, never a safety one. + +## 6. The bias the section missed + +Three arms, identical but for how the estimator quantises its target rate: + +| arm | `D̂/D` | closed form | +|---|---|---| +| exact `f` (the report's convention) | 0.99997 ± 0.00060 | 1.00000 | +| **the spec today, `PRECISION = 1e3`** | **1.01026 ± 0.00056** | 1.01010 | +| recommended, `PRECISION = 1e6` | 0.99990 ± 0.00061 | 1.00001 | + +`cryptarchia-total-stake-inference.md` carries `const PRECISION: u64 = 1e3`, so the estimator drives density to `f_p = 0.033` rather than `1/30` and the chain reads **1.0 % high** — measured in the full per-node dynamics, matching the closed form to within one standard error. + +This is **~13× the first-fork cost the section is concerned with**, opposite in sign, and removed entirely by a one-constant change. If any single number from this exercise belongs in the section, it is this one. + +## Two things the simulator needed, and one the report did + +Recorded because they change how a run must be configured, not just what it reports. + +- **`f_precision` is now a config field.** It had been a module constant pinned at the *recommended* `1e6`, which is why nobody had measured what the deployed chain would read. The report's default remains exact `f` — the right choice for a design question, since it isolates the mechanism under test — but any run answering *"what will the deployed chain read"* must set `fixed_point: true, f_precision: 1000`. Both arms are run side by side by `scripts/spec_point.py`. +- **The derived window now floors rather than rounds**, matching the spec's `w_u := ⌊W·f⁻¹⌋`. No committed result moves — at `W = 10, f = 1/30` the quotient is exactly 300 either way — but it matters for the `W` and `f` sweeps, where the quotient is not an integer. +- **The unrestricted arm is a *ceiling*, not a candidate design.** The spec gates uncle validity: a block carrying an entry that fails the counting rules is rejected outright (*Block Header Validation*, step 10), so a chain in which deep-fork orphans are referenced cannot exist. Every "restricted vs unrestricted" comparison here and in the report should be read as "what the deployed rule recovers, against the most any rule could recover". + +## The validity change does not disturb the incentive results + +The same spec revision made uncle *content* a validity condition, which is worth checking against the report's incentive analysis rather than assuming. It holds, because **inclusion stayed soft**: a proposer *"may reference fewer uncles than it could, or pass over a candidate for another, and its block remains valid"*, and the selection procedure is *"a recommendation for filling the entries well, not a consensus rule."* Therefore: + +- The report's recommendation of a **soft, reward-weighted** inclusion rule — never a validity rule — is still satisfied. What became validity-gated is the *content* of a reference, not whether one is made. +- The argument against a hard inclusion mandate still applies to a rule the spec did not adopt. +- The uncle-suppression adversary — produce blocks, reference nothing — remains a legal strategy, so those results stand unchanged. +- The restricted model's selection-time filter is now *exactly* what the protocol requires, rather than a faithful approximation of it. + +One live consequence for the reward recommendation: the spec still argues that *"because uncle references carry no fork-choice weight and grant no reward, a proposer has no incentive to deviate"*. That clause survives in the current revision, and paying uncles — which the report recommends — removes its premise. The report already tracks this as an open spec-level item. + +The one genuinely new consequence of the validity change: referencing an ineligible orphan now costs a proposer its whole block rather than merely failing to count. No modelled strategy does this, so no result moves — but it makes such a strategy self-defeating rather than merely ineffective, which is worth stating if junk-reference griefing is ever modelled. + +## Reproducing these numbers + +| § | source | data | +|---|---|---| +| 1 | `analysis-block-times-blend-network.md` (no simulation) | — | +| 2 | `configs/fine-delay-paired.yaml` run twice (default and `--old`); `configs/spec-point-n5000.yaml` likewise | `runs/*fine-paired-*`, `runs/*spec-n5000*` | +| 3 | `configs/rho-boundary.yaml` | `runs/*rho-boundary` | +| 4 | `configs/spec-point-window.yaml` | `runs/*spec-window` | +| 5 | `scripts/spec_jitter.py`, `configs/spec-point-jitter.yaml` | `runs/spec_jitter.parquet` | +| 6 | `scripts/spec_point.py` | `runs/spec_point.parquet` | + +All under `tools/simulators/tsi/tsi-sim-pernode`. Run directories are dated; the ones cited here are the latest of each label. diff --git a/reports/tsi/handoff-fork-loss-results.md b/reports/tsi/handoff-fork-loss-results.md deleted file mode 100644 index 0198565..0000000 --- a/reports/tsi/handoff-fork-loss-results.md +++ /dev/null @@ -1,118 +0,0 @@ -# Results — fork-loss claims in `analysis-total-stake-inference.md` - -*Answers to [`handoff-fork-loss-validation.md`](handoff-fork-loss-validation.md). Simulator: `tools/simulators/tsi/tsi-sim-pernode`. Run 2026-08-06 against spec revision `d6fd7648` (`analysis-fork-loss-in-tsi`).* - ---- - -## Verdict - -**The added section's headline is wrong by ~17×, and it is agonising over the wrong bias.** The residual it attributes to deep forks is 0.08 pp, not 1.4 %. Meanwhile the deployed estimator carries a **+1.0 % bias of the opposite sign** that the section does not mention — from the `f` rounding, not from forks. Rewriting the section around the second number rather than the first is the substantive change. - -The no-uncle loss is also **understated, not overstated**: 33 % at the operating point, not 18.7 %, and it deepens with network size. - -**But the section's number is not an arithmetic error, and E5 identifies what it is.** It is what this model produces once per-recipient delay spread reaches ~8 slots — which is ~16× the gossip spread Blend's cascade actually delivers, because the cascade's variance is per *block* (shared by all recipients, harmless to the estimate) rather than per *recipient* (divergent, and the only kind that manufactures unrecoverable forks). That distinction is the whole disagreement and belongs in the rewritten section. - -## The requested table - -``` -E1 spec Blend profile: δ_max = 4 D_vis = 8 s ρ = 0.27 - -E2 at ρ = 0.27, N = 1000, 40 replicates, k = 2160, PAIRED - D̂/D U=0: 0.6677 ± 0.0044 U=1: 0.9985 U=2: 0.9986 U=4: 0.9997 - countable − ceiling, pooled U≥1: −0.00080 ± 0.00026 (t = 3.08) - U=0 negative control: 0.00000 ± 0.00000 (exact — paired streams) - at N = 5000, 12 replicates, UNPAIRED - D̂/D U=0: 0.6537 ± 0.0251 U=1: 0.9997 U=2: 0.9979 U=4: 0.9996 - U=0 negative-control noise floor: ±0.027 → no first-fork cost resolvable at this N - -E3 largest ρ with U=4 ≥ 0.98: > 1.87 (U=3 already suffices there) margin: ~7× the deployment -E4 D̂/D vs W_abs {1,2,3,5,7,10,15,20}: - 0.854 / 0.938 / 0.967 / 0.992 / 0.999 / 0.998 / 0.999 / 1.000 - knee at W_abs ≈ 5; spec's W = 10 sits ~2× above it -E5 jitter_mean {0,1,2,4,8} slots, δ_max = 4, U=1, exact oracle, 12 reps: - D̂/D 0.9983 / 0.9992 / 0.9991 / 0.9971 / 0.9871 - depth≥2 orphans 0.25 % / 0.38 % / 0.53 % / 1.20 % / 3.30 % - consensus range_ratio = 0 and agreement = 1.000 in all 480 runs - → the section's 0.986 is reproducible, at ~8 slots of per-recipient variance -E6 fixed_point off / 1e3 / 1e6: 0.99997 / 1.01026 / 0.99990 (predicted 1.000 / 1.0101 / 1.00001) -``` - -## Claim by claim - -| # | Claim | Measured | Verdict | -|---|---|---|---| -| C1 | Residual underestimate **1.4 %** | 0.03–0.15 % at every `U ≥ 1` cell | **Refuted.** Replace with "no residual resolvable in the design regime". | -| C2 | The residual is **deep-fork blocks** | Paired gap **0.08 pp ± 0.03** pooled (t = 3.08) | **Mechanism right, size ~17× overstated.** It is real and now resolved — but it is 0.0008, not 0.014. | -| C3 | Without uncles the loss is **18.7 %** | **33.2 %** at N = 1000, **34.6 %** at N = 5000 (and 42 % / 49.5 % at δ_max = 8) | **Refuted, in the unfavourable direction.** The section understates the value of uncle references by roughly half. | -| C4 | `MAX_UNCLES = 4` never binds | `U = 3` still recovers at ρ = 1.87, the largest measured | **Corroborated,** with ~7× margin over the deployment's ρ = 0.27. | -| C5 | `w_u = 300` never binds | Knee at `W_abs ≈ 5`; spec's 10 is ~2× above it | **Right in effect, wrong in wording.** Say "≈ 2× above the measured knee at the deployment's load", not "never binds". | -| C6 | *(not mentioned)* | `PRECISION = 1e3` → **D̂/D = 1.01026 ± 0.00056** | **The section's main omission.** Larger than everything else it discusses, and opposite in sign. | - -### E1 — the operating point - -`analysis-block-times-blend-network.md` sets `blending_delay = 3` s as *"seconds spent in each Blend node"* — a **fixed per-hop dwell**, neither a mean of a distribution nor a bound. The max-delay arithmetic confirms it: `3δ + 5` gives 14 s at δ = 3 and 11 s at δ = 2, matching the prose exactly. The chosen profile is 2 s. - -The simulator's per-hop delay is `Uniform(0, δ_max)`, mean `δ_max/2`, and the design laws reach latency only through the mean — so the matching value is **`δ_max = 4`**, giving `D_vis = 3·2 + 4·0.5 = 8 s` and **`ρ = 0.27`**. (Charging the spec's 1 s PoL proof time as well would give ρ ≈ 0.30; nothing below changes.) - -This lands inside the committed 40-replicate paired design-band grid, so C1–C3 are answered from data of record rather than new runs. - -### E2 — accuracy and the first-fork cost - -At ρ = 0.27 every `U ≥ 1` cell sits at **0.9985–0.9997**. The section's 1.4 % residual is not there. What *is* there, now that the paired design resolves it: a first-fork cost of **0.08 pp pooled** (95 % CI [0.03, 0.13], t = 3.08). C2's mechanism is correct — it is the deep-fork blocks — but at the deployment's load it is two orders of magnitude below the claim. - -The `U = 0` negative control is **exactly 0.00000 ± 0.00000**: with no uncle slots the two models are identical by construction, and under common random numbers they agree bit-for-bit. That is the strongest available check that the 0.08 pp is signal rather than seed noise. - -At N = 5000 the runs are unpaired and the same negative control reads ±0.027, so nothing below ~2.7 pp is resolvable there — the N = 5000 row is an exclusion bound, not a measurement. - -### E6 — the bias the section missed - -Three arms, identical but for the estimator's target-rate quantisation: - -| arm | `D̂/D` | closed form | -|---|---|---| -| exact `f` (report convention) | 0.99997 ± 0.00060 | 1.00000 | -| **spec today, `PRECISION = 1e3`** | **1.01026 ± 0.00056** | 1.01010 | -| recommended, `PRECISION = 1e6` | 0.99990 ± 0.00061 | 1.00001 | - -The deployed estimator drives density to `f_p = 0.033` instead of `1/30`, so the chain reads **1.0 % high** — measured in the full per-node dynamics, matching `theory.fixed_point_bias` to within one standard error. It is ~13× the first-fork cost the section is concerned with, opposite in sign, and removed entirely by a one-constant change. - -### E5 — the diagnostic: the section's number is reproducible, and that pins its hidden assumption - -This was the experiment that could have invalidated the *report*. It does not — but it does something more useful than refuting the section: it says exactly what the section's number assumes. - -Sweeping per-(block, node) arrival jitter on top of the cascade interpolates between the two delay models — 0 is the report's cascade, large values approach the standalone's independent-per-recipient draws: - -| `jitter_mean` (slots) | 0 | 1 | 2 | 4 | 8 | -|---|---|---|---|---|---| -| `D̂/D` at `U = 1` | 0.9983 | 0.9992 | 0.9991 | 0.9971 | **0.9871** | -| depth-≥2 orphans | 0.25 % | 0.38 % | 0.53 % | 1.20 % | **3.30 %** | -| fork rate | 0.266 | 0.272 | 0.275 | 0.310 | 0.366 | - -**Both branches of the handoff's pass/fail are true, at different jitter levels.** Up to ~2 slots of per-recipient variance the report is entirely robust: accuracy 0.999, deep orphans half a percent. But at 8 slots accuracy lands on **0.9871** — essentially the section's 0.986 — with deep orphans at 3.3 %. So the standalone result is not arithmetic error; it is what this model produces once per-recipient spread reaches roughly eight seconds. - -That converts the disagreement into a question with a checkable answer: **does Blend deliver ~8 slots of per-recipient spread?** Under the spec's own model it cannot come close. The blending delay is a fixed per-hop dwell and the cascade's final step is a network-wide gossip flood from the last relay, so what varies per *recipient* is only that flood — and the report measures the gossip spread at `ℓ_mean ≈ 0.5` slot over a degree-6 graph. Eight slots is ~16× that. Per-*block* delay variance, which the cascade does have and which is large, moves every recipient together and so creates no deep forks at all. - -The distinction is the whole disagreement, and it is worth stating in the section: **variance in *when a block becomes public* is harmless to the estimate; variance in *when each node sees it* is what manufactures unrecoverable forks.** The two are easy to conflate and the standalone model charged the second where Blend delivers the first. - -Consensus is untouched throughout — `range_ratio = 0` and `agreement_window = 1.000` in all 480 runs, at every jitter level — reconfirming §6.1's structural argument at the deployment's own operating point. - -**This also partly closes the report's open item 15** (correlated/heterogeneous latency untested): the report is robust to per-recipient variance up to ~2–4 slots and degrades measurably beyond, which is a bound it did not previously carry. What remains untested there is *spatially correlated* latency — nodes in a region straggling together — which jitter, being i.i.d. per (block, node), does not model. - -## Notes on the guide (§4) - -- **§4.1 item 1 — done.** `f_precision` is now a config field, so a spec-faithful arm can be run; it was a module constant pinned at the *recommended* 1e6, which is why nobody had measured what the chain would actually read. Default unchanged and appended to the RNG key only when non-default, so no committed run is reseeded. -- **§4.1 item 3 — done.** `uncle_window_slots` now floors rather than rounds, matching `w_u := ⌊W·f⁻¹⌋`. No committed result moves (W = 10, f = 1/30 is exactly 300 either way); it matters only for the `W` and `f` sweeps. -- **§4.1 item 2 — agreed, and the report needs it.** `--old` is no longer a candidate design: a block carrying a deep-fork reference is now *rejected*, so the unrestricted arm is an unreachable ceiling. This document labels it that way throughout; the report still calls it "the unrestricted model" in §2.1/§3.2/§6.6 and needs the same relabel. - -### §6's review request — the incentive results survive - -The handoff asks for §4.3's argument to be checked by someone who owns the incentive analysis rather than assumed. Checked, and it holds, for the reason given: **inclusion stayed soft.** The spec is explicit — a proposer *"may reference fewer uncles than it could, or pass over a candidate for another, and its block remains valid"*, and selection is *"a recommendation for filling the entries well, not a consensus rule."* So: - -- §8.1 row 10 (*soft — never a validity rule*) is still satisfied: what became validity-gated is the **content** of a reference, not whether one is made. -- §6.8's argument against a hard inclusion mandate still applies to a rule the spec did not adopt. -- The `suppress` adversary — produce blocks, reference nothing — remains legal, so §6.3's results stand unchanged. -- The countable model's selection-time filter is now *exactly* what the protocol requires rather than a faithful approximation of it. - -One correction to §4.3: it states the *"no incentive to deviate"* sentence "no longer exists in that form". It does — the clause survives verbatim inside a rewritten paragraph. **§8.5's implication (ii) is therefore still live:** the spec's no-deviation rationale rests on uncles granting no reward, and the report's recommendation to pay them removes it. - -The one genuinely new consequence: referencing an ineligible orphan now costs a proposer its whole block rather than merely failing to count. No modelled strategy does this, so no result changes — but it makes such a strategy self-defeating rather than merely ineffective, which is worth stating if anyone later models junk-reference griefing. diff --git a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml index 6c27d3b..aad655b 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml +++ b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-jitter.yaml @@ -1,7 +1,7 @@ -# Handoff E5 — the diagnostic: does per-recipient delay variance reproduce the standalone result? +# The diagnostic: does per-recipient delay variance reproduce the standalone result? # -# This is the only experiment in the handoff that could invalidate the REPORT rather than the spec -# section. The primary hypothesis for the original discrepancy is modelling, not measurement: the +# The one experiment here that could invalidate the REPORT rather than the spec section it is +# checking. The hypothesis for the discrepancy is modelling, not measurement: the # standalone simulation drew an INDEPENDENT propagation delay per (block, recipient), while this # simulator's blend topology runs a cascade of relays and then floods network-wide from the LAST # relay, so nodes receive a block at nearly the same time and their views stay synchronised. @@ -12,7 +12,7 @@ # interpolates between the two models: 0 is the report's cascade, large values approach the # standalone's independent-delay regime. The observable that decides it is deep_orphan_share -- # the fraction of in-window orphans sitting deeper than the first block of their fork, which is -# precisely the structural quantity behind claim C2. +# precisely the structural quantity behind the spec section's deep-fork claim. # # This is also the report's open item 15 (correlated/heterogeneous latency untested). # @@ -31,7 +31,7 @@ degree: [6] # peering degree of the d-regular g link_latency_mean: [0.5] # natural geographic transport (sub-slot) link_latency_dist: [geo] # real-world geographic band mixture blend_hops: [3] # the spec's Blend cascade length -blend_delay_max: [4.0] # E1: the spec's operating point (rho ~ 0.27) +blend_delay_max: [4.0] # the spec's operating point (rho ~ 0.27) max_uncles: [0, 1, 2, 4] # 0 = negative control; 4 = the spec's MAX_UNCLES uncle_strategy: [oldest] # spec Uncle Selection init_dest: [common] # per-node initial D_est from agreement diff --git a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml index c1b09e2..1e37307 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml +++ b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-n5000.yaml @@ -1,12 +1,13 @@ -# Handoff E2, the size arm: does the no-uncle loss deepen with N at the SPEC's operating point? +# Does the no-uncle loss deepen with N at the SPEC's operating point? +# Does the no-uncle loss deepen with N at the SPEC's operating point? # # The design-band study (fine-delay-paired.yaml) already settles the countable-vs-unrestricted -# question at delta_max = 4 with 40 replicates, but only at N = 1000. Claim C3 of the handoff -# ("without uncles the loss is 18.7 %") is the U = 0 column, and the report shows that column is +# question at delta_max = 4 with 40 replicates, but only at N = 1000. The spec section's claim +# that "without uncles the loss is 18.7 %" is the U = 0 column, and the report shows it is # N-dependent (0.739 -> 0.635 over N = 1k -> 10k) at delta_max = 8. This measures it at the # deployment's own delay instead, where nothing has been run at N > 1000. # -# delta_max = 4 is the E1 answer: the spec's blending_delay is a FIXED 2 s per-hop dwell, and the +# delta_max = 4 is the deployed operating point: the spec's blending_delay is a FIXED 2 s per-hop dwell, and the # simulator's Uniform(0, delta_max) matches it in the mean at 4. D_vis ~ 8 s, rho ~ 0.27. # # Run TWICE — default (countable) and with --old — so the first-fork gap is measured at this size @@ -21,7 +22,7 @@ degree: [6] # peering degree of the d-regular g link_latency_mean: [0.5] # natural geographic transport (sub-slot) link_latency_dist: [geo] # real-world geographic band mixture blend_hops: [3] # the spec's Blend cascade length -blend_delay_max: [4.0] # E1: the spec's 2 s dwell, matched in the mean +blend_delay_max: [4.0] # the spec's 2 s dwell, matched in the mean max_uncles: [0, 1, 2, 4] # 0 = the C3 column; 4 = the spec's MAX_UNCLES uncle_strategy: [oldest] # spec Uncle Selection init_dest: [common] # per-node initial D_est from agreement diff --git a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml index 1a4bfec..6ed8c7c 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml +++ b/tools/simulators/tsi/tsi-sim-pernode/configs/spec-point-window.yaml @@ -1,12 +1,12 @@ -# Handoff E4: is w_u = 300 adequate at the SPEC's operating point, and how much margin is there? +# Is w_u = 300 adequate at the SPEC's operating point, and how much margin is there? # -# Claim C5 says the window "never binds" (observed median reference lag 34 slots, max 197). The -# report puts a hard recovery floor at ~7/f = 210 slots, set by block SPACING rather than by +# The spec section claims the window "never binds" (median reference lag 34 slots, +# max 197). The report puts a hard recovery floor at ~7/f = 210 slots, set by block SPACING rather than by # delay, and advises widening to 450-600 near rho ~ 1. "Has margin at rho < 1" is defensible; # "never binds" is not, and the difference is what this measures. # # absorption-window.yaml sweeps the same axis but starts at delta_max = 8; nothing has been run at -# the deployment's delta_max = 4 (E1). Since the floor is set by block spacing the knee should sit +# the deployment's delta_max = 4. Since the floor is set by block spacing the knee should sit # in the same place, which is itself worth confirming rather than assuming — the report's # delay-invariance claim is exactly what makes a single recommended W defensible. # @@ -20,7 +20,7 @@ degree: [6] # peering degree of the d-regular g link_latency_mean: [0.5] # natural geographic transport (sub-slot) link_latency_dist: [geo] # real-world geographic band mixture blend_hops: [3] # the spec's Blend cascade length -blend_delay_max: [4.0] # E1: the spec's operating point +blend_delay_max: [4.0] # the spec's operating point window_absorption: [1, 2, 3, 5, 7, 10, 15, 20] # W in expected block-intervals; w_u = W/f slots max_uncles: [1] # FIXED at one uncle: the question is about W uncle_strategy: [oldest] # spec Uncle Selection diff --git a/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py index 14d0952..e934738 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py +++ b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_jitter.py @@ -1,7 +1,7 @@ -"""E5 — does per-recipient delay variance reproduce the standalone result? (the diagnostic). +"""does per-recipient delay variance reproduce the standalone result? (the diagnostic). -The only experiment in the fork-loss handoff that could invalidate the REPORT rather than the -spec section. The hypothesis for the original discrepancy is a modelling difference, not a +The one fork-loss experiment that could invalidate the REPORT rather than the spec section it +is checking. The hypothesis for the original discrepancy is a modelling difference, not a measurement one: the standalone simulation drew an independent propagation delay per (block, recipient), whereas this simulator's Blend cascade floods network-wide from the last relay, so nodes receive a block at nearly the same time and their views stay synchronised. @@ -11,11 +11,12 @@ depth->=2 forks the first-fork rule cannot recover. `jitter_mean` adds per-(block, node) arrival noise on top of the cascade, so sweeping it interpolates between the two models. The deciding observable is `deep_orphan_share`: the fraction of in-window orphans sitting deeper than the first block of their fork — precisely the structural -quantity behind claim C2, and the thing `p_ref` conflates with "never picked up". +quantity behind the spec section's deep-fork claim, and the thing `p_ref` conflates with +"never picked up". -Pass / fail, as the handoff sets it: +Pass / fail: * D-hat/D holds at ~1.000 and deep orphans stay negligible as jitter rises -> the standalone - model was simply wrong; C1/C2 are artefacts and the report is robust to this failure mode. + model was simply wrong; its numbers are artefacts and the report is robust to this failure mode. * accuracy degrades toward 0.986 and deep orphans reach ~1 % of blocks at some jitter level -> record that level and compare it to what Blend plausibly delivers; per-recipient variance then becomes a parameter the report must carry, and the spec section's number is defensible @@ -97,7 +98,7 @@ def report(df: pd.DataFrame) -> None: def main() -> None: - print(f"=== E5: jitter sweep, exact oracle, {len(JITTERS)*len(CAPS)*REPS*2} runs ===") + print(f"=== jitter sweep, exact oracle, {len(JITTERS)*len(CAPS)*REPS*2} runs ===") report(sweep()) print(f"\nwrote {RUNS}/spec_jitter.parquet") diff --git a/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py index b6b45e8..c419ad6 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py +++ b/tools/simulators/tsi/tsi-sim-pernode/scripts/spec_point.py @@ -1,4 +1,4 @@ -"""What the DEPLOYED chain would read at the spec's own operating point — handoff E1/E2/E6. +"""What the DEPLOYED chain would read at the spec's own operating point. The report measures the mechanism: it drives the estimator to exact `f`, so its numbers isolate fork loss from every other effect. That is the right default for design questions and the wrong @@ -6,7 +6,7 @@ one for "what will the deployed chain read", because the spec's estimator quanti rate — `cryptarchia-total-stake-inference.md` carries `const PRECISION: u64 = 1e3`, so `f_p = 0.033` at `f = 1/30` and the recursion drives density to a target ~1 % below `f`. -E1 pins the operating point from `analysis-block-times-blend-network.md`: `blending_delay` is a +The operating point comes from `analysis-block-times-blend-network.md`: `blending_delay` is a FIXED per-hop dwell of 2 s (the `3d+5` max-delay arithmetic gives 11 s at d=2 and 14 s at d=3, matching the prose), so the simulator's `Uniform(0, delta_max)` matches it in the mean at `delta_max = 4` -> `D_vis ~ 8 s`, `rho ~ 0.27`. @@ -43,7 +43,7 @@ EPOCHS = 20 REPS = 20 N_JOBS = 6 -# The spec's operating point (E1), with the spec's own MAX_UNCLES rather than the report's U = 2. +# The spec's operating point , with the spec's own MAX_UNCLES rather than the report's U = 2. SPEC_POINT = dict(n_nodes=1000, stake_dist="pareto", topology="blend", degree=6, link_latency_mean=0.5, link_latency_dist="geo", blend_hops=3, blend_delay_max=4.0, max_uncles=4, uncle_strategy="oldest",