In che modo Zero Knowledge Proof può garantire la riservatezza dei dati

Mar 21 2023
Probabilmente ti sei imbattuto nelle espressioni "se è gratis, tu sei il prodotto" o "i dati sono il nuovo petrolio" e l'hai deriso come un piccolo detto sciocco. La verità è che i dati sono la forza trainante di quasi tutte le attività e i servizi.

Probabilmente ti sei imbattuto nelle espressioni "se è gratis, tu sei il prodotto" o "i dati sono il nuovo petrolio" e l'hai deriso come un piccolo detto sciocco. La verità è che i dati sono la forza trainante di quasi tutte le attività e i servizi. Ad esempio, esperienze e servizi personalizzati, marketing e una serie di altri approfondimenti e servizi dipendono dal volume e dalla qualità dei dati forniti. La maggior parte delle aziende è desiderosa di accedere ai dati per comprendere meglio i propri clienti, prevedere i modelli di comportamento dei clienti e migliorare la qualità dei propri servizi.

Lo spazio tradizionale è sempre stato oggetto di preoccupazioni relative ai dati e alla privacy. I sostenitori della privacy hanno da tempo segnalato preoccupazioni su come vengono archiviati i dati, su come vi si accede e su chi vi ha accesso. Con la crescita dell'ecosistema di criptovalute e blockchain, preoccupazioni simili sono sorte anche in questo settore. La natura pubblica delle blockchain ha introdotto diversi problemi di privacy per gli utenti in merito alla salvaguardia delle loro informazioni personali. Questo articolo esaminerà più da vicino il problema della privacy sulle blockchain e come le prove Zero Knowledge (ZK) possono mitigarle.

Cos'è la riservatezza dei dati?

L'aumento dell'utilizzo di Internet ha portato la questione della privacy dei dati nel mainstream, con quasi tutti i siti Web, le applicazioni e le piattaforme di social media che raccolgono e archiviano le informazioni personali degli utenti per fornire determinati servizi. Tuttavia, queste piattaforme e siti Web spesso non dispongono di adeguate salvaguardie per proteggere i dati raccolti, con conseguenti numerose violazioni dei dati.

Con la crescita della tecnologia blockchain e dell'ecosistema crittografico, sono aumentate le preoccupazioni sulla privacy degli utenti al dettaglio e istituzionali. Queste preoccupazioni sono principalmente dovute alla natura pubblica delle blockchain, con la maggior parte delle soluzioni Layer 1 e Layer 2 che non riescono a risolvere questi problemi. La privacy dei dati si riferisce alla capacità degli utenti di determinare, alla fine, quando e come le loro informazioni vengono condivise con altri. Comprende anche la capacità degli utenti di dettare fino a che punto i loro dati sono condivisi. Queste informazioni possono includere i loro nomi, posizione, informazioni di contatto, comportamento online, Mi piace, Non mi piace, dettagli della transazione e altro.

Fiducia, privacy e blockchain

Attualmente, l'ecosistema delle criptovalute sta subendo notevoli sconvolgimenti a seguito del crollo di grandi progetti come FTX . Tuttavia, la tecnologia sottostante che supporta le criptovalute ha il potenziale per rivoluzionare la privacy, la fiducia e il modo in cui viene sfruttata la fiducia. Questo è fondamentale nell'era di Internet, quando milioni navigano e condividono grandi quantità di informazioni personali per accedere a servizi e prodotti.

La tecnologia blockchain comporta intrinsecamente problemi di privacy, grazie al suo design. La natura decentralizzata delle blockchain significa che i nodi che elaborano le transazioni o le informazioni hanno accesso ai dati della blockchain. Ad esempio, la blockchain di Bitcoin è pubblicamente disponibile e può essere consultata da chiunque desideri verificarne la cronologia delle transazioni fino al suo blocco di genesi. Ora, ricorda, Bitcoin è pseudo-anonimo, il che significa "[d]ata punti che non sono direttamente associati a un individuo specifico [ma dove] più aspetti di [una] persona possono essere collegati insieme".

Abbastanza dati pseudo-anonimi consentono di identificare le persone dietro le transazioni, il che è preoccupante per gli utenti blockchain, e ci sono diverse ragioni per questo. A differenza dei dati utilizzati dalle normali applicazioni, che sono accessibili solo a pochi, i dati blockchain possono essere esaminati da tutti, inclusi anche attori ed entità malintenzionati che possono sfruttare le informazioni sulla blockchain per il proprio guadagno. Inoltre, la natura immutabile della blockchain significa che transazioni e dati saranno permanentemente collegati all'individuo. Questo può essere fatto monitorando la comunicazione tra i nodi. Inoltre, i portafogli crittografici possono essere analizzati anche senza accesso alle chiavi private, complicando ulteriormente le cose.

Un esempio di alto profilo dell'utilizzo di dati blockchain per tracciare un individuo è stata l'indagine e l'arresto di Ross Ulbricht , l'individuo dietro il famigerato sito Web darknet "Silk Road", che è stato utilizzato per varie attività illegali. Le forze dell'ordine hanno identificato Ulbricht come l'individuo dietro Silk Road, grazie ai dati blockchain. Inoltre, potevano tracciare le transazioni Bitcoin e determinare che un agente della DEA (Drug Enforcement Administration) degli Stati Uniti stava riciclando BTC collegato a Silk Road. In questo caso, le forze dell'ordine sono state in grado di tracciare i dati disponibili sulla blockchain per identificare un individuo noto. Ma immagina se entità dannose potessero tracciare i tuoi dati con tanta facilità grazie alla natura pubblica della blockchain. I risultati sarebbero devastanti.

Presentazione delle prove a conoscenza zero

Di Zero Knowledge Proofs si è parlato per la prima volta di Silvio Micali , Shafi Goldwasser e Charles Rackoff in un articolo intitolato “ The Knowledge Complexity of Interactive Proof Systems” e sono considerati un'affascinante innovazione della crittografia che può essere utilizzata in diversi scenari. Nel caso della blockchain, può aiutare a consentire transazioni sicure e anonime. Zero Knowledge Proof, noto anche come Protocollo Zero Knowledge, consente a una parte (il dimostratore) di dimostrare alla parte opposta (verificatore) di conoscere un valore o un'informazione specifica (x) senza rivelare alcuna informazione a parte il fatto di conoscere il valore o informazioni in questione (x). La sfida quando si tratta di Zero Knowledge Proof è giustificare il possesso delle informazioni senza rivelarle o qualsiasi altra informazione aggiuntiva. Una Zero Knowledge Proof deve soddisfare i seguenti criteri.

  • Completezza : supponiamo che l'affermazione sia vera. Un verificatore onesto, seguendo correttamente e fedelmente il protocollo, sarà convinto dalle informazioni fornite dal prover che sta seguendo correttamente il protocollo.
  • Solidità : solidità significa che non dovrebbe esserci modo per il dimostratore di falsificare alcuna informazione o convincere falsamente il verificatore. La falsificazione deve essere impossibile.
  • Conoscenza zero : se l'affermazione del dimostratore è vera, il verificatore non apprende altro che il fatto che l'informazione è vera.

Come funziona ZKP?

Credito immagine

Una Zero Knowledge Proof consiste in tre azioni che si verificano in sequenza tra i partecipanti. Queste azioni sono chiamate testimonianza, sfida e risposta. Scaviamo un po' più a fondo per capire meglio il ruolo di ogni azione, supponendo che ci siano due partecipanti, A e B.

Testimone - Supponiamo che A conosca un valore o un'informazione specifica, che determina anche una serie di domande. A queste domande può sempre rispondere correttamente A. Inizialmente, A può scegliere qualsiasi domanda a caso dall'insieme, calcolare la dimostrazione e inviarla a B.

Sfida - Dopo la fase del testimone arriva la fase della sfida, in cui B sceglie una domanda dal set e chiede ad A di rispondere.

Risposta : A calcola quindi la risposta e la invia a B. Ciò consente a B di determinare se A conosce effettivamente la risposta.

Il processo sopra descritto può essere ripetuto tutte le volte che è necessario finché non si stabilisce che A conosce la risposta corretta e la probabilità di indovinare diventa abbastanza bassa.

Usa i casi di ZKP

ZKP può essere applicato in diversi scenari.

Sistemi di autenticazione

I sistemi di autenticazione hanno svolto un ruolo cruciale nel promuovere la ricerca in Zero Knowledge Proofs. In questi sistemi, una parte desidera dimostrare la propria identità a una seconda parte attraverso alcune informazioni segrete. Tuttavia, non desidera che la seconda parte venga a conoscenza di queste informazioni segrete.

Riservatezza

Uno dei casi d'uso più significativi di ZKP riguarda le transazioni che richiedono la completa riservatezza. Capiamo come. Considera una blockchain come la blockchain di Bitcoin . Generalmente, quando si verifica una transazione su questa blockchain, i dati relativi alla transazione vengono registrati sulla blockchain. Ciò significa che chiunque può mettere insieme una certa quantità di informazioni sulla transazione analizzando i dati sulla blockchain. Per motivi di privacy, è fondamentale nascondere alcuni dettagli per transazioni specifiche. ZKP consente di nascondere i dettagli garantendo anche la validità della transazione aggiungendoli a un nuovo blocco.

Informazione personale

Supponi di voler prendere un prestito da una banca. Per richiedere il prestito è necessario fornire una miriade di documentazione costituita da una notevole mole di dati personali, mettendola a disposizione di terzi. Nel caso di ottenere un prestito da una banca, l'unica informazione richiesta dalla banca è sapere se un individuo guadagna un importo specifico sufficiente per rimborsare il prestito. ZKP può aiutare le banche a verificare se un individuo guadagna un importo minimo predefinito senza rivelare alcuna informazione sensibile alla banca oa terzi.

ZKP e Blockchain: la via da seguire

Diversi progetti e criptovalute utilizzano ZKP, come ZCash, SmartCash, Zerocash e ZeroVert. ZKP è stato implementato principalmente tramite zk-SNARKS e zk-STARKS .. zk-SNARKS è stato originariamente sviluppato da ZCash. La maggior parte delle blockchain sono pseudo-anonime, il che significa che l'identità di un utente può essere ricondotta alle sue transazioni studiando i dati della blockchain. Queste informazioni sono disponibili a chiunque abbia accesso alla blockchain e potrebbero essere sfruttate da qualsiasi entità malintenzionata.

Nonostante la reputazione della blockchain come l'apice della sicurezza informatica, questa particolare lacuna è ben nota agli utenti. Tuttavia, ZKP potrebbe aiutare a correggere questa vulnerabilità e garantire la completa privacy quando si tratta di informazioni personali. Sebbene ZKP abbia ancora alcune sfide da superare, offre agli utenti il ​​controllo dei propri dati e della privacy, limitando l'accesso a terze parti e svolgerà un ruolo cruciale nel migliorare la privacy quando si tratta di blockchain.