Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🔐 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-zk ainda não está implementado no workspace (somente o kernel está materializado em crates/). Este arquivo existe para (a) desbloquear o build do mdBook em modo strict — o SUMMARY.md precisa 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

TipoO que é ZKO que não é
Em escopoGeração de chaves de prova, setup (SRS), circuit para ZK-PoL (Haversine + bounding-box), serialização de provas Groth16Criptografia de transporte / Noise / TLS (→ kernel)
Em escopoVerificação de provas (verifier otimizado para no_std quando possível)Assinaturas pós-quânticas ML-DSA / ML-KEM (→ kernel)
Em escopoComposição de provas (rollup de várias PoL em um único recibo)Política de quando uma PoL é exigida (→ decisão de protocolo)
Em escopoBindings 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 CausalBlock separado assinado por AMBOS os nós.

3. Invariantes do Domínio

  1. Soundness acima de tudo: nenhuma prova aceita sem verificação completa do verifier; verificação parcial é proibida (anti-class: trusted setup trap).
  2. SRS público e verificável: a structured reference string deve ser gerada por cerimônia pública verificável; nunca SRS descartável.
  3. Sem replay: cada prova inclui um nonce causal derivado do DVV atual — provas velhas não são reusáveis.
  4. Falha visível: prova inválida → recibo com verdict=reject
    • entrada no MacrophageVM para análise; nunca fail-silent.
  5. 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.

4. Veja também