In un periodo storico caratterizzato da grande incertezza nei confronti dei mercati finanziari globali, il panorama delle criptovalute è in pieno fermento: che si tratti di Bitcoin o di declinazioni meno conosciute come i Dogecoin o i Litecoin — non diffuse come la criptovaluta ideata da Satoshi Nakamoto, ma comunque utilizzate ed acquistabili presso i cambiavalute online —, il mondo della finanza su base blockchain ha gradualmente ottenuto rilevanza mediatica sempre maggiore, tale da cominciare a stuzzicare l’interesse dei grandi istituti finanziari.
Recentemente, però, una nuova criptovaluta ha catalizzato l’attenzione di testate, ricercatori e aficionado dell’era Bitcoin — Zcash è una criptovaluta che, a quanto pare, garantisce il completo anonimato nello svolgimento delle transazioni.
Videos by VICE
Zcash è ufficialmente attiva dal 28 ottobre 2016, come riportato sul loro sito, e poco tempo fa avevamo spiegato nel dettaglio come ottenerla. Questa nuova criptovaluta si presenta tentando di prendere le distanze dai Bitcoin per quanto riguarda la gestione della privacy degli utenti — Bitcoin, infatti, è considerata una moneta pseudo-anonima poiché tutte le transazioni, pur non direttamente riconducibili a delle persone fisiche, sono pubblicamente disponibili lungo i blocchi della blockchain, la tecnologia alla base delle criptovalute.
Dietro il protocollo di Zerocash — il protocollo crittografico fondamenta di Zcash — c’è anche la mente di un italiano, Alessandro Chiesa, nato a Varese nel 1987, e poi trasferitosi negli Stati Uniti per iniziare la sua carriera universitaria. Attualmente è professore presso il dipartimento di Electrical Engineering and Computer Science dell’Università della California, Berkeley.
“Non è che avessi una passione specifica, mi piaceva la scienza in generale.”
L’ho contattato su Skype per parlare un po’ della sua vita, di come ha ideato Zcash, e discutere di privacy ed anonimato — due diritti che sono sempre più sotto attacco sia dalla classe politica che da chi compete nel business della tecnologia e delle informazioni. È stato immediatamente evidente quanto Alessandro fosse appassionato a ciò che fa, e la serietà e la dedizione che ripone nel suo lavoro si rispecchiano anche nel suo linguaggio: puntuale, tecnico, ed asciutto.
La seguente intervista è stata editata per necessità di chiarezza e di lunghezza.
Motherboard: Leggo dalla tua biografia che dopo gli studi presso la Scuola Europea di Varese ti sei iscritto al MIT, cosa ti ha spinto a lasciare l’Italia e per quale motivo hai scelto proprio l’MIT? Lì hai conseguito le tue lauree in matematica e computer science, sei sempre stato interessato al mondo digitale e dei computer?
Alessandro Chiesa: Non è che avessi una passione specifica, mi piaceva la scienza in generale — Facendo una ricerca su internet, ma anche attraverso giornali e programmi televisivi, la scelta è ricaduta sul Massachusetts Institute of Technology (MIT) di Boston. All’età di 14/15 anni mi sono informato sul processo di iscrizione per accedere al MIT, perché prevede vari test. Inoltre, le università americane danno molta importanza anche alle attività extra scolastiche e quindi avevo partecipato anche ad un campo estivo di matematica all’università di Stanford per studiare teoria dei numeri e topologia, per capire se ero veramente interessato in quel campo.
Quando sono arrivato al MIT ho iniziato con matematica pura ma la laurea in computer science era una delle più popolari e con professori giovani e dinamici. Ho frequentato quindi le classi introduttive, mi è piaciuta e l’ho aggiunta come seconda laurea. Da lì in poi sono finito nella parte di theoretical computer science, un’area molto più giovane della matematica pura, con problemi più moderni ed affascinanti.
Ed immagino sia in questa fase che ti sei avvicinato alla crittografia, giusto? Ho visto anche dalla tua bio che aiuti ad organizzare dei Crypto Day nella Bay Area.
Ho frequentato un corso di crittografia disponibile per i dottorandi, a cui ci si può iscrivere se si hanno concluso tutti gli esami della propria laurea. Quel corso era tenuto da Silvio Micali — Il corso mi era piaciuto molto, ma si trattava di un argomento su cui non avevo fatto molta ricerca fino a quel momento. In seguito, a causa di un infortunio, ho dovuto smettere di allenarmi con la squadra di canottaggio del MIT e quindi mi sono ritrovato con molto tempo libero da dedicare all’approfondimento della crittografia.
Per quanto riguarda i Crypto Day, si è trattato di uno step successivo, quando mi sono trasferito a Berkeley. C’è un problema nell’ambito accademico che riguarda diverse conferenze sulla crittografia: sono eventi molto grandi e con molte presentazioni, per questo motivo si fatica ad instaurare intimità con i partecipanti e riuscire quindi a scambiare idee.
Zerocash e le probabilistically checkable proofs
Come è nata e perchè è nata Zcash? Il protocollo Zerocash, che tu hai ideato insieme ad altri, si sviluppa sulle basi del precedente Zerocoin, giusto?
Non lavoravo sulle criptovalute, mi occupavo più di probabilistically checkable proofs (letteralmente, prove probabilisticamente controllabili), ed in particolare ho lavorato molto su succinct zero knowledge proofs: si tratta di dimostrazioni eseguite nel caso di computazioni molto lunghe, in quel caso si vuole dimostrare che la computazione sia stata eseguita con successo ma senza svolgere di nuovo tutti i calcoli. Avevo lavorato sia sulle basi teoriche sia sull’implementazione di tali sistemi, fino ad ottenere dei prototipi funzionanti.
Nell’estate del 2013, mi sembra, ero ad una conferenza sulla crittografia insieme ai miei colleghi e ci siamo incontrati con quelli che avevano ideato il protocollo Zerocoin ed anche loro avevano utilizzato delle zero knowledge proofs, ma molto più antiquate.
Un talk introduttivo a Zcash tenutosi durante l’ultimo Chaos Communication Congress.
Dopo uno scambio di idee, era chiaro che con le nostre tecnologie si sarebbe potuto migliorare nettamente il loro prodotto. Per capirci — In una transazione ci sono tre dati sensibili: il mittente, il destinatario, ed il valore economico della transazione. Zerocoin rendeva anonimo solo il mittente. Con Zerocash riusciamo a rendere anonimi tutti e tre i dati. Abbiamo quindi iniziato a lavorare insieme e a sviluppare un protocollo più sofisticato, ed abbiamo dimostrato che era più pratico ed efficace. A quel punto abbiamo deciso di commercializzarlo.
“Tutte le monete vengono create uguali,” questa affermazione — riportata sul sito di Zcash e apparentemente lapalissiana — in realtà nasconde una problematica importante: la fungibilità delle monete digitali. Zcash risolve un problema dei Bitcoin, giusto?
Quella frase si riferisce esattamente alla fungibilità, che è un problema enorme ed uno dei più discussi negli ultimi workshops e meetings nella comunità di Bitcoin.
Bitcoin è una tecnologia molto affascinante sia per la sua struttura decentralizzata sia per le potenzialità che racchiude. Nonostante ciò, però, non è perfetta: ci sono tanti problemi ed uno di questi è la fungibilità poiché tutte le transazioni sono pubblicamente disponibili lungo la blockchain. Zerocash, al contrario, risolve questo problema perché il pedigree di una moneta (una sorta di linea di discendenza che include lo storico di tutte le transazioni passate ndr) non è noto. Non c’è modo di sapere attraverso quali transazioni una determinata unità di Zerocash sia passata.
La questione della fungibilità potrebbe portare a discriminazioni fra due monete che, in via teorica, dovrebbero essere identiche ed intercambiabili. Ad esempio, se dei Bitcoin sono passati attraverso dei meccanismi di money laundering — il meccanismo che permette di riciclare denaro sporco — potrebbero essere valutati meno rispetto ad altri. Questo non accade con le banconote: non c’è modo di risalire a tutti i proprietari attraverso cui è passata una banconota.
Le ultime fluttuazioni al cambio di Zcash, via Cryptonator
Zcash sfrutta le zero knowledge proofs — un metodo che permette di verificare l’autenticità di una affermazione senza dover necessariamente fornire i dati di tale informazione, che ritengo sia di fondamentale importanza anche in altri settori. Come emerso da un recente paper apparso su Nature, può essere utilizzata anche nell’ispezione delle armi nucleari, permettendo quindi di verificare delle proprietà degli oggetti senza rivelare le proprietà stesse. In quali altri ambiti credi possa essere di grande importanza?
Le zero knowledge proofs sono tecniche affascinanti ed importanti, come confermato ad esempio dal Turing Award del 2012, che è stato consegnato a Silvio Micali e Shafi Goldwasser per l’invenzione, fra le altre cose, delle zero knowledge proofs.
Concettualmente si tratta di metodi interessanti ed innovativi, ma che a livello pratico sono in giro da 30 anni e, per farla breve, non è che sia successo poi così tanto a livello di implementazioni. Si tratta di un problema tipico della crittografia, che spesso è lenta e computazionalmente pesante.
Quando nel mondo reale bisogna scegliere tra un sistema insicuro e veloce ed uno sicuro e lento, di solito si sceglie l’insicuro e veloce. La maggior parte delle volte la sicurezza è un valore intangibile — Finchè non vieni attaccato, però. Aumentare la sicurezza di un sistema significa anche aumentare la sua difficoltà di gestione: è così da sempre, ma da qualche tempo a questa parte l’interesse relativo ai temi della sicurezza è sensibilmente aumentato, indice che qualcosa sta sicuramente cambiando.
Oltre al problema della lentezza, c’è anche il problema legato alla comprensione di queste nozioni crittografiche. Per esempio, riuscire a spiegare all’utente medio un concetto come quello delle firme digitali è più o meno fattibile — Capire le zero knowledge proofs, invece, è una questione più complicata. Sono contento che tramite Bitcoin e Zerocash questi temi stiano ottenendo sempre più visibilità e che anche persone con un background diverso da quello accademico parlino di zero knowledge sui forum ed introducano idee interessanti nella discussione.
Avrai sicuramente sentito della proposta di legge, di cui però ancora manca il testo, avanzata fra gli altri da Stefano Quintarelli, che si prefigge di vietare l’utilizzo di monete digitali completamente anonime. Credi sia una legge attuabile?
Non mi sembra né attuabile né utile: credo che rischi di essere una battaglia fuori fuoco. Nel caso specifico dell’Italia, le persone non fanno gli scontrini con i contanti—Se se si volesse veramente risolvere il problema dell’evasione delle tasse, le cose da fare sarebbe davvero tante prima di intervenire su Zcash.
Come dicevo riguardo la fungibilità, probabilmente sarebbe più comodo per la polizia conoscere il pedigree completo di una determinata banconota — Ma a partire da questa considerazione si generano altri problemi cruciali come la violazione della privacy.
Se non sbaglio, Zcash prevede delle “view key” per ogni utente che possono essere fornite per rivelare il contenuto delle transazioni. Questa chiave potrebbe essere fornita ai governi?
Pur avendo iniziato con un protocollo semplice credo che Zerocash disponga di una delle tecnologie crittografiche più complesse mai messe in moto: le zero knowledge proofs infatti possono essere programmate in molti modi. Il fatto che sia anonimo non vuol dire che io non possa dare informazioni a terze parti o che io non possa dimostrarti di aver pagato le tasse, senza però mostrare quanto ho pagato.
Bisogna discutere e stabilire quali sono le regole più importanti e più critiche, ed a quel punto implementarle nel protocollo. Si potrebbe pensare ad un protocollo per cui se il valore della transazione è di 5€ può rimanere anonima, se invece si tratta di 5.000€ possiamo introdurre un meccanismo che permette ad una terza parte di analizzare lo scambio.
“Pur avendo iniziato con un protocollo semplice credo che Zerocash disponga di una delle tecnologie crittografiche più complesse mai messe in moto.”
Questi accorgimenti sono tecnologicamente fattibili. Bisogna capire quali sono più desiderabili e quali invece più pericolosi per i diritti degli utenti. Serve una discussione approfondita per capire in che direzione andare.
Questa possibilità di fornire una “selective transparency”, una forma di “trasparenza selettiva” apre un altro importante tema, perché si pensa spesso che la discussione sull’anonimato e sulla privacy sia riducibile ad una dicotomia bianco/nero — O completamente trasparente o completamente anonimo. Deve necessariamente essere così?
Innanzitutto ci sono due dimensioni della discussione: chi ha l’accesso alle informazioni e ciò a cui è possibile accedere. Si possono creare quindi diversi sottoinsiemi con diversi gradi di accesso. Con la view key attuale, che è ancora molto rudimentale, si può dare accesso ad un terzo per vedere tutti i dettagli della propria transazione.
Si può successivamente fare un ulteriore passo e renderla più sofisticata, ad esempio rivelare quante tasse sono state pagate ma non specificare precisamente tutte le singole voci. Ci sono molte combinazioni che si possono adottare, ma bisogna capire quali sono necessarie e quali invece dannose.
Zooko Wilcox, il CEO di Zerocoin Electric Coin Company (ZECC), l’azienda che mantiene il protocollo Zerocash, al momento sta effettuando degli incontri con rappresentanti del governo americano per spiegare la tecnologia. C’è bisogno di questo tipo di canali di comunicazione per evitare che si producano leggi completamente sbagliate.
Tim Berners Lee è uno dei supporter più convinti del principio di decentralizzazione dell’infrastruttura internet.
Sulla tua pagina personale ho visto un interessante paper a tema “Decentralized Anonymous Micropayments”. L’opportunità di fornire micropagamenti anonimi potrebbe essere una svolta molto importante per i siti web dei giornali che in questo modo potrebbero fornire l’accesso ai propri contenuti senza dover mostrare pubblicità. Logicamente l’utilizzo di micropagamenti anonimi potrebbe essere fondamentale anche per sostenere giornalisti indipendenti ed attivisti. Cosa pensi del futuro di questo tipo di pagamenti? Al momento mi viene in mente il web browser Brave che implementa una soluzione simile ma utilizzando Bitcoin.
I micropagamenti hanno una lunga storia all’interno del mondo della crittografia: non sono propriamente una novità. Il problema però della loro mancata adozione è difficile da chiarire, forse è in parte legato ai metodi probabilistici utilizzati per implementarli: se ti voglio pagare un cent ti pago un dollaro con probabilità uno su cento. Si chiamano probabilistic payments (pagamenti probabilistici) e permettono di ammortizzare i costi delle singole transazioni.
L’applicazione ai siti web è una delle tante possibili, e viene spesso portata come esempio principale di utilizzo della tecnica. Per capirci: vista la situazione difficile in cui in questo momento si trovano gli organi di informazione, i micropagamenti potrebbero diventare un buon metodo di profitto per questo tipo di piattaforme. Rimane comunque ancora da produrre un prototipo, al momento si tratta solo di un paper, ed il protocollo da implementare è molto più complicato di quello di Zerocash, ma garantisce il completo anonimato.
Ci sono altri metodi per effettuare micropagamenti più efficienti da un punto di vista computazionale, ma che garantiscono meno anonimato.
Bisogna ancora capire da dove arrivi la maggiore richiesta per l’utilizzo di queste tecnologie e capire come questo concetto dei pagamenti probabilistici possa essere accolto dalla gente: in pratica utilizzare questa tecnica di pagamento significa che a volte potresti pagare più di quello che è dovuto ed a volte non pagare per nulla — Resta da capire se la psicologia umana, e il nostro modo di rapportarci a queste tematiche, accetterà questo concetto.
“Il nuovo governo americano non sembra interessato alla politica basata su fatti e dati, ed in generale non apprezza molto la scienza e la ragione.”
La struttura decentralizzata della blockchain, su cui si basano molte delle criptovalute in circolazione, ha portato una ventata di aria fresca nella discussione legata ad internet ed alla sua struttura. Se da un lato i grandi colossi del web stanno agendo in modo da centralizzare il controllo di grossi spicchi della rete fornendo addirittura servizi internet, come Facebook e Google, con i sistemi decentralizzati si potrebbe garantire maggiore resilienza ed affidabilità ed evitare anche la censura, come emerso dal Decentralized Web Summit. Vedi anche tu delle problematicità nell’attuale struttura di internet?
Concordo sul fatto che una struttura decentralizzata sia migliore sia per ragioni politiche che di resilienza della struttura. Non c’è da dimenticare però che l’infrastruttura di internet è anche un’infrastruttura fisica, fatta di linee di fibra ottica e cavi che passano sotto l’oceano, il lato fisico è difficile da cambiare.
Se guardiamo invece il lato digitale ci sono diverse compagnie con idee interessanti: utilizzare la blockchain come una sorta di filesystem distribuito per gestire file oppure distribuire la gestione del Domain Name System (DNS).
E bisogna sempre ricordare che comunque si sta lavorando a protocolli migliori rispetto alla tecnologia blockchain, che in alcuni casi presenta ancora alcuni problemi. Ad esempio, nel caso dei Bitcoin, quando due o tre mining pools si ritrovano insieme c’è il rischio che il loro voto diventi di maggioranza, minando quindi le basi del sistema decentralizzato.
Quali sono i tuoi maggiori timori per i prossimi quattro anni della presidenza di Donald Trump? Temi che ci possano essere tentativi di indebolire la crittografia?
Qui in California, ed in particolare all’interno dell’università, ci sono molti timori, specialmente per quanto riguarda programmi federali che finanziano la ricerca di base — Il nuovo governo americano non sembra interessato alla politica basata su fatti e dati, ed in generale non apprezza molto la scienza e la ragione. Quindi sì, purtroppo può succedere un po’ di tutto nei prossimi quattro anni.
Nonostante ciò, fortunatamente, la crittografia funzionerà sempre perché basata su teoremi matematici, e non penso che il governo riesca a regolarla con successo. Ci avevano già provato negli anni novanta, con le cosiddette Crypto Wars, ma con molto poco successo.