Nuovo toolkit modulare zk! ⚡ Usalo per generare zkps da attestazioni offchain. Il flusso: - Firma/utilizza l'attestazione offchain - Genera prove con SP1 - Verifica con WASM - Attesta il risultato della verifica onchain (opzionale) Un ringraziamento speciale a @shivansheth e @whoisgautxm (zkAttestify) per il contributo e a @SuccinctLabs per il supporto!
Ecco il flusso: 1) Firmare/fornire una validazione offchain valida - Le attestazioni strutturate vengono create utilizzando EAS - Firmate con EIP712 - I dati rimangono offchain e privati. - La firma è verificabile. 2) Generare la prova ZK (SP1) - Utilizzare SP1 zkvm per analizzare la struttura EAS - Valida la correttezza della firma e la logica (hardcoded per la demo) - Il programma SP1 genera prove Groth16 o Plonk - L'output include il file di prova + input pubblici I programmi dob-program e dob-scripts del repository gestiscono la logica. 3) Verificare in WASM (Browser o Node) - Caricare il verificatore compilato - Fornire prova + input pubblici - Lo script JS esegue la verifica della prova e controlla la logica 4) Facoltativo: Attestare il risultato della verifica onchain - Inviare la prova zk a un contratto di verifica solidity (verificatore groth16) - In caso di successo, chiamare EAS per emettere una nuova attestazione onchain - Schema e dati sono personalizzabili (isOver18 = true) - Ti dà il controllo su scadenza/revocazione/componibilità - Nessun collegamento all'attestazione offchain originale Note - questo flusso presuppone che tu ti fidi dell'attestatore dell'attestazione offchain. - generare prove groth16/plonk è lento. Utilizza la Succinct Prover Network per una maggiore efficienza.
Questo tutorial/demonstrativo ti guiderà su come funziona in 15 minuti. Utilizza un semplice esempio di prova di età. Il toolkit è modulare, quindi con alcune modifiche puoi sostituirlo con i tuoi schemi / logica di circuito in seguito.
Visita il Github
Vuoi guardare un video invece del team di ZKAttestify?
Vuoi personalizzare il flusso? Ecco cosa modificare: - In `dob-program/src/main.rs` – cambia la logica (ad es., `degree == "CS"`) - In `dob-script/input.json` – modifica i dati di attestazione e lo schema - In `WASM_verifier/` – verifica qualsiasi prova con la stessa struttura
Questo progetto è un'implementazione di riferimento. È modulare, open source e pronto per essere forkato. Aiutaci ad estendere il supporto per più schemi, verificatori e casi d'uso. Stiamo cercando attivamente collaboratori e costruttori che vogliono portare questo repository al livello successivo. Contattaci! 🫡
18,51K