Repository navigation
Research/v0.4 - #1
Merged
Merged
Conversation
…l predictions Split policies (iid, round_robin with weights, batch, latency) with a common exit and per-leg observation; relay-side mixing (constant, exponential, pool) and random-hop cover drop; a bursty traffic generator; a correlation_suite adversary with training-free attackers A0 to A3, confident linkage and signal estimates; closed-form model predictions (atl predict); a host-noise fidelity check and wave mode (atl fidelity, sessions.max_concurrent); paired-seed comparisons (atl paired). Behavior change: TPR at a fixed FPR is now conservative under tied scores (0, not 1), and thresholds can be chosen on held-out calibration sessions. The code is the version frozen for the confirmatory runs of the accompanying study; comments, docstrings and docs were edited afterwards.
Bump the version to 0.4.0, add CHANGELOG.md, describe the v0.4 features and limitations on the project page, and use a dict literal in one test (ruff C408). No behavior change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added
routing.split_strategy):iid, weightedround_robin,batchand lowest-RTTlatency.routing.merge: common_exitends all legs at one exit relay, as in Conflux.adversary.observed_legsandadversary.egress_observation: mergedset what the adversary sees, and per-leg traffic shares are reported in the metrics.mixing.strategy:constant,exponential,pool) and random-hop cover drop (cover_behaviour.drop_mode: random_hop).traffic.distribution: burst).correlation_suiteadversary: training-free attackers A0 (zero-lag), A1 (lag-aware binned correlation), A2 (likelihood ratio with the known delay density) and A3 (timing window). They are scored on one shared calibration/test split and report confident linkage, TPR at fixed FPR, a signal estimate and AUC. Raw observations and score matrices are saved tocorrelation_suite.npz, so a run can be rescored offline.atl predict.atl fidelitymeasures host-induced timing noise; wave mode (sessions.max_concurrent) keeps large runs within the noise limit.atl pairedruns paired-seed comparisons with a bootstrap interval and an equivalence margin.examples/mixnet_pool.yaml,CHANGELOG.md, and v0.4 sections on the project page.Behavior change
TPR at a fixed FPR is now conservative under tied scores (0 instead of 1), and the threshold can be chosen on held-out calibration sessions (
adversary.evaluation.calibration_fraction). Results for experiments whose scores tie can differ from v0.3.Testing
test_attacks.py,test_mixing.py,test_splitting.py,test_model_and_fidelity.py); ruff is clean.Notes
The code in the first commit is the version used for the confirmatory experiments of a paper in preparation. Comments, docstrings and documentation were edited afterwards, and the code itself is unchanged. The second commit adds the release metadata and a one-line lint fix in a test.