Questo articolo è un contributo della community. L'autore è Kenny Li, co-fondatore di Manta Network, un protocollo di privacy programmabile Layer 1 alimentato da una tecnologia a prova di conoscenza zero.

Le opinioni in questo articolo appartengono al contributore/autore e non riflettono necessariamente quelle di Binance Academy.

TL;DR

Zero-knowledge proof (ZKP) è una tecnologia crittografica che permette di verificare la verità di un'informazione senza rivelare l'informazione stessa. È diventata una tecnologia sempre più importante nella blockchain, nella criptovaluta e nella finanza decentralizzata (DeFi) per migliorare la privacy e la sicurezza.

Molti progetti DeFi stanno già utilizzando gli ZKP per fornire agli utenti una migliore privacy e sicurezza per servizi come prestiti, prestiti e scambi. Un certo numero di blockchain di livello 1 stanno aggiungendo roll-up basati su ZKP o zkEVM. Si prevede che le prove a conoscenza zero svolgeranno un ruolo sempre più cruciale nel mondo della blockchain e del Web3 poiché si prevede che le loro applicazioni diventeranno più ampiamente adottate.

Come funziona la prova a conoscenza zero?

La prova a conoscenza zero è un metodo mediante il quale una parte (il dimostratore) può dimostrare a un'altra parte (il verificatore) che un'affermazione è vera senza rivelare alcuna informazione aggiuntiva. Ciò è particolarmente utile quando le informazioni sono sensibili e il sperimentatore non vuole che il verificatore vi abbia accesso.

Il dimostratore fornisce una prova matematica che solo lui può generare e il verificatore può utilizzare questa prova per verificare la verità dell'affermazione. Tuttavia, non possono utilizzare la prova per ricostruire le informazioni originali.

Immagina un tunnel con due ingressi, A e B. C'è una porta chiusa con un codice segreto che blocca l'unico percorso e impedisce alle persone di attraversare il tunnel da un'estremità all'altra (da A a B). Conosci il codice segreto e vuoi venderlo alla signora X, che vuole accedere al tunnel.

Vuoi che paghi in anticipo prima di rivelarle il codice, ma prima vuole che tu dimostri di conoscere davvero il codice. In questo caso, può farlo stando di fronte al tunnel e guardandoti mentre entri in uno degli ingressi ed esci dall'altro. In questo modo sarà soddisfatta che tu conosca davvero il codice segreto.

Esempio avanzato di dimostrazione a conoscenza zero

Immagina di avere un amico che non riesce a distinguere tra i colori rosso e blu. Hai due palline in mostra: una rossa e una blu. Il tuo amico però non crede che le palline si possano distinguere l’una dall’altra. Vuoi dimostrare che sono di colori diversi senza rivelare che hai una pallina rossa e una blu. In effetti, non vuoi affatto rivelare alcuna informazione su come distinguerli.

Quindi, come possiamo dimostrare che possono essere distinti rivelando allo stesso tempo alcuna conoscenza sul processo di identificazione o sulla definizione delle caratteristiche? La risposta è semplice. Chiedi al tuo amico di tenere le due palline dietro la schiena prima di mostrarne una. Quindi posizioneranno la palla dietro la schiena e sceglieranno casualmente (50/50) una delle due da mostrare di nuovo. Tieni presente che il tuo amico saprà sempre se ha cambiato palla.

Il tuo amico ti chiederà quindi: "La palla è cambiata?" prima di confermare la validità della tua risposta. Dopo aver dato la risposta corretta, il tuo amico potrebbe sospettare che tu abbia indovinato. Ti chiedono di farlo altre cinque volte, il che significa che la possibilità che tu abbia indovinato correttamente ogni volta nell'esperimento sarebbe:

Le possibilità sembrano scarse! Per essere sicuro, tu e il tuo amico ripetete il processo 15 volte. Le probabilità che tu indovini correttamente sarebbero:

Saresti quasi certo che la dimostrazione sia corretta a questo punto. Se tu e il tuo amico ripetete l'esperimento un numero infinito di volte, la possibilità che tu indovini correttamente ogni volta tende a zero.

Hai quindi dimostrato al tuo amico che le palline sono distinguibili senza alcuna conoscenza da parte del tuo amico di come ciò avvenga. Può, tuttavia, accettare con fiducia la constatazione.

Perché utilizzare prove a conoscenza zero?

La popolarità delle prove a conoscenza zero nella blockchain e nelle criptovalute è guidata dalla crescente domanda di privacy e sicurezza nelle transazioni digitali. Con l'avvento della tecnologia blockchain e delle criptovalute, c'è una crescente necessità di un modo per verificare le transazioni senza rivelare informazioni sensibili: un'esigenza che gli ZKP possono soddisfare.

Le prove a conoscenza zero hanno attirato maggiore attenzione e interesse negli ultimi anni, con il lancio di molti protocolli che utilizzano ZKP e le principali blockchain che hanno creato roll-up a conoscenza zero. Un chiaro segno della popolarità delle dimostrazioni a conoscenza zero è stato visto alla conferenza DevCon 2022, dove oltre il 20% di tutti i discorsi riguardavano questa tecnologia.

Sviluppi chiave

Uno sviluppo chiave nelle dimostrazioni a conoscenza zero è il maggiore utilizzo di zk-SNARK, un tipo specifico di ZKP. zk-SNARK è stato ampiamente adottato in varie applicazioni DeFi, come transazioni di token privati ​​e prestiti e prestiti protetti. Un altro importante sviluppo nelle dimostrazioni a conoscenza zero è la maggiore attenzione alla scalabilità e alle prestazioni tramite zk-rollup.

zk-SNARK

L'argomento di conoscenza succinto non interattivo a conoscenza zero (zk-SNARKs) è un tipo specifico di prova a conoscenza zero che consente di verificare un'affermazione senza rivelare alcuna informazione sull'affermazione stessa.

zk-SNARK è già stato utilizzato su applicazioni come Zcash e il sistema di pagamento basato su blockchain di JP Morgan Chase. È stato utilizzato anche come metodo per autenticare in modo sicuro i client sui server.

Zk-Rollup

Gli Zk-rollup sono una soluzione di scalabilità per le reti blockchain che facilita il raggruppamento di più transazioni in un'unica transazione più grande che viene poi registrata sulla blockchain. Ad esempio, BNB Chain ha lanciato la sua testnet zkBNB basata sull'architettura zk-rollup nel 2022.

zkBNB può raggruppare centinaia di transazioni in un unico batch fuori catena e generare una prova crittografica per dimostrare la validità di tutte le transazioni. Gli zk-rollup forniscono un equilibrio tra scalabilità e sicurezza e sono adatti per impostazioni su larga scala e a bassa latenza.

Casi d'uso per prove a conoscenza zero

Le dimostrazioni a conoscenza zero hanno molti casi d’uso, alcuni dei quali sono già stati realizzati; si prevede che altri diventeranno realtà in futuro. Alcuni dei principali casi d'uso ZKP includono:

Verifica dell'identità digitale

Le prove a conoscenza zero possono essere utilizzate per verificare l'identità degli utenti senza rivelare alcuna informazione personale sensibile. Ciò può essere utile in applicazioni come i sistemi di voto digitale, dove le identità degli elettori devono essere verificate senza comprometterne l’anonimato.

Transazioni che tutelano la privacy

Uno dei casi d'uso più popolari per le prove a conoscenza zero nelle criptovalute è consentire transazioni che preservino la privacy. Ad esempio, l'applicazione decentralizzata MantaPay (DApp) di Manta Network utilizza gli ZKP per consentire agli utenti di effettuare transazioni sull'exchange decentralizzato (DEX) senza rivelare la propria identità o i dettagli della transazione. Ciò consente agli utenti di mantenere la propria privacy pur potendo utilizzare la piattaforma per le transazioni.

Transazioni protette

Zcash è una criptovaluta che utilizza prove a conoscenza zero per consentire transazioni protette. In tali transazioni, gli indirizzi del mittente e del destinatario, nonché gli importi delle transazioni, vengono oscurati dalla blockchain pubblica, garantendo maggiore privacy agli utenti.

Tokenizzazione e verifica della proprietà

Le prove a conoscenza zero possono essere utilizzate anche per tokenizzare le risorse e verificarne la prova di proprietà. Ad esempio, una proprietà può essere tokenizzata e qualsiasi parte può verificarne la proprietà senza rivelare pubblicamente altre informazioni.

Conformità globale

Alcuni paesi hanno norme severe in merito alla raccolta e alla condivisione di informazioni finanziarie, che possono essere difficili da rispettare per le piattaforme decentralizzate. Le prove a conoscenza zero possono essere utilizzate per condividere le informazioni richieste con le autorità di regolamentazione mantenendole private da altre parti.

Ciò può aiutare a colmare il divario tra le piattaforme decentralizzate e gli istituti finanziari tradizionali, rendendo più semplice per la DeFi conformarsi alle normative in varie giurisdizioni.

Il futuro delle prove a conoscenza zero nella Blockchain

È probabile che le dimostrazioni a conoscenza zero portino nuove innovazioni tecnologiche in futuro. Alcuni sviluppi futuri relativi allo ZKP a cui vale la pena prestare attenzione includono:

Livelli di privacy a catena incrociata

Poiché gli ecosistemi blockchain e DeFi continuano a crescere ed evolversi, esiste una crescente necessità di interoperabilità tra le diverse reti blockchain. I livelli di privacy cross-chain consentiranno di condurre transazioni su diverse reti blockchain preservando la privacy delle parti coinvolte.

zk-STARK

Un'altra area a cui prestare attenzione è il maggiore utilizzo di zk-STARK (argomenti di conoscenza trasparenti scalabili a conoscenza zero), un nuovo tipo di prova a conoscenza zero considerato più efficiente e sicuro di zk-SNARK. Un altro vantaggio di zk-STARK rispetto a zk-SNARK è che i primi sono più veloci da verificare e non richiedono una configurazione affidabile.

Kit di strumenti intuitivi

La tecnologia di prova a conoscenza zero può essere complessa e non tutti i team di sviluppo hanno esperienza in questa particolare area della crittografia. I toolkit ZKP intuitivi possono aiutare a colmare questa lacuna e rendere più semplice l’utilizzo della tecnologia da parte di sviluppatori con background diversi.

Limitazioni delle prove a conoscenza zero

Le prove a conoscenza zero rappresentano un metodo unico per verificare la verità delle informazioni preservando la privacy, ma non forniscono una garanzia al 100%. Anche se la probabilità di verifica quando lo sperimentatore mente è trascurabile, gli utenti dovrebbero essere consapevoli che gli ZKP non sono a prova di proiettile.

Inoltre, gli algoritmi utilizzati dalle dimostrazioni a conoscenza zero necessitano di intense risorse computazionali. In alcuni tipi di ZKP è necessario un calcolo intensivo perché richiedono molte interazioni tra verificatori e dimostratori. In altri, gli algoritmi sono estremamente intensi dal punto di vista computazionale, il che potrebbe potenzialmente limitare le applicazioni degli ZKP.

Pensieri conclusivi

Le prove a conoscenza zero stanno rapidamente guadagnando attenzione a causa delle loro proprietà uniche di preservazione della privacy e potenziale di scalabilità. La crescente applicazione di questa tecnologia nella blockchain, nelle criptovalute e nella DeFi porterà probabilmente servizi più innovativi a vantaggio degli utenti. Si prevede che le prove a conoscenza zero svolgeranno un ruolo cruciale nella creazione di ecosistemi DApp più sicuri, privati ​​ed efficienti.

Ulteriori letture

  • Spiegazione di zk-SNARK e zk-STARK

  • Soluzioni di scalabilità Blockchain Layer 1 e Layer 2