Replicate The Blind Machine experiments
AI agent skillIndependently reproduce the experiments in The Blind Machine paper and confirm its published numbers, using only the open Blind CLI and public data — no hosted service, no credentials, no private records.
Download & use this skill
Download .tar.gz
Install the whole repository into your agent's skills directory in one command — it unpacks as a
ready-to-use replicate/ folder (change -C
to your skills path):
curl -fsSL https://blindmachine.org/skills/replicate/archive | tar xz -C ~/.claude/skills
Or fetch just the recipe to read or execute inline:
curl https://blindmachine.org/skills/replicate.md
---name: replicatedescription: >- Independently reproduce the experiments in The Blind Machine paper and confirm its published numbers, using only the open Blind CLI and public data — no hosted service, no credentials, no private records. Use this whenever someone wants to replicate, reproduce, re-run, verify, or check the results, experiments, or benchmarks of The Blind Machine (blindmachine.org/papers/the-blind-machine): "does this paper reproduce?", "rerun their experiments", "confirm the allele-frequency / differencing / FST / LD numbers", or "check the encrypted-vs-cleartext exactness". Runs the synthetic BFV evaluation and the four real-genome studies (E5-E8) and diffs the outputs against the committed results.---# Replicate The Blind Machine experimentsYou are an AI agent asked to **independently replicate** the experiments in thepaper *The Blind Machine: Governed Computation on Encrypted Data withCertificate-Bound, Reproducible Verification* and confirm that the numbersreproduce. The point of this skill is that the whole trust surface is open: thesame signed applications the platform runs are on your machine, so you can provethe results yourself rather than take them on faith. Everything runs on open toolsand public data — you never need the hosted service, credentials, or any privaterecord.Work in a scratch directory and end with a short PASS / FAIL / SKIP summary.## What you are provingTwo empirical claims, both checkable end to end:1. **Exactness** — for six BFV applications on synthetic cohorts and for four studies on real public human genomes, the value decrypted from encrypted execution equals a plaintext oracle *exactly*.2. **Release governance** — a minimum-cohort floor alone does not stop a K-versus-K+1 differencing attack; cohort freeze and a query budget do.## Prerequisites- Python 3.11+ and [`uv`](https://docs.astral.sh/uv/) — the toolchain the application bundles seal their environments with.- `git`, `bash`, and (only for the real-genome studies E5-E8) `bcftools`.- Network on first run: the bundles download TenSEAL once, and E5-E8 fetch bounded public intervals from the IGSR/1000 Genomes FTP. ~2 GB free disk.If a prerequisite is missing, mark the affected steps **SKIP** rather than FAIL —a tool you could not install is not a failed replication.## Procedure### 1. Get the codeThe open-source Blind CLI is the whole trust surface; the six curated applicationsare open at https://blindmachine.org/applications/. Obtain the project (CLI athttps://github.com/blindmachine/blind-cli, plus the `applications/` and`docs/paper/experiments/` trees the paper documents) and change into it.### 2. Reproduce the synthetic evaluation (paper Section 10) — no network, no real data```bashcd docs/paper/experimentsbash run_all.sh # seals 6 app envs, drives real BFV, asserts invariants (~90s)python3 verify.py # re-check machine-independent invariants only```Expect `RESULT: PASS`. Confirm the six ciphertext sizes and `max_error == 0`against **`references/expected-results.md`** (the exact byte counts aredeterministic, so a mismatch is a real regression, not noise).### 3. Reproduce the real-genome studies (paper Section 11) — public IGSR data```bashbash e5_real_human_dna_igsr.sh # allele-frequency panelbash e6_public_af_fst_panel.sh # cross-population differentiationbash e7_beacon_release_policy.sh # differencing attack + release policybash e8_public_ld_window.sh # draft encrypted-product LD windowpython3 summarize_public_real_dna.py```Confirm each study's headline numbers against **`references/expected-results.md`**.Each script fetches only the bounded interval it needs, runs the signedapplications locally under real BFV, checks the decrypted output against acleartext oracle, and writes aggregate-only results (individual genotype vectorsstay under an ignored `work/` directory).### 4. (Optional) verify a computation you did not run```bashuv run blind certificates verify <certificate.json> # re-check schema + bindinguv run blind applications install <name> # verify digest + signatureuv run blind explain <name> # human-readable account```### 5. ReportReport **PASS** only if `run_all.sh` printed `RESULT: PASS`, `verify.py` exitedzero, all six synthetic ciphertext sizes matched with `max_error` 0, and the E5-E8headline numbers matched. Otherwise report **FAIL** with the specific script,expected value, and observed value. Mark anything you could not run **SKIP**. Donot invent numbers you did not observe.If a step fails, consult **`references/troubleshooting.md`** before concluding —most failures are environment issues (missing `bcftools`, no network, a coldTenSEAL build) that resolve to SKIP, not a real regression.## Reference files- `references/expected-results.md` — every expected value to check (synthetic ciphertext taxonomy + E5-E8 headline numbers). Read it before reporting.- `references/troubleshooting.md` — failure modes and whether each is SKIP or FAIL.
Part of the Replicate The Blind Machine experiments agent skill.