La privacy è sempre stata vista come una caratteristica preziosa all’interno della comunità delle criptovalute. È il precursore della fungibilità, necessaria per una forma di denaro ampiamente utilizzata. Allo stesso modo, la maggior parte dei detentori di cripto-asset non vuole che i propri averi e la cronologia delle transazioni siano completamente pubblici. Tra le varie tecniche crittografiche volte a garantire la privacy alle blockchain, le prove zk-SNARK e zk-STARK sono due esempi degni di nota.

zk-SNARK sta per argomento di conoscenza succinto non interattivo a conoscenza zero e zk-STARK rappresenta un argomento di conoscenza succinto trasparente a conoscenza zero. Le prove zk-SNARK sono utilizzate da progetti di criptovaluta (come Zcash), su sistemi di pagamento basati su blockchain e come modo per autenticare in modo sicuro i client sui server. Ma mentre zk-SNARK ha fatto progressi significativi per essere ben consolidato e adottato, le dimostrazioni zk-STARK vengono ora pubblicizzate come la versione nuova e migliorata del protocollo, risolvendo molti dei precedenti inconvenienti di zk-SNARK.

La parabola della caverna di Ali Baba

Nel 1990, un articolo intitolato "Come spiegare i protocolli a conoscenza zero ai vostri figli" è stato pubblicato dal crittografo Jean-Jacques Quisquater (insieme ad altri collaboratori). L'articolo introduce il concetto di dimostrazione zk con una parabola che coinvolge la Grotta di Ali Baba. Dalla sua creazione, la parabola è stata adattata più volte e oggi disponiamo di molteplici varianti. Tuttavia, le informazioni sottostanti sono essenzialmente le stesse.

Immaginiamo una grotta a forma di anello con un unico ingresso e una porta magica che separa i due percorsi laterali. Per attraversare la porta magica è necessario sussurrare le parole segrete corrette. Quindi considera che Alice (gialla) vuole dimostrare a Bob (blu) che sa quali sono le parole segrete, pur mantenendole segrete. Per fare ciò, Bob accetta di aspettare fuori mentre lei entra nella grotta e cammina fino alla fine di uno dei due percorsi possibili. In questo esempio, decide di intraprendere il Percorso 1.

Dopo un po', Bob si avvicina all'ingresso e grida da quale parte vuole che appaia Alice (percorso 2 in questo caso).

Se Alice conosce veramente il segreto, apparirà in modo affidabile dal percorso nominato da Bob.

L'intero processo può essere ripetuto più volte per confermare che Alice non sta scegliendo la strada giusta per fortuna.

La parabola della caverna di Ali Baba illustra il concetto di dimostrazioni a conoscenza zero, che fanno parte dei protocolli zk-SNARK e zk-STARK. Le prove ZK possono essere utilizzate per dimostrare il possesso di determinate conoscenze senza rivelare alcuna informazione al riguardo.

zk-SNARK

Zcash è uno dei primi esempi di progetto che utilizza zk-SNARKs. Mentre altri progetti sulla privacy come Monero utilizzano firme ad anello e altre tecniche, zk-SNARKs cambia radicalmente il modo in cui i dati vengono condivisi. La privacy di Zcash deriva dal fatto che le transazioni nella rete possono rimanere crittografate ma essere comunque verificate come valide utilizzando prove a conoscenza zero. Pertanto, coloro che applicano le regole del consenso non hanno bisogno di conoscere tutti i dati alla base di ciascuna transazione. Vale la pena ricordare che le funzionalità di privacy in Zcash non sono attive per impostazione predefinita ma sono piuttosto opzionali e dipendono dalla configurazione manuale.

Le prove a conoscenza zero consentono a un individuo di dimostrare a un altro che un'affermazione è vera senza rivelare alcuna informazione oltre la validità dell'affermazione. Le parti coinvolte vengono comunemente definite provatore e verificatore, e la dichiarazione che tengono segreta è chiamata testimone. L'obiettivo principale di queste prove è rivelare il minor numero di dati possibile tra le due parti. In altri termini, si possono utilizzare prove a conoscenza zero per dimostrare di possedere una certa conoscenza senza rivelare alcuna informazione sulla conoscenza stessa.

Nell’acronimo SNARK, “succinto” significa che queste prove sono di dimensioni più piccole e possono essere verificate rapidamente. “Non interattivo” significa che c’è poca o nessuna interazione tra il dimostratore e il verificatore. Le versioni precedenti dei protocolli a conoscenza zero di solito richiedono che il dimostratore e il verificatore comunichino avanti e indietro e, pertanto, sono considerate prove ZK “interattive”. Ma nelle costruzioni “non interattive”, dimostratori e verificatori devono scambiarsi solo una prova.

Attualmente, le prove zk-SNARK dipendono da una configurazione iniziale affidabile tra un dimostratore e un verificatore, il che significa che è necessario un insieme di parametri pubblici per costruire prove a conoscenza zero e, quindi, transazioni private. Questi parametri sono quasi come le regole del gioco; sono codificati nel protocollo e sono uno dei fattori necessari per dimostrare la validità di una transazione. Tuttavia, ciò crea un potenziale problema di centralizzazione perché i parametri sono spesso formulati da un gruppo molto piccolo.

Sebbene una configurazione iniziale affidabile sia fondamentale per le odierne implementazioni zk-SNARK, i ricercatori stanno lavorando per trovare altre alternative come un modo per ridurre la quantità di fiducia richiesta nel processo. La fase di setup iniziale è importante per prevenire spese contraffatte perché se qualcuno avesse accesso alla casualità che ha generato i parametri, potrebbe creare prove false che sembrerebbero valide al verificatore. In Zcash, la fase di configurazione iniziale è nota come cerimonia di generazione dei parametri.

Passando alla parte "Argomenti della conoscenza" dell'acronimo. Gli zk-SNARK sono considerati validi dal punto di vista computazionale, il che significa che un dimostratore disonesto ha una probabilità molto bassa di imbrogliare con successo il sistema senza avere effettivamente la conoscenza (o la testimonianza) per supportare la propria affermazione. Questa proprietà è nota come solidità e presuppone che il prover abbia una potenza di calcolo limitata.

In teoria, un dimostratore con sufficiente potenza computazionale potrebbe creare prove false, e questo è uno dei motivi per cui i computer quantistici sono considerati da molti una minaccia per zk-SNARK (e i sistemi blockchain).

Le prove a conoscenza zero sono rapidamente verificabili e di solito occupano molti meno dati di una transazione Bitcoin standard. Ciò apre la strada alla tecnologia zk-SNARK da utilizzare sia come soluzione di privacy che di scalabilità.

zk-STARK

Gli zk-STARK sono stati creati da Eli-Ben Sasson, professore al Technion-Israel Institute of Technology. Come versione alternativa delle prove zk-SNARK, le zk-STARK sono generalmente considerate una variante più efficiente della tecnologia, potenzialmente più veloce ed economica, a seconda dell'implementazione. Ma, cosa ancora più importante, gli zk-STARK non richiedono una configurazione iniziale affidabile (da qui la “T” per trasparente).

Tecnicamente parlando, gli zk-STARK non richiedono una configurazione iniziale affidabile perché si affidano a una crittografia più snella attraverso funzioni hash resistenti alle collisioni. Questo approccio elimina anche i presupposti della teoria dei numeri di zk-SNARK che sono computazionalmente costosi e teoricamente inclini agli attacchi da parte dei computer quantistici.

In altri termini, le prove zk-STARK presentano una struttura più semplice in termini di presupposti crittografici. Tuttavia, questa nuova tecnologia presenta almeno uno svantaggio importante: la dimensione delle prove è maggiore rispetto a zk-SNARK. Una tale differenza nella dimensione dei dati può presentare limitazioni a seconda del contesto di utilizzo, ma è probabilmente qualcosa che potrà essere compreso man mano che la tecnologia verrà ulteriormente testata e studiata.

Pensieri conclusivi

È chiaro che sia zk-SNARK che zk-STARK fanno appello alla crescente preoccupazione relativa alla privacy. Nel mondo delle criptovalute, questi protocolli hanno un grande potenziale e potrebbero rappresentare una strada innovativa verso l’adozione mainstream.