Una breve storia dello zero
ZK-SNARK. App ZK. ZK questo. ZK quello.
Queste due lettere, abbreviazione di prove a conoscenza zero, sono ovunque nel mondo delle criptovalute. Ogni nuova startup apparentemente include qualche iterazione di ZK nel suo pitch deck. Anche blockchain affermate come Polygon, che fa affari con aziende come Starbucks e Mastercard, hanno commercializzato nuovi prodotti basati sulle lettere buzz.
Alcuni appassionati di criptovalute sono così entusiasti delle prove a conoscenza zero che credono che "diventeranno una parte importante del modo in cui funziona l'economia" e alla fine verranno "insegnate alle scuole superiori", Jason Morton, professore associato di matematica alla Penn Lo Stato in congedo per costruire la propria startup, ha scherzato con Fortune.
E alcuni vanno anche oltre. "Le prove a conoscenza zero diventeranno una parte fondamentale dell'infrastruttura dell'umanità", ha detto a Fortune Zooko Wilcox, CEO di Electric Coin Co., che guida lo sviluppo della criptovaluta Zcash.
Ma cosa fanno effettivamente le dimostrazioni a conoscenza zero? E come ha fatto questo vivace pezzo di matematica a diventare così, beh, vivace?
Nel 1985, gli accademici Shafi Goldwasser, Silvio Micali e Charles Rackoff pubblicarono quello che Michael Walfish, professore di informatica alla New York University, definì un "articolo mostruoso". Intitolato "The Knowledge Complexity of Interactive Proof-Systems", è stata la prima articolazione teorica di dimostrazioni a conoscenza zero, ha detto a Fortune.
La tecnica crittografica, in sostanza, permette di dimostrare di sapere qualcosa senza rivelare ciò che si sa. Per rendere concreto l'astratto, immagina due amici: uno daltonico e l'altro no. C'è una palla rossa e una palla blu. L'amica daltonica li nasconde dietro la schiena, magari confondendoli, li presenta e l'amica con una vista migliore dice se sono stati scambiati. L'amico che sta esaminando le palline, indovinando o addirittura mentendo, ha una possibilità di scegliere quella giusta. Ma se l'esercizio viene ripetuto un milione di volte, l'amico con la vista migliore quasi sicuramente non riuscirà a scegliere la palla giusta per caso. Alla fine dell'esercizio, l'amica daltonica non ha ancora "conoscenza zero" di quale palla sia di quale colore, ma sa che la sua amica lo fa.
I vantaggi in termini di privacy delle prove a conoscenza zero sono evidenti. Possiamo, ad esempio, mantenere la proprietà dei nostri dati bancari e, attraverso una prova a conoscenza zero, verificare di aver calcolato correttamente i nostri punteggi di credito, senza rivelare le nostre informazioni bancarie private. Oppure possiamo dimostrare ai datori di lavoro che conosciamo il nostro ID di previdenza sociale senza mostrare loro il numero di nove cifre.
Tuttavia, le dimostrazioni sono complicate e impegnative dal punto di vista computazionale da produrre, e per anni sono rimaste nel regno della teoria, non della pratica.
All'inizio degli anni '90, i ricercatori delinearono una categoria più generale di dimostrazioni chiamate prove succinte, secondo Dan Boneh, professore di informatica e ingegneria elettrica a Stanford.
Questi calcoli crittografici consentono a qualcuno di verificare che qualcosa sia vero senza la necessità di analizzare ogni singola affermazione. Un revisore può, ad esempio, assicurarsi rapidamente che qualcuno abbia presentato correttamente una dichiarazione dei redditi senza vedere i dati della dichiarazione o controllare ogni operazione matematica.
Il funzionamento delle dimostrazioni succinte è più difficile da illustrare attraverso un esempio concreto rispetto alle dimostrazioni a conoscenza zero. "La concisione è magica", ha detto Boneh a Fortune. "Non esiste una buona spiegazione fisica del perché ciò sia possibile."
Detto questo, la "concisione" o il bisogno di molto meno tempo per dimostrare qualcosa di vero è ciò che entusiasma la maggior parte degli imprenditori e investitori cripto. Le blockchain come Ethereum sono computer lenti e decentralizzati. Man mano che gli sviluppatori creano applicazioni più complesse, aumentano il tempo e la potenza di calcolo necessari per eseguire le applicazioni su blockchain. Prove concise possono risolvere questo problema "dimostrando" che il codice è stato eseguito correttamente fuori catena o su computer più potenti che non sono blockchain.
Perché menzionare le dimostrazioni succinte insieme alle dimostrazioni a conoscenza zero? Lo sforzo necessario per trasformare il primo nel secondo è generalmente minimo, hanno detto a Fortune diversi crittografi. Quindi, le persone tendono a confondere i due termini.