Come si verificano le informazioni senza condividere l'accesso? Questa è la sfida che le prove a conoscenza zero stanno cercando di risolvere.

La prova a conoscenza zero (ZKP) sta guadagnando molta popolarità ultimamente per vari scopi. Consente la verifica delle informazioni senza divulgare i dati sottostanti, offrendo così un maggior grado di sicurezza e privacy alle informazioni sensibili.

Ma cos'è esattamente una prova a conoscenza zero, come funziona e quali sono i casi d'uso di un sistema a prova a conoscenza zero? Scopriamolo.

Cos'è una prova a conoscenza zero?

Goldwasser, Micali e Rackoff hanno proposto prove a conoscenza zero nel loro articolo "La complessità della conoscenza dei sistemi di prova interattivi."

In un sistema di prova a conoscenza zero, una parte (prover) deve dimostrare a un'altra parte (verificatore) che a specifica affermazione è vera senza rivelare alcuna informazione aggiuntiva tranne che la frase lo è VERO. Ciò si ottiene presentando una quantità minima di informazioni al verificatore in modo che possa confermare che l'affermazione è effettivamente vera.

instagram viewer

Ad esempio, Paul vuole che Anita provi la sua conoscenza del codice di una porta magica segreta che collega due percorsi (A e B) all'interno di una grotta. Anita attraversa la porta più volte, partendo dal percorso A ed emergendo attraverso il percorso B, mentre Paul rimane fuori.

Ripetendo questa impresa più volte, Anita dimostra di conoscere il codice per aprire la porta magica all'interno della caverna senza rivelare il codice a Paul.

Come funziona una prova a conoscenza zero?

Le prove a conoscenza zero funzionano facendo in modo che il dimostratore e il verificatore eseguano una serie di interazioni. Queste interazioni in genere comportano più cicli di comunicazione. Durante ogni interazione, il dimostratore costruisce una prova che supporta la veridicità dell'affermazione del dimostratore.

Il verificatore crea spesso molteplici sfide relative alla prova dell'affermazione. E il verificatore risponde ogni volta con una prova accuratamente elaborata per convincere il verificatore della veridicità dell'affermazione senza rivelare alcuna informazione relativa all'affermazione.

Le sfide e le interazioni vengono ripetute più volte per eliminare le possibilità che lo sperimentatore indovini l'affermazione.

Una prova a conoscenza zero ti consente di condividere la prova della conoscenza con l'altra parte senza rivelare ulteriori dettagli della conoscenza. Affinché ciò accada, il protocollo a conoscenza zero dipende dagli algoritmi che prendono alcuni dati come input e restituiscono l'output come vero o falso per l'input dato.

Ecco tre criteri che un sistema a prova di conoscenza zero deve soddisfare.

1. Completezza

Se l'affermazione è vera, un dimostratore onesto può convincere un verificatore onesto della veridicità dell'affermazione.

2. Solidità

Se l'affermazione è falsa (il che significa che un dimostratore non conosce l'affermazione corretta), nessun dimostratore disonesto può convincere un verificatore onesto della veridicità dell'affermazione.

3. Conoscenza Zero

Le prove a conoscenza zero (ZKP) assicurano che il verificatore non acquisisca alcuna conoscenza dell'affermazione dimostrata, tranne se è vera o falsa. Inoltre, il verificatore non è in grado di estrarre alcuna informazione sull'affermazione dalla prova fornita dal dimostratore, costruita per dimostrare la veridicità dell'affermazione.

Tipi di prove a conoscenza zero

I seguenti sono due tipi principali di prove a conoscenza zero da conoscere.

Prove interattive a conoscenza zero

In un sistema interattivo di prova a conoscenza zero, il dimostratore costruisce la prova sull'affermazione e la invia al verificatore. Quindi, il verificatore pone domande e crea sfide. Il dimostratore risponde alle sfide del verificatore e continua l'interazione. Questo processo di comunicazione avanti e indietro consente al verificatore di essere convinto della veridicità dell'affermazione.

Prove a conoscenza zero non interattive

In un sistema di prova a conoscenza zero non interattivo, il dimostratore crea un'unica prova che il dimostratore può verificare indipendentemente senza ulteriori interazioni.

Su due, le prove interattive a conoscenza zero sono più intensive dal punto di vista computazionale poiché la tecnologia ZKP interattiva esegue calcoli aggiuntivi a causa delle interazioni avanti e indietro.

Applicazioni e casi d'uso a prova di conoscenza zero

Ecco alcuni casi d'uso di protocolli a conoscenza zero.

Autenticazione

Prove a conoscenza zero (ZKP) può essere utilizzato per autenticare gli utenti senza scambiare informazioni segrete, come nomi utente o password. Ciò può migliorare l'esperienza dell'utente e liberare le aziende dal conservare grandi quantità di dati utente sui propri server.

Transazioni private

Le transazioni blockchain non sono private. Invece, sono collegati a indirizzi di portafogli crittografici pseudonimi. E i governi possono tracciare tali transazioni, consentendo loro di catturare i criminali della rete oscura.

È legittimo catturare i criminali tracciando tali transazioni. Ma che dire di un regime oppressivo che tiene d'occhio i normali utenti di criptovalute attraverso le informazioni memorizzate nel libro mastro pubblico?

Implementando prove a conoscenza zero, le aziende possono abilitare transazioni schermate in cui gli indirizzi del mittente e del destinatario e gli importi delle transazioni sono oscurati dalla blockchain pubblica.

Per esempio, ZCash e Monero offrono transazioni private utilizzando dimostrazioni a conoscenza zero.

Catene di approvvigionamento sicure

L'uso della prova a conoscenza zero può migliorare la sicurezza in una catena di approvvigionamento. Può verificare l'integrità dei dati, convalidare le credenziali dei fornitori, dimostrare l'autenticità di prodotti o servizi e consentire un tracciamento sicuro senza la necessità di divulgare informazioni sensibili.

Inoltre, le prove a conoscenza zero consentono alle aziende di dimostrare alle autorità di regolamentazione e alle autorità che rispettano le leggi applicabili e gli standard di settore.

Verifica dell'identità privata

Le prove a conoscenza zero aiutano a proteggere la privacy degli utenti. Le autorità possono verificare l'identità di qualsiasi individuo senza la necessità di divulgare informazioni sensibili.

Ad esempio, A app di finanza decentralizzata (DeFi). potrebbe essere necessario verificare che un utente appartenga a un determinato paese. Il processo tradizionale richiederà all'utente di inviare i dettagli del passaporto o il numero della patente di guida. Ma con l'aiuto di un protocollo di identità basato su ZKP di terze parti, l'utente può dimostrare di provenire da un elenco di paesi consentiti anche senza dire il nome del proprio paese.

Prova di appartenenza

La prova a conoscenza zero può consentire agli utenti di dimostrare di far parte di un vasto insieme pubblico senza dire a quale parte dell'insieme pubblico appartengono.

Ad esempio, l'olandese ING Bank ha lanciato il suo zero-knowledge set membership (ZKSM), che consente agli utenti di dimostrare di essere membri dell'Unione Europea senza dire in quali paesi vivono.

Svantaggi dell'utilizzo di una prova a conoscenza zero

La prova a conoscenza zero offre vantaggi significativi. Ma hanno anche alcuni intoppi.

La sfida più grande sono i costi dell'hardware. La generazione di prove a conoscenza zero richiede calcoli complessi, spesso eseguiti su macchine specializzate che sono costose da acquistare.

Inoltre, la verifica delle dimostrazioni richiede anche calcoli complessi. Quindi non è possibile implementare la prova a conoscenza zero a meno che le aziende non dispongano di budget elevati per lo stesso.

Inoltre, la mancanza di risorse di formazione e strumenti per sviluppatori per le applicazioni ZKP ostacola un'adozione più ampia delle prove a conoscenza zero.

Prove a conoscenza zero per migliorare la privacy

Gli hacker e gli attori delle minacce cercano continuamente di impossessarsi delle tue informazioni sensibili. Quindi prendi le misure necessarie per proteggere i tuoi dati. Cerca applicazioni basate su prove a conoscenza zero e usale per proteggere la tua privacy e sicurezza.

Inoltre, dovresti utilizzare la crittografia a conoscenza zero per proteggere i tuoi dati sensibili.