È possibile dimostrare di avere un’informazione senza condividere l’informazione stessa? Certo.
Oggi parliamo delle prove a conoscenza zero.
Un sistema di dimostrazione a conoscenza zero offre uno dei più alti, se non il più alto grado di riservatezza dell’informazione che si vuol provare di avere, poiché tale informazione non viene mai comunicata.
Questo metodo viene usato in più contesti ma vi risoneranno familiari almeno due nomi: Monero e zCash due criptovalute basate su blockchain.
come funziona.
Peggy e Victor sono due affaristi impegnati nel commercio di parole magiche.
Peggy conosce la parola magica per aprire una porta posta sul fondo di una grotta tonda. Victor la vuole comprare ma non si fida abbastanza per consegnare i soldi a Peggy senza una prova concreta e Peggy dalla sua parte non può rivelare la parola prima di aver ricevuto i soldi. Peggy Victor e la grotta si trovano ora in uno stallo alla messicana.
Come risolvere?
Peggy ha un’idea: dice a Victor di attendere fuori dalla grotta, giusto il tempo di arrivare alla porta magica. Dopo qualche secondo Victor può entrare e gridare a Peggy di uscire a destra o a sinistra.
Sarebbe impossibile per Peggy rispondere correntemente molte volte consecutive, se non conoscesse la parola magica. Su questo si basano le prove a conoscenza zero.
Vantaggi
Il sistema offre livelli altissimi di sicurezza, privacy e anonimato.
La logica del sistema è semplicissima e non richiede lo studio di nuovi metodi crittografici.
Svantaggi
Un sistema a conoscenza zero è limitato a valori numerici.
Il costo a livello computazionale può risultare elevato se le domande sono molte.
Non rende sicura la trasmissione (ma nei migliori dei casi le informazioni trasmesse non sono vitali).
Caratteristiche
Integrità e completezza: si presume che le parti coinvolte siano oneste e seguiranno il protocollo.
Robustezza: il protocollo presume che l’onesta sia scarsa o inesistente, quindi per dimostrare che Peggy conosce il segreto Victor deve esserne convinto.
Conoscenza zero: significa che se l’affermazione è vera nessun verificatore imbroglione può ottenere altre informazioni oltre a: “l’affermazione è vera”.
Questo tipo di dimostrazione non è una dimostrazione in senso matematico, poiché con un coefficiente elevato di fortuna, si potrebbe convincere Victor che Peggy conosca la parola senza saperla davvero. All’ aumentare del numero delle prove questa eventualità diventa sempre più difficile, seguendo la legge di probabilità di due eventi indipendenti.
L’importanza delle dimostrazioni a conoscenza zero non risiede soltanto nella possibilità di mostrare la verità di un’affermazione. Le prove a conoscenza zero costituiscono una maniera economica, dal punto di vista dei dati inviati, di dimostrare la veridicità di un'affermazione, anche se queste possono risultare computazionalmente costose dal punto di vista del processore; pensiamo alle blockchain delle criptovalute, nel caso di Monero la dimensione della blockchain è intorno ai 100 giga e sarebbe poco pratico scambiarla nella sua interezza tutte le volte che viene effettuata una transazione.