What Probe Events Are
Every dispatch carries a random 32 byte nonce. The validator deterministically derives three probe events from the nonce. The miner’s sandbox must perform all three events. Their presence in the resulting trace files proves the miner actually ran the bundle in the sandbox they claim.| Probe event | What the miner does | Where it appears in traces |
|---|---|---|
| File write | Write a known string to a known path | fs.jsonl |
| DNS lookup | Resolve a known hostname | network.jsonl |
| Process echo | Spawn a process that echoes a known string | process.jsonl |
Probe Derivation
The derivation is deterministic.synapse.probe_evidence. The validator re derives and compares.
What the Miner Does
The miner’s sandbox harness, before running the bundle, performs all three probe events.What the Validator Checks
On synapse receipt, the validator runs two checks:Synapse Level
Trace Level (primaries, runtime types)
Why Three Events
A single probe event would be enough to detect a totally fake miner. Three events provide:- Resilience against partial trace synthesis: a miner who can fake fs traces still needs to fake matching network and process traces
- Coverage across the three trace dimensions Phylax cares about: filesystem, network, process. Any sandbox detonation worth signing should be tracking all three.
- A weak collusion check: three independent values change per nonce, so caching strategies across miners would need to cache across all three.
Why /tmp/phylax/ for the File Path
Standard sandbox containers mount a tmpfs at/tmp. The miner can always write here, even in --read-only rootfs mode. Sandboxes that disable /tmp would fail to run any code that depends on standard library temp paths, so requiring writable /tmp is not a meaningful additional constraint.
The /tmp/phylax/ subdirectory groups probe artifacts so they are easy to identify in the trace.
Why /probe/phylax.local for the DNS Host
The hostname is intentionally not resolvable. The miner only needs to attempt the lookup. The attempt itself appears innetwork.jsonl regardless of whether DNS returns NOERROR or NXDOMAIN. This avoids requiring the sandbox to have any real network connectivity.
If the sandbox is --network none, the lookup still attempts and still logs through whatever DNS interceptor the miner has wired in. If it does not log, the miner is not correctly recording network activity, which is a problem the probe check should detect.
Why “echo” for the Process Spawn
echo is universally present in any reasonable Linux container. It is short, predictable, and produces a single process record with a known argv. This makes the trace check unambiguous.
A miner who uses a custom shell harness that avoids exec calls would fail this probe, which is the intended outcome: any meaningful behavioural sandbox does need to track process spawns.
Failure Modes
| What the miner did | What the validator sees | Outcome |
|---|---|---|
| Did not run the bundle at all | probe_evidence returns empty or wrong values | Synapse rejected. Reputation invalid. |
| Ran the bundle but missed probe injection | probe_evidence correct, but probe events not in trace JSONLs | Trace level check fails. Score 0. Reputation x 0.7. |
| Used a different sandbox than registered | Probe events may not even reach network.jsonl if the sandbox does not intercept DNS | Trace level check fails. Reputation penalty. |
| Synthesised probe records into trace without running the bundle | Trace hashes don’t reconcile with what other miners reported | Consensus penalty plus rerun divergence in async. |
Integration with Sandbox Reruns
The async rerun reuses the same nonce as the original dispatch. The validator’s rerun pulls the miner’s image, runs it on the same bundle with the same nonce, and gets the same probe events back. The fs trace from the canary write is byte identical, allowing exact hash comparison. The probe events sit alongside. This means the validator gets two independent verifications of probe events: synapse time (against the miner’s submission) and rerun time (against the validator’s own execution of the miner’s image).What’s Next
SSSA Schema
Where probe evidence lives in the SSSA.
Sandbox Reruns
The async rerun that also verifies probe events.
Round Flow
Where probe derivation fits in the per round timing.
Protocol Reference
The synapse field shape.