Bitcoin è un’idea

Il 31 ottobre 2008, la traiettoria della nostra società globale è stata cambiata per sempre. È stata fatta una svolta, e un’idea inarrestabile è stata liberata in tutto il mondo. Un’idea così profonda, così oltraggiosa, che è stata ignorata da quasi tutti per i primi due anni — ed è ancora ignorata dai più: Bitcoin: un sistema di denaro elettronico peer-to-peer.

Il whitepaper rilasciato da Satoshi Nakamoto in quella notte di Halloween descrive un’idea che inevitabilmente conquisterà il mondo. Mentre la maggior parte delle persone pensa ancora a Bitcoin come a nient’altro che uno schema per arricchirsi — mancando completamente il profondo cambiamento che continuerà ad avere sulla società — ogni giorno è sempre più ovvio che non scomparirà.

“Le idee, a differenza delle strutture solide, non periscono”, ci ricorda Alan Moore. “Rimangono immortali, immateriali e ovunque, come tutte le cose divine”.

In quella fatidica notte del 2008, Satoshi ha fatto uscire il genio dalla bottiglia. Siamo passati da un mondo in cui il denaro digitale era solo un’idea a un mondo in cui esiste Bitcoin. Non solo l’idea è qui per rimanere, ma con ogni blocco che passa, Bitcoin ci ricorda che questa idea è ora una realtà. Come vedremo, questa nuova realtà è più potente di quanto si possa pensare all’inizio. È potente perché inaugurerà un nuovo paradigma economico. È potente perché i tempi sono maturi per questo. È potente perché non può essere fermata. Come ci ricorda Victor Hugo: niente è così potente come un’idea il cui tempo è arrivato. Bitcoin è qui per restare; e il tempo di Bitcoin è ora.

Un’idea il cui tempo è giunto

Contrariamente alla credenza popolare, Bitcoin non è venuto fuori dal nulla. L’idea del denaro digitale ha una lunga e ricca storia. In particolare, un gruppo di persone conosciuto come i cypherpunks hanno scritto a lungo sul denaro digitale anonimo, su come tali sistemi potrebbero essere realizzati e sulle implicazioni sociali della crittografia forte in generale. Da qui il nome: cypherpunks.(1)

Dopo aver formato il gruppo nel 1992, Eric Hughes, Timothy C. May e John Gilmore hanno creato la mailing list cypherpunk per discutere e condividere le loro idee sulla crittografia, i remailer, l’anonimato, il denaro digitale e “altre cose interessanti” con un gruppo più ampio di persone. Molti anni dopo, un cypherpunk di nome Satoshi Nakamoto scelse di pubblicare il whitepaper di Bitcoin su una mailing list simile: la mailing list di crittografia.

Come è evidente studiando i loro scritti, i cypherpunk tenevano molto all’idea del denaro digitale. Nel 1993, Eric Hughes discusse l’idea sul denaro digitale, la sua relazione con la privacy e la sua importanza per una società libera nel Manifesto dei Cypherpunk: “Poiché desideriamo la privacy, dobbiamo assicurarci che ogni parte di una transazione abbia conoscenza solo di ciò che è direttamente necessario per quella transazione. Poiché qualsiasi informazione può essere diffusa, dobbiamo assicurarci di rivelare il meno possibile. Nella maggior parte dei casi l’identità personale non è rilevante. Quando acquisto una rivista in un negozio e passo i soldi al commesso, non c’è bisogno di sapere chi sono”.

L’idea del contante digitale (o contante elettronico, come Satoshi ha scelto di chiamarlo nel whitepaper di Bitcoin) è di avere qualcosa nel regno digitale che si comporta come il contante nel mondo reale. Nessuna identità o registrazione richiesta, direttamente scambiabile con beni e servizi, e virtualmente irrintracciabile.

Persino la IANA(2), un’organizzazione di standard responsabile della definizione dei codici di stato HTTP (tra le altre cose), riconosce l’idea del denaro digitale. Tutti conosciamo il famigerato codice di errore 404, che indica che una risorsa non può essere trovata. Pochi sanno che esiste anche un codice di errore 402, che indica che la risorsa non è accessibile perché richiede un pagamento. Tuttavia, dal momento che il denaro digitale non esisteva all’epoca, il codice di stato è stato “riservato per un uso futuro” e non è ampiamente utilizzato ad oggi.

I cypherpunk si sono concentrati principalmente sull’aspetto della privacy del denaro digitale. Gli aspetti monetari ed economici erano secondari. Hanno capito che la privacy è assolutamente fondamentale per una società libera e aperta. Dopo tutto, l’opposto — sorveglianza completa — può solo portare all’oppressione e alla stagnazione, poiché non sarà permesso alle idee nuove e controverse di fiorire. Non importa quali libertà pensi di avere, alla fine la sorveglianza rende tutte le altre libertà inutili.

“Pertanto, la privacy in una società aperta richiede sistemi di transazioni anonime. Fino ad ora, il contante è stato il sistema principale. Un sistema di transazioni anonime non è un sistema di transazioni segrete. Un sistema anonimo permette agli individui di rivelare la loro identità quando vogliono e solo quando lo desiderano; questa è l’essenza della privacy.”

Eric Hughes, A Cypherpunk’s Manifesto

Mentre Bitcoin è una rivoluzione in vari modi, tutte le parti tecniche che lo fanno funzionare esistevano già:

· Crittografia a chiave pubblica

· Reti Peer-to-Peer

· Firme digitali

· Funzioni di hash crittografiche

· Timbri temporali crittografici

· Catene di hash

· Proof-of-work

Satoshi non ha inventato nessun nuovo algoritmo intelligente o primitivo crittografico. Invece, ha trovato un modo per combinare le tecnologie esistenti in un modo ingegnoso, usando gli incentivi economici e la teoria dei giochi per avviare e rendere sicuro il sistema.

I cypherpunk erano ben consapevoli che anche se la tecnologia di base esistesse in teoria, alcune cose avevano semplicemente bisogno di tempo per svilupparsi. Nel 1992, Timothy May scrisse in The Crypto Anarchist Manifesto: “La tecnologia per questo […] esiste in teoria da un decennio. […] Ma solo recentemente le reti di computer e i personal computer hanno raggiunto una velocità sufficiente per rendere le idee praticamente realizzabili. E i prossimi dieci anni porteranno abbastanza velocità in più da rendere le idee economicamente fattibili ed essenzialmente inarrestabili. “(3)

Mentre credo che Bitcoin (la rete) sia già essenzialmente inarrestabile, l’idea di Bitcoin è veramente inarrestabile. Dopo tutto, come Alan Moore ha detto in modo succinto, le idee sono a prova di proiettile.

Nel primo decennio della sua esistenza, Bitcoin è passato da idea a implementazione a proof-of-concept a bene monetario di nicchia. Nel prossimo decennio, probabilmente diventerà una forza a sé stante, trascendendo i confini e trasformando la nostra comprensione del denaro e del valore nel processo. L’idea, tuttavia, non è stata concepita alla nascita di Bitcoin: è stata concepita da pensatori e tecnici dell’era informatica, molti decenni prima che Satoshi Nakamoto entrasse in scena.

Storia del denaro digitale

La preistoria di Bitcoin è tanto lunga quanto affascinante. Satoshi è stato in grado di costruire su varie tecnologie e protocolli, alcuni dei quali risalgono a più di 50 anni fa. Mentre 50 anni potrebbero essere un periodo lungo nella tecnologia, l’arte della crittografia è molto più antica, risalendo fino al 1900 a.C.

È difficile dire quali siano stati i mattoni più importanti, ma i più importanti sono probabilmente la firma digitale(4) (Diffie e Hellman, 1976) e la crittografia a chiave pubblica(5) (Rivest, Shamir, Adleman, 1978). Senza queste idee, Bitcoin non potrebbe esistere.

Il valore aggiunto di Satoshi era nell’aggregazione, distillazione e combinazione di tecnologie.

Diversi sistemi di denaro digitale sono stati sviluppati prima di Bitcoin. Tutti hanno fallito alla fine, e tutti per ragioni simili. I seguenti sono particolarmente interessanti nel contesto di Bitcoin:

· Ecash di David Chaum (1982)

· E-gold di Douglas Jackson e Barry Downey (1996)

· hashcash di Adam Back (1997)

· bit gold di Nick Szabo (1998)

· b-money di Wei Dai (1998)

· RPOW — Reusable Proofs of Work di Hal Finney (2004)

Diamo un’occhiata più da vicino a questi sistemi, vediamo cosa hanno portato sul tavolo, ed esploriamo perché hanno fallito.

Ecash (David Chaum, 1982)

Ecash utilizzava le firme digitali per dimostrare la proprietà, un’idea che è ancora usata in Bitcoin oggi. Proposto da David Chaum nel 1982, è stato poi implementato dalla sua azienda ed è stato operativo per tre anni prima che la società fallisse nel 1998. Chaum è ancora attivo come crittografo. È stato il pioniere di molte tecniche crittografiche e ha spinto in avanti lo sviluppo di tecnologie che preservano la privacy. Una delle tecniche di transazione che migliorano la privacy in Bitcoin, la Chaumian CoinJoin, è chiamata così in suo onore. Mentre Ecash era crittograficamente e tecnologicamente interessante, non era un’innovazione monetaria e alla fine fallì perché era gestito da un’entità centralizzata: DigiCash Inc, la società fondata da Chaum.

E-gold (Douglas Jackson e Barry Downey, 1996)

E-gold non era particolarmente innovativo dal punto di vista crittografico, ma è stata una delle prime valute digitali che ha guadagnato consensi. Anche se altre esistevano prima di essa (OS-Gold, Standard Reserve, INTGold), e-gold è considerata la prima valuta digitale di successo che è diventata abbastanza popolare da avere una certa adozione da parte dei commercianti. Al suo apice, e-gold aveva cinque milioni di utenti e processava trasferimenti di valore nell’ordine di 2 miliardi di dollari. Oltre ai token di e-gold sostenuti dall’oro, si potevano acquistare altri metalli preziosi elettronici: e-silver, e-platino ed e-palladio. La scomparsa dell’e-cash, ancora una volta, fu dovuto al fatto che si trattava di un servizio centralizzato, gestito da una società: Gold & Silver Reserve Inc. Il governo degli Stati Uniti intentò una causa sostenendo che l’azienda stava gestendo un’attività di trasmissione di denaro senza licenza. Alla fine, il progetto e-gold fallì perché era gestito da una società che poteva essere chiusa.

Hashcash (Adam Back, 1997)

Originariamente proposto nel 1997, e più formalmente pubblicato come Hashcash — A Denial of Service Counter-Measure nel 2002, Hashcash è una delle idee essenziali che hanno reso possibile Bitcoin. Mentre altri ricercatori hanno avuto l’idea del Pricing via Processing(6) prima di Adam Back (Dwork e Naor, 1992), il suo documento è stato citato da Satoshi nel whitepaper di Bitcoin e ha portato a quello che oggi è noto come Proof-of-Work di Bitcoin. Per quanto ne so, il termine Proof-of-Work è stato introdotto per la prima volta nel documento di Hashcash. (7)

Hal Finney, una delle leggende della prima ora di Bitcoin, descrisse splendidamente e succintamente l’Hashcash come segue: “Hashcash è una stringa di testo in un formato particolare che ha una proprietà speciale: quando viene eseguito attraverso l’algoritmo SHA-1 il risultato ha i primi N dei suoi bit iniziali uguali a zero, dove N è tipicamente intorno a 20–30. La terminologia usata per l’Hashcash descrive il numero di bit zero iniziali come la dimensione della sua ‘collisione’. A causa delle proprietà di SHA-1, l’unico modo per trovare una stringa con una grande dimensione di collisione è la ricerca esaustiva: provare una variazione dopo l’altra, finché non si ha successo.” (8)

Per esempio, l’hash SHA1 della stringa hashcash

(9) produce una stringa con cinque zeri iniziali:

La quantità iniziale di zeri in una stringa hashcash indica il valore della stringa hashcash. Poiché non c’è altro modo se non la forza bruta, il numero di zeri è direttamente correlato al costo di produzione, che, nel regno digitale, è il costo di calcolo.

In sostanza, l’hashcash utilizza il concetto dei cicli di calcolo che costano tempo e risorse del mondo reale. Back ha proposto che introdurre l’equivalente elettronico di un francobollo tramite hashcash potrebbe essere il suo principale caso d’uso. Mentre la lotta contro lo spam e-mail sembrava essere in cima alla sua mente, ha anche proposto che potrebbe essere utilizzato come denaro digitale, arrivando a delineare un percorso di migrazione che potrebbe portare alla sua integrazione in Ecash di Chaum. Mentre l’algoritmo Proof-of-Work di Bitcoin differisce leggermente da quello di Hashcash (usando doppio-SHA256 invece di SHA1, per esempio) — l’idea rimane la stessa: il calcolo di un hash non può essere fatto senza cambiare i bit, che a sua volta non può essere fatto senza spendere tempo ed energia. Hashcash sfrutta la proprietà peculiare del nostro universo che qualsiasi computazione, cioè qualsiasi cambiamento di un sistema, richiede energia. In altre parole: non si può ingannare la fisica. La computazione non sarà mai gratuita.

Il trucco di Hashcash è stato nel trovare e descrivere funzioni computazionali in cui il calcolo è costoso ma la verifica è economica. Si può pensare agli enigmi di Hashcash come alla risoluzione di Sudoku o Cubi di Rubik: difficili da risolvere, facili da verificare. Mentre varie implementazioni di Hashcash sono state usate per prevenire lo spam, il concetto non è stato ampiamente applicato alle valute prima che Satoshi lo usasse in Bitcoin.

Bit gold (Nick Szabo, 1998)

Basandosi sul lavoro di Adam Back e Hal Finney, il “bit gold” può essere descritto come un diretto predecessore del “bit coin”.(10) Sebbene il sistema non sia mai stato implementato, il modo in cui Szabo ha immaginato che potesse funzionare in teoria è notevolmente vicino al modo in cui Bitcoin funziona nella realtà.

Lo scopo di bit gold, come implica il nome, era quello di creare un bene monetario digitale indipendente da qualsiasi autorità centrale, che a sua volta può essere usato come riserva di valore — proprio come l’oro nel mondo fisico. Szabo scrive: “L’obiettivo, che ho sostenuto con forza, era quello di creare una riserva di valore a lungo termine indipendente da qualsiasi autorità centrale, ma molto più sicura dell’oro tradizionale”. (11)

Un punto che Szabo sottolinea ripetutamente è che l’oro fisico ha vari problemi ed è abbastanza insicuro se paragonato a soluzioni radicate nella crittografia. Il deposito, per esempio, è sicuro quanto le porte e i muri che lo proteggono. E alla fine, qualcuno può sempre entrare e prenderlo. Lo stesso vale per il trasporto. Non puoi inviarlo in modo sicuro senza uno sforzo straordinario — e non importa il tuo sforzo, qualcuno potrebbe sempre intercettarlo. Anche la convalida è problematica, come testimonia l’abbondanza di lingotti d’”oro” fatti prevalentemente di piombo o tungsteno. Con il tempo, queste insufficienze dell’oro portano inevitabilmente alla centralizzazione in caveau e banche, che porta con sé una serie di problemi.

Lo scopo previsto del bit gold non è l’unica cosa che sarà familiare ai bitcoiners di oggi. Anche il modo in cui il sistema dovrebbe funzionare sarà famigliare. Certo, ci sono alcune differenze cruciali, ma l’idea di base è molto simile.

I sette passi successivi sono presi direttamente dal documento bit gold e delineano come il sistema dovrebbe funzionare:

1. Viene creata una stringa pubblica di bit, la “stringa di sfida” (vedi passo 5).

2. Alice sul suo computer genera la stringa della prova di lavoro dai bit della sfida usando una funzione di riferimento.

3. La prova di lavoro è timbrata in modo sicuro. Questo dovrebbe funzionare in modo distribuito, con diversi servizi di timestamp in modo che nessun particolare servizio di timestamp debba essere considerato affidabile.

4. Alice aggiunge la stringa di sfida e la stringa timbrata della prova di lavoro ad un registro distribuito dei titoli di proprietà per bit gold. Anche qui, nessun singolo server è sostanzialmente affidabile per far funzionare correttamente il registro.

5. L’ultima stringa creata di bit gold fornisce i bit di sfida per la prossima stringa generata.

6. Per verificare che Alice sia la proprietaria di una particolare stringa di bit gold, Bob controlla la catena di titoli non falsificabili nel registro dei titoli di bit gold.

7. Per verificare il valore di una stringa di bit gold, Bob controlla e verifica i bit di sfida, la stringa della prova di lavoro e il timestamp.

Ci sono due differenze cruciali tra l’approccio di Szabo e Bitcoin. La prima è che bit gold richiede due registri separati: uno per registrare i timestamp (per notare quando il bit gold è stato creato), e uno per registrare i titoli di proprietà (per vedere chi possiede il bit gold). Il secondo è che si suppone che bit gold si basi su funzioni di benchmark (al contrario delle funzioni a senso unico) per generare una prova di lavoro. Le funzioni benchmark sono funzioni proposte da Szabo che sono stabili dal punto di vista computazionale, cioè un insieme di funzioni che mantengono un grado di difficoltà simile tra tutti i minatori. Si è impegnato molto nella definizione e nell’esplorazione di queste funzioni, cercando di formulare prove matematiche che ogni calcolo richiederà almeno una certa quantità di tempo indipendentemente dall’architettura del computer utilizzato.(13) Tuttavia, poiché i computer diventano sempre più veloci, ha osservato che trovare una tale funzione sarà difficile: “Rimane un potenziale grande problema: […] Al mondo manca un problema crittograficamente stabile”.

La mancanza di una funzione di riferimento stabile porta a una moltitudine di problemi: le vecchie “monete” create dagli utenti avrebbero un costo diverso da quelle più recenti, poiché i computer diventano più veloci con il progredire della tecnologia. Così, due diverse monete — o stringhe di bit gold, come le ha chiamate Szabo — non avrebbero lo stesso valore. Se la legge di Moore è un’indicazione, una moneta che è due anni più vecchia di un’altra potrebbe essere considerata due volte più preziosa perché il raddoppio della potenza di elaborazione ha reso il conio di quella più recente due volte più facile. Un altro problema è che — se bit gold diventasse abbastanza prezioso — le scoperte computazionali potrebbero essere tenute segrete da coloro che le hanno fatte, così da poter accumulare stringhe valide di bit gold e venderle sul mercato ad un sovrapprezzo. Questo aggraverebbe il problema dell’inflazione, che è un altro problema che Szabo ha identificato ma non risolto.

Inoltre, Szabo ha identificato correttamente i problemi degli approcci precedenti come Hashcash e MicroMint(14): (1) il loro valore dipendeva da un’autorità centrale, (2) le funzioni hash che usano sono crittograficamente vulnerabili, cioè mancano di stabilità crittografica. Come descritto sopra, il secondo problema è ancora presente nel bit gold.

b-money (Wei Dai, 1998)

Come il bit gold di Szabo, il b-money di Wei Dai non fu mai implementato. Rimase una proposta teorica di come un protocollo monetario potrebbe funzionare. Mentre Bitcoin è un’implementazione funzionante della visione che b-money delinea, sembra che Satoshi non fosse a conoscenza di b-money mentre elaborava il progetto di base di Bitcoin. Come ha scritto Wei Dai in una risposta ad un articolo di LessWrong: “la mia comprensione è che il creatore di Bitcoin […] non ha nemmeno letto il mio articolo prima di reinventare l’idea da solo. Ne è venuto a conoscenza dopo e mi ha accreditato nel suo articolo. Quindi il mio legame con il progetto è abbastanza limitato”. Nel 2013, Adam Back ha commentato questo, menzionando che ha introdotto Satoshi al b-money di Wei Dai dopo che Satoshi lo ha contattato.

Nella sua proposta, Dai è molto schietto riguardo alla motivazione del suo sistema. Citando le idee di Tim May sulla cripto-anarchia, scrive che “in una cripto-anarchia il governo non è eliminato in maniera temporanea ma interdetto in modo permanente e superfluo in modo permanente. È una comunità dove la minaccia della violenza è impotente perché la violenza è impossibile, e la violenza è impossibile perché i suoi partecipanti non possono essere collegati ai loro veri nomi o luoghi fisici”.

Dai continua a descrivere un sistema in cui ogni partecipante mantiene un database separato su quanto denaro appartiene a ciascun utente. Gli utenti sono identificati da pseudonimi (chiavi pubbliche), le unità monetarie sono create in relazione allo sforzo computazionale, il denaro viene trasferito firmando messaggi, e i contratti sono eseguiti dal protocollo automaticamente. Descrive — nello spirito, ma non nei dettagli — come funziona Bitcoin oggi.

Egli delinea cinque cose che sono necessarie per il funzionamento di un tale sistema:

1. La creazione di denaro

2. Il trasferimento di denaro

3. L’esecuzione di contratti

4. La conclusione di contratti

5. Il rispetto dei contratti

Mentre il b-money risolve molti dei problemi che sono inerenti alla moneta elettronica, il problema descritto da Szabo nel bit gold rimane. Dai lo menziona nella sua proposta come segue: “Una delle parti più problematiche nel protocollo b-money è la creazione di denaro. Questa parte del protocollo richiede che tutti i detentori di conti decidano e si accordino sul costo di particolari calcoli. Sfortunatamente, poiché la tecnologia informatica tende a progredire rapidamente e non sempre pubblicamente, queste informazioni possono essere non disponibili, inaccurate o obsolete, il che causerebbe seri problemi al protocollo.”

Dai propone una soluzione a questo problema descrivendo un sottoprotocollo che è il solo responsabile della creazione di denaro. I partecipanti si accordano periodicamente su quanto denaro dovrebbe essere creato, lavorando collettivamente insieme in un ciclo guidato dal mercato che consiste di quattro fasi: pianificazione, offerta, calcolo e creazione. Poiché il b-money non è mai stato implementato nella forma proposta da Dai, non è chiaro se questo elaborato schema di creazione di denaro avrebbe funzionato come previsto.

RPOW — Reusable Proofs of Work (Hal Finney, 2004)

Come suggerisce il nome, Hal Finney ha trovato un modo per rendere riutilizzabili i token Proof-of-Work dell’Hashcash di Adam Back.

Ecco come funziona, parafrasando l’annuncio originale di Hal Finney stesso: Il sistema riceve hashcash come token proof-of-work (POW), e in cambio crea token firmati RSA che sono chiamati token proof-of-work riutilizzabili (RPOW). Gli RPOW possono essere trasferiti da persona a persona e scambiati con nuovi RPOW ad ogni passaggio. Ogni token RPOW può essere usato solo una volta, ma dato che dà vita ad uno nuovo, è come se lo stesso token potesse essere passato da persona a persona.

La proprietà in RPOW è trasferita tramite server minimizzati per la fiducia.

In sostanza, un utente può creare token RPOW tramite il software client RPOW, che prende una stringa proof-of-work generata dal software Hashcash inventato da Adam Back. Questa stringa è firmata dalla chiave privata dell’utente e successivamente registrata da un server RPOW, registrando che questo token appartiene alla chiave pubblica dell’utente. L’utente può poi passare quel token a qualcun altro firmando un “ordine di trasferimento” alla chiave pubblica di un altro utente. Il server registra quindi debitamente il token come appartenente alla chiave privata corrispondente.

Come risulta evidente dallo studio dei suoi articoli, Hal Finney si è ispirato al lavoro di Nick Szabo, in particolare alle sue idee sul “bit gold” e sui collezionabili digitali. Discutendo le possibili applicazioni di RPOW, Hal scrive: “Il ricercatore sulla sicurezza Nick Szabo ha coniato il termine bit gold per oggetti informatici che sono provatamente costosi da creare. Egli suggerisce che questi potrebbero anche servire come base per una sorta di sistema di pagamento, giocando il ruolo nel mondo informatico dell’oro nel mondo fisico. RPOW faciliterebbe l’uso dei gettoni POW come una forma di bit gold, permettendo ai gettoni di essere passati e scambiati da persona a persona. “(15)

L’implementazione di Hal era una soluzione pratica ad un problema inerente ai token proof-of-work, cioè che i token POW stessi non rendono molto bene. I token POW sono solo hash — bit di informazioni — che possono essere spesi due volte. Con il concetto di server RPOW, Hal ha introdotto autorità centrali, ma con fiducia ridotta, che possono determinare crittograficamente una catena di proprietà. Questo permette ai token proof-of-work di essere riutilizzati, anche se in modo limitato e sequenziale.

Mentre l’architettura RPOW è gerarchica, cioè i suoi clienti si affidano a server specializzati, la fiducia che gli utenti devono avere in un server RPOW è ridotta al minimo. Questo è possibile perché il software del server RPOW è eseguito su un coprocessore crittografico sicuro IBM 4758, una scheda PCI a prova di manomissione ad alta sicurezza che assicura crittograficamente che il software in esecuzione sul server è il software che è stato pubblicato e verificato. Questo rende qualsiasi server RPOW un sistema le cui proprietà di sicurezza possono essere analizzate e valutate da chiunque. In altre parole, un server RPOW è un server trasparente, il che rende il sistema RPOW nel suo complesso minacciato dalla fiducia. Tutti conoscono il codice che fa funzionare il sistema, così come le regole che sono in atto.

Quindi, quali sono esattamente le regole del sistema RPOW? Secondo il suo inventore, sono le seguenti:(16)

· Nessuna inflazione

· Nessuna backdoor

· Protezione della privacy

La regola “nessuna inflazione” deve essere intesa in termini di vincoli stabiliti dal sistema stesso, cioè che qualsiasi server RPOW creerà solo gettoni RPOW di valore pari ai gettoni POW e RPOW in arrivo. Poiché gli utenti possono creare nuovi token proof-of-work tramite l’hashcash di Adam Back, l’inflazione in termini di nuova offerta che entra nel sistema può avvenire e avverrà sempre.

“Per far rispettare la regola di non inflazione, il server RPOW deve assicurarsi che nessun POW o RPOW possa essere usato più di una volta come parte di uno scambio. Ognuno di essi viene creato, e poi scambiato al server per un nuovo RPOW, e dopo questo, il vecchio non può più essere usato. Il server RPOW fa rispettare questa regola principalmente tenendo un registro di tutti gli RPOW e POW che ha visto in passato. Ogni volta che uno viene offerto per lo scambio, il server RPOW lo confronta con questo database di RPOW visti in precedenza. Se è sulla lista, questo è un tentativo di riutilizzare il POW o RPOW, e la richiesta di scambio viene rifiutata. Se il POW o RPOW non è nella lista, viene aggiunto alla lista, e poi il server RPOW firmerà il valore bignum fornito come parte dello scambio, creando un nuovo RPOW”.

La regola “no backdoors” si riferisce alla trasparenza del sistema. Tutti possono controllare come funziona in ogni momento, non ci sono parti nascoste.

La regola della “protezione della privacy” è interessante. Hal ha scritto a lungo su come la privacy sia una caratteristica intrinsecamente desiderabile, sostenendo l’uso di Tor(17) per connettersi ai server RPOW e discutendo sia i vettori di attacco (attacchi di collegamento) che i miglioramenti come l’uso di firme cieche. Nei suoi articoli, continua a sottolineare due cose aggiuntive: 1. il “proprietario è il nemico”, e 2. il “programmatore è il nemico”, ricordandoci che qualsiasi sistema che faciliti lo scambio di denaro con la minima fiducia deve essere impostato e operare sotto una mentalità avversaria.

Accanto a hashcash, RPOW è stato uno dei sistemi che è stato effettivamente implementato. Tuttavia, probabilmente a causa dello sforzo richiesto per eseguire i server RPOW, così come la mancanza di incentivi per farlo, i token riutilizzabili proof-of-work di Finney non hanno mai guadagnato consensi e il progetto è stato infine interrotto.

La svolta di Satoshi

L’11 febbraio 2009, Satoshi ha pubblicato un annuncio sui forum della P2P Foundation. La P2P Foundation studia l’impatto della tecnologia e del pensiero peer-to-peer sulla società, descrivendosi come “La Fondazione per le alternative Peer to Peer”. Quindi, era un posto molto appropriato per annunciare l’invenzione di una moneta peer-to-peer come Bitcoin.

Nel suo annuncio, Satoshi descrive Bitcoin come un “sistema di denaro elettronico P2P” che non ha “nessun server centrale o parti fidate” perché “tutto è basato sulla prova crittografica invece che sulla fiducia”.

L’annuncio originale di Satoshi di Bitcoin

Egli identifica molteplici problemi con il nostro attuale sistema monetario e le valute convenzionali che sono native di esso:

· fiducia in terzi

· svilimento della moneta da parte delle banche centrali

· bolle di credito

· riserva bancaria frazionaria

· privacy

· mancanza di micropagamenti a causa dei costi generali

· intermediari

Solo dando un’occhiata a questa lista, la portata così enormemente ambiziosa di Bitcoin diventa evidente. Satoshi non ha deciso di risolvere un problema. Ha deciso di risolvere molti problemi in una volta sola. Sorprendentemente, ha azzeccato così tante cose fin dall’inizio che è stato effettivamente in grado di risolverne la maggior parte. Tutto quello che doveva fare era convincere gli altri che la sua soluzione funzionava davvero.

Conoscendo il suo pubblico, prosegue sottolineando come problemi simili legati alla fiducia sono stati risolti nel mondo dei sistemi informatici in generale, cioè come la crittografia forte ha eliminato la necessità di fidarsi degli amministratori di sistema con i propri dati. Una volta che i vostri file sono criptati, non avete bisogno di fidarvi di chiunque abbia accesso a questi file, poiché avrebbero bisogno della vostra password per decifrarli. In altre parole: siamo passati dalla fiducia negli esseri umani alla fiducia nella matematica. Questo è particolarmente rilevante in un ambiente peer-to-peer, perché grazie alla crittografia forte, puoi scambiare dati confidenziali con altri — incluso il tuo futuro te stesso — senza dover fare affidamento su nessun intermediario.

Per capire meglio la svolta di Satoshi, ricapitoliamo ciò che era possibile prima e dove gli altri sistemi non erano all’altezza. Quello che segue è ciò che era possibile prima di Bitcoin:

· Creazione di conti tramite crittografia a chiave pubblica

· Gettoni inestimabili e costosi tramite proof-of-work

· Provare la proprietà tramite firme digitali

· Passaggio di token proof-of-work tramite catene di firme

Ed ecco cosa non era possibile:

· Prevenire la doppia spesa senza una terza parte fidata

· Limitare l’offerta senza una terza parte fidata

Per Satoshi, era ovvio che qualsiasi sistema controllato centralmente sarebbe stato chiuso dai governi. Così, il sistema che voleva costruire aveva un obiettivo sopra tutti gli altri: la decentralizzazione.

La citazione di cui sopra racchiude splendidamente il motivo per cui la decentralizzazione è così importante: non ci sono teste da tagliare, nessun amministratore delegato da arrestare, nessun leader da ricattare o fare pressione, nessun singolo gruppo di persone da citare in giudizio, nessun server da chiudere. In altre parole: la decentralizzazione massimizza la sopravvivenza.

Un punto centrale in qualsiasi sistema lo rende vulnerabile e quindi soggetto ad attacchi. Un attaccante sufficientemente motivato troverà e sfrutterà questi punti di fallimento. E quando si tratta di denaro, lo stato ha tutte le motivazioni del mondo per chiudere un sistema concorrente. Questo — e solo questo — è il motivo per cui il design di Bitcoin è così intricato e complicato. La sua architettura basata sugli incentivi favorisce una cosa sopra ogni altra: la sopravvivenza. Poiché si dovrebbero distruggere tutte le sue parti simultaneamente, un sistema radicalmente decentralizzato è estremamente resistente a qualsiasi tipo di interruzione.

Mentre i tentativi precedenti — specialmente bit gold, b-money e RPOW — erano abbastanza vicini al design finale di Bitcoin, tutti i sistemi avevano almeno uno dei seguenti difetti:

· Registro centrale della proprietà richiesto per prevenire la doppia spesa

· Il valore della moneta dipende da un’autorità centrale

· Emissione controllata possibile solo attraverso un ente centralizzato

· Funzione proof-of-work instabile (computazionalmente parlando)

Tranne l’ultimo punto, tutti questi difetti sono difetti perché richiedono un corpo centralizzato, esponendo una testa che potrebbe essere tagliata dai governi. Il genio di Satoshi era la rimozione di tutte le teste, inclusa la sua.

Di nuovo, il problema essenziale per il denaro nel regno digitale si riduce a due cose: la scarsità e la doppia spesa. Anche se ovviamente correlati — non si può avere la scarsità digitale senza risolvere il problema della doppia spesa — non sono esattamente la stessa cosa. Satoshi ha risolto entrambi i problemi contemporaneamente, usando una rete peer-to-peer come libro mastro non centrale, usando una timechain globale per sincronizzare lo stato, e regolando dinamicamente la difficoltà del puzzle per raggiungere la stabilità crittografica — rendendo possibile un’emissione prevedibile.

Inoltre, ha combinato il processo di emissione, trasferimento e verifica, eliminando la necessità di qualsiasi terza parte fidata. La genialità di Bitcoin è che ogni nodo può verificare tutto da solo in ogni momento. Per parafrasare Hal Finney: “Tu conosci il codice sorgente. Conosci le regole”.

Satoshi è stato in grado di decentralizzare tutte le funzioni del b-money di Wei Dai (creazione e trasferimento di denaro; effettuazione, conclusione e applicazione di contratti), mentre risolveva anche i problemi del “bit gold” di Szabo (valore della moneta dipendente da un’autorità centrale; le funzioni hash mancano di stabilità crittografica). Lo ha fatto portando l’idea di Hal Finney di Proof-of-Work tokens riutilizzabili al livello successivo, creando un bene digitale che è sia fungibile che ha un alto costo non falsificabile. Come RPOW prima di lui, il sistema risultante non ha inflazione, nessuna backdoor, e protegge la privacy dei suoi utenti.

È utile guardare le diverse funzioni di un sistema finanziario o bancario per capire perché Bitcoin opera in questo modo. In sostanza, tale sistema deve essere in grado di fare quanto segue:

· Creazione di account: gli utenti devono essere in grado di creare account e autenticarsi.

· Registrare la proprietà: il sistema deve essere in grado di registrare chi possiede cosa.

· Dimostrare la proprietà: è necessario un qualche tipo di certificazione per confermare che un utente possiede effettivamente il bene, in modo che l’utente possa provare questo fatto a se stesso e agli altri.

· Trasferire la proprietà: gli utenti devono essere in grado di trasferire la proprietà dei beni.

· Sicurezza: il sistema deve assicurarsi che i registri di proprietà, la rete di computer e i dati degli utenti siano sicuri.

Inoltre, quando si tratta di sistemi monetari, è auspicabile avere quanto segue:

· Scarsità: il denaro dovrebbe essere difficile da produrre, cioè dovrebbe avere un costo inestimabile come descritto da Nick Szabo.

· Emissione controllata: le nuove unità monetarie dovrebbero essere emesse in modo uniforme e per un lungo periodo di tempo, permettendo una distribuzione organica tra i partecipanti.

· Verificabilità: terze parti indipendenti dovrebbero essere in grado di controllare la fornitura (così come la sicurezza del sistema).

Satoshi ha trovato un modo per decentralizzare tutte le funzioni elencate sopra, usando un mix di tecnologia peer-to-peer, crittografia, probabilità, teoria dei giochi, fisica e incentivi economici. In altre parole: grazie all’universalità delle leggi della matematica e della fisica, Satoshi è riuscito a costruire un sistema non locale.

Per essere più concreti, diamo un’occhiata più da vicino a queste caratteristiche e come Bitcoin riesce ad implementarle in modo decentralizzato:

· Creazione di account: Grazie alla crittografia a chiave pubblica, la creazione di account utente può essere completamente decentralizzata. Chiunque, in qualsiasi momento, può creare una o più coppie di chiavi per interagire con il sistema Bitcoin. Non ci sono moduli di iscrizione, nessuna autorità centrale per approvare o negare le richieste, nessun server incaricato dei login. In sostanza, creare un conto in Bitcoin è solo una questione di generare un grande numero casuale. Puoi anche lanciare una moneta un paio di volte, o lanciare un paio di dadi, a patto che tu sappia cosa stai facendo (e che i tuoi lanci di dadi e monete siano corretti).

· Registrazione della proprietà: In Bitcoin, ogni nodo completo ha una copia dei registri di proprietà. Questo approccio radicale è un modo semplice per eliminare un registro centralizzato e ottimizzare la sopravvivenza: non si può chiudere il registro se tutti sono il registro.

· Dimostrare la proprietà: Come altri sistemi prima di esso, Bitcoin usa le firme crittografiche per dimostrare la proprietà. Se hai la chiave privata per firmare un messaggio, puoi provare che la relativa chiave pubblica così come i beni collegati a questa chiave pubblica ti appartengono. Non è necessaria alcuna autorità centrale che distribuisca certificati di proprietà.

· Trasferire la proprietà: La proprietà viene trasferita tramite una catena di firme, proprio come nel sistema RPOW di Hal Finney. A differenza di RPOW, non sono necessari server centrali, poiché la catena di proprietà è ospitata (e validata) da ogni nodo completo.

· Sicurezza: Bitcoin è protetto in molti modi diversi, tutti basati sulla crittografia in una forma o nell’altra, che a sua volta si basa sul potere di numeri ridicolmente grandi. La probabilità che qualcuno indovini la tua chiave privata o uno dei tuoi indirizzi è praticamente zero, così come la probabilità che qualcuno trovi l’hash di un blocco valido senza compiere l’azione di forza bruta. La combinazione di crittografia forte e l’energia cumulativa spesa dai minatori protegge sia i beni degli utenti che l’integrità della rete. Il sistema stesso non è mai stato violato, rendendolo la rete di computer più sicura di tutti i tempi. Bitcoin può essere significativamente attaccato solo ai bordi, cioè le chiavi private possono essere rubate dai singoli utenti o custodi.

· Scarsità: Poiché Bitcoin è la prima soluzione pratica e non centrale al problema della doppia spesa, ha reso possibile la scarsità digitale per la prima volta. Satoshi avrebbe potuto scegliere qualsiasi tasso di inflazione finale, ma ha scelto un tasso di inflazione finale di zero. Il risultato: 21 milioni di bitcoin, niente di più.

· Emissione controllata: A causa della regolazione della difficoltà di Bitcoin, l’emissione controllata è possibile in modo decentralizzato. La regolazione della difficoltà è ciò che risolve il problema dell’instabilità crittografica, come Satoshi sottolinea nel whitepaper: “Per compensare l’aumento della velocità dell’hardware e l’interesse variabile dei nodi in esecuzione nel tempo, la difficoltà del proof-of-work è determinata da una media mobile che mira ad un numero medio di blocchi per ora. Se vengono generati troppo velocemente, la difficoltà aumenta”. Durante l’era di ricompensa della rete, che terminerà approssimativamente nell’anno 2140, nuovi bitcoin entreranno nell’economia ad ogni blocco valido, cioè approssimativamente ogni dieci minuti. La fornitura di Bitcoin è stata predeterminata al suo inizio, e probabilmente questa è la proprietà più preziosa di Bitcoin. Nessun altro bene esistente ha quello che ha Bitcoin: un programma di fornitura immutabile che non può essere discusso.

In breve, la matematica permette la decentralizzazione di tutte le funzioni essenziali del sistema e le leggi della termodinamica permettono forti garanzie di sicurezza. Inoltre, gli incentivi economici e la teoria dei giochi sono il collante che tiene tutto insieme.

Satoshi ha anche capito che l’unico bene del mondo reale che può essere collegato a un sistema informatico in modo affidabile è l’energia, nient’altro. Ogni altra cosa — non importa se si tratta di oro, certificati cartacei, beni immobili o fragole, reintroduce una terza parte fidata a causa della disconnessione intrinseca tra il mondo digitale e quello fisico. Qualcuno deve assicurarsi che i beni del mondo reale e la rappresentazione digitale di questi beni — in sostanza, una lista di cose — rimanga aggiornata e sincronizzata. Questo è ciò che è noto come il problema dell’oracolo, e il proof-of-work lo risolve in un modo ingegnoso e indiretto: usando l’energia, e quindi la fisica, come verità di base. Si può anche pensare al problema dell’oracolo come una variante del principio GIGO: Garbage In, Garbage Out. Bisogna fidarsi di chi tiene i registri che i documenti siano corretti. Detto diversamente: non si può mai essere sicuri che i dati a portata di mano rappresentino la realtà, tranne nel caso in cui la realtà sia radicata nella computazione stessa.

Un’idea molto attuale

Come possiamo vedere esaminando la preistoria di Bitcoin, la doppia spesa e la scarsità digitale non sono problemi facili da risolvere. La svolta di Satoshi è stata quella di trovare un modo per risolvere entrambi questi problemi in modo pratico, non accademico. Il primo è risolto da una timechain globalmente condivisa che è tenuta in sincronia tramite una lotteria competitiva, il secondo è risolto dalla regolazione della difficoltà così come dal dimezzamento della ricompensa del blocco. Bitcoin usa le migliori idee dei suoi predecessori (firme digitali, proof-of-work riutilizzabile, reti peer-to-peer) e le combina in modo ingegnoso per creare qualcosa di completamente nuovo: un sistema decentralizzato senza un singolo punto di fallimento.

Nessuna singola parte di Bitcoin può essere rimossa senza distruggere il tutto. Senza la timechain, non ci sarebbe un modo decentralizzato per controllare la doppia spesa. Senza il dimezzamento della ricompensa di blocco, l’offerta di bitcoin si espanderebbe all’infinito. Senza la regolazione della difficoltà, l’algoritmo di mining non avrebbe stabilità crittografica, rendendo banale per i minatori produrre bitcoin più velocemente. Molti cypherpunks sognavano il contante digitale. Satoshi ha portato questa idea più lontano di chiunque altro prima di lui, implementando un sistema che è virtualmente inarrestabile. Non importa cosa succederà nei prossimi decenni, il gatto è fuori dal sacco, e tutti dovranno adattarsi a un mondo in cui esiste Bitcoin.

Bitcoin è un’idea il cui tempo è arrivato. Man mano che sempre più persone, aziende e persino stati nazionali si muovono verso un Bitcoin Standard, la gravità inarrestabile dell’idea di Satoshi diventa sempre più evidente. Implementando la sua idea, ha dimostrato che una soluzione pratica ai problemi che hanno afflitto il denaro digitale per decenni — doppia spesa e scarsità digitale — è possibile. Rilasciando il suo software in natura ha messo in moto un processo pluridecennale che è guidato da una struttura di incentivi estremamente potente. Un’idea inarrestabile, incarnata nel codice. È questa struttura di incentivi che guida la sopravvivenza di Bitcoin. E ogni giorno che passa in cui Bitcoin si rifiuta di morire, l’umanità è un passo più vicina a liberare il denaro dalla schiavitù dello stato. Ci vorrà un po’ di tempo perché il mondo faccia i conti con questa idea potentissima. Curiosamente, il tempo è anche la ragione per cui Bitcoin funziona in primo luogo, poiché la principale intuizione di Satoshi è come mantenere il tempo in un sistema decentralizzato. Molte persone pensavano che questo problema fosse impossibile. Si è scoperto che mancava solo l’idea giusta.

Traduzione dall’originale di Gigi — Bitcoin Is An Idea | dergigi.com

Note a margine

1. Il nome cypherpunk è una combinazione giocosa delle parole cipher (un algoritmo che cripta e/o decripta un messaggio) e cyberpunk (un sottogenere della fantascienza generato dalle opere di autori come Philip K. Dick, William Gibson, Ridley Scott e molti altri).

2. Internet Assigned Numbers Authority

3. Timothy C. May, The Crypto Anarchist Manifesto

4. Diffie e Hellman, 1976, New directions in cryptography (IEEE, PDF)

5. Rivest, Shamir, Adleman, 1978, Un metodo per ottenere firme digitali e criptosistemi a chiave pubblica (ACM, PDF)

6. Dwork e Naor, 1992, Prezzi tramite elaborazione (PDF)

7. “La funzione di costo della CPU hashcash calcola un token che può essere usato come proof-of-work.” http://www.hashcash.org/papers/hashcash.pdf

8. Hal Finney, Teoria RPOW

9. Potete provarlo voi stessi usando vari strumenti online (ad esempio DuckDuckGo) o digitando quanto segue in una linea di comando:

10. In alcuni dei suoi primissimi scritti, per esempio questo file README, Satoshi ha scritto Bitcoin come “BitCoin”, indicando che era inteso come due parole separate.

11. Dal whitepaper incompleto di bit gold in cui Szabo introduce il concetto di beni costosi non falsificabili, collegando la scarsità di certi beni alla costosità della loro creazione.

12. https://nakamotoinstitute.org/shelling-out/

13. Vedi i suoi scritti sulla crittografia intrapolinomiale

14. MicroMint era uno dei due schemi di micropagamenti proposti da Ronald L. Rivest e Adi Shamir (la R e la S di RSA). Il secondo schema era chiamato PayWord. Entrambi si concentravano su pagamenti efficienti di importi molto piccoli, estendendo lavori precedenti come Millicent di Glassman e altri. Ancora una volta l’idea è di usare la crittografia a chiave pubblica e gli hash in modo intelligente per produrre monete: “Una moneta è una stringa di bit la cui validità può essere facilmente controllata da chiunque, ma che è difficile da produrre.

15. https://nakamotoinstitute.org/finney/rpow/index.html — Vedi anche Shelling Out: Le origini del denaro

16. https://nakamotoinstitute.org/finney/rpow/slides/slide010.html

17. The Onion Router, torproject.org

Pubblicato sotto Licenza CC BY-SA 4.0

Creative Commons — Attribuzione-Condividi allo stesso modo 4.0 International — CC BY-SA 4.0

--

--

Traduco testi

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store