¡Nuevo kit de herramientas modular zk! ⚡ Úsalo para generar zkps a partir de atestaciones fuera de la cadena. El flujo: - Firmar/utilizar atestación fuera de la cadena - Generar pruebas con SP1 - Verificar con WASM - Atestiguar el resultado de la verificación en la cadena (opcional) ¡Agradecimientos especiales a @shivansheth y @whoisgautxm (zkAttestify) por contribuir con esto y a @SuccinctLabs por el apoyo!
Aquí está el flujo: 1) Firmar/proporcionar una atestación offchain válida - Se crean atestaciones estructuradas utilizando EAS - Firmadas con EIP712 - Los datos permanecen offchain y son privados. - La firma es verificable. 2) Generar prueba ZK (SP1) - Usar SP1 zkvm para analizar la estructura de EAS - Valida la corrección de la firma y la lógica (codificada para demostración) - El programa SP1 genera pruebas Groth16 o Plonk - La salida incluye el archivo de prueba + entradas públicas La lógica es manejada por los programas dob-program y dob-scripts del repositorio. 3) Verificar en WASM (Navegador o Node) - Cargar el verificador compilado - Proporcionar prueba + entradas públicas - El script JS ejecuta la verificación de la prueba y comprueba la lógica 4) Opcional: Atestar el resultado de la verificación en la cadena - Enviar la prueba zk a un contrato verificador de solidity (verificador groth16) - Al tener éxito, llamar a EAS para emitir una nueva atestación en la cadena - El esquema y los datos son personalizables (isOver18 = true) - Te da control sobre la expiración/revocación/composibilidad - Sin enlace a la atestación offchain original Notas - este flujo asume que confías en el atestador de la atestación offchain. - generar pruebas groth16/plonk es lento. Usa la Red de Proveedores Succinct 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 puedes reemplazarlo por tus propios esquemas / lógica de circuito más adelante.
Visita el Github
¿Quieres ver un video en su lugar del equipo de ZKAttestify?
¿Quieres personalizar el flujo? Aquí tienes lo que debes ajustar: - En `dob-program/src/main.rs` – cambia la lógica (por ejemplo, `degree == "CS"`) - En `dob-script/input.json` – cambia los datos de atestación y el esquema - 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údanos a extender el soporte para más esquemas, verificadores y casos de uso. Estamos buscando activamente colaboradores y creadores que quieran llevar este repositorio al siguiente nivel. ¡Contáctanos! 🫡
18,5K