Zero Knowledge Protocol o per il suo acronimo, ZKP, è un protocollo di crittografia avanzato utilizzato per creare sistemi distribuiti altamente sicuri e anonimi. I protocolli ZKP consentono di condividere e verificare le informazioni senza rivelare dati non necessari, mantenendo così un livello di sicurezza molto elevato. 

Lalla sicurezza, alla privacy e all'anonimato, sono obiettivi che il cypherpunk hanno sempre perseguito sin dalla loro nascita negli anni 80. Una serie di obiettivi non facili da raggiungere a causa della complessità dei sistemi in grado di fornire tutte queste capacità.

Tuttavia, lo sviluppo congiunto e spesso comunitario di questi strumenti ha permesso di creare una tecnologia in grado di offrire tutte queste caratteristiche. E soprattutto, flessibilità e facilità d'uso non sono mai compromesse. Stiamo parlando di Zero Knowledge Protocol o test o protocolli ZKP.

Grazie all'esistenza di questo protocollo, oggi possiamo godere di sistemi distribuiti molto sicuri e anonimi. Ma quanto sono sicuri gli ZKP? Come funziona questo protocollo? Dove viene applicato? Risponderemo a queste domande ea molte altre in questo nuovo articolo di Bit2Me Academy.

Il metodo Zero Knowledge Protocol

Un test ZKP funge da metodo di autenticazione in cui Non è necessario rivelare segreti per raggiungere l'obiettivo di dimostrare di disporre di determinate informazioni segrete. Questo è importante perché il fatto di non condividere segreti significa che non possono essere rubati. Senza dubbio, una caratteristica interessante che ci permette di creare canali di comunicazione molto sicuri.

El scopo di questo tipo di protocollo è dimostrare che qualcuno o più segreti sono noti a qualcuno, senza rivelare effettivamente detto segreto. Il termine stesso "Zero conoscenza" Nasce dal fatto che nessuna informazione viene divulgata. Due parti partecipano a questo processo; il "Camerino" della trama e il "Checker" stessa.

L'idea alla base di questo protocollo è di dimostrare inequivocabilmente che il "Tester" conosce il segreto senza rivelarlo, compito che è lasciato al "Verificatore". La cosa migliore è che per verificare queste informazioni non è necessario consultare una terza parte, basta prendere le informazioni dal "Tester" e applicare il protocollo. In questo modo, il "verificatore" può sapere se le informazioni sono vere in ogni momento.

In poche e più semplici parole:

Un test di conoscenza zero è un metodo crittografico mediante il quale una delle parti può dimostrare all'altra la veridicità delle informazioni, senza rivelare informazioni sensibili su tali informazioni.

Lo sviluppo di questa tecnologia crittografica ha richiesto molto duro lavoro da parte di molti crittografi e collaboratori. Ma il risultato ottenuto ci ha ora permesso di modellare e realizzare sistemi molto sicuri prima impensabili.

Un po 'di storia prima dello ZKP

Certo, la creazione degli ZKP non è stata un caso fortuito, anzi, è l'unione di vari lavori in più di 50 anni di ricerca. Qui imparerai un po 'di più su come è nato questo avanzato sistema di crittografia.

L'avvento della crittografia asimmetrica

Lo sviluppo della crittografia è sempre stato legato al fatto che garantire la sicurezza e la riservatezza delle informazioni. Tutto questo affinché vi abbiano accesso terze parti non autorizzate o disoneste. In linea di principio, i sistemi crittografici hanno ottenuto questi risultati con mezzi abbastanza semplici. Ma la storia è cambiata radicalmente con l'avvento dei computer.

Grazie ai computer abbiamo raggiunto il potenziale per creare sistemi di crittografia utilizzando una matematica molto complessa, che a sua volta si è tradotta in sindaco sicurezza. Tutto questo progresso tecnologico ha poi portato a un ulteriore sviluppo della tecnologia crittografica. Tuttavia, il più grande salto di qualità è stato senza dubbio la creazione del crittografia asimmetrica.

Questo strumento è diventato rapidamente lo standard crittografico del mondo grazie al suo alto livello di sicurezza. La ragione? La progettazione di sistemi crittografici asimmetrici ha aperto una gamma completamente nuova di opportunità. La prima proposta in tal senso è stata presentata dai ricercatori Whitfield Diffie y Martin Hellman. Sono stati loro nel 1976 a progettare l'algoritmo di Diffie-Hellman attualmente responsabile della sicurezza in molti sistemi informatici, compreso Internet.

Creazione di firme cieche

L'evoluzione della crittografia ci porta a uno dei più noti sistemi di crittografia asimmetrica; il Firme cieche. Questo è stato progettato da David Chaum, nel 1982. Con questo sistema, Chaum cambia radicalmente il modo in cui documenti, file e messaggi possono essere firmati digitalmente. Tutto questo, senza la necessità di rivelare informazioni alle parti coinvolte nello scambio di firme. Ciò ha permesso di migliorare il livello di privacy e di risolvere gravi problemi di sicurezza di alcuni sistemi esistenti fino a quel momento.

Ma Chaum, come ricercatore dedicato ha migliorato la tecnologia, al punto di creare il noto Firme cieche di gruppo. Con questo miglioramento, ora era possibile firmare il messaggio di un gruppo di persone, verificare che il messaggio provenisse da quel gruppo, ma senza sapere chi avesse effettivamente firmato. Con questi progressi Chaum, è stato uno dei pionieri nella ricerca di protocolli a conoscenza zero. Tutto prima che il termine esistesse. Così gettato le basi per quella che sarebbe stata una svolta straordinaria nella tecnologia crittografica.

Divulgazione minima Test di conoscenza

David Chaum ha certamente gettato le basi per questa tecnologia, non solo accademicamente ma anche nella pratica. Tuttavia, il termine non iniziò ad essere utilizzato fino alla sua prima apparizione nel 1985. Quell'anno venne alla luce. "La complessità della conoscenza dei sistemi di test interattivi". Questo era un articolo creato da Shafi goldwasser e dei suoi coautori Silvio Micali y Charles rackoff. È stato in questo articolo che il termine è stato utilizzato per la prima volta "Zero test di conoscenza."

Più tardi nel 1987, David Chaum insieme a Gilles Brassard y Claude Crépeau, ha pubblicato il lavoro "Test di conoscenza della divulgazione minima". Con questo nuovo lavoro si è finito di definire quella che fino ad ora è la base di un protocollo a conoscenza zero:

"Un protocollo a conoscenza zero consente un"Camerino"Convinci un"checker"Che il primo ha informazioni segrete verificabili. Tutto senza permettere che il verificatore sa qualcosa su tali informazioni. Le informazioni segrete possono essere verificabili statisticamente o deterministicamente. E solo uno di loro, il verificatore o il tester, necessita di risorse limitate ”.

Zero Knowledge Protocol e The Cave of Ali Baba

Nel 1992 è stato pubblicato; Come spieghi i protocolli Zero Knowledge ai tuoi figli?. Questo semplice articolo scritto da Louis Guillou, Jean-Jacques Quisquater y Thomas berson, sono riusciti a spiegare in modo del tutto semplice come funziona questo protocollo. Per questo hanno ideato un semplice esempio chiamato "La grotta di Ali Baba".

L'esempio della grotta di Ali Baba

Maria quiere mostragli a Roberto chissà la parola magica che apre la porta della grotta di Ali Baba, ma non vuole rivelare il segreto. Per questo Roberto e María vanno alla grotta. Maria accetta di andare in direzione A o B.

Entrambi i percorsi che comunicano solo attraverso la porta magica. A questo punto, Roberto aspetta che Maria vada in A o B mentre la aspetta all'ingresso della grotta.

ZKP Zero Knowledge Ali Baba Cave
  • Ad un certo punto, Roberto chiede a María di uscire tramite A o B.
  • Se Maria non conosceva le parole magiche, non poteva aprire la porta magica. Il che significa che non può uscire come ha scelto Roberto.
  • Questo riduce al 50% le possibilità che ha scelto al primo tentativo, il percorso corretto scelto successivamente da Roberto.
  • La ripetizione di questo schema in più occasioni serve poi a stabilire che Maria conosce davvero le parole magiche per aprire la porta, ma non le ha mai dette a Roberto.

Caratteristiche di un metodo Zero Knowledge Protocol

Un protocollo si chiama Zero Knowledge Test (ZKP), se soddisfa questi tre requisiti:

  1. Integrità e completezza. Si presume che entrambe le parti coinvolte (il tester e il verificatore) siano oneste e seguiranno il protocollo. Ciò significa che se un tester fornisce una dichiarazione, il verificatore ne sarà effettivamente convinto.
  2. Solido e robusto. Il protocollo deve presumere che l'onestà è scarsa o no. Quindi, per dimostrare che il tester ha effettivamente un segreto, il verificatore deve essere convinto. Tutto questo riducendo al minimo le possibilità di ingannare con successo il verificatore.
  3. Zero conoscenza. Ciò significa che se l'affermazione è vera, nessun verificatore che imbroglia può sapere più di questo fatto.

La conformità a questi tre requisiti è essenziale affinché un protocollo sia conforme a "zero conoscenza". Nel caso in cui non puoi farlo, il protocollo non può essere chiamato in questo modo in quanto non garantisce l'anonimato.

A parte questo, il protocollo deve garantire una fonte sicura di casualità. La giustificazione è data perché il la generazione di numeri casuali è un'altra condizione necessaria per il suo corretto funzionamento.

 

Zero Knowledge Protocol, ZKP, cos'è zkp, cos'è zero knowledge protocol, come funziona zkp, come funziona zero knowledge protocol

Casi d'uso della tecnologia ZKP

Grazie all'enorme capacità di anonimato, privacy e sicurezza di questo tipo di protocollo, i suoi principali casi d'uso puntano a proteggere i sistemi di comunicazione. Ad esempio, le organizzazioni militari e di spionaggio utilizzano questo tipo di tecnologia per proteggere le comunicazioni. Questo al fine di consentire l'implementazione nel campo di sistemi di comunicazione molto sicuri. Sono inoltre ampiamente utilizzati nei sistemi di autenticazione, anche via web.

La tecnologia ha anche ampi usi all'interno di sistemi di voto sicuri. Con lo ZKP è possibile che l'elettore possa esprimere il suo voto, dimostrare di aver votato, ma nessuno saprà in alcun modo per quale opzione ha votato. In questo modo, ZKP può aiutare i sistemi di voto a mantenere segreto il voto e fornire trasparenza a questi sistemi.

Un altro caso d'uso ampiamente visto oggi è nelle criptovalute come il caso di Zcash y Monero. Entrambe le criptovalute implementano l'uso del protocollo Zero Knowledge. Come previsto, lo scopo è garantire la privacy e l'anonimato dei propri utenti.

Nel caso di Zcash, il suo sistema di test zk-SNARKs si basa sul funzionamento di ZKP. Di questi, c'è un'evoluzione sotto il nome ZK-STARK che hanno caratteristiche migliori in termini di sicurezza e prestazioni, in particolare resistenza al calcolo quantistico. Da parte sua, Monero e i suoi Antiproiettile sono anche un adattamento di ZKP e Transazioni riservate, che gli conferisce anche un elevato livello di sicurezza.

Quanto sai, Cryptonuta?

I protocolli Zero Knowledge possono essere applicati solo in casi speciali?

FALSO!

I Protocolli Zero Knowledge possono essere applicati a qualsiasi sistema informatico, purché ne rispettiamo le tre caratteristiche fondamentali: robustezza, solidità e zero conoscenza.

Vantaggi e svantaggi dei sistemi ZKP

Vantaggi

  1. Un sistema con ZKP in atto offre alti livelli di sicurezza, privacy y anonimia, poiché non richiede la divulgazione di alcun segreto.
  2. La logica del sistema es semplice e non richiede la creazione di nuovi sistemi crittografici per la sua applicabilità.

Svantaggi

  1. Un sistema con implementazione ZKP è limitato da usare valores numerico.
  2. Risultato computazionalmente costoso rispetto ad altri sistemi di crittografia.
  3. Non risolvere Il problema di trasmissione sicuro di informazione. È perché lo è vulnerabile anteriore a terzo che può intercettare la trasmissione, modificare o distruggere il messaggio.
  4. L'implementazione e la revisione algoritmica di questi sistemi è complessa, oltre ad essere un'area dominata da pochissime persone in tutto il mondo. Questo ha come problema principale una bassa capacità di migliorare il sistema e di eseguirne il debug.