Prove a conoscenza zero
Una prova a conoscenza zero, a volte indicata anche come protocollo ZK, è un metodo di verifica che si svolge tra un prover e un verificatore. In un sistema di prova a conoscenza zero, il dimostratore è in grado di dimostrare al verificatore di avere la conoscenza di una particolare informazione (come la soluzione di un'equazione matematica) senza rivelare l'informazione stessa. Questi sistemi di prova possono essere utilizzati dai moderni crittografi per fornire maggiori livelli di privacy e sicurezza.
Il concetto di dimostrazione a conoscenza zero è stato descritto per la prima volta in un articolo del MIT del 1985, pubblicato da Shafi Goldwasser e Silvio Micali. Hanno dimostrato che era possibile provare alcune proprietà di un numero senza rivelare il numero o alcuna informazione aggiuntiva su di esso. Questo documento ha anche introdotto la scoperta matematicamente significativa che le interazioni tra un verificatore e un verificatore potrebbero ridurre la quantità di informazioni necessarie per dimostrare un dato teorema.
Una prova ZK deve soddisfare due requisiti fondamentali noti come completezza e solidità . La completezza si riferisce alla capacità del dimostratore di dimostrare la conoscenza delle informazioni rilevanti con un alto grado di probabile accuratezza. Affinché la prova sia valida, il verificatore deve essere in grado di determinare in modo affidabile se il verificatore è effettivamente in possesso delle informazioni. Infine, per essere veramente a conoscenza zero, la dimostrazione deve raggiungere sia la completezza che la solidità senza che le informazioni in questione vengano mai comunicate tra il dimostratore e il verificatore.
Le prove a conoscenza zero vengono utilizzate principalmente per applicazioni in cui la privacy e la sicurezza sono essenziali. I sistemi di autenticazione, ad esempio, possono utilizzare prove ZK per verificare credenziali o identità senza divulgarle direttamente. Come semplice esempio, può essere utilizzato per verificare che una persona abbia una password per un sistema informatico senza la necessità di rivelare quale sia la password.
Un importante caso d'uso nel mondo reale delle prove a conoscenza zero si trova nel mondo della criptovaluta e della tecnologia blockchain. Utilizzando un tipo di prova noto come argomento della conoscenza succinta e non interattiva a conoscenza zero (zk-SNARK), le criptovalute incentrate sulla privacy come Zcash sono in grado di offrire transazioni blockchain con livelli di privacy aumentati ai propri utenti. Ethereum sta anche lavorando con le prove zk-SNARK dal suo aggiornamento a Bisanzio nel 2017.