Total-Stake-Inference parameter selection

Per-node network simulation of Cryptarchia Total Stake Inference (TSI). Simulator: tsi-sim-pernode. All runs at the true security parameter k = 2160 unless noted; latency is in slots and 1 slot = 1 s.

This report selects and justifies the TSI parameters for Cryptarchia from a per-node network simulation. It is split into four cohesive parts; section numbers (§1§9, AC) are stable identifiers preserved across the set.

Parts

  1. Overview and recommendations — the executive summary, the per-knob parameter reference (§7), and the safest selection with residual risks and the recommendation-vs-spec deltas (§8).
  2. Accuracy and design — the model and counting rule (§2), the seven findings and their evidence (§3), and the design equations / selection algorithm (§4§5).
  3. Robustness and incentives — jitter, grinding, withholding, selfish mining, the reward design, fork/reorg depth, and organic churn (§6).
  4. Reproducibility and appendices — how to re-run every study (§9), the residual f-rounding offset (App A), the per-epoch noise floor (App B), and consensus detail (App C).

Headline recommendation

Cryptarchia baseline f = 1/30: security k = 2160, uncle window W = 300 slots, uncle cap U = ⌈ρ⌉ + 1 (2 at the Blend target), learning rate β = 1, peering degree ≥ 6 at scale, soft uncle rewards with w_u + w_n < 1, and operate at load ρ = f·D_vis < 1. The full recommended-configuration table and rationale are in Part 1 →.

Figures

Figures are embedded from report-figures/ via relative links and are versioned here alongside the report. They are produced by the simulator's plotting scripts (scripts/*.py and tsi_sim.plotting) in tsi-sim-pernode; that simulation folder does not commit its own generated figures — the copies checked in here are the report's figures of record.

Reproducing the results

The simulation code, configs, and run data live in tools/simulators/tsi/tsi-sim-pernode. Every study's exact command is listed in Part 4 — Reproducibility (§9). In short, from the simulator directory: make install, then make <config> to run a sweep (results land under runs/<timestamp>_<label>/), and the per-figure generators under scripts/ render the figures. Regenerated figures must be copied into report-figures/ to update this report.