Architecture
Correctness receipts
Before privacy means anything, the split run has to be right. A correctness receipt proves the sharded output matches the whole model, bit for bit.
The claim
Splitting a model across machines is only useful if it computes the same answer as the unsplit model. The correctness claim is strict:
Gate A definition
Gate A
The runnable harness demonstrates this on CPU in seconds. It runs a model in two stages - first in-process, then across two operating system processes over the sealed wire - with no stage ever holding the whole model, and checks that the logits and sampled tokens are bit-identical.
.venv/bin/python -m proof.correctness_gate
# PASS: split logits == reference logits (bitwise)
# PASS: greedy tokens identical across 2 processes over the sealed wire
# no stage held the full modelWhat a receipt contains
A receipt is a JSON document (format noviq-receipt/v1) that a third party can re-check without trusting the operator. The correctness block records, among other fields:
- Distinct participants - separate public IPs and GPU UUIDs, across multiple regions, so it was genuinely decentralized.
- WAN-scale latency - measured round-trips above a floor, showing hops crossed the real internet rather than one box.
- Output hash - a SHA-256 of the output, optionally matched against a reference token sequence.
Attestation and honesty
Self-reported by default
self-reported unless a signed envelope is present. Verification checks internal consistency - distinct nodes, plausible latencies, a matching hash - not a trusted hardware attestation. We say so plainly rather than overclaim, and stronger attestation (signed identities, trustless compute verification) is on the roadmap.Correctness is the foundation the privacy receipt builds on: the same run that proves the output is right also carries the measured proof that the input stayed hidden. See Obfuscation and receipts.
