🔐 ZK (Zero-Knowledge)
O Bounded Context de ZK é a oficina de provas de conhecimento zero do PAEBIRU. Sua função canônica é a ZK-PoL (Proof of Location — provar que o nó está dentro de uma região geográfica sem revelar suas coordenadas exatas), mas também abriga provas de integridade de modelos federados e de correção de rollback C.A.P.I.B.A. O canônico é Groth16 sobre BN254, com arkworks como backend.
⚠️ Stub documental. O crate
paebiru-zkainda não está implementado no workspace (somente okernelestá materializado emcrates/). Este arquivo existe para (a) desbloquear o build do mdBook em modo strict — oSUMMARY.mdprecisa de um capítulo apontando para o BC ZK — e (b) servir de contrato canônico para a primeira implementação. Ver tópico em formalização.
1. Fronteira do BC
| Tipo | O que é ZK | O que não é |
|---|---|---|
| Em escopo | Geração de chaves de prova, setup (SRS), circuit para ZK-PoL (Haversine + bounding-box), serialização de provas Groth16 | Criptografia de transporte / Noise / TLS (→ kernel) |
| Em escopo | Verificação de provas (verifier otimizado para no_std quando possível) | Assinaturas pós-quânticas ML-DSA / ML-KEM (→ kernel) |
| Em escopo | Composição de provas (rollup de várias PoL em um único recibo) | Política de quando uma PoL é exigida (→ decisão de protocolo) |
| Em escopo | Bindings C-ABI para SDKs de outras linguagens (ver Dogma 4) | Hospedagem do wasmtime (→ kernel) |
2. Estado atual e roadmap
- Pré-Fase 3 — apenas especificado.
- O modelo matemático está descrito em Referência · Matemática.
- A prova de ZK-PoL combina (a) constraint Haversine para a distância geodésica com (b) constraint bounding-box para o raio autorizado, sem revelar a posição exata.
- Quando o nó rodando em MCU restrito não pode gerar a prova
localmente, ela é delegada a um nó vizinho com
attestation — o resultado entra como
CausalBlockseparado assinado por AMBOS os nós.
3. Invariantes do Domínio
- Soundness acima de tudo: nenhuma prova aceita sem verificação completa do verifier; verificação parcial é proibida (anti-class: trusted setup trap).
- SRS público e verificável: a structured reference string deve ser gerada por cerimônia pública verificável; nunca SRS descartável.
- Sem replay: cada prova inclui um nonce causal derivado do DVV atual — provas velhas não são reusáveis.
- Falha visível: prova inválida → recibo com
verdict=reject- entrada no
MacrophageVMpara análise; nunca fail-silent.
- entrada no
- Pós-quântico em roadmap: Groth16/BN254 é o canônico de Fase 3; transição para STARKs ou PLONK sobre curvas pós-quânticas será objeto de nova RFC.