mirror of
https://github.com/logos-blockchain/research.git
synced 2026-08-07 03:33:33 +00:00
The report is now reports/tsi/README.md, so browsing to reports/tsi/ lands on the report itself rather than on an index that points at it. The old index carried nothing the report lacked except the note that report-figures/ holds the figures of record (the simulator folder does not commit its own), which is folded into §9; its section table is superseded by the report's own contents block. The "[Index]" self-link in the header is replaced by the simulator link the index used to carry. The contents block was inconsistent: §2 listed subsection titles, §3 and §6 listed bare numbers with no titles at all, and the appendices were crammed onto one line while their subsections went unlisted. Rebuilt from the document's actual headings so every entry has a real title, top-level entries carry a one-line gloss, and subsections sit indented under their parent. It now covers all 47 anchors, including B.1-B.4 and C.1-C.2 which were previously absent. scripts/build_html.py follows the rename (DOCS is a single document) and still renders clean: 47 anchors, 0 broken internal links, 0 unrewritten .md links, 37 images. Also adds configs/countable-vs-old-paired.yaml — the paired, 20-replicate version of the overload grid. §3.2a now rests on a paired design while §3.2 still rests on 5 unpaired replicates, which is why its U=1 cells at delta_max 16 and 32 sit unresolved at t ~ 0.5 against a replicate sd of 0.15. That sweep is running; the report is not yet updated from it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
37 lines
2.5 KiB
YAML
37 lines
2.5 KiB
YAML
# PAIRED overload-grid comparison: countable vs unrestricted referencing across the full
|
|
# delay range, delta_max 4/8/16/32 (rho ~ 0.36 to 1.76).
|
|
#
|
|
# Supersedes countable-vs-old.yaml, which was 5 replicates with INDEPENDENT streams per arm.
|
|
# That design pays the between-run variance twice; at delta_max = 32 its replicate spread
|
|
# reaches sd 0.15, which left the U=1 cells unresolvable (t ~ 0.5) even though the U=2/U=4
|
|
# effects there are enormous (t = 6.5 and 41). See §3.2a for what pairing bought in the
|
|
# design band: a median 1.6x SE shrink and an exact-zero negative control.
|
|
#
|
|
# paired_streams gives a countable cell and its --old twin the SAME stake draw, peering graph
|
|
# and lottery outcomes, so the uncle rule is the only difference and each replicate is a
|
|
# matched pair. Replicates also go 5 -> 20. U=0 stays as the control: with no uncles and
|
|
# shared streams the two arms must be bit-identical, which is an identity check rather than
|
|
# a noise check.
|
|
#
|
|
# Run TWICE — default (countable) and with --old — same grid.
|
|
# 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 multi-slot fork regime)
|
|
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] # fixed hop count; delay is the swept knob
|
|
blend_delay_max: [4.0, 8.0, 16.0, 32.0] # max per-relay mixing delay (slots)
|
|
max_uncles: [0, 1, 2, 4] # U: 0 baseline, then the recovery levers
|
|
uncle_strategy: [oldest] # spec selection: oldest-first fill
|
|
init_dest: [common] # per-node initial D_est from agreement
|
|
replicates: 20 # 4x the unpaired grid, plus pairing
|
|
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
|
|
paired_streams: true # common random numbers across the two arms
|