Timing results (needs, P(C), F_full|C) are provisional and not calibrated against testnet data.
Needs is the minimum L_diff from the model: the smallest L_diff with P(C) at or above its target at t_v = 3·L_hdr + L_vote = L_diff, and F_full|C at or above its target at W = 2·L_diff. With L_vote = L_diff − 3·L_hdr, the certification gate is W = 3·L_hdr + L_vote + L_diff = 2·L_diff. Opportunity is exp(−f·W) with f = 0.05 per second.
Derived parameters: L_hdr is fixed and L_vote = L_diff − 3·L_hdr. EB references = EB txs × 40/260. Plutus memory = Plutus steps × 0.0036. Reference scripts = 20 kB per G steps (4 MB at 200G). Bold values lead; the others follow from them.
Model: sampled from the conditional certification diffusion model (analysis.py on that branch). The voter law is G = EB references (multi-hop) ⊗ missing txs (1 hop, π1 = 1/6) ⊗ validation CPU, with a reapply-only law for the all-nodes term. The committee is the top-stake committee of the configured seat count (900: coverage ≈ 98.84%) over a synthetic 2,500-node stake distribution, in the Normal approximation. “Plan limit” fetches EB references at the plan’s limit, EB txs × 40/260. “Report’s mix” keeps the model’s fixed 1/64/256/512 kB body for every size and reproduces the report’s tables to within 0.05 s. Voters additionally spend c · steps · f_exec on Plutus execution. Node timings are treated as independent.