I Cypherpunk
12 gennaio 2021
Gianmarco
di Gianmarco

Articolo tradotto da "The Cypherpunks" pubblicato il 29 dicembre 2019, su nakamoto.com

Nel 1992, tre informatici della Bay Area lanciarono una nuova mailing list per discutere di crittografia, matematica, politica e filosofia. Chiamavano i membri di questa mailing list cypherpunk: una fusione tra cyberpunk, un genere di fantascienza distopica, e cipher (cifra), un caposaldo della crittografia.

I Cypherpunk scrivono il codice. Sappiamo che qualcuno deve scrivere software per difendere la privacy, e noi lo scriveremo.

— Eric Hughes
The Cypherpunk's Manifesto, 1993

I cypherpunk erano un gruppo eclettico, ma condividevano tutti la stessa certezza: Internet sarebbe presto diventato un importante campo di battaglia per la libertà umana.

Ribelli con uno scopo

All'inizio degli anni '90, il cyberspazio era il dominio di hobbisti e hacker. Ma i cypherpunk credevano che fosse solo questione di tempo prima che Internet diventasse un elemento centrale della società. Una volta che i governi avessero compreso l'importanza di Internet, si sarebbero mossi per cooptare, monitorarlo e censurarlo.

Maggio/giugno 1993 copertina di Wired. Credit: Wired

Molto prima di Facebook, molto prima del Great Firewall cinese, molto prima delle rivelazioni di Snowden, i cypherpunk avevano previsto tutto ciò. Predicevano un regime di censura e sorveglianza online che avrebbe eclissato l'Internet aperta. E secondo i cypherpunk, c'era solo uno strumento che poteva garantire la libertà di Internet: la crittografia.

La crittografia è la matematica dei codici e della crittoanalisi. Prima degli anni Settanta, la crittografia era un campo relativamente arcano, praticato solo dai militari e dalle agenzie di spionaggio. All'epoca, la crittografia forte (più di 40 bit di sicurezza) era considerata una munizione militare e quindi illegale da esportare dagli Stati Uniti.

Ma i cypherpunk credevano che la crittografia fosse fondamentale per una Internet sovrana. Le invenzioni di Diffie-Hellman, RSA e PGP, presagivano un'epoca in cui gli individui potevano avere libertà e privacy nelle loro vite digitali. La crittografia era il modo migliore per strappare il potere dai governi ridandolo ai singoli individui.

Un precoce cypherpunk di nome Adam Back (di cui parleremo ancora in questa serie di articoli) ha fatto della sua firma e-mail l'algoritmo di crittografia RSA, scritto in cinque righe di Perl.
Data l'esistenza di restrizioni sull'esportazione degli algoritmi di cifratura, si trattava di un atto illegale di disobbedienza civile. Ha inoltre incoraggiato altre persone della mailing list a copiarlo in maniera solidale.

Nel corso del tempo, la combinazione delle vittorie legali di persone come Peter Junger, Phil Zimmerman e Daniel Bernstein, lo sviluppo di SSL e HTTPS da parte di aziende come Netscape, la disponibilità pratica di software di crittografia al di fuori degli Stati Uniti e il modo in cui la mancanza di crittografia ostacolava l'e-commerce, portarono al successo dell'idea. I sostenitori di Internet hanno vinto la prima Guerra di Crittografia, poiché i controlli sulle esportazioni di crittografia vennero liberalizzati.

Ma i cypherpunk sapevano che la sola crittografia non sarebbe stata sufficiente a liberare il cyberspazio. Per costruire uno spazio digitale veramente libero, c'era bisogno di un'economia totalmente sovrana. In altre parole, c'era bisogno di una forma di denaro nativa digitale.

Economia Cypherpunk

È importante capire la filosofia economica dei cypherpunk. I cypherpunk erano profondamente sospettosi nei confronti delle banche centrali e del loro controllo sulla politica monetaria dopo la fine di Bretton Woods. Alcuni anni dopo, i loro sospetti risultarono ampiamente giustificati a seguito della crisi finanziaria del 2008, quando le banche centrali crearono enormi quantità di denaro per salvare le banche dal fallimento.

Vale la pena soffermarci brevemente su questo punto. In generale, i governi hanno due modi per finanziare le loro operazioni: il primo è la tassazione, dove un governo trasferisce direttamente il denaro dei cittadini nelle sue casse. Il secondo modo è la stampa di denaro, tradizionalmente noto come signoraggio, anch'esso trasferisce denaro al governo, ma è un po' più difficile da osservare. Quando un governo stampa denaro, il governo ovviamente acquisisce valuta, ma i cittadini spesso scoprono che il valore delle loro disponibilità monetarie si è deprezzato, dato che ora c'è più denaro che insegue lo stesso insieme di beni reali.

La tassazione e il signoraggio sono più o meno equivalenti dal punto di vista economico, ma la tassazione richiede generalmente il consenso dei cittadini, mentre la stampa di denaro può essere fatta unilateralmente. I cypherpunk vedevano quindi la stampa di denaro come una forma di furto nei confronti dei detentori di valuta.

I cypherpunk credevano che una forma di denaro nativa del cyberspazio, sarebbe dovuta essere libera dall'intervento del governo. Dopotutto, Internet stesso era già senza confini e internazionale! Una moneta nativa di Internet dovrebbe mettere tutti, indipendentemente dalla nazionalità, su un piano di parità. Legare l'economia digitale a una singola moneta fiat la sottometterebbe ai capricci della banca centrale di un singolo Paese.

Inoltre, un tale sistema non dovrebbe avere un soggetto centrale in grado di sorvegliarlo. Altrimenti quella parte centrale sarebbe tentata di censurare il sistema o di manipolare la moneta. Dopo aver assistito alle numerose crisi finanziarie e alle iperinflazioni del 20esimo secolo, i cypherpunk credevano che il sistema economico più solido fosse quello che nessuno poteva manipolare.

Così, il cyberspazio non poteva essere veramente libero finché non aveva una propria forma di denaro. Su questo tutti erano d'accordo. Ma la creazione del denaro digitale aveva un problema tecnico che nessuno era ancora riuscito a risolvere: il problema della doppia spesa.

Il problema della doppia spesa

Il problema della doppia spesa è facile da capire in linea di principio. Immaginate che io abbia una banconota da 10 dollari digitale. Se quella banconota da 10 dollari è interamente digitale, allora sono solo un mucchio di bit sul mio hard disk. Cosa mi impedisce di copiare e incollare quei bit, così da avere due banconote da 10 dollari? E se pago due persone con le copie di quella banconota da 10 dollari, come potrebbero sapere qual è quella "vera"?

Fondamentalmente, il problema della doppia spesa può essere concepito come un problema di contraffazione. Ma il concetto di contraffazione ha senso solo quando si tratta di una banconota fisica. Nel mondo digitale, una banconota è fatta di sole informazioni. La "vera banconota" è solo una sequenza di byte.

Come si risolve questo problema con i sistemi di pagamento digitali come PayPal? Semplice: I server di PayPal applicano dei sistemi "anti-contraffazione". PayPal ha un unico database che gestisce i suoi byte. Come utente, non puoi avere accesso diretto ad esso. Questo protegge il sistema dalla doppia spesa, ma a scapito del controllo completo del sistema monetario da parte di PayPal. I discendenti intellettuali di PayPal rappresentano oggi l'intera industria fintech, compresi Square (fondata nel 2009) e Stripe (fondata nel 2011), tutti basati su un database centralizzato proprietario.

Ma se si potesse risolvere il problema della doppia spesa senza affidarsi a una terza parte fidata, si potrebbe potenzialmente creare una valuta digitale nativa di Internet.

Era possibile? Nessuno ne era certo. Così i cypherpunk si sono messi al lavoro.

eCash di Chaum

David Chaum è considerato da molti il padre del movimento cypherpunk. Prolifico ricercatore accademico, Chaum ha creato da solo il campo della ricerca sulle comunicazioni anonime e ha inventato molti protocolli crittografici, tra cui group signatures, mix networks e blind signatures (firme cieche).

Credit: David Chaum

Nel 1990, David Chaum ha guidato il primo serio tentativo di creare denaro digitale privato: DigiCash. DigiCash usava un nuovo metodo crittografico per garantire la privacy dell'utente e risolvere il problema della doppia spesa. L'algoritmo sottostante era noto come eCash, pubblicato per la prima volta nel 1982 e successivamente migliorato da altri crittografi.

Quella che segue è una descrizione semplificata dell'algoritmo eCash:

  1. In primo luogo, le monete sono emesse da una banca. Ogni moneta ha un taglio specifico e un numero di serie, che vengono assegnati crittograficamente dalla banca. 
  2. Quando un commerciante riceve una moneta da un utente, il commerciante la ritrasmette alla banca emittente.
  3. La banca verifica se la firma sul taglio e sul numero di serie è valida e se la moneta è stata spesa in precedenza. Se questi controlli vanno a buon fine, la banca garantisce che tutte le monete spese sono reali e che non sono state spese in precedenza. Il commerciante viene quindi pagato per l'intero valore delle monete.

In apparenza, questa configurazione risolve il problema della doppia spesa, ma sembra abbastanza centralizzata data la presenza della banca. E come si ottiene la privacy? Beh, c'è un po' di "magia" crittografica in più per questo.

Diciamo che un utente, Alice, deposita 5 dollari nella sua banca. Alice chiede quindi alla sua banca di emettere una banconota da 5 dollari in eCash. Effettuando la richiesta, Alice genera un numero di serie casuale per la nuova banconota, più un "fattore di accecamento" (blind factor) casuale. Questo "fattore di accecamento" sarà utilizzato per nascondere il numero di serie che le appartiene. La banca firma crittograficamente la moneta con il numero_di_serie * fattore_di_accecamento, utilizzando la cosiddetta firma cieca (blind signature).

Il funzionamento della firma cieca (blind signature) permette ad Alice di rimuovere il fattore di accecamento, pur mantenendo una firma valida sulla moneta. In altre parole, chi emette eCash (la banca) non può tracciare le monete accecate che ha firmato. Tutto ciò che può vedere sono i numeri di serie casuali, non accecati, che verifica per i commercianti. E tutto ciò che l'emittente è in grado di tracciare sono il numero totale di monete per ogni taglio e se particolari numeri di serie sono già stati spesi.

Uno schema del protocollo eCash di Chaum

L' eCash di Chaum è stato un grande balzo in avanti nelle valute digitali. Ma nel 1998, la società fondata su eCash (DigiCash) è fallita. Alla fine ha perso l'adozione da parte degli utenti a favore delle carte di credito e i sistemi di pagamento meno privati come PayPal. E naturalmente, quando l'azienda è stata liquidata, il suo intero ecosistema finanziario è evaporato.

I cypherpunks hanno visto questo fallimento e si sono resi conto che l'eCash di Chaum aveva un altro punto debole che era stato sottovalutato: si basava su un'unica azienda. Se il contante digitale doveva prosperare, sarebbe dovuto crescere al di là della dipendenza da qualsiasi parte centrale. Doveva diventare decentralizzato.

Altri tentativi

DigiCash non è stato l'unico tentativo di creazione di una moneta digitale. I cypherpunk hanno lanciato molti esperimenti, tra cui Mojo Nation, un sistema di pagamenti per incentivare la condivisione di file, e Hashcash, uno schema di "pagamenti" per mitigare lo spam via e-mail. (Daremo un'occhiata a Hashcash e lo implementeremo noi stessi nell'articolo sulla crittografia).

Ma i cypherpunk non sono stati gli unici a cercare di creare valute digitali. Fondata nel 1996, e-gold è stata una delle prime aziende dotcom a creare una valuta digitale, due anni prima di PayPal.

Schermata di pagamento e-gold. Credit: netpennystocks.com

E-gold ha emesso una valuta digitale sostenuta da riserve auree che chiunque poteva detenere e trasferire. Al suo apice, l'e-gold elaborava più di 2 miliardi di dollari in trasferimenti all'anno. Era immensamente popolare, ma poiché aveva poche restrizioni di sottoscrizione, la valuta era ampiamente utilizzata da hacker, truffatori e criminali informatici organizzati.

Il governo degli Stati Uniti ne prese atto. Dopo un lungo processo, un tribunale ha dichiarato e-gold colpevole di riciclaggio di denaro sporco e di violazioni retroattive delle leggi sul trasferimento di denaro. Il fondatore è stato giudicato penalmente responsabile e nel 2008 tutti i saldi di e-gold sono stati congelati. Nei cinque anni successivi, il governo statunitense dovette gestire i rimborsi di tutti i titolari di conti e-gold.

Ai cypherpunk, l'e-gold ha dimostrato un'altra importante lezione: le autorità di regolamentazione non volevano che esistesse il contante digitale.

Il problema delle garanzie collaterali

Quindi l'e-gold era garantito con l'oro, DigiCash era garantito con dollari USA. Ma entrambi, alla fine, rientravano nella sfera di competenza dello Stato. Se volevi creare una valuta che fosse al di fuori del controllo statale, sembrava che ogni forma di garanzia fosse accompagnata da una strozzatura di centralizzazione.

Quindi forse, pensavano i cypherpunk, avrebbero dovuto evitare del tutto le garanzie.

Era possibile creare una forma di denaro senza garanzie collaterali? Il dollaro americano è riuscito a farcela dopo Bretton Woods e si è lasciato alle spalle il gold standard.

Ma se si disponeva di una forma di denaro non collaterale, in qualche modo bisognava anche far rispettare la scarsità. Ogni forma di denaro in passato, che si tratti di conchiglie, oro o dollari USA, aveva un metodo per garantire che la massa monetaria non inflazionasse senza controllo.

I cypherpunk hanno esplorato diversi schemi per le valute digitali non collateralizzate. Due degli schemi più importanti sono stati b-money, descritto da Wei Dai nel 1998, e BitGold, descritto da Nick Szabo nel 2005. Entrambi gli schemi sono stati progettati da importanti cypherpunk ed erano sorprendentemente simili a Bitcoin, ma ad entrambi mancavano degli ingredienti chiave. Sappiamo che Satoshi era a conoscenza del b-money e lo ha citato nel suo whitepaper, e in seguito ha aggiunto un riconoscimento a BitGold sul sito Bitcoin. Vale la pena soffermarci brevemente sulle loro somiglianze e differenze con Bitcoin, per avere un'idea della discendenza di quest'ultimo.

BitGold e b-money

  • B-money e BitGold, come Bitcoin, utilizzano la crittografia a chiave pubblica per l'identità.
  • Sia b-money che BitGold utilizzano la proof-of-work per coniare nuove monete. Bitcoin usa la proof-of-work anche per aggiornare la Blockchain e aggiungere transazioni.
  • B-money e BitGold utilizzano entrambi server di fiducia per ordinare le transazioni. Bitcoin implementa un server di timestamping decentralizzato attraverso la "regola della catena più lunga", come vedremo più avanti.
  • B-Money e BitGold raggiungevano il consenso contando il totale dei nodi della rete e lasciando che i nodi votassero. Bitcoin raggiunge il consenso contando il lavoro totale svolto nella rete.

B-Money e BitGold erano quindi entrambi vulnerabili all'attacco di Sybil. Un attacco di Sybil è quando un utente malintenzionato crea, senza difficoltà, molte nuove "sybil" o identità, ad esempio tramite una botnet. Se il sistema ha una regola di voto a maggioranza semplice, un attaccante disonesto può facilmente sopraffare il sistema e determinare l'esito di una votazione. Qualsiasi moneta robusta e decentralizzata deve essere resistente agli attacchi di Sybil.

In fin dei conti, b-money e BitGold sono stati descritti in semplici post di blog, ed erano quindi relativamente poco dettagliati. Entrambi avrebbero richiesto modifiche significative per diventare protocolli funzionanti e nessuno dei due aveva un codice funzionante. In quanto tali, venivano perlopiù discussi nell'ambito delle proposte teoriche. Ma questi due progetti alla fine influenzarono la moneta digitale che avrebbe visto la luce del giorno - Bitcoin.

In definitiva sono stati i cypherpunk a gettare le basi per la creazione di qualcosa come Bitcoin. Nella prossima sezione e nell'ultimo capitolo sulla storia del Bitcoin, vedremo come il Bitcoin è stato annunciato al mondo, come è stato accolto e cosa sappiamo del suo misterioso creatore cypherpunk, Satoshi Nakamoto.

Letture aggiuntive