From 8cc682aa49e46a6fa878c4f78cf43e7a1ab1b494 Mon Sep 17 00:00:00 2001 From: Marcin Pawlowski Date: Thu, 6 Aug 2026 14:54:52 +0200 Subject: [PATCH] Item 16: the revenue-optimal adversary is not the estimator's worst case Both eta ceilings in sec 6.6 come from adversaries optimising something else (revenue, reorg depth), so they bound eta from above without bounding the damage from below. Optimising the estimate directly needs no ratio transform: each transition consumes exactly one block-finding event, so minimising D-hat = (canonical + p_ref * countable uncles)/events is a plain average-reward MDP over the transition table that already carries the orphan counts. One value-iteration pass, no bisection. Unconstrained, the answer degenerates -- and usefully. The optimum is pure abstention: publish nothing, adopt when overtaken, D-hat = 1 - alpha exactly, revenue zero. That is sec 6.4's withholding, which the report already shows is CORRECT measurement rather than mis-measurement, so the unconstrained objective asks the wrong question. The constrained one bites. Sweeping lam * (adversary blocks) - (contribution to D-hat) enumerates policies; the line of interest is where revenue SHARE reaches alpha, i.e. where attacking costs nothing versus mining honestly. At alpha=0.4 such a policy drives D-hat to 0.642 where the revenue-maximiser reaches 0.811 -- 17 points of extra deflation bought with the selfish premium alone. At 0.36 and 0.45 the gaps are 0.082 and 0.103. Below the 1/3 threshold nothing profitable deflates, so the exposure starts exactly where selfish mining does. This revises two claims that were about revenue but read as though they were about the adversary in general: sec 6.7's "the adversary frontier is exactly optimal selfish mining; no compounding lever remains" and sec 8.2's echo of it. Both now say the PROFIT frontier is bounded and the estimator frontier is not the same policy. Note the sweep parameter is deliberately non-monotone in revenue -- selfish mining takes a bigger share of a smaller pie, so raw block rate is maximised by honesty and large lam returns there; it enumerates policies rather than tracing a path. Also closes a fairness loop these findings opened. Sec 6.7(1) credits uncle rewards with compensating orphaned honest producers, computed on the SM1 race where every orphan is a first-fork block. Under a private chain 20-40% of the honest blocks destroyed are unreferenceable by construction, so those producers are uncompensatable at ANY w_u -- not underpaid because p_ref is low, but unreachable because no valid block may name them. The fairness guarantee inherits the same first-fork ceiling as the density repair. Logged as item 19, flagged as a protocol-design question rather than something a schedule fixes. _solve_mdp is refactored into _solve_reward/_greedy_policy/_stationary/ _policy_rates so both objectives share one implementation; optimal_policy_stats reproduces its committed figures exactly (eta 0.4413, D-hat 0.9447/0.8111 at alpha=0.4). 251 tests pass. Co-Authored-By: Claude Fable 5 --- reports/tsi/README.md | 30 ++- .../fig37_deflation_frontier.png | Bin 0 -> 236540 bytes .../scripts/deflation_frontier.py | 147 +++++++++++++ .../src/tsi_sim/selfish_mdp.py | 208 ++++++++++++++---- .../tests/test_countable_selfish.py | 52 +++++ 5 files changed, 387 insertions(+), 50 deletions(-) create mode 100644 reports/tsi/report-figures/fig37_deflation_frontier.png create mode 100644 tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py diff --git a/reports/tsi/README.md b/reports/tsi/README.md index b2a7899..477ffff 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)). 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 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)). 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).* @@ -619,6 +619,20 @@ The curve is **within `0.09` for `β = 0.5` and `β = 1.0`** at every duty — p So **SM1 is a faithful proxy for selfish-mining revenue but not for TSI's estimator damage**: at `α = 0.4, γ = 0` its revenue share (0.484) sits within 1 % of the optimum's (0.489), while its recoverable-orphan fraction (1.00) is more than double (0.44). The repair is real but roughly **half** of what the unrestricted model shows — `0.81`, not `0.94`, at `α = 0.4` — and it moves the *wrong way* with `α`: the unrestricted recovery improves as the attacker grows (0.926 → 0.955) because a stronger attacker orphans a larger share of a shrinking honest chain, while the countable recovery **degrades** (0.856 → 0.619) because a stronger attacker waits longer and buries more blocks per fork. (Read the `α ≥ 0.42` cells as indicative: the orphan *shape* converges more slowly in the MDP's lead cap than the revenue does — `η` at `α = 0.45` still moves by ~3 % relative between cap 48 and 64, against ~0.1 % at `α = 0.4`.) The depth-maximising adversary of [§6.10](#s6-10) agrees on the magnitude from the other direction — `η = 0.52` at `α = 0.30` with the measured honest fork rate `o = 0.35` (`reorg.countable_recovery_from_depths`). Neither figure is a worst case: both adversaries optimise something else (revenue, depth), and one optimising *deflation* directly would trade revenue for fork depth. The attacker's own channel is capped by the same rule — its abandoned secret chain is also one chain, so it can self-uncle only the first block of it (`η_adv = 0.750` at `α = 0.4`), which narrows the [§6.7](#s6-7)(a) farming payoff below what the block count suggests. +**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)): + +| `α` | revenue-optimal: share / `D̂` | best break-even-paid: share / `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 | + +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.) + +![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) + **The per-node engine reaches the same ceiling independently.** Everything above is a stationary MDP: one global chain, no network, recovery inferred from the policy's orphan structure. Running a private-chain coalition inside the per-node simulator instead — real propagation delays, per-node views, an actual uncle queue draining against `U` and `W` — reproduces the mechanism from the other side: of the honest blocks a private-chain attack destroys, only 59–81 % are countable at all (against 97 % of ordinary latency orphans), and the shortfall is precisely the blocks buried behind the first of each discarded run ([§6.8](#s6-8)). Two models that share no code and make different idealisations agree on both the direction and the rough size of the loss, which is the strongest evidence available here that the first-fork ceiling is a property of the counting rule rather than of either model. ![Fig 36 — the countable recovery ceiling under a selfish adversary: SM1 leaves every orphan referenceable (flat 1.0) while the optimal policy buries them (left); the resulting D̂ is about half the repair the unrestricted model shows, and degrades with α (right).](report-figures/fig36_countable_selfish.png) @@ -632,7 +646,9 @@ So **SM1 is a faithful proxy for selfish-mining revenue but not for TSI's estima Everything above measures *blocks*. Whether an attack **pays** depends on the reward schedule, which is a design choice. We add one as a configurable option (`selfish.RewardParams`): a block reward (`= 1`), an **uncle reward** `w_u` (a reward weight — distinct from the uncle *window*, which this report calls `W`) paid to the *producer* of an orphaned block that is referenced as an uncle, and a **nephew reward** `w_n` paid to the block that *references* it. The model has five knobs in total: `w_u`, `w_n`, the honest-orphan reference rate `p_ref` (defined below), the attacker's self-uncling rate `p_ref_adv` (= 1 for a rational attacker), and `adv_nephew` — the fraction of referenced honest orphans whose *nephew* reward the attacker's own canonical blocks capture (0 without a forced-inclusion mandate, since honest blocks do the referencing). Three effects, all adversarially analysed. -**(1) It compensates orphaned honest producers (fairness).** A block-only schedule pays an orphaned honest block **nothing** — the same "off-chain, uncounted" fate that drives both the [§3.2](#s3-2) latency under-count and the losses a selfish attacker inflicts. Define the **reference rate** `p_ref` = the probability that an orphaned honest block is referenced as an uncle by some canonical block within `W`. An uncle reward `w_u` refunds the loss in proportion to `p_ref`: honest recovery of *mined* value rises with `w_u` toward `1.0` (e.g. in the α = 0.4 selfish race, `0.61 → 0.80 → 1.00` for `w_u = 0 → 0.5 → 1` at `p_ref = 1`; `fig15`, right, plots recovery vs `p_ref`). The same references that restore the TSI *density* ([§6.6](#s6-6), `D̂`) restore the *reward*. **This benefit is robust** because a genuine latency orphan is *published* and straddled by *honest* canonical blocks that reference it, so `p_ref ≈ 1` here — unlike the selfish case in (3), where the attacker owns the straddling blocks. +**(1) It compensates orphaned honest producers (fairness).** A block-only schedule pays an orphaned honest block **nothing** — the same "off-chain, uncounted" fate that drives both the [§3.2](#s3-2) latency under-count and the losses a selfish attacker inflicts. Define the **reference rate** `p_ref` = the probability that an orphaned honest block is referenced as an uncle by some canonical block within `W`. An uncle reward `w_u` refunds the loss in proportion to `p_ref`: honest recovery of *mined* value rises with `w_u` toward `1.0` (e.g. in the α = 0.4 selfish race, `0.61 → 0.80 → 1.00` for `w_u = 0 → 0.5 → 1` at `p_ref = 1`; `fig15`, right, plots recovery vs `p_ref`). The same references that restore the TSI *density* ([§6.6](#s6-6), `D̂`) restore the *reward*. **This benefit is robust for the case it is designed for** — a genuine latency orphan is *published*, straddled by *honest* canonical blocks that reference it, and (crucially) the **first block of its fork**, so `p_ref ≈ 1` and the refund is available in full. + +**But it cannot reach the orphans a private chain makes, at any `w_u`.** The recovery figures above are computed on the SM1 race, where the attacker acts the moment the honest branch reaches length 1 and so every orphan it makes is a first-fork block. A private-chain override discards a *chain*, and only its first block is referenceable ([§2.1](#s2-1)) — measured in the per-node engine, 20–40 % of the honest blocks such an attack destroys can never be referenced by anyone ([§6.8](#s6-8)). An uncle reward refunds `w_u` per *referenced* orphan, so those producers are uncompensatable by construction: not underpaid because `p_ref` is low and could be raised, but unreachable because no valid block may name them. The fairness ceiling is therefore the same first-fork ceiling that caps the density repair, and it binds hardest on exactly the honest miners an attacker targets. This is a limit of the *counting rule*, not of the reward schedule, so no choice of `w_u`/`w_n` addresses it; what a schedule can still do is avoid *compounding* it, which is what the [§6.7](#s6-7)(a) `w_u + w_n < 1` invariant does. **(2) It disincentivises hiding.** A withheld block (the [§6.4](#s6-4)/[§6.5](#s6-5) lever) *never propagates*, so it can never be referenced as an uncle — the withholder forfeits **both** the block reward **and** any uncle reward. Publishing promptly is therefore strictly dominant for an honest-but-unlucky miner, and abstention is made even costlier than the already-negative [§6.5](#s6-5) result. The reward schedule turns "publish everything you win, immediately" into the incentive-compatible action. @@ -650,7 +666,7 @@ The backfire is *unconditional* below the `⅓` threshold and holds at higher ` *(c) The reference game is not fixed by a plain `w_n`.* Because the selfish attacker suppresses references on its *own* override blocks, a nephew reward it *also collects* does **not** by itself force inclusion — in the model, raising `w_n` slightly *lowers* `α*` (the stake threshold above which selfish mining is profitable — i.e. it marginally *helps* the attacker, which pockets a canonical-share slice of the nephew pot). What *does* keep the effective reference rate high is that the orphans are **published**, so the many *other* honest blocks within `W` reference them anyway ([§6.8](#s6-8)). A hard "invalid block if it omits an uncle" mandate would force this outright but **cannot be encoded fork-safely** (no node can prove what forks a producer saw — [§6.8](#s6-8)), so we use a **soft (reward-weighted) inclusion rule** instead. *(Consolidated protocol recommendation: end of [§6.8](#s6-8).)* -**Joint / adaptive adversary** (the adaptive-schedule case left open in [§6.5](#s6-5)'s scope note). The optimal *within-race* adversary is the [§6.6](#s6-6) MDP. Combining selfish release with the [§6.5](#s6-5) *abstention* lever is **dominated**: abstaining a fraction `ψ` of your wins lowers effective mining power to `α_abst = α(1−ψ)/(α(1−ψ)+1−α) < α`, and selfish revenue is monotone increasing in `α` (`fig14`), so withholding-to-abstain strictly reduces the take. Closed-loop timing on `D̂` adds nothing either: the selfish revenue *share* depends only on `(α, γ)`, not on `D̂` (the race is decided block-by-block, while `D̂` moves on the epoch scale). So the adversary frontier is exactly **optimal selfish mining, bounded by the stake threshold** — and, *under the [§6.8](#s6-8) soft inclusion rule that keeps the emergent `p_ref` high*, blunted but not eliminated by rewarded uncles. No compounding lever remains. +**Joint / adaptive adversary** (the adaptive-schedule case left open in [§6.5](#s6-5)'s scope note). The optimal *within-race* adversary is the [§6.6](#s6-6) MDP. Combining selfish release with the [§6.5](#s6-5) *abstention* lever is **dominated**: abstaining a fraction `ψ` of your wins lowers effective mining power to `α_abst = α(1−ψ)/(α(1−ψ)+1−α) < α`, and selfish revenue is monotone increasing in `α` (`fig14`), so withholding-to-abstain strictly reduces the take. Closed-loop timing on `D̂` adds nothing either: the selfish revenue *share* depends only on `(α, γ)`, not on `D̂` (the race is decided block-by-block, while `D̂` moves on the epoch scale). So the **profit** frontier is exactly **optimal selfish mining, bounded by the stake threshold** — and, *under the [§6.8](#s6-8) soft inclusion rule that keeps the emergent `p_ref` high*, blunted but not eliminated by rewarded uncles. No compounding lever raises the *take*. This argument is about revenue throughout, and does not transfer to the estimate: an adversary indifferent between earning its stake share and earning the selfish premium is free to spend that premium on deflation instead, which is a strictly larger policy space than the one bounded here ([§6.6](#s6-6), `fig37`). ### 6.8 A *soft* inclusion rule delivers the benefit without a fork risk (`fig15`) @@ -833,7 +849,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 adversary frontier is exactly optimal selfish mining; no compounding lever remains ([§6.7](#s6-7)). +**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. ### 8.3 Residual risks and open items @@ -853,9 +869,10 @@ 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 is unquantified ([§6.6](#s6-6)).** The countable recovery ceilings measured there come from adversaries optimising something *else* — revenue (the SSZ MDP: `η = 0.44` at α = 0.4) and reorg depth (`η = 0.52` at α = 0.30). An adversary optimising the *estimator* directly would trade revenue for fork depth, since every block buried behind a fork's first is permanently uncountable while a deeper fork costs it only the marginal revenue of waiting. Both measured ceilings are therefore upper bounds on `η` — best-case-for-the-defender — not lower bounds on the damage; sizing the deflation-optimal policy is future work. +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). 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. ### 8.4 Capstone: the whole recipe, in one run @@ -939,6 +956,7 @@ Sweep studies are committed configs, run with `make ` (writes a dated `run | **uncle-selection deviation** (the spec's deterministic oldest-first vs a coin, over `W` × delay) | `configs/uncle-selection.yaml` (`uncle_strategy`, `uncle_random_p`) | [§3.4](#s3-4) | | **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) | **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. @@ -946,7 +964,7 @@ Because the two models draw independent RNG streams, every countable-vs-unrestri All studies were **re-run on 2026-07-23/24 with the corrected slot-counting mechanism** ([§2.1](#s2-1)) and the early-stop optimisation; the resilient batch is `scripts/run_all_reruns.sh` (per-step log in `runs/rerun_status.log`). Canonical run directories (latest): fullscale N=5000/10000 = `2026-07-24_094519_fullscale`; fullscale N=1000/2000 = `2026-07-23_171803_fullscale-small`; uncle-window = `2026-07-24_001456`; window-uncles = `2026-07-24_014240`; block-rate = `2026-07-24_043943`; blend-hops-delay = `2026-07-24_064052`; window-scale = `2026-07-24_085234`; latency-shape = `2026-07-24_090014_expdist`; stake-tail = `2026-07-24_090044_pareto133`; heterogeneous-start = `2026-07-24_090114_default`; N-scaling = the `nscaling-{a,b}` + `nscaling32-{a,b}` runs; adversary grids = `runs/adversary_grid/`; jitter = `runs/jitter_grid/`; bootstrap = `runs/bootstrap_fullscale/`; fluctuation = `runs/fluctuation_u0.parquet`; fork-rate = `runs/fork_rate_vs_delay.parquet`; ρ-boundary = `2026-07-27_195627_rho-boundary`. Referencing-model studies: countable-vs-unrestricted (paired, primary) = `2026-08-05_120804_cvo-paired-countable` / `2026-08-05_123403_cvo-paired-old`; the superseded unpaired pair = `2026-08-04_103536_cvo-countable` / `2026-08-04_104010_cvo-old`; window absorption = `2026-08-04_104633_absorption-window`; fine delay band (unpaired) = `2026-08-04_191441_fine-countable` / `2026-08-04_195353_fine-old`; fine delay band (paired, primary) = `2026-08-05_111109_fine-paired-countable` / `2026-08-05_113218_fine-paired-old`. Adversarial-countability studies: uncle-selection deviation = `2026-08-05_152617_uncle-selection`; countable-selfish MDP = `runs/countable_selfish.parquet` + `runs/countable_selfish_reorg.parquet`; §6.5 scope variants and the withhold-load sweep = `runs/adversary_variants_{whale,jitter,beta,withhold_load}.parquet`. -Figures are embedded from [`report-figures/`](report-figures) and versioned here alongside the report; the simulator folder does **not** commit its own generated figures, so the copies checked in here are the figures of record. Figures are in `report-figures/` (`fig1`–`fig29`, plus [Appendix B](#sB)'s `figB1`–`figB2`; numbering is generation order, not order of appearance). Committed generators: `fig1` (bootstrap, k=2160) by `scripts/bootstrap_dynamics.py`; `fig2`,`fig4`,`fig5`,`fig17`–`fig22` by `scripts/regenerate_extra_figs.py` from the latest sweeps (`fig3` hops×delay×U grid by `scripts/hops_delay_grid.py`, `fig6` (block-rate `U_min` grid + ρ-collapse) rendered ad hoc from `runs/2026-07-24_043943_block-rate` with no committed generator; `fig26` deficit-vs-ρ by `scripts/rho_boundary_analysis.py`) (fullscale-derived `fig17`–`fig20` pool both sizes in that run, N = 5 000 and N = 10 000 — the generators filter on stake_dist/topology/degree/init_dest only, never on `n_nodes`); `fig8`,`fig9` by `scripts/adversary_figs.py` from `runs/adversary_grid/`; `fig10`–`fig12` by `scripts/dynamic_withhold.py`; `fig13`–`fig15` by `scripts/selfish_mining.py`/`selfish_rewards.py`/`reward_mandate.py`; `fig16` by `scripts/stake_vs_delay.py`; `fig23`–`fig24` by `scripts/nscaling_analysis.py`; `fig25` by `scripts/window_scale_analysis.py`; `fig27`–`fig28` by `scripts/reorg_depth.py` (fork rates via `--measure`; private-chain model `src/tsi_sim/reorg.py`); `fig29` by `scripts/churn.py`; `figB1`–`figB2` by `scripts/appendix_fluct.py`. `fig7` (feedback fixed-point) is an analytic overlay; `fig30`–`fig33` (countable-vs-unrestricted accuracy, `q_u`-prediction check, recovery rate, absorption-window sweep) by `scripts/plot_countable_vs_old.py` from the `cvo-countable`/`cvo-old`/`absorption-window` runs; `fig34`–`fig35` (design-regime accuracy and the model gap with 95 % CIs) by `scripts/plot_fine_delay.py` from the `fine-countable`/`fine-old` runs; `fig36` (the countable recovery ceiling under a selfish adversary) by `scripts/countable_selfish.py`, which solves the MDP directly and writes `runs/countable_selfish.parquet` + `runs/countable_selfish_reorg.parquet` (no sweep input). Every figure type the per-node simulator generates appears in this report, and the fork-rate/reorg-depth study closes the previous reproducibility gap for the adversarial figures (`fig8`,`fig9` now have committed generators from `runs/adversary_grid/`). +Figures are embedded from [`report-figures/`](report-figures) and versioned here alongside the report; the simulator folder does **not** commit its own generated figures, so the copies checked in here are the figures of record. Figures are in `report-figures/` (`fig1`–`fig29`, plus [Appendix B](#sB)'s `figB1`–`figB2`; numbering is generation order, not order of appearance). Committed generators: `fig1` (bootstrap, k=2160) by `scripts/bootstrap_dynamics.py`; `fig2`,`fig4`,`fig5`,`fig17`–`fig22` by `scripts/regenerate_extra_figs.py` from the latest sweeps (`fig3` hops×delay×U grid by `scripts/hops_delay_grid.py`, `fig6` (block-rate `U_min` grid + ρ-collapse) rendered ad hoc from `runs/2026-07-24_043943_block-rate` with no committed generator; `fig26` deficit-vs-ρ by `scripts/rho_boundary_analysis.py`) (fullscale-derived `fig17`–`fig20` pool both sizes in that run, N = 5 000 and N = 10 000 — the generators filter on stake_dist/topology/degree/init_dest only, never on `n_nodes`); `fig8`,`fig9` by `scripts/adversary_figs.py` from `runs/adversary_grid/`; `fig10`–`fig12` by `scripts/dynamic_withhold.py`; `fig13`–`fig15` by `scripts/selfish_mining.py`/`selfish_rewards.py`/`reward_mandate.py`; `fig16` by `scripts/stake_vs_delay.py`; `fig23`–`fig24` by `scripts/nscaling_analysis.py`; `fig25` by `scripts/window_scale_analysis.py`; `fig27`–`fig28` by `scripts/reorg_depth.py` (fork rates via `--measure`; private-chain model `src/tsi_sim/reorg.py`); `fig29` by `scripts/churn.py`; `figB1`–`figB2` by `scripts/appendix_fluct.py`. `fig7` (feedback fixed-point) is an analytic overlay; `fig30`–`fig33` (countable-vs-unrestricted accuracy, `q_u`-prediction check, recovery rate, absorption-window sweep) by `scripts/plot_countable_vs_old.py` from the `cvo-countable`/`cvo-old`/`absorption-window` runs; `fig34`–`fig35` (design-regime accuracy and the model gap with 95 % CIs) by `scripts/plot_fine_delay.py` from the `fine-countable`/`fine-old` runs; `fig36` (the countable recovery ceiling under a selfish adversary) by `scripts/countable_selfish.py`, which solves the MDP directly and writes `runs/countable_selfish.parquet` + `runs/countable_selfish_reorg.parquet` (no sweep input); `fig37` (the profit/deflation frontier) by `scripts/deflation_frontier.py` from `runs/deflation_frontier.parquet`, likewise solver-only. Every figure type the per-node simulator generates appears in this report, and the fork-rate/reorg-depth study closes the previous reproducibility gap for the adversarial figures (`fig8`,`fig9` now have committed generators from `runs/adversary_grid/`). --- diff --git a/reports/tsi/report-figures/fig37_deflation_frontier.png b/reports/tsi/report-figures/fig37_deflation_frontier.png new file mode 100644 index 0000000000000000000000000000000000000000..2e58f7a4b8f529df135ec1cace0e70948ef17e26 GIT binary patch literal 236540 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 >rXX;2@71&;{ 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 c$ATi;`j0kG4Epo^A8?E;C)K;wiVd=OZE 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 literal 0 HcmV?d00001 diff --git a/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py b/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py new file mode 100644 index 0000000..d77f673 --- /dev/null +++ b/tools/simulators/tsi/tsi-sim-pernode/scripts/deflation_frontier.py @@ -0,0 +1,147 @@ +"""How far can a PROFITABLE adversary deflate the estimate? — REPORT §8.3 item 16 (fig37). + +§6.6 measures the countable recovery ceiling under two adversaries, and both optimise something +other than the estimator: revenue (the SSZ objective) and reorg depth. Item 16 recorded the +consequence — those are upper bounds on `eta`, not lower bounds on the damage — and asked what an +adversary optimising deflation directly would do. + +Two answers, because the obvious question is the wrong one: + + * **Unconstrained**, the deflation optimum is pure abstention: publish nothing, adopt when + overtaken, drive `D_hat` to exactly `1 - alpha` and revenue to zero. §6.4 already covers this + and shows it is *correct* measurement — a coalition that publishes nothing is not + participating, so `1 - alpha` is the right answer for the stake that is. + * **Constrained to stay paid**, the question bites. Sweeping the mixed objective + `lam * (adversary blocks) - (contribution to D_hat)` traces the profit/deflation frontier; + the point of interest is where the revenue *share* reaches `alpha`, i.e. where the adversary + does no worse than mining honestly. Everything below that line is self-punishing griefing, + already bounded by §6.5. + +The headline: at `alpha = 0.4` an adversary content with break-even revenue pushes `D_hat` to +~0.64, against the revenue-optimal policy's 0.81. The revenue-optimal adversary is not the +estimator's worst case, and the gap is free — it costs only the selfish premium. + +Note the sweep parameter is not monotone in revenue: selfish mining wins a larger share of a +*smaller* pie, so raw adversary block rate is maximised by honest mining and large `lam` returns +there. That is fine — the sweep is used to enumerate candidate policies and their measured +(share, `D_hat`) pairs, not as a monotone path, and any point on it is a legitimate strategy. + +Run: python scripts/deflation_frontier.py (writes runs/deflation_frontier.parquet + fig37) +""" + +from __future__ import annotations + +from pathlib import Path + +import numpy as np +import pandas as pd + +from tsi_sim.plotting import style +from tsi_sim.selfish_mdp import deflation_frontier, deflation_optimal_stats, optimal_policy_stats + +HERE = Path(__file__).resolve().parent.parent +RUNS = HERE / "runs" +FIGS = HERE / "report-figures" +RUNS.mkdir(exist_ok=True) +FIGS.mkdir(exist_ok=True) + +CAP = 64 +GAMMA = 0.0 +ALPHAS = [0.30, 1 / 3, 0.36, 0.38, 0.40, 0.42, 0.45] +LAMS = [round(x, 2) for x in np.arange(0.0, 3.05, 0.1)] + + +def sweep() -> pd.DataFrame: + rows = [] + for a in ALPHAS: + ro = optimal_policy_stats(a, GAMMA, cap=CAP) + do = deflation_optimal_stats(a, GAMMA, cap=CAP) + for lam in LAMS: + r = deflation_frontier(a, GAMMA, lam, cap=CAP) + r |= dict(revenue_optimal=ro.revenue, + dhat_revenue_optimal=ro.dhat_ratio(1.0, True) if ro.deviates else 1.0, + dhat_abstention=do.dhat_ratio(1.0, True)) + rows.append(r) + df = pd.DataFrame(rows) + df.to_parquet(RUNS / "deflation_frontier.parquet", index=False) + return df + + +def best_profitable(df: pd.DataFrame) -> pd.DataFrame: + """Per alpha, the frontier point minimising D_hat among those paying at least stake share.""" + out = [] + for _a, g in df.groupby("alpha"): + paid = g[g.reward_per_stake >= 1.0 - 1e-9] + if paid.empty: + continue + out.append(paid.loc[paid.dhat_countable.idxmin()]) + return pd.DataFrame(out) + + +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}") + 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)") + 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)") + + +def fig37(df: pd.DataFrame) -> None: + import matplotlib.pyplot as plt + style.apply_style() + fig, axes = plt.subplots(1, 2, figsize=(9.6, 3.8)) + + # LEFT: the frontier itself for a few alphas — revenue share against the estimate + ax = axes[0] + for i, a in enumerate([0.36, 0.40, 0.45]): + g = df[np.isclose(df.alpha, a)].sort_values("lam") + c = style.OKABE_ITO[i + 1] + ax.plot(g.revenue, g.dhat_countable, "-o", ms=3, color=c, label=rf"$\alpha={a}$") + ax.axvline(a, color=c, lw=0.7, ls=":") + ro = g.dhat_revenue_optimal.iloc[0] + ax.plot([g.revenue_optimal.iloc[0]], [ro], "*", ms=11, color=c) + ax.set_xlabel("adversary revenue share (dotted line = its stake, i.e. break-even)") + ax.set_ylabel(r"$\hat D / D^*$") + ax.set_title("Profit/deflation frontier (★ = revenue-optimal)") + ax.legend(fontsize=7, loc="lower right") + + # RIGHT: how much worse the estimator gets once the adversary stops maximising revenue + ax = axes[1] + best = best_profitable(df).sort_values("alpha") + ref = df.groupby("alpha").agg(d_ro=("dhat_revenue_optimal", "first"), + d_ab=("dhat_abstention", "first")).reset_index() + ax.plot(ref.alpha, ref.d_ro, "-*", ms=9, color=style.OKABE_ITO[2], + label="revenue-optimal (§6.6)") + ax.plot(best.alpha, best.dhat_countable, "-o", ms=4, color=style.OKABE_ITO[3], + label="best deflation at break-even pay") + ax.plot(ref.alpha, ref.d_ab, "--v", ms=4, color=style.OKABE_ITO[1], + label=r"abstention ($1-\alpha$, unpaid)") + ax.axhline(1.0, color="0.5", lw=0.9, ls="--") + ax.set_xlabel(r"adversary stake $\alpha$") + ax.set_ylabel(r"$\hat D / D^*$") + ax.set_title("The revenue-optimal adversary is not the worst case") + ax.legend(fontsize=7, loc="lower left") + + style.save(fig, FIGS / "fig37_deflation_frontier", provenance="scripts/deflation_frontier.py") + plt.close(fig) + + +def main() -> None: + print(f"=== profit/deflation frontier (MDP cap={CAP}, gamma={GAMMA}) ===") + df = sweep() + report(df) + fig37(df) + print("wrote fig37_deflation_frontier") + + +if __name__ == "__main__": + main() 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 3b3c53d..f02530b 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 @@ -124,16 +124,16 @@ def _precompute(alpha, gamma, states, index, cap): return probs, nxt, radv, rhon, ohon, oadv, legal -def _solve_mdp(pc, rho, ref, iters, tol): - """Optimal average gain for the rho-parametrised reward, by *damped* relative value iteration. +def _solve_reward(pc, reward, ref, iters, tol): + """Optimal average gain for an arbitrary per-branch reward, by *damped* relative value + iteration. Returns ``(gain, V)``. The chain is periodic, so undamped VI oscillates and a naive |Δgain| stop can false-trigger as the gain crosses zero. We damp (``V ← V + τ(TV − V)``) to break periodicity and stop on the textbook span criterion: at the average-reward fixed point ``TV − V = g·1`` (span → 0), and the gain ``g`` is that uniform increment. Returns the span-centre of the final Bellman increment. """ - probs, nxt, radv, rhon, _ohon, _oadv, legal = pc - reward = (1.0 - rho) * radv - rho * rhon # (4, n, K), constant across iterations + probs, nxt, _radv, _rhon, _ohon, _oadv, legal = pc V = np.zeros(probs.shape[1]) tau = 0.5 d = np.zeros(1) @@ -145,7 +145,61 @@ def _solve_mdp(pc, rho, ref, iters, tol): break V = V + tau * d V -= V[ref] # anchor to keep values bounded - return 0.5 * (d.max() + d.min()) + return 0.5 * (d.max() + d.min()), V + + +def _solve_mdp(pc, rho, ref, iters, tol): + """Optimal average gain for the rho-parametrised *revenue* reward (the ratio transform).""" + _probs, _nxt, radv, rhon, _ohon, _oadv, _legal = pc + return _solve_reward(pc, (1.0 - rho) * radv - rho * rhon, ref, iters, tol)[0] + + +def _greedy_policy(pc, reward, V): + """Greedy action per state, tie-broken toward the lowest index (ADOPT first, i.e. the + least-deviating action) so near-ties resolve deterministically rather than arbitrarily.""" + probs, nxt, _radv, _rhon, _ohon, _oadv, legal = pc + q = (probs * (reward + V[nxt])).sum(axis=2) + q[~legal] = -1e18 + best = q.max(axis=0) + return np.where(q >= best[None, :] - 1e-9, np.arange(4)[:, None], 99).min(axis=0) + + +def _stationary(pc, pol): + """Stationary distribution of the policy-induced chain. The chain is periodic (see + :func:`_solve_reward`), so iterate the LAZY chain — same stationary vector, no oscillation.""" + probs, nxt, *_ = pc + n = probs.shape[1] + rows = np.arange(n) + p_s, n_s = probs[pol, rows], nxt[pol, rows] + pi = np.full(n, 1.0 / n) + for _ in range(500_000): + new = 0.5 * pi + 0.5 * np.bincount(n_s.ravel(), weights=(pi[:, None] * p_s).ravel(), + minlength=n) + new /= new.sum() + if np.abs(new - pi).max() < 1e-15: + return new + pi = new + return pi + + +def _policy_rates(pc, pol, pi): + """Per-block-finding-event rates under a policy's stationary distribution. + + Every MDP transition consumes exactly one block-finding event (the alpha/beta branch), so + stationary per-step rates *are* per-event rates. + """ + probs, nxt, radv, rhon, ohon, oadv, _legal = pc + rows = np.arange(probs.shape[1]) + w = pi[:, None] * probs[pol, rows] + oh, oa = ohon[pol, rows], oadv[pol, rows] + return dict( + adv_rate=float((w * radv[pol, rows]).sum()), + hon_rate=float((w * rhon[pol, rows]).sum()), + orphan_hon_blocks=float((w * oh).sum()), + orphan_hon_runs=float((w * (oh > 0)).sum()), + orphan_adv_blocks=float((w * oa).sum()), + orphan_adv_runs=float((w * (oa > 0)).sum()), + ) def optimal_selfish_revenue(alpha: float, gamma: float, cap: int = 60, @@ -226,6 +280,102 @@ class OptimalPolicyStats: return self.density_fraction + float(np.clip(p_ref, 0.0, 1.0)) * rec +def deflation_optimal_stats(alpha: float, gamma: float, p_ref: float = 1.0, cap: int = 64, + iters: int = 4000, tol: float = 1e-10) -> OptimalPolicyStats: + """The policy that MINIMISES the estimate, rather than the one that maximises revenue. + + Both ceilings in §6.6 come from adversaries optimising something else — revenue (the SSZ + objective) and reorg depth — so they bound ``eta`` from above without bounding the damage + from below. This closes that gap by optimising the estimator directly. + + No ratio transform is needed, unlike the revenue objective. Every transition consumes exactly + one block-finding event, and the estimate is + + D̂/D = (canonical blocks + p_ref · countable uncles) / events + + with one countable uncle per discarded honest *run* (§2.1). So the per-event contribution is + ``radv + rhon + p_ref·[orphaned honest run]``, and minimising its long-run average is a plain + average-reward MDP — solved by maximising the negated reward in one value-iteration pass. + + ``p_ref`` is the share of countable orphans that honest referencers actually pick up; at the + default 1 the adversary faces the most effective possible repair, so the resulting deflation + is the worst case it can force against a fully-cooperative honest network. + + **The unconstrained optimum is degenerate, and usefully so.** It is pure abstention: mine + privately, publish nothing, adopt when overtaken. That drives ``D̂`` to exactly ``1 - alpha`` + and revenue to zero. But §6.4 already establishes that this is *correct* measurement rather + than mis-measurement — a coalition that publishes nothing genuinely is not participating, and + ``1 - alpha`` is the right answer for the stake that is. So the unconstrained objective asks + the wrong question; the one that matters is how far ``D̂`` can be pushed by an adversary that + stays profitable, which :func:`deflation_frontier` traces. + """ + states, index = _build_states(cap) + pc = _precompute(alpha, gamma, states, index, cap) + probs, nxt, radv, rhon, ohon, oadv, legal = pc + ref = index[(1, 0, IRRELEVANT)] + + dhat_step = radv + rhon + float(p_ref) * (ohon > 0) + gain, V = _solve_reward(pc, -dhat_step, ref, iters, tol) + pol = _greedy_policy(pc, -dhat_step, V) + pi = _stationary(pc, pol) + rates = _policy_rates(pc, pol, pi) + + # The gain IS the negated minimum estimate; cross-check it against the stationary rates so a + # silent mismatch between the solver and the accounting cannot pass unnoticed. + dhat = rates["adv_rate"] + rates["hon_rate"] + float(p_ref) * rates["orphan_hon_runs"] + if abs(-gain - dhat) > 1e-6: + raise AssertionError(f"deflation MDP gain {-gain:.9f} != stationary D-hat {dhat:.9f}") + + revenue = (rates["adv_rate"] / (rates["adv_rate"] + rates["hon_rate"]) + if rates["adv_rate"] + rates["hon_rate"] > 0 else 0.0) + return OptimalPolicyStats(alpha=alpha, gamma=gamma, revenue=revenue, deviates=True, + density_fraction=rates["adv_rate"] + rates["hon_rate"], + orphan_hon_blocks=rates["orphan_hon_blocks"], + orphan_hon_runs=rates["orphan_hon_runs"], + orphan_adv_blocks=rates["orphan_adv_blocks"], + orphan_adv_runs=rates["orphan_adv_runs"]) + + +def deflation_frontier(alpha: float, gamma: float, lam: float, p_ref: float = 1.0, + cap: int = 64, iters: int = 4000, tol: float = 1e-10) -> dict: + """One point on the profit/deflation trade-off: the policy optimal for a mixed objective. + + Neither pure objective answers item 16. Maximising revenue ignores the estimator; minimising + the estimate degenerates to abstention, which forfeits every block reward and is correctly + measured anyway (:func:`deflation_optimal_stats`). What the report needs to know is how much + deflation an adversary can force *while still being paid* — i.e. the Pareto frontier between + the two. + + Sweeping ``lam`` from 0 upward traces it: the per-event reward is + ``lam · (adversary blocks) − (contribution to D̂)``, so ``lam = 0`` is the deflation optimum + and large ``lam`` approaches the revenue optimum. The point of interest is where the revenue + *share* crosses ``alpha`` — an adversary doing at least as well as honest mining — because + below that the attack is self-punishing griefing already bounded by §6.5. + """ + states, index = _build_states(cap) + pc = _precompute(alpha, gamma, states, index, cap) + _probs, _nxt, radv, rhon, ohon, _oadv, _legal = pc + ref = index[(1, 0, IRRELEVANT)] + + reward = float(lam) * radv - (radv + rhon + float(p_ref) * (ohon > 0)) + _gain, V = _solve_reward(pc, reward, ref, iters, tol) + pol = _greedy_policy(pc, reward, V) + rates = _policy_rates(pc, pol, _stationary(pc, pol)) + 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 + return dict( + alpha=alpha, gamma=gamma, lam=lam, + revenue=revenue, + reward_per_stake=(revenue / alpha) if alpha else 0.0, + density_fraction=canonical, + dhat_countable=canonical + float(p_ref) * runs, + dhat_unrestricted=canonical + float(p_ref) * blocks, + eta=(runs / blocks) if blocks > 0 else 1.0, + orphan_hon_blocks=blocks, + ) + + def optimal_policy_stats(alpha: float, gamma: float, cap: int = 64, iters: int = 4000, tol: float = 1e-10) -> OptimalPolicyStats: """Orphan structure of the *optimal* selfish policy — the input the countable model needs. @@ -252,46 +402,16 @@ def optimal_policy_stats(alpha: float, gamma: float, cap: int = 64, orphan_hon_runs=0.0, orphan_adv_blocks=0.0, orphan_adv_runs=0.0) - # Recover V at the optimal rho, then the greedy policy. + # Recover V at the optimal rho, then read off the greedy policy and its stationary rates. reward = (1.0 - revenue) * radv - revenue * rhon - n = probs.shape[1] - V = np.zeros(n) - for _ in range(iters): - q = (probs * (reward + V[nxt])).sum(axis=2) - q[~legal] = -1e18 - d = q.max(axis=0) - V - if d.max() - d.min() < tol: - break - V = V + 0.5 * d - V -= V[ref] - q = (probs * (reward + V[nxt])).sum(axis=2) - q[~legal] = -1e18 - # Deterministic tie-break toward the lowest action index (ADOPT < OVERRIDE < MATCH < WAIT) so - # near-ties resolve to the least-deviating policy instead of an arbitrary argmax. - best = q.max(axis=0) - pol = np.where(q >= best[None, :] - 1e-9, np.arange(4)[:, None], 99).min(axis=0) - - rows = np.arange(n) - p_s, n_s = probs[pol, rows], nxt[pol, rows] # (n, K) - # Stationary distribution. The policy chain is periodic (see _solve_mdp), so iterate the lazy - # chain — same stationary vector, no oscillation. - pi = np.full(n, 1.0 / n) - for _ in range(500_000): - new = 0.5 * pi + 0.5 * np.bincount(n_s.ravel(), weights=(pi[:, None] * p_s).ravel(), - minlength=n) - new /= new.sum() - if np.abs(new - pi).max() < 1e-15: - pi = new - break - pi = new - - w = pi[:, None] * p_s # stationary branch flow - ohon_s, oadv_s = ohon[pol, rows], oadv[pol, rows] + _gain, V = _solve_reward(pc, reward, ref, iters, tol) + pol = _greedy_policy(pc, reward, V) + rates = _policy_rates(pc, pol, _stationary(pc, pol)) return OptimalPolicyStats( alpha=alpha, gamma=gamma, revenue=revenue, deviates=True, - density_fraction=float((w * (radv[pol, rows] + rhon[pol, rows])).sum()), - orphan_hon_blocks=float((w * ohon_s).sum()), - orphan_hon_runs=float((w * (ohon_s > 0)).sum()), - orphan_adv_blocks=float((w * oadv_s).sum()), - orphan_adv_runs=float((w * (oadv_s > 0)).sum()), + density_fraction=rates["adv_rate"] + rates["hon_rate"], + orphan_hon_blocks=rates["orphan_hon_blocks"], + orphan_hon_runs=rates["orphan_hon_runs"], + orphan_adv_blocks=rates["orphan_adv_blocks"], + orphan_adv_runs=rates["orphan_adv_runs"], ) diff --git a/tools/simulators/tsi/tsi-sim-pernode/tests/test_countable_selfish.py b/tools/simulators/tsi/tsi-sim-pernode/tests/test_countable_selfish.py index 1322f80..e5b368b 100644 --- a/tools/simulators/tsi/tsi-sim-pernode/tests/test_countable_selfish.py +++ b/tools/simulators/tsi/tsi-sim-pernode/tests/test_countable_selfish.py @@ -76,6 +76,58 @@ def test_attacker_self_uncle_is_capped_too(): assert 0.5 < s.countable_recovery_adv < 1.0 +def test_unconstrained_deflation_optimum_is_abstention(): + # Minimising the estimate with no constraint degenerates: publish nothing, and D-hat lands on + # exactly 1 - alpha with zero revenue. §6.4 already covers that case and shows it is CORRECT + # measurement rather than mis-measurement, which is why item 16 needs the paid frontier. + from tsi_sim.selfish_mdp import deflation_optimal_stats + + for alpha in (0.2, 0.4): + s = deflation_optimal_stats(alpha, 0.0, cap=16) + assert abs(s.dhat_ratio(1.0, True) - (1.0 - alpha)) < 1e-6 + assert s.revenue < 1e-9 + assert s.orphan_hon_blocks < 1e-9 # it orphans no honest work at all + + +def test_deflation_solver_gain_matches_its_stationary_accounting(): + # deflation_optimal_stats raises if the MDP's average gain disagrees with the estimate + # recomputed from the stationary distribution -- an independent check that the solver and the + # orphan accounting describe the same policy. Exercise it across a spread of inputs. + from tsi_sim.selfish_mdp import deflation_optimal_stats + + for alpha in (0.25, 0.35, 0.45): + for p_ref in (0.0, 0.85, 1.0): + deflation_optimal_stats(alpha, 0.0, p_ref=p_ref, cap=16) # no AssertionError + + +def test_frontier_endpoints_bracket_the_two_pure_objectives(): + from tsi_sim.selfish_mdp import deflation_frontier, deflation_optimal_stats + + alpha = 0.4 + zero = deflation_frontier(alpha, 0.0, 0.0, cap=16) + pure = deflation_optimal_stats(alpha, 0.0, cap=16) + assert abs(zero["dhat_countable"] - pure.dhat_ratio(1.0, True)) < 1e-6 # lam=0 is that optimum + # Selfish mining takes a bigger share of a SMALLER pie, so maximising raw adversary block + # rate returns to honest mining -- the frontier is not monotone in revenue, by construction. + far = deflation_frontier(alpha, 0.0, 50.0, cap=16) + assert abs(far["revenue"] - alpha) < 1e-3 + assert abs(far["dhat_countable"] - 1.0) < 1e-3 + + +def test_a_paid_policy_deflates_further_than_the_revenue_optimum(): + # Item 16's answer: the revenue-optimal adversary is not the estimator's worst case. At + # alpha = 0.4 a policy exists that pays at least as well as honest mining yet deflates + # substantially further than the revenue optimum does. + from tsi_sim.selfish_mdp import deflation_frontier, optimal_policy_stats + + alpha, cap = 0.4, 32 + ro = optimal_policy_stats(alpha, 0.0, cap=cap) + paid = [deflation_frontier(alpha, 0.0, lam, cap=cap) for lam in (0.4, 0.6, 0.8, 1.0)] + paid = [p for p in paid if p["reward_per_stake"] >= 1.0 - 1e-9] + assert paid, "expected at least one break-even-or-better frontier point" + assert min(p["dhat_countable"] for p in paid) < ro.dhat_ratio(1.0, True) - 0.05 + + def test_reorg_countable_recovery_from_depths(): # A depth-d reorg discards one chain of d blocks -> 1 countable uncle: runs / blocks. from tsi_sim.reorg import countable_recovery_from_depths