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.
Sicurezza, privacy e anonimato sono obiettivi che cypherpunk hanno perseguito fin dall'inizio del movimento 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, attualmente possiamo godere di sistemi distribuiti altamente sicuri e anonimi.
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 uno o più segreti sono noti a qualcuno, senza effettivamente rivelare detto segreto. Il termine stesso "conoscenza zero" Nasce dal fatto che nessuna informazione viene divulgata. Due parti partecipano a questo processo; il "Camerino" della trama e il "Dama" stessa.
L'idea alla base di questo protocollo è dimostrare inequivocabilmente che il "Tester" conosce il segreto senza rivelarlo, compito che resta nelle mani del “Verificatore”. La cosa migliore è che per verificare tali informazioni non è necessario consultare una terza parte, basta prendere le informazioni dal "Tester" e applicare il protocollo. In questo modo, il "Verificatore" può sapere in ogni momento se l'informazione è vera.
In breve:
Una prova a conoscenza zero è un metodo crittografico mediante il quale una delle parti può dimostrare all'altra la veridicità delle informazioni, senza rivelare dati sensibili di 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
La creazione dello ZKP non è stata un evento fortuito, ma è l'unione di diversi lavori di oltre 50 anni di ricerca.
L'avvento della crittografia asimmetrica
Lo sviluppo della crittografia è sempre stato legato al fatto che garantire la sicurezza e la riservatezza delle informazioni. Tutto ciò affinché terzi non autorizzati o disonesti vi abbiano accesso. In linea di principio, i sistemi crittografici hanno raggiunto questo obiettivo utilizzando 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 portato a un ulteriore sviluppo della tecnologia crittografica. Tuttavia, il più grande salto qualitativo è stato l'aspetto 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 Hellmann. 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, nell'anno 1982. Con questo sistema, Chaum ha cambiato radicalmente il modo in cui documenti, file e messaggi potevano 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 in alcuni sistemi fino a quel momento esistenti.
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 gettato le basi per questa tecnologia, non solo accademicamente ma anche nella pratica. Tuttavia, il termine non è entrato in uso fino alla sua prima apparizione nel 1985. Quell'anno è venuto 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 “a prova di conoscenza zero”.
Più tardi nel 1987, David Chaum insieme a Gilles Brassard y Claude Crepeau, ha pubblicato il lavoro «Test minimi di rivelazione della conoscenza». 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» convincere un «checker» che il primo dispone di informazioni segrete verificabili. tutto senza permettere che il verificatore sa qualcosa su tali informazioni. Le informazioni segrete possono essere statisticamente o deterministicamente verificabili. E solo uno di loro, il verificatore o il tester, deve disporre 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 Luigi Guillo, 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 comunicano solo attraverso la porta magica. A questo punto Roberto aspetta che María passi per A o B, mentre lui la attende all'ingresso della grotta.
- Ad un certo punto, Roberto chiede a María di uscire tramite A o B.
- Se Maria non conoscesse le parole magiche, non potrebbe aprire la porta magica. Il che significa che non può uscire sulla strada scelta da 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:
- 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.
- 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.
- 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.
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 un sistema di comunicazione sicuro. Ad esempio, le organizzazioni militari e di spionaggio utilizzano questo tipo di tecnologia per proteggere le comunicazioni. Ciò al fine di consentire l'implementazione sul campo di sistemi di comunicazione altamente sicuri. Sono inoltre molto 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 per l'elettore esprimere il proprio voto, dimostrare di aver votato, ma in nessun modo nessuno potrà sapere per quale opzione ha votato. In questo modo, ZKP può aiutare i sistemi di voto a mantenere la segretezza del 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 cosa stanno presentando migliori caratteristiche di sicurezza e prestazioni, in particolare la 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.
Vantaggi e svantaggi dei sistemi ZKP
Vantaggi
- Un sistema con ZKP in atto offre alti livelli di sicurezza, privacy y anonimia, poiché non richiede la divulgazione di alcun segreto.
- La logica del sistema es semplice e non richiede la creazione di nuovi sistemi crittografici per la sua applicabilità.
Svantaggi
- Un sistema con implementazione ZKP è limitato da usare valores numerico.
- Risultato computazionalmente caro rispetto ad altri sistemi di crittografia.
- 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.
- 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.
Clicca qui per aprire GRATUITAMENTE e in tutta sicurezza il tuo conto utente in spagnolo e ricevere un regalo di 15€.