26 lines
2.1 KiB
YAML
Raw Normal View History

2026-07-30 18:57:10 +02:00
# Blend mixnet: find the (hops, delay) regime where ONE uncle stops being enough.
# More relay hops and larger per-hop mixing delay push block visibility later -> more concurrent
# proposals -> more orphaned honest blocks per canonical block. A block can reference at most U
# uncles, so once the number of orphans per canonical block exceeds ~1, U=1 can no longer recover
# the full block density and the stake estimate stays low. This sweep brackets that transition.
# Latency is in SLOTS (1 slot = 1 s). Sweep axes (cartesian product x replicates).
n_nodes: [1000, 2000] # network sizes to compare
stake_dist: [pareto] # heavy-tailed (realistic) stake distribution
topology: [blend] # Blend mixnet only (this study is about the cascade)
degree: [6] # peering degree of the underlying d-regular graph
link_latency_mean: [0.5] # per-link graph latency (secondary to mixing delay)
link_latency_dist: [geo] # real-world geographic band mixture
blend_hops: [3, 4, 5, 6] # number of random relay hops in the mix cascade
blend_delay_max: [4.0, 8.0, 16.0, 32.0] # max per-relay mixing delay (slots); delay ~ U(0, this)
max_uncles: [0, 1, 2, 4] # U: 0 baseline, 1 = the question, 2/4 = how many needed
uncle_strategy: [oldest] # uncle selection: oldest-first fill
init_dest: [common] # per-node initial D_est from agreement
replicates: 10 # independent RNG replicates per grid cell
base: # per-run settings shared by every cell (not swept)
k: 2160 # true security parameter
epochs: 20 # equilibrium is reached 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; equilibrium is
# what the U-recovery is measured on, gdf-independent)
early_stop: true