
Proof Generation & Verification
Acceso’s ZK infrastructure enables privacy-preserving computation inside the platform. Clients prove statements about data without revealing the data itself.
You call stable APIs. Acceso owns the proving engines, circuit versions, and execution safety.
Clients interact with proof generation via high-level APIs without managing cryptographic tooling.
What this layer does
This layer provides three capabilities:
Proof generation: produce a proof from private + public inputs.
Proof verification: validate a proof against a circuit and public inputs.
Circuit lifecycle: version, enable, and deprecate circuits safely.
Key concepts
Circuit: the statement being proven, plus a versioned contract.
Private inputs: secrets used during proving. Never returned.
Public inputs / public signals: values safe to reveal and verify.
Proof artifact: bytes that bind circuit version + public values.
End-to-end workflow
API-level semantics
Inputs and safety checks
Generation accepts circuit-scoped inputs. Inputs are treated as secrets by default.
Common checks:
Circuit/version exists and is enabled.
Input schema matches the circuit contract.
Input values are within safe bounds.
Request size and compute budgets are enforced.
Output artifact (example shape)
Acceso returns verifiable artifacts. Clients do not manage proving tooling.
What verification checks
Verification validates the proof against:
The circuit identifier and version.
The expected public inputs or public signals.
Proof encoding and structural correctness.
Verification guarantees
Deterministic outcome for the same inputs.
Constant-time validation logic for sensitive checks.
Binary decision surface: valid or invalid.
Failure behavior
Invalid proofs are rejected with structured errors. Errors stay non-sensitive and non-exfiltrating.
Versioning model
Circuits are centrally managed and versioned. New circuits ship without breaking existing integrations.
Operational expectations:
Pin requests to a circuit version when required.
Keep old versions available during deprecation windows.
Treat circuit upgrades as contract changes, not refactors.
Why it matters
Circuit drift breaks verification. Versioned circuits keep proof semantics stable across releases.
Last updated