ÚltimoDecreto N° 1.104 · híbrido AND · alcaldia → secretaria
Oráculo ZK · IdViva · groth16 / BN128 · 269 R1CS
Probar sin mostrar el expediente.
El testigo (RUN, nacimiento, cédula, comuna) queda en el dispositivo. El libro solo recibe π, el merkle root del padrón, el nullifier y ok=1. Groth16 real: e(A,B) = e(α,β) · e(IC,γ) · e(C,δ). Un predicado falso no produce prueba: el circuito es insatisfactible.
Persona natural identificada, mayor de edad, cédula al día. DAF, DOM e IdentityRegistry.
Testigo privado
Visible solo en esta sesión de prueba. Epoch 2026-08-24.
CRS de dos fases (powers of tau n=10 + zkey de Secretaría). El prover calcula A ∈ G₁, B ∈ G₂, C ∈ G₁. El verificador no ve el testigo: comprueba el pairing.
e(A,B) = e(α,β) · e(IC,γ) · e(C,δ)
El dispositivo extrae bits del credencial SRCeI. El RUN no es input.
Circom fuerza booleanos y AND. Poseidon(sk, stmt, ok) → nullifier.
ok y stmt son públicos. Si AND ≠ ok, Assert Failed: no hay π.
verifyGroth16 lee la vk. Replay: el nullifier se gasta en el epoch.