Glossario
Zero knowledge proof (prova a conoscenza zero)
Una zero knowledge proof (prova a conoscenza zero) permette a chi dimostra di convincere un verificatore che un'affermazione è vera senza rivelare altro. Nelle crypto serve ai pagamenti privati di Zcash e agli zk-rollup che provano lotti di transazioni Ethereum.
Detto anche Prova a conoscenza zero, Dimostrazione a conoscenza zero, ZKP, ZK proof, Protocollo a conoscenza zero, Prova di validità, zk-SNARK, zk-STARK
Vedi anche
Una zero knowledge proof (ZKP), in italiano prova a conoscenza zero, permette a una parte, il dimostratore (prover), di convincere un’altra, il verificatore, che un’affermazione è vera senza rivelare nient’altro. Si può dimostrare di avere più di 18 anni senza dare la data di nascita. Nelle crypto nasconde i pagamenti su Zcash e fa garantire a una sola prova breve un lotto di transazioni Ethereum.
L’hanno descritta Shafi Goldwasser e Silvio Micali del MIT e Charles Rackoff dell’Università di Toronto in «The Knowledge Complexity of Interactive Proof Systems»: un lavoro presentato per la prima volta nel 1985 e pubblicato su rivista nel 1989.
Zero knowledge proof: come funziona, con tre garanzie
L’articolo parte da qui: una dimostrazione normale dice più di un sì o di un no. Mostri un percorso che tocca tutti i punti di una rete e provi che esiste, ma intanto lo consegni.
Ethereum.org elenca tre proprietà. Se l’affermazione è vera e le due parti seguono il protocollo onestamente, il verificatore accetta: è la completezza. Se è falsa, un imbroglione passa solo con una probabilità trascurabile: è la correttezza (soundness). E il verificatore non impara nient’altro: la conoscenza zero.
Un esempio di zero knowledge proof: 20 giri nella caverna
L’esempio classico è del crittografo belga Jean-Jacques Quisquater e di alcuni colleghi, presentato a CRYPTO ’89. Una caverna ad anello si divide in due corridoi, A e B, uniti in fondo da una porta che si apre solo con una parola segreta. Peggy sostiene di conoscerla. Victor aspetta fuori mentre lei imbocca un corridoio, senza vedere quale.
Poi Victor grida, a caso, da quale corridoio deve uscire. Se conosce la parola, Peggy obbedisce sempre. Se bluffa, ce la fa solo se lui nomina il corridoio già preso: una possibilità su due.
Secondo il nostro calcolo, essendo i giri indipendenti, chi bluffa supera n prove con probabilità 1/2^n.
| Giri | Calcolo | Probabilità di farla franca |
|---|---|---|
| 1 | 1/2 | 50% |
| 5 | 1/2^5 = 1/32 | 3,125% |
| 10 | 1/2^10 = 1/1.024 | circa 0,098% |
| 20 | 1/2^20 = 1/1.048.576 | meno di una su un milione |
Dopo 20 giri Victor può essere sicuro a 1 − 1/1.048.576, cioè al 99,9999% circa. Le probabilità del bluff non arrivano mai a zero, ma scendono quanto Victor vuole. Eppure la parola non la sente mai, e un video non convincerebbe nessun altro: le chiamate potevano essere concordate.

zk-SNARK e zk-STARK: due modi di dimostrarlo con un solo messaggio
Le prove non interattive sostituiscono le domande casuali del verificatore con una casualità generata dalla crittografia. Così chiunque può controllare una prova pubblicata.
Uno zk-SNARK è un «zero-knowledge succinct non-interactive argument of knowledge». Secondo Zcash queste prove occupano poche centinaia di byte e si verificano in pochi millisecondi. Molte richiedono però una cerimonia di configurazione fidata (trusted setup): chi conservasse la casualità segreta, il «toxic waste», potrebbe fabbricare prove false, cioè su Zcash monete contraffatte. Una cerimonia a più partecipanti resta sicura finché anche uno solo di loro distrugge la propria parte.
Lo zk-STARK (scalable transparent argument of knowledge) è stato introdotto da Eli Ben-Sasson e tre coautori in un articolo del gennaio 2018. Gli STARK non hanno bisogno di configurazione fidata. Il prezzo è la dimensione: le prove sono più grandi, e verificarne una su Ethereum costa più dei circa 500.000 gas di uno SNARK, secondo ethereum.org.
A cosa servono le zk proof: Zcash, Ethereum e verifica dell’età
Zcash, avviata il 28 ottobre 2016, è stata il primo uso su larga scala degli zk-SNARK: una transazione schermata su Zcash dimostra di essere valida tenendo nascosti mittente, destinatario e importo. Da maggio 2022 il suo pool Orchard funziona con Halo 2, senza configurazione fidata.
Su Ethereum le prove ZK fanno funzionare gli zk-rollup. Un operatore esegue un lotto di transazioni fuori catena e pubblica un riepilogo con una prova di validità, controllata da un contratto su Ethereum. Così funzionano ZKsync Era, Starknet e Scroll.
Fuori dalle crypto, il modello europeo di verifica dell’età della Commissione consente a un sito di verificare la maggiore età di un visitatore senza conoscerne l’identità. La seconda versione (ottobre 2025) ha aggiunto passaporti e carte d’identità e rinviato le prove a conoscenza zero; oggi la pagina della Commissione le dà per incluse. Danimarca, Francia, Grecia, Italia e Spagna lo stanno adattando. Per EDRi, associazione per i diritti digitali, le specifiche suggeriscono le ZKP senza imporle.
In Italia la delibera AGCOM 96/25/CONS, approvata l’8 aprile 2025 e pubblicata il 12 maggio, impone ai siti pornografici la verifica dell’età con il «doppio anonimato»: il sito sa soltanto che l’utente è maggiorenne, chi certifica l’età non sa quale sito sta visitando. Una zero knowledge proof può garantire questo principio, ma la delibera non la impone.
Cosa una prova a conoscenza zero non garantisce
Una prova ZK copre l’affermazione che codifica, niente di più, come mostra questa settimana l’exploit di Pirate Chain. Il 15 ottobre 2026 il team ha comunicato che un bug di validazione ha permesso a qualcuno di creare circa 39,8 milioni di ARRR, intorno al 20% di offerta in più, finiti subito nel pool schermato Sapling. Il team dice di non aver visto segni di violazione della crittografia schermata. Se è così, le prove hanno retto: le monete sono nate da un difetto nel normale codice di validazione, a monte del pool. Il post-mortem è atteso.
Zcash ha corso un rischio simile: un difetto di contraffazione nei parametri della configurazione originale, scoperto nel marzo 2018, è stato eliminato con Sapling nell’ottobre dello stesso anno e reso pubblico nel 2019, senza prove di sfruttamento.

Privacy non vuol dire liceità: dal 10 luglio 2027 il regolamento antiriciclaggio UE (AMLR) vieta alle piattaforme crypto i conti in monete che rafforzano l’anonimato. Non vieta le zero knowledge proof, e gli zk-rollup non sono privacy coin.
Zero knowledge proof: le domande dei lettori
Zero knowledge proof: cos’è nelle crypto?
È la prova che una transazione o un calcolo sono validi, controllata senza vedere i dati privati. Zcash la usa per nascondere chi ha pagato chi e quanto; gli zk-rollup di Ethereum la usano per garantire con una prova breve un lotto di transazioni fuori catena.
Cosa significa zk-SNARK?
Zero-knowledge succinct non-interactive argument of knowledge. «Succinct» vuol dire piccola e rapida da verificare. «Non-interactive»: un solo messaggio, senza scambio dal vivo. «Argument of knowledge» significa che dimostra di possedere davvero il segreto, non solo che un segreto esiste.
Le zero knowledge proof resistono ai computer quantistici?
Non tutte. Gli SNARK basati su curve ellittiche potrebbero in teoria cedere a un computer quantistico abbastanza potente, secondo ethereum.org. Gli STARK usano solo funzioni hash resistenti alle collisioni, che la stessa fonte ritiene al riparo da questa minaccia. In cambio, prove più grandi e più costose da verificare.
Una zero knowledge proof si può falsificare?
Solo con una probabilità trascurabile, se il sistema è costruito bene. I rischi veri stanno intorno alla prova: un segreto della configurazione trapelato, un circuito sbagliato, codice ordinario che salta un controllo. Zcash nel 2018 e Pirate Chain nel 2026 hanno avuto problemi di questo tipo, non un cedimento della matematica.
