La Privacy nel WEB3: esplorazione tecnica, e non, della privacy nel WEB3
La privacy nel WEB3 è un tema molto attuale. Prendendo spunto dall’analisi di WEB3.com Ventures, abbiamo provato a esplorare le diverse concezioni e approcci alla privacy nel WEB3.
Per il Web3, la privacy è l’elefante nel negozio di cristalli. È allo stesso tempo il più grande punto di forza delle criptovalute, andando di pari passo con i principi di decentralizzazione e anonimato.
Sfortunatamente, questo è anche un argomento ampiamente frainteso, ad esempio molti vedono la “privacy” delle criptovalute semplicemente come una scusa per finanziare i terroristi e riciclare denaro. Il fatto che il cripto Twitter sia orgoglioso della sua anon culture
(anonymous culture) e che i media spesso (intenzionalmente o meno) rafforzino questi pregiudizi non aiuta a dissolvere questi stereotipi.
WEB3 concetti
Poiché la privacy di Web3 è un concetto onnicomprensivo, che tocca tutto: dalle immagini del profilo delle scimmie alla crittografia e Zero Knowledge Proofs
, è inutile parlarne in generale e dare giudizi affrettati. Invece, dovremmo provare a suddividere l’argomento in segmenti più piccoli.
Proviamo a vedere l’infrastruttura della “privacy” Web3 divisa in tre livelli distinti:
- privacy a livello di rete,
- privacy a livello di protocollo e
- privacy a livello di utente
Privacy a livello di rete
La privacy a livello di rete è dove ogni transazione di una criptovaluta, su una data rete blockchain, è garantita dalla privacy attraverso meccanismi di consenso sottostanti della blockchain, e scelte di progettazione a livello di rete.
Questa concezione della privacy affonda le sue radici nel protocollo Bitcoin e nella sua idea di rendere anonimi gli “indirizzi di portafoglio” come hash crittografici a 160 bit. Sebbene Bitcoin stesso abbia transazioni completamente trasparenti, in cui qualsiasi utente può ispezionare qualsiasi transazione sulla sua rete, i principi di progettazione di decentralizzazione e anonimato di Bitcoin hanno indubbiamente ispirato la forza trainante dietro lo sviluppo della “privacy a livello di rete” e delle blockchain incentrate sulla privacy.
Monero
Uno dei principali progetti per stabilire la privacy a livello di rete è Monero, una blockchain basata sulla privacy creata nel 2014. A differenza di Bitcoin, Monero nasconde sia i portafogli degli utenti che le transazioni dietro “Ring Signatures
“, in cui gli utenti all’interno di un dato “ring” hanno accesso a una certa firma di gruppo e usano quella firma di gruppo per firmare le transazioni. Pertanto, per ogni data transazione sulla rete Monero, possiamo solo dire che proviene da un certo gruppo, ma non sappiamo quale utente in quel gruppo ha effettivamente firmato la transazione. In sostanza, questa è una forma di “privacy di gruppo”, in cui gli utenti si uniscono in gruppi per garantire a tutti la privacy.
ZCash
Un altro progetto che affronta questo stesso spazio è ZCash, uno dei primi pionieri di una forma di Zero Knowledge Proofs chiamata zk-SNARKs. Il concetto fondamentale alla base di Zero Knowledge Proofs è che si tratta di un modo per dimostrare che qualcosa è vero senza rivelare ulteriori informazioni (che potrebbero compromettere la sicurezza e la privacy).
Un semplice esempio di Zero Knowledge Proof è un gradescope autograder
. Devi “dimostrare” di aver svolto correttamente i compiti CS, ma non è necessario comunicare all’autograder
ulteriori dettagli sull’implementazione del codice. Invece, l’autograder
controlla la tua “conoscenza” eseguendo una serie di casi di test nascosti e il tuo codice deve corrispondere all’output “previsto” dell’autograder Gradescope
. Facendo corrispondere l’output “previsto”, puoi fornire una prova a conoscenza zero che hai svolto i compiti senza mostrare l’effettiva implementazione del codice.
Nel caso di ZCash, mentre le transazioni sono trasparenti per impostazione predefinita, gli utenti possono scegliere di utilizzare queste “Zero Knowledge Proof” per creare transazioni private. Quando un utente desidera inviare una transazione, crea un messaggio di transazione che include l’indirizzo pubblico del mittente, l’indirizzo pubblico del destinatario e l’importo della transazione, quindi lo converte in una prova zk-SNARK, che è l’unica cosa inviata alla rete. Questa prova zk-SNARK contiene tutte le informazioni necessarie per dimostrare la validità della transazione, ma non rivela alcun dettaglio della transazione stessa. Ciò significa che la rete può convalidare la transazione senza sapere chi l’ha inviata, chi l’ha ricevuta o l’importo in questione.
Considerazioni sui progetti di Privacy a livello di rete
Nonostante le loro differenze di progettazione e implementazione, sia per Monero che per ZCash la privacy delle transazioni è garantita a livello di blockchain, in modo tale che tutte le transazioni che avvengono sulla rete siano automaticamente garantite come private. Questa garanzia sulla privacy può essere facilmente abusata da malintenzionati per condurre attività di riciclaggio di denaro, attività terroristiche e traffico di droga, e Monero è particolarmente noto per la sua popolarità nel Dark Web [6]. Inoltre, poiché Monero e altre “monete per la privacy” diventano sinonimo di attività finanziarie illecite, ciò allontana gli utenti che utilizzano queste “monete per la privacy” per legittime preoccupazioni sulla privacy, alimentando un ciclo di feedback negativo che si traduce solo in un’economia sommersa più dannosa.
Questo è il più grande svantaggio di garantire la privacy a livello di rete: è un approccio “tutto o niente” nel design, in cui esiste un compromesso a somma zero tra la trasparenza di una transazione e la privacy di questa transazione. È proprio a causa di questa mancanza di trasparenza che la “privacy a livello di rete” attira la maggior parte delle ire da parte delle autorità di regolamentazione, e il motivo per cui diversi importanti scambi di criptovalute centralizzati, come Coinbase, Kraken e Huobi hanno rimosso Monero, ZCash e altre privacy coin in diverse giurisdizioni.
Privacy a livello di protocollo
Un approccio diverso alla privacy consiste nel garantire la “privacy a livello di protocollo”, dove invece di codificare le transazioni private nel livello di consenso della rete blockchain, elaboriamo le transazioni private su un “protocollo” o una “applicazione” che gira su una blockchain rete.
Poiché le prime reti blockchain, come Bitcoin, avevano una programmabilità limitata, la creazione di una “privacy a livello di protocollo” era incredibilmente difficile da fare, ed era molto più facile creare un fork della rete Bitcoin e implementare la privacy da zero sotto forma di una nuova blockchain e “moneta della privacy”. Ma con l’avvento di Ethereum e l’ascesa dei “contratti intelligenti”, questo ha aperto una strada completamente nuova per i protocolli di tutela della privacy.
Tornado Cash
Uno degli esempi più notevoli di “privacy a livello di protocollo” è Tornado Cash, che è un’applicazione decentralizzata (dApp) su Ethereum che “mescola” le transazioni in un pool per garantire la privacy delle transazioni – concettualmente in qualche modo simile al “blend in” di Monero con l’approccio della folla.
Il protocollo Tornado Cash, in parole povere, prevede tre passaggi principali:
- Deposito: gli utenti inviano i propri fondi a un contratto intelligente Tornado Cash. Ciò avvia una transazione privata con un “set di anonimato” generato casualmente, che è un gruppo di utenti che effettuano anche transazioni contemporaneamente.
- Mixing: Tornado Cash mescola i fondi depositati con i fondi di altri utenti nel set di anonimato, rendendo difficile rintracciare il mittente o il destinatario originale. Questo processo è chiamato “miscelazione” o “anonimizzazione”.
- Prelievo: una volta che i fondi sono stati mescolati, gli utenti possono prelevare i propri fondi a un nuovo indirizzo di loro scelta, interrompendo il collegamento tra il loro indirizzo originale e l’indirizzo di destinazione. L’utente può quindi completare la transazione inviando i fondi direttamente dal “nuovo” indirizzo di destinazione al destinatario.
Tornado Cash e OFAC
Sfortunatamente, nell’agosto 2022, Tornado Cash è stato sanzionato dal governo degli Stati Uniti, poiché l’Office of Foreign Assets Control (OFAC) ha affermato che gli hacker nordcoreani stavano usando il protocollo per riciclare fondi rubati. Come risultato di questa repressione, gli utenti, le aziende e le reti statunitensi non sono più in grado di utilizzare Tornado Cash. L’emittente di stablecoin USDC Circle ha fatto un ulteriore passo avanti, congelando fondi per un valore di oltre $ 75.000 collegati agli indirizzi di Tornado Cash e GitHub ha cancellato gli account degli sviluppatori di Tornado Cash.
Ciò ha innescato una tempesta controversa nella sfera crittografica, poiché molti hanno sostenuto che la stragrande maggioranza degli utenti utilizza Tornado Cash per transazioni legittime che preservano la privacy e che gli utenti del protocollo non dovrebbero essere puniti per le cattive azioni di una piccola minoranza. Ma soprattutto, poiché Tornado Cash è una “privacy a livello di protocollo” su Ethereum, piuttosto che una soluzione di “privacy a livello di rete”, il giro di vite e le ricadute sono state limitate solo a questo protocollo sulla rete Ethereum piuttosto che interessare l’intera rete, a differenza di Monero e ZCash, Ethereum non è stato cancellato da Coinbase a causa di queste sanzioni.
zk.money
Un approccio alternativo alla “privacy a livello di protocollo” introdotto da Aztec Network si concentra sui “rollup” per proteggere i fondi degli utenti e supportare le transazioni private. Il prodotto principale di Aztec è zk.money , che utilizza una Zero Knowledge Proof ricorsiva profonda a 2 livelli sia per il ridimensionamento che per la privacy. Il primo ZKP dimostra la correttezza della transazione protetta, assicurando che la transazione fosse di fatto privata e che non vi fossero fughe di informazioni. Il secondo ZKP viene utilizzato per il rollup stesso, al fine di raggruppare il calcolo dei batch di transazioni insieme e garantire che tutte queste siano state eseguite correttamente.
Sebbene le soluzioni di “privacy a livello di protocollo” basate su rollup siano ancora nelle loro fasi iniziali, rappresentano la prossima evoluzione delle soluzioni di “privacy a livello di protocollo”. Un vantaggio chiave delle soluzioni di rollup rispetto alle soluzioni di “privacy a livello di protocollo” basate su dApp come Tornado Cash, come la loro maggiore scalabilità, poiché il lavoro pesante del calcolo avviene in gran parte off-chain. Inoltre, poiché gran parte della ricerca sul rollup si è concentrata esclusivamente sull’aumento del calcolo, c’è ancora ampio spazio per l’esplorazione nell’applicazione e nell’estensione di queste tecnologie nella sfera della privacy.
Privacy a livello di utente
Un terzo approccio alla concettualizzazione della privacy in Web3 consiste nell’esplorare la “privacy a livello di utente”, in cui vengono fornite garanzie di privacy per i dati di un singolo utente piuttosto che concentrarsi sui dati della transazione dell’utente. Sia a livello di “rete” che di “protocollo”, assistiamo al problema ricorrente di una minoranza di malintenzionati (come le transazioni sul Dark Web e gli schemi di riciclaggio di denaro) che influenzano l’uso della rete e del protocollo per la maggioranza innocente che è semplicemente interessata per la loro riservatezza dei dati personali.
Tra trasparenza e privacy
Il punto cruciale della “privacy a livello di utente” è che concentrandoci sui singoli utenti di una rete stessa, conduciamo una forma “mirata” di filtraggio in cui gli utenti e gli indirizzi benigni sono liberi di interagire privatamente con la rete blockchain, mentre gli utenti malintenzionati possono essere rapidamente filtrati. Come puoi immaginare, questo è un compito difficile, camminare su una linea sottile tra trasparenza e privacy. Questa visione della privacy incentrata sull’utente genera anche un intero dibattito (e industria) sul ruolo e il futuro dell’identità decentralizzata (dID) adiacente e derivata dalla questione della privacy Web3. Per brevità, non discuterò la questione del KYC e dell’autenticazione in Web3.
L’intuizione fondamentale della “privacy a livello di utente” è separare e reinventare la relazione tra l’utente stesso e i suoi indirizzi di portafoglio sulla catena, poiché gli indirizzi di portafoglio sono gli identificatori atomici su una rete blockchain. È importante sottolineare che esiste una mappatura uno-a-molti dagli utenti alle catene: gli utenti spesso controllano più di un indirizzo di portafoglio su ogni rete blockchain con cui interagiscono. Questa è l’idea della “frammentazione dell’identità on-chain”. Pertanto, il punto cruciale della “privacy a livello di utente” è trovare un modo sicuro per mappare le informazioni di identificazione personale (PII) degli utenti a tutte queste identità frammentate on-chain.
Notebook Labs
Un progetto chiave in questo senso è Notebook Labs, che cerca di utilizzare Zero Knowledge Proofs per collegare identità frammentate insieme alle PII di un utente, fornendo le seguenti garanzie:
- Gli utenti possono dimostrare la loro umanità con qualsiasi identità on-chain frammentata
- È impossibile collegare insieme queste identità (a meno che la chiave segreta dell’utente non sia trapelata)
- È impossibile per terze parti o avversari collegare un’identità on-chain frammentata all’identità reale dell’utente
- Le credenziali possono essere aggregate tra le identità
- Ogni essere umano riceve un singolo insieme di identità frammentate a catena
Sebbene le specifiche crittografiche del protocollo vadano oltre lo scopo di questo saggio, Notebook Labs dimostra due principi fondamentali della “privacy a livello di utente”: l’importanza di affrontare la reimmaginazione della relazione tra la moltitudine di identità frammentate su catena con gli utenti umani del mondo reale , così come il ruolo importante che Zero Knowledge Proofs svolge nell’aggregare e collegare insieme tutte queste identità.
Stealth wallets
Un’altra soluzione emergente alla questione della “privacy a livello di utente” è l’idea di “stealth wallets
“. Ancora una volta, l’idea di “stealth wallets
” sfrutta la frammentazione delle identità on-chain, sfruttando il fatto che un utente in genere ha più di un’identità on-chain. A differenza di Tornado Cash e di altre soluzioni di “privacy a livello di protocollo”, che cercano di oscurare i dati della transazione stessa, gli indirizzi invisibili cercano di oscurare chi sono le persone reali dietro gli indirizzi del mittente e del destinatario. Ciò viene implementato essenzialmente trovando un algoritmo per generare rapidamente e automaticamente “portafogli monouso” per la transazione di un utente.
Un’importante differenza concettuale tra gli “stealth wallet
” e le soluzioni per la privacy discusse in precedenza come Monero e Tornado Cash è che questa non è una forma di “privacy tra la folla”. Ciò significa che, a differenza di Tornado Cash, che può fornire garanzie di privacy solo per i trasferimenti di token tradizionali come ETH, i portafogli stealth possono anche fornire garanzie di sicurezza per token di nicchia e NFT, o asset on-chain unici che non hanno “folla” in cui fondersi. Tuttavia, finora la discussione sugli “stealth wallet” su Ethereum è rimasta allo stadio teorico, e l’efficacia dell’implementazione e le ripercussioni legali di questa nuova soluzione tecnologica sono ancora da vedere.
BlogInnovazione.it