SECURITY
Security Model
Protocol guarantees (design)
- Zero-knowledge verification of every state change; nullifiers prevent double spending and double termination.
- Admission reads are pinned to one block and re-checked for canonicality before commit.
- Admission and the prover hand-off record are committed atomically; failures fail closed.
- Matcher and prover are separate: the matcher cannot read prover keys or decrypted private order sections.
- Recovery paths remain available under pause; the guardian cannot seize funds.
Prover keys
- Each epoch has its own key, looked up by its exact epoch ID. There is no latest, current, nearest or try-all fallback.
- A missing epoch key is a terminal rejection; a temporarily unavailable key store is retried and never treated as a missing key.
- Before opening, the prover checks that the secret key corresponds to the public key registered for that epoch.
- Keys of earlier epochs are retained for as long as the protocol lifecycle needs them, including after an early rotation.
- Prover secret storage is isolated from matcher access. In the initial release the epoch keys are stored in the prover database and loaded by the prover process; there is no hardware security module, so compromise of that database or its backups would expose epoch keys.
Verification status
The initial-release candidate has passed its internal release-candidate regression, including a production-shaped end-to-end run from a genuine eligibility proof to an opened order. This is internal engineering verification, not an independent audit.
Before real user funds
- An external cryptographic and security review is required.
- Target-network measurement and recalibration of protocol parameters are required.
- Deployment and operations (hosting, database roles, backups, key handling) are part of the security model and must be verified at deployment.