Gli anni Settanta: internet, chiavi pubbliche e un economista visionario

Mentre il dollaro si stacca dall'oro, in un decennio nascono i protocolli di internet, la crittografia a chiave pubblica, l'albero di Merkle e un libro che sembra descrivere Bitcoin trent'anni prima. I primi mattoni di una storia che porterà al 2009. ARGOMENTI (da mettere nel campo «Aggiungi argomenti»: una parola, poi Invio o virgola) bitcoin, crittografia, internet, hayek, storia
Gli anni Settanta: internet, chiavi pubbliche e un economista visionario

Con l’articolo precedente abbiamo chiuso la prima parte del nostro viaggio: la storia della moneta, dal baratto fino agli euro creati dal nulla da banche centrali e banche commerciali.

Da qui cambiamo prospettiva. Torniamo indietro agli anni Settanta, ma questa volta non per parlare di oro e di banche centrali. Parliamo di ricercatori, di matematici e di qualche economista controcorrente, che in quegli stessi anni, senza saperlo, stavano preparando gli attrezzi con cui, decenni dopo, sarebbe stato costruito Bitcoin.

Gli anni Settanta si aprono con un evento che conosciamo bene: nel 1971 Nixon sospende “temporaneamente” la convertibilità del dollaro in oro. Ma è proprio in questo decennio che succedono altre cose, molto meno famose, fondamentali per Bitcoin e, in generale, per tutta l’umanità.

1974: le reti imparano a parlarsi

Alla fine degli anni Sessanta esiste già una rete di computer, ARPANET, finanziata dal Dipartimento della Difesa americano. Il problema è che ogni rete funziona a modo suo e reti diverse non riescono a comunicare tra loro.

Nel maggio del 1974 due ricercatori, Vint Cerf e Bob Kahn, pubblicano uno studio intitolato “A Protocol for Packet Network Intercommunication”. Descrivono un protocollo, cioè un insieme di regole comuni, che permette a reti diverse di scambiarsi dati come se fossero una sola rete.

Qualche anno dopo, nel 1978, quel protocollo viene diviso in due parti che ancora oggi lavorano in coppia: il TCP, che si occupa di far arrivare i dati integri e in ordine, e l’IP, l’Internet Protocol, che si occupa degli indirizzi e di instradare i pacchetti verso la destinazione. Il 1° gennaio 1983 ARPANET adotta ufficialmente il TCP/IP, ed è questa la data che molti considerano la nascita dell’internet moderna.

Oggi tutto quello che facciamo online, dalla mail ai video, passa da qui. E anche Bitcoin, ovviamente, viaggia sopra questi protocolli.

1976: il problema della chiave

Nel novembre del 1976 due ricercatori di Stanford, Whitfield Diffie e Martin Hellman, pubblicano un articolo destinato a cambiare per sempre la crittografia: “New Directions in Cryptography”.

Ma cos’è la crittografia? È lo strumento che ci permette di nascondere un messaggio e di renderlo leggibile solo a chi è in grado di decifrarlo. È antichissima, e uno dei sistemi più famosi è il cifrario di Cesare.

Il cifrario di Cesare usa un sistema a chiave simmetrica, cioè la stessa chiave serve sia per cifrare sia per decifrare il messaggio. Funziona così: si spostano in avanti le lettere dell’alfabeto di un certo numero di posizioni. Se Cesare voleva comunicare a un suo generale “DOMANI ATTACCHIAMO” e aveva deciso di spostare ogni lettera di tre posizioni, la A diventava D, la B diventava E, e così via. Il messaggio cifrato diventava:

GRPDQL DWWDFFKLDPR

Il generale, conoscendo la chiave, cioè il numero tre, spostava le lettere indietro di tre posizioni e ricomponeva il messaggio originale. La stessa chiave, usata in un senso, cifra; usata nell’altro, decifra.

Il problema è evidente, soprattutto con l’arrivo delle reti di computer. Se voglio mandare un messaggio cifrato con una chiave simmetrica, il destinatario deve conoscere la chiave. E allora devo trovare un modo sicuro per fargliela avere. Ma se avessi già un canale sicuro per mandare la chiave, potrei usarlo direttamente per il messaggio. Un bel controsenso.

La soluzione: due chiavi invece di una

L’articolo di Diffie e Hellman propone un’idea rivoluzionaria: la crittografia a chiave asimmetrica, detta anche a chiave pubblica.

Invece di una sola chiave da condividere, ognuno ne ha due, legate tra loro da un rapporto matematico: una chiave privata e una chiave pubblica. La chiave pubblica si ricava da quella privata, ma dalla chiave pubblica è praticamente impossibile risalire a quella privata.

La chiave privata la conservo solo io. La chiave pubblica posso mostrarla a chiunque. Se qualcuno vuole mandarmi un messaggio, lo cifra con la mia chiave pubblica, e solo io potrò decifrarlo con la mia chiave privata. Non c’è più bisogno di scambiarsi segreti in anticipo. Lo stesso articolo introduce anche un metodo, oggi noto come scambio di chiavi Diffie-Hellman, che permette a due persone di accordarsi su un segreto comune parlandosi su un canale pubblico.

Ed è proprio questo meccanismo di chiave privata e chiave pubblica che, trent’anni dopo, diventerà il cuore di ogni wallet Bitcoin.

1978: RSA e i numeri primi

L’idea c’era, ma serviva un modo concreto per realizzarla. Ci pensano tre ricercatori del MIT, Ron Rivest, Adi Shamir e Leonard Adleman, che nel 1977 sviluppano e nel 1978 pubblicano un algoritmo basato sui numeri primi, cioè i numeri maggiori di uno divisibili solo per uno e per se stessi. Dalle loro iniziali nasce il nome: RSA.

Facciamo un esempio semplice così ci capiamo. Se prendiamo due numeri primi e li moltiplichiamo, otteniamo un prodotto. Il contrario, cioè partire dal prodotto e ritrovare i due numeri primi, è molto più difficile.

Con numeri piccoli si fa: se vi do 3 e 7, il prodotto, 21, lo trovate a mente. Se vi do 21 e vi chiedo da quali due primi viene, ci arrivate lo stesso, ma dovete già ragionarci un attimo. Ora provate con 373 e 709. Il prodotto, 264.457, con una calcolatrice si trova in un secondo. Ma se vi do 264.457 e vi chiedo i due numeri primi che lo compongono, a mente è impossibile, e anche con la calcolatrice dovete andare per tentativi.

Ora immaginate numeri con centinaia di cifre: moltiplicarli è facile per un computer, scomporli richiederebbe tempi astronomici. In modo molto semplificato, la coppia di numeri primi fa parte della chiave privata, il loro prodotto fa parte della chiave pubblica.

Una curiosità: si è scoperto molti anni dopo che un matematico dei servizi segreti britannici, Clifford Cocks, era arrivato a un sistema simile già nel 1973. Ma il suo lavoro era coperto da segreto e venne reso pubblico solo nel 1997.

1976-1978: Hayek e la moneta senza Stato

Nello stesso periodo, in un campo completamente diverso, un economista austriaco scrive un libro che oggi suona quasi profetico.

Friedrich von Hayek, esponente della Scuola Austriaca e premio Nobel per l’economia nel 1974, pubblica nel 1976 “Denationalisation of Money”, la denazionalizzazione della moneta, poi ampliato in una seconda edizione nel 1978. La tesi è semplice e radicale: il monopolio dello Stato sul denaro è all’origine di inflazione e crisi. La moneta dovrebbe tornare a essere privata, con valute in concorrenza tra loro, scelte liberamente dalle persone.

Ma c’è un passaggio ancora più sorprendente. In un’intervista del 1984, Hayek dice che non crede che avremo mai di nuovo una buona moneta finché non verrà tolta dalle mani dei governi. E aggiunge che non si potrà farlo con la forza: l’unica strada sarà introdurre, in modo indiretto, qualcosa che i governi non potranno fermare.

Sembra proprio la descrizione di Bitcoin, fatta venticinque anni prima della sua nascita.

1979: l’albero di Merkle

Chiudiamo il decennio con un nome che chi studia Bitcoin incontra prima o poi: Ralph Merkle. Nel 1979 Merkle descrive, e deposita in un brevetto, una struttura che oggi porta il suo nome: il Merkle tree, l’albero di Merkle.

Per capirlo serve un concetto: l’hash. Un hash è come un’impronta digitale di un insieme di dati. Si dà in pasto a una funzione un testo, un file, qualunque cosa, e si ottiene una stringa di lunghezza fissa. Basta cambiare una virgola nei dati di partenza e l’impronta cambia completamente.

L’albero di Merkle funziona così. Si prendono tanti dati, per esempio tante transazioni, e si calcola l’hash di ognuno. Poi si prendono gli hash a coppie e si calcola l’hash di ogni coppia. Poi si ripete con i risultati, e ancora, e ancora, come i rami di un albero che si uniscono verso il tronco, finché non resta un solo hash: la Merkle root, la radice di Merkle.

A cosa serve? La radice riassume tutti i dati: se anche un solo dato viene alterato, la radice cambia. E soprattutto, per dimostrare che un singolo dato fa parte dell’insieme, non serve avere tutto: bastano pochi hash, quelli lungo il percorso che va da quel dato fino alla radice.

In Bitcoin ogni blocco contiene la Merkle root di tutte le sue transazioni. È anche grazie a questo che un wallet leggero può verificare che una transazione è stata inclusa in un blocco senza scaricare l’intera blockchain.

Abbiate pazienza

Internet, chiavi pubbliche, numeri primi, un economista che sogna una moneta fuori dal controllo degli Stati, alberi fatti di hash. Sembrano pezzi di puzzle diversi, ma tutte le innovazioni che vedremo da qui al 2009 sono servite a dare vita al risultato finale. Quando racconteremo come funziona Bitcoin, ritroveremo uno per uno tutti questi argomenti.

Nel prossimo articolo percorreremo gli anni Ottanta: il pensiero libertario si organizza, nascono le firme cieche e, con David Chaum, il primo tentativo concreto di contante digitale.


Write a comment