What is proven, and by what
| Claim | Covered by |
|---|
| The registered model was used, unmodified | zk proof (fixed params; verifier bound to the circuit) + ModelRegistry |
| The score follows from the committed features | zk proof (Poseidon feature commitment is a public instance) |
| The features came from the stated satellite data | NOT the zk proof → reproducible manifest + open challenge game |
| The scoring rule is scientifically right | NOT cryptography → open methodology + governance |
Post-quantum scope (honest)
| Element | Quantum-safe? |
|---|
| Manifest attestations (ML-DSA-65, FIPS 204) | ✅ Yes |
| Hash commitments (SHA-256, keccak256) | ✅ Considered safe with sufficient output size |
| Ethereum transaction signatures (ECDSA) | ❌ No; outside our control; roadmap: PQ account abstraction |
| zk proofs (Halo2 + KZG) | ❌ No (pairing-based); roadmap: hash-based STARK proofs |
| Overall | Records are double-anchored: forging history requires breaking both ML-DSA and the chain |
Trust model (MVP)
| Component | MVP assumption | Production path |
|---|
| Satellite data | Public datasets via Earth Engine (fixture samples when no credentials) | Multiple providers, data-availability commitments |
| Feature extraction | Reproducible manifest; anyone can recompute; challengeable | zk/TEE proof of extraction |
| Model inference | Cryptographically proven (EZKL) | PQ-friendly proof system |
| Challenge resolution | 2-of-3 resolver multisig | Staked, decentralised resolvers |
| Registry admin | Multisig / deployer (testnet) | DAO / standards body |
| Signatures | ML-DSA-65 on manifests + ECDSA on txs | PQ account abstraction |
Measured: ECDSA secp256k1 vs ML-DSA-65
Measured by ai/pq/bench.py on —. Dashes mean not measured.
| Metric | ECDSA | ML-DSA-65 |
|---|
| Public key size | — | — |
| Signature size | — | — |
| Sign time | — | — |
| Verify time | — | — |
Measured: zkML (EZKL / Halo2-KZG)
| Circuit log-rows | — |
| Input / output scale | — / — |
| Proving time (mean) | — |
| Proof size | — |
| Float vs proven max abs error | — |
| Verifier bytecode | see docs/BENCHMARKS.md |
Deployed contracts (chain —)