Cosa sono le prove zk-SNARK e zk-STARK?
Fondamenti
Gli appassionati di criptovalute attribuiscono grande importanza alla privacy, considerata essenziale per raggiungere la fungibilità, una caratteristica importante affinché una valuta sia ampiamente accettata. La maggior parte dei detentori di criptovalute preferisce non divulgare i propri asset e la cronologia delle transazioni. Sono stati sviluppati vari metodi crittografici per garantire la privacy sulla blockchain. Due dei più noti sono le prove zk-SNARK e zk-STARK.
Le prove zk-SNARK e zk-STARK sono abbreviazioni rispettivamente di zero-knowledge succinct non-interactive argument of knowledge e zero-knowledge succinct transparent argument of knowledge. Le zk-SNARK sono già in uso in Zcash, nel sistema di pagamento basato su blockchain di JP Morgan Chase e come metodo per autenticare i client ai server. Sebbene le zk-SNARK siano state ampiamente adottate, le zk-STARK sono state introdotte come versione migliorata del protocollo, affrontando alcuni dei problemi che le zk-SNARK avevano precedentemente incontrato.
La parabola della grotta di Alì Babà
Il crittografo Jean-Jacques Quisquater e i suoi collaboratori pubblicarono nel 1990 un articolo intitolato "How to Explain Zero-Knowledge Protocols to Your Children," che introdusse il concetto di prove a conoscenza zero attraverso una parabola ambientata nella grotta di Alì Babà. Da allora sono state create diverse adattazioni della storia, ma il concetto fondamentale rimane lo stesso.
La parabola ruota attorno a una grotta ad anello con un'unica entrata e una porta magica che separa due percorsi. Per passare attraverso la porta è necessario sussurrare le parole segrete corrette. Nella storia, Emma vuole dimostrare a David di conoscere le parole segrete, senza però rivelarle. Per farlo, David accetta di rimanere fuori mentre Emma entra nella grotta e cammina fino alla fine di uno dei due percorsi. In questo caso, Emma sceglie il Percorso 1.
David chiama dall'ingresso chiedendo a Emma di uscire da uno specifico percorso, in questo caso il Percorso 2. Se Emma conosce il segreto, apparirà dal percorso indicato. Questo processo può essere ripetuto per confermare che Emma non stia indovinando per caso.
La storia della grotta di Alì Babà funge da esempio di prove a conoscenza zero, componente fondamentale dei protocolli zk-SNARK e zk-STARK. Queste prove consentono di verificare il possesso di una certa informazione senza divulgare alcun dettaglio su di essa.
Come funzionano le zk-SNARK?
Il concetto di prove a conoscenza zero è stato applicato per creare la prima privacy coin ampiamente disponibile chiamata Zcash, che utilizza le zk-SNARK. A differenza di altri progetti incentrati sulla privacy che impiegano firme ad anello e altre tecniche per creare una cortina fumogena attorno alle transazioni, Zcash cambia radicalmente il modo in cui i dati vengono condivisi. Le transazioni nella rete Zcash restano criptate, ma possono comunque essere verificate come valide mediante prove a conoscenza zero, permettendo l'applicazione delle regole di consenso senza rivelare i dati sottostanti ogni transazione. Tuttavia, le funzionalità di privacy in Zcash non sono attive per impostazione predefinita e dipendono da una configurazione manuale.
Le prove a conoscenza zero permettono a un individuo di dimostrare a un altro che un'affermazione è vera senza rivelare alcuna informazione oltre alla validità dell'affermazione stessa. Le parti coinvolte in una prova a conoscenza zero sono un prover (dimostratore) e un verifier (verificatore), e l'affermazione che mantengono segreta è chiamata witness (testimone). L'obiettivo delle prove a conoscenza zero è rivelare il minor numero possibile di informazioni tra le due parti.
All'interno dell'acronimo zk-SNARK, “succinct” significa che le prove sono di dimensioni ridotte e possono essere verificate rapidamente, mentre “non-interactive” indica che vi è poca o nessuna interazione tra il prover e il verifier. Le versioni più vecchie dei protocolli a conoscenza zero richiedevano che il prover e il verifier comunicassero avanti e indietro, rendendole prove ZK “interattive”. Tuttavia, nelle costruzioni “non-interactive” i prover e i verifier devono scambiarsi solo una prova.
Nonostante le prove zk-SNARK dipendano da un setup iniziale fidato tra prover e verifier, i ricercatori stanno lavorando per trovare alternative che riducano la fiducia richiesta nel processo. La fase di setup iniziale è essenziale per prevenire spese contraffatte e, in Zcash, è nota come Parameter Generation Ceremony.
La proprietà di soundness delle zk-SNARK presuppone che un prover disonesto abbia una potenza di calcolo limitata: un prover con sufficiente capacità computazionale potrebbe creare prove false. Per questo motivo i computer quantistici sono considerati una minaccia per le zk-SNARK e per i sistemi blockchain.
Infine, le prove a conoscenza zero sono rapidamente verificabili e occupano meno dati rispetto alle transazioni standard di Bitcoin, rendendole adatte sia come soluzione per la privacy sia per la scalabilità.
Come funzionano le zk-STARK?
Eli-Ben Sasson, professore al Technion-Israel Institute of Technology, ha creato le zk-STARK come versione alternativa delle prove zk-SNARK. Le zk-STARK sono considerate più efficienti - potenzialmente più veloci ed economiche a seconda dell'implementazione. Diversamente dalle zk-SNARK, le zk-STARK non richiedono un setup iniziale fidato, da cui la "T" di "transparent".
Le zk-STARK si basano su funzioni hash resistenti alle collisioni, il che elimina le assunzioni di natura teorico-numerica delle zk-SNARK, che sono computazionalmente costose e teoricamente vulnerabili agli attacchi dei computer quantistici. Questo approccio presenta una struttura più semplice in termini di assunzioni crittografiche.
Tuttavia, le prove zk-STARK hanno almeno un grande svantaggio: hanno dimensioni delle prove maggiori rispetto alle zk-SNARK. Questa differenza nelle dimensioni dei dati può limitarne l'uso in alcuni contesti, ma è qualcosa che può essere migliorato attraverso ulteriori test e ricerche.
Conclusione
Il potenziale delle zk-SNARK e delle zk-STARK nel mondo delle criptovalute è evidente, poiché entrambi i protocolli soddisfano la crescente esigenza di privacy. Queste tecnologie sono promettenti e potrebbero essere un fattore significativo nell'adozione più ampia delle criptovalute.