Questa è la seconda parte di una serie di tre articoli sulla privacy con la tecnologia blockchain: leggi la prima parte qui e la terza parte qui.

Da un punto di vista tecnico, la blockchain è una lista crescente di registri crittograficamente legata e gestita da una rete peer-to-peer. Inoltre, utilizza un protocollo di comunicazione tra nodi per convalidare nuovi blocchi.

Essenzialmente, una blockchain è un metodo per convalidare transazioni di dati in maniera permanente e immutabile al fine di garantire che la transazione:

  • Non sia stata corrotta.
  • Evita la doppia spesa.
  • Possa trasferire valore.

Possiamo anche dire che la tecnologia blockchain è un network decentralizzato in cui tutti i registri sono scolpiti in modo distribuito e condivisi tra diversi dispositivi sparsi in tutto il mondo.

I registri sono conservati da tutti i membri di una blockchain, e le conferme del network vengono eseguite a intervalli regolari, collegandosi (incatenate e cifrate) ai blocchi esistenti precedenti. Questo rende i registri immutabili e inviolabili.

Invece di fornire le nostre informazioni a piattaforme/negozi centralizzati, possiamo archiviarle all’interno di un registro decentralizzato, privo di singoli punti di errore (un archivio dati centrale che gran parte dei criminali informatici prende solitamente di mira).

L’apparente contraddizione tra privacy e trasparenza nelle blockchain

Anche se sembra contradditorio, le blockchain permettono sia trasparenza che privacy. Dato che le transazioni su una blockchain sono effettuate tramite chiavi pubbliche, ovvero alias (e, a seconda della blockchain, possibilmente anonimi), gli individui possono eseguire operazioni su una blockchain senza rivelare la propria identità.

Inoltre, è necessario distinguere le blockchain davvero anonime. Le blockchain anonime come Monero, Dash o persino Zcash nascondono deliberatamente informazioni sulle parti coinvolte nella transazione e sulla transazione stessa. 

Nelle alias blockchain come Bitcoin, invece, è possibile ottenere molte informazioni sulle parti di una transazione e sulla somma spesa. Anche se le identità dietro le chiavi pubbliche sono sconosciute, è possibile creare questo collegamento.

Quindi, è essenziale comprendere la relazione tra privacy e trasparenza in una blockchain.

La relazione tra privacy e trasparenza

Se, a prima vista, sembra che la relazione tra privacy e trasparenza sia inesistente, la verità è che queste due proprietà sono interdipendenti. Più precisamente, la tecnologia blockchain ci permette di garantire privacy e trasparenza allo stesso tempo. 

Le strutture blockchain possono conciliare in modo geniale sia la trasparenza delle transazioni on-chain che la privacy dei loro utenti.

La funzione di hash

Il fatto che le transazioni siano registrate su una blockchain sotto forma di una hash consente un certo grado di trasparenza ma protegge anche il contenuto dell’operazione registrata. Le transazioni registrate sulla blockchain assumono il formato di un “codice alfanumerico” (che include la data e l’ora). Quindi, la sua struttura prevede un certo livello di trasparenza e, contemporaneamente, protegge i contenuti registrati nel network.

Questo codice alfanumerico, o hash, è l’equivalente di una “impronta digitale” di un dato che esiste al di fuori del network blockchain. Le probabilità che due transazioni differenti abbiano la stessa hash registrata in una blockchain sono praticamente nulle. Quindi, trasparenza e confidenzialità possono essere riconciliate su una blockchain.

L’hashing è uno strumento che permette di proteggere i contenuti dei dati registrati in un “blocco” all’interno del network blockchain. In altre parole, l’hashing è il processo attraverso cui una voce di qualsiasi dimensione viene trasformata in un output crittografico fisso mediante l’utilizzo di un algoritmo matematico.

Di conseguenza, la tecnologia blockchain rende possibile la privacy dei contenuti registrati nel suo network e allo stesso tempo garantisce la trasparenza a livello di protocollo. Un altro elemento dell’architettura della blockchain pubblica che illustra la tensione tra privacy e trasparenza e la sua “falsa contraddizione” è la crittografia a chiave pubblica.

La crittografia a chiave pubblica o crittografia asimmetrica

Conosciuta anche come crittografia asimmetrica, la crittografia a chiave pubblica è un qualsiasi sistema crittografico che utilizza coppie di chiavi. Le chiavi pubbliche possono essere distribuite ampiamente, mentre le chiavi private sono note solo ai loro proprietari.

Con questa coppia di chiavi, si verificano due funzioni: autenticazione, per cui la chiave pubblica verifica che un possessore della chiave privata associata può decifrare il messaggio cifrato con la chiave pubblica; e cifratura, per cui solo il possessore della chiave privata associata può decifrare il messaggio cifrato con la chiave pubblica.

I due utenti si scambiano le chiavi solo per accedere e verificare questa informazione — e una delle parti può revocare l’accesso in qualsiasi momento. Questo accesso “autorizzato” messo a disposizione dalla tecnologia blockchain è già stato esplorato come strumento aziendale per gestire la privacy degli utenti e la raccolta di dati, ai sensi della normativa in merito alla protezione dei dati.

Le blockchain pubbliche funzionano con una coppia di chiavi necessarie in tutte le transazioni

Una chiave pubblica, che assomiglia in un certo senso a un numero di conto bancario, e una chiave privata che può essere paragonata a una password o un PIN. Le chiavi pubbliche sono solitamente alias e possono essere anonime su certe blockchain. Tuttavia, anche senza sapere a chi appartiene una determinata chiave pubblica, è possibile tracciare tutte le transazioni di una chiave pubblica e creare un profilo della persona che si cela dietro la chiave.

Ancora una volta, la chiave pubblica garantisce un certo grado di privacy, mentre tutte le transazioni generate da essa sono trasparenti. I nostri dati sono archiviati in modo decentralizzato — su vari computer sparsi in luoghi diversi. Forse ti stai chiedendo: “Come possono essere veramente privati?”

Se i registri sulle blockchain sono archiviati in posti diversi, come possono garantire la privacy?

La privacy sulle blockchain è possibile attraverso uno scambio sicuro di valore protetto dalla crittografia, che compone l’architettura blockchain insieme ai meccanismi di consenso e i network peer-to-peer. Come abbiamo visto nella discussione precedente, la tecnologia blockchain usa chiavi pubbliche e private per proteggere i registri disponibili al pubblico.

Una volta cifrata, è necessaria la chiave privata per accedere alle informazioni, quindi tutti i dati cifrati possono essere intercettati e risultare comunque completamente inutili per un potenziale malintenzionato. Registrando informazioni cifrate come punti dati nel registro, le blockchain proteggono la privacy.

I sistemi blockchain usano la crittografia asimmetrica per proteggere le transazioni tra utenti. In questi sistemi, ogni utente possiede una chiave pubblica e una privata, ed è matematicamente impossibile per un utente indovinare la chiave privata di un altro utente partendo dalla sua chiave pubblica. Questa proprietà offre una maggiore privacy, per proteggersi dagli hacker.

La tecnologia blockchain permette di cifrare documenti legali, cartelle cliniche, informazioni di pagamento o di identità e inserirli come punti dati (pointer) nel registro. Una volta fatto ciò, non c’è modo di copiare o duplicare le informazioni senza il permesso tecnologico esplicito del proprietario.

Lo scambio sicuro dei registri protetti dalla crittografia asimmetrica, invece, è semplice. Le informazioni confidenziali non “passano di mano”.

Privacy via blockchain con altre tecniche

Sulle blockchain pubbliche, chiunque abbia una connessione internet può visualizzare la lista delle transazioni effettuate sul network. Tutti i dettagli associati alla transazione e del portfolio possono essere consultati, anche se gli username sono ancora sconosciuti. I dettagli della transazione e gli wallet degli utenti si presentano come una chiave pubblica. Questo codice unico rappresenta l’utente sul network blockchain.

In questo modo, la chiave pubblica creata tramite la tecnica di crittografia asimmetrica protegge la privacy in una certa misura — ma puoi comunque essere scoperto con altri metodi. Il mito dell’anonimato e della privacy sulle blockchain pubbliche è stato smascherato, facendoci realizzare che le informazioni riservate dell’utente archiviate su certe blockchain sono solo confidenziali (alias), non anonime.

Come proteggere meglio la privacy nelle blockchain pubbliche?

Nelle attuali blockchain pubbliche, le transazioni vengono registrate in un registro e sono pubbliche e trasparenti. Pertanto, diversi brand e mercati rinomati, come Wall Street, esitano ad adottarle. La confidenzialità del cliente e della transazione è un obbligo per loro. Tuttavia, esistono diversi concetti e metodi che migliorano enormemente la privacy delle transazioni sulle blockchain. In questo senso, altre forme molto apprezzate di privacy via blockchain sono le zero-knowledge proof e la crittografia completamente omomorfica.

La zero-knowledge proof, o dimostrazione a conoscenza zero, è uno schema di cifratura proposto dai ricercatori del MIT Silvio Micali, Shafi Goldwasser e Charles Rackoff negli anni ‘80. In questo metodo, una parte (“prover”) può dimostrare che una dichiarazione specifica è valida per l’altra parte (“verifier”) senza rivelare informazioni aggiuntive.

I vantaggi delle zero-knowledge proof sono:

  • Semplice — uno dei vantaggi principali del test zero-knowledge è che non prevede nessun complicato metodo di cifratura.
  • Sicuro — non richiede a nessuno di rivelare alcuna informazione.

Nonostante i vantaggi del test zero-knowledge, sono anche presenti alcuni svantaggi dovuti al suo stadio precoce:

  • Lungo — nel metodo zero-knowledge, ci sono circa 2.000 computazioni, e l’elaborazione di ciascuna richiede una certa quantità di tempo. Questo è l’ostacolo principale della zero-knowledge.
  • Imperfetto — i messaggi consegnati al verifier/venditore possono essere distrutti o modificati.
  • Limitato — il protocollo zero-knowledge impone che il segreto sia un valore numerico. In altri casi, è necessaria una traduzione.

La crittografia completamente omomorfica, o FHE, è una tecnica computazionale già utilizzata dalla compagnia Skuchain, in cui vengono eseguiti calcoli matematici su dati cifrati per generare un risultato cifrato. Come abbiamo spiegato prima, nella crittografia omomorfica i dati vengono cifrati prima di essere condivisi sulla blockchain, dove possono essere analizzati senza decifratura.

I vantaggi di una compagnia che nasconde i dati tramite FHE su una blockchain sono chiari. Il metodo della FHE, tuttavia, è ancora più lento delle zero-knowledge proof.

In questo contesto, alcuni imprenditori hanno già realizzato che questa privacy differenziale (fornita dalla tecnologia blockchain) permette alle compagnie di accumulare informazioni aggregate relative alle abitudini di navigazione degli utenti, mantenendo allo stesso tempo la confidenzialità degli utenti individuali.

Le idee e le opinioni espresse in questo articolo appartengono unicamente all'autore e non riflettono necessariamente i punti di vista e le opinioni di Cointelegraph.

Tatiana Revoredo è membro fondatore della Oxford Blockchain Foundation e stratega blockchain presso la Saïd Business School, University of Oxford. Inoltre, è un’esperta di applicazioni commerciali blockchain del MIT e la CSO di theglobalstg.com.

Tatiana è stata invitata dal parlamento europeo alla Intercontinental Blockchain Conference e invitata dal parlamento brasiliano al Public Hearing on Bill 2303/2015. È autrice di due libri: "Blockchain: Tudo O Que Você Precisa Saber" e "Cryptocurrencies in the International Scenario: What Is the Position of Central Banks, Governments and Authorities About Cryptocurrencies?"