¡Nuevo kit de herramientas zk modular! ⚡ Úselo para generar zkps a partir de atestaciones fuera de la cadena. El flujo: - Firmar/usar atestación fuera de la cadena - Generar pruebas con SP1 - Verificar con WASM - Atestiguar el resultado de la verificación en la cadena (opcional) ¡Un agradecimiento especial a @shivansheth & @whoisgautxm (zkAttestify) por contribuir con esto y a @SuccinctLabs por su apoyo!
Este es el flujo: 1) Firmar/proporcionar una declaración válida fuera de la cadena - Las certificaciones estructuradas se crean mediante EAS - Firmado con EIP712 - Los datos permanecen privados y fuera de la cadena. - La firma es verificable. 2) Generar prueba ZK (SP1) - Utilice SP1 zkvm para analizar la estructura EAS - Valida la corrección y la lógica de la firma (codificado para la demostración) - El programa SP1 genera pruebas de Groth16 o Plonk - La salida incluye archivo de prueba + entradas públicas Los scripts dob-program y dob-scripts del repositorio controlan la lógica. 3) Verificar en WASM (navegador o nodo) - Cargue el verificador compilado - Proporcionar pruebas + aportes públicos - El script JS ejecuta la verificación de pruebas y verifica la lógica 4) Opcional: Certificar el resultado de la verificación en la cadena - Enviar la prueba zk a un contrato de verificador de solidez (verificador groth16) - En caso de éxito, llame a EAS para emitir una nueva atestación en cadena - El esquema y los datos son personalizables (isOver18 = true) - Te da control sobre la caducidad, la revocación y la componibilidad - No hay enlace a la atestación original fuera de la cadena Notas - Este flujo asume que confía en el certificador de la atestación fuera de la cadena. - La generación de pruebas de Groth16/Plonk es lenta. Utilice la red de probadores sucintos para mejorar la eficiencia.
Este tutorial/demostración te guiará a través de cómo funciona en 15 minutos. Utiliza un ejemplo simple de prueba de edad. El kit de herramientas es modular, por lo que con algunos ajustes puede cambiarlo por sus propios esquemas / lógica de circuito más adelante.
Visita el Github
¿Quieres ver un video del equipo de ZKAttestify?
¿Quieres personalizar el flujo? Esto es lo que hay que modificar: - En 'dob-program/src/main.rs' – cambia la lógica (por ejemplo, 'degree == "CS"') - En 'dob-script/input.json': cambie los datos y el esquema de atestación - En 'WASM_verifier/' – verifica cualquier prueba con la misma estructura
Este proyecto es una implementación de referencia. Es modular, de código abierto y listo para bifurcar. Ayúdenos a ampliar la compatibilidad con más esquemas, verificadores y casos de uso. Estamos buscando activamente colaboradores y constructores que quieran llevar este repositorio al siguiente nivel. ¡Intenta comunicarte! 🫡
18.49K