Autore: Der Gigi | Pubblicazione originale: 2022-2023 | Tradotto da: 31febbraio | Milano Trustless | Link: 21 Ways - Bitcoin Is An Idea
Non preoccupatevi che la gente rubi un'idea. Se è originale, dovrete fargliela ingoiare - Howard H. Aiken
In questo mantello non c'è sangue, o carne da uccidere. C'è solo un'idea. Le idee sono a prova di proiettile - Alan Moore, V per Vendetta
Il 31 ottobre 2008, la traiettoria futura della nostra società globale è cambiata per sempre. Una svolta è stata fatta e un'idea inarrestabile è stata liberata nel mondo. Un'idea così profonda e oltraggiosa da essere ignorata da quasi tutti per i primi due anni, e ancora oggi è ignorata dai più: Bitcoin, un sistema di pagamento elettronico peer-to-peer.
Il whitepaper pubblicato da Satoshi Nakamoto nella notte di Halloween descrive un'idea che inevitabilmente conquisterà il mondo. Sebbene la maggior parte delle persone pensi ancora a bitcoin come a uno schema per fare soldi a palate, senza rendersi conto del profondo cambiamento che continuerà ad avere sulla società, diventa ogni giorno più evidente che non scomparirà.
«Le idee, a differenza delle strutture solide, non muoiono», ci ricorda Alan Moore. «Rimangono immortali, immateriali e ovunque, come tutte le cose divine»
In questa fatidica notte del 2008, Satoshi ha fatto uscire il genio dalla lampada. 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 restare, 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. È potente perché non può essere fermata. Come ci ricorda Victor Hugo: «niente è potente come un'idea il cui tempo è arrivato». Bitcoin è qui per restare; e il tempo di bitcoin è ora.
Un'idea il cui tempo è giunto
Si resiste all'invasione degli eserciti, non si resiste all'invasione delle idee - Victor Hugo
Contrariamente a quanto si crede, bitcoin non è nato dal nulla. L'idea del denaro digitale ha una storia lunga e ricca. In particolare, un collettivo sciolto noto come cypherpunks, ha 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 crearono la mailing list cypherpunk per discutere e condividere le loro idee su crittografia, remailer, anonimato, contante 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 risulta evidente dallo studiando i loro scritti, i cypherpunk tenevano molto all'idea del contante digitale. Nel 1993, Eric Hughes discusse l'idea del contante digitale, la sua relazione con la privacy e la sua importanza per una società libera in A Cypherpunk's Manifesto: «Poiché desideriamo la privacy, dobbiamo fare in modo che ogni parte di una transazione sia a conoscenza solo di ciò che è direttamente necessario per quella transazione. Poiché qualsiasi informazione può essere comunicata, dobbiamo fare in modo di rivelarne il meno possibile. Nella maggior parte dei casi l'identità personale non è rilevante. Quando acquisto una rivista in un negozio e passo i contanti al commesso, non c'è bisogno di rivelare 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 comporti come il contante nel mondo reale. Non è richiesta alcuna identità o registrazione, può essere scambiato direttamente con beni e servizi e, praticamente, non è rintracciabile.
Persino la IANA[2], un'organizzazione responsabile della definizione dei codici standard di stato HTTP (tra le altre cose), riconosce l'idea del contante 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 non è possibile accedere alla risorsa perché richiede un pagamento. Tuttavia, poiché all'epoca non esisteva il contante digitale, il codice di stato 402 è stato 'riservato per usi futuri' e oggi non è molto utilizzato.
I cypherpunk si sono concentrati soprattutto sull'aspetto della privacy del contante digitale. Gli aspetti monetari ed economici erano secondari. Si sono resi conto che la privacy è assolutamente fondamentale per una società libera e aperta. Dopotutto, l'opposto - la sorveglianza totale - può solo portare all'oppressione e alla stagnazione, dal momento che le idee nuove e controverse non potranno fiorire. A prescindere dalle libertà che si pensa di avere, alla fine la sorveglianza rende inutili tutte le altre libertà.
«Pertanto, la privacy in una società aperta richiede sistemi di transazione anonimi. Finora il contante è stato il sistema principale. Un sistema di transazione anonimo non è un sistema di transazione segreto. Un sistema anonimo consente agli individui di rivelare la propria identità quando lo desiderano e solo quando lo desiderano; questa è l'essenza della privacy» - Eric Hughes, A Cypherpunk’s Manifesto
Sebbene Bitcoin sia un'innovazione sotto molti aspetti, tutte le parti tecniche che lo fanno funzionare esistevano già:
- Crittografia a chiave pubblica
- Reti peer-to-peer
- Firme digitali
- Funzioni hash crittografiche
- Timestamp crittografici
- Catene di hash
- Proof-of-work
Esploreremo tutti questi concetti in modo più dettagliato in punti successivi del libro.
Satoshi non ha inventato un nuovo algoritmo o una nuova primitiva crittografica. Ha invece trovato un modo per combinare le tecnologie esistenti in modo ingegnoso, utilizzando gli incentivi economici e la teoria dei giochi per avviare e rendere sicuro il sistema.
I cypherpunk erano ben consapevoli del fatto che, anche se la tecnologia di base esiste in teoria, alcune cose hanno bisogno di tempo per essere sviluppate. Nel 1992, Timothy May scrisse in The Crypto Anarchist Manifesto: «La tecnologia per fare tutto questo [...] è esistita in teoria negli ultimi dieci anni. [...] Ma solo di recente le reti informatiche e i personal computer hanno raggiunto una velocità sufficiente a rendere le idee praticamente realizzabili. E i prossimi dieci anni porteranno un'ulteriore velocità sufficiente a rendere le idee economicamente fattibili e sostanzialmente inarrestabili»?[3].
Sebbene io ritenga che bitcoin (la rete) sia già essenzialmente inarrestabile, bitcoin come idea è davvero inarrestabile. Dopo tutto, come ha detto Alan Moore in modo così conciso, le idee sono a prova di proiettile.
Nel primo decennio della sua esistenza, bitcoin è passato dall'idea all'implementazione, dal proof-of-concept all'asset monetario di nicchia. Nel prossimo decennio, probabilmente, diventerà una forza a sé stante, superando i confini e trasformando la nostra concezione del denaro e del valore. L'idea, tuttavia, non è stata concepita alla nascita di bitcoin: è stata concepita dai pensatori e dagli ingegneri dell'era elettronica, molti decenni prima che Satoshi Nakamoto entrasse in scena.
Storia del contante digitale
Molte persone considerano automaticamente le valute elettroniche come una causa persa, a causa di tutte le aziende fallite a partire dagli anni '90 - Satoshi Nakamoto
La preistoria di bitcoin è tanto lunga quanto affascinante. Satoshi è stato in grado di basarsi su diverse tecnologie e protocolli, alcuni dei quali risalgono a 50 anni fa e oltre. Se 50 anni possono essere un tempo lungo per la tecnologia, l'arte della crittografia è molto più antica, risale al 1900 a.C.
È difficile dire quali siano stati gli elementi costitutivi più importanti, ma i più fondamentali sono probabilmente le firme digitali[4] (Diffie e Hellman, 1976) e la crittografia a chiave pubblica[5] (Rivest, Shamir, Adleman, 1978). Senza queste idee, Bitcoin non potrebbe esistere.
Prima di Bitcoin sono stati sviluppati diversi sistemi di denaro digitale. 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 - Prove di lavoro riutilizzabili 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 viene utilizzata ancora oggi in bitcoin. Proposta da David Chaum nel 1982, è stata poi implementata dalla sua azienda e resa operativa 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 lo sviluppo di tecnologie che preservano la privacy. Una delle tecniche di transazione che migliorano la privacy in bitcoin, il Chaumian CoinJoin, prende il nome in suo onore. Pur essendo interessante dal punto di vista crittografico e tecnologico, Ecash non era un'innovazione monetaria e alla fine è fallita perché gestita 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 hanno guadagnato terreno. Sebbene ne siano esistite altre prima di lei (OS-Gold, Standard Reserve, INTGold), E-gold è considerato la prima valuta digitale di successo che è diventata abbastanza popolare da essere adottata dai commercianti. Al suo apice, E-gold contava cinque milioni di utenti ed elaborava trasferimenti di valore dell'ordine di 2 miliardi di dollari. Oltre ai token E-gold sostenuti dall'oro, era possibile acquistare altri metalli preziosi: e-silver, e-platinum o e-palladium. Il fallimento di E-cash, ancora una volta, è dovuto al fatto che si trattava di un servizio centralizzato gestito da una società: Gold & Silver Reserve Inc. Il governo degli stati uniti ha intentato una causa sostenendo che la società gestiva 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. Sebbene altri ricercatori abbiano avuto l'idea del pricing tramite Processing[6] prima di Adam Back (Dwork e Naor, 1992), il suo paper è 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 paper di Hashcash[7].
Hal Finney, una delle leggende dei primi tempi di bitcoin, ha descritto in modo splendido e sintetico hashcash come segue: «Hashcash è una stringa testuale in un formato particolare che ha una proprietà speciale: quando viene passata attraverso l'algoritmo di hash SHA-1, il risultato ha i primi N dei suoi bit iniziali uguali a zero, dove N è tipicamente intorno a 20-30. La terminologia utilizzata per 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 variante dopo l'altra, fino a quando non si è fortunati»[8].
Ad esempio, l'hash SHA1 della stringa di hashcash
1:20:040806:foo::65f460d0726f420d:13a6b8
produce una stringa con cinque zeri iniziali:[9]
00000f91d51a9c213f9b7420c35c62b5e818c23e
Il numero di zeri iniziali in una stringa di hashcash ottenuta da questo algoritmo, indica il valore della stringa stessa. Poiché non esiste altro modo che una brute force, il numero di zeri è direttamente correlato al costo di produzione che, nel regno digitale, è il costo di calcolo.
In sostanza, hashcash sfrutta il fatto che i cicli di calcolo costano tempo e risorse del mondo reale. Back ha proposto che l'introduzione dell'equivalente elettronico di un francobollo tramite hashcash potrebbe essere il suo principale caso d'uso. Sebbene la lotta allo spam via e-mail sembri essere in cima ai suoi pensieri, ha anche proposto che possa essere utilizzato come denaro contante digitale, arrivando a delineare un percorso di migrazione che potrebbe portare alla sua integrazione nell'ecash di Chaum. Sebbene l'algoritmo proof-of-work di bitcoin differisca leggermente da quello di Hashcash (bitcoin, ad esempio, utilizza un doppio SHA256 invece di SHA1), l'idea rimane la stessa: il calcolo di un hash non può essere fatto senza ribaltare i bit, che a sua volta non può essere fatto senza spendere tempo ed energia. Hashcash sfrutta la proprietà peculiare dell'universo, secondo cui qualsiasi calcolo, cioè qualsiasi modifica di un sistema, richiede energia. In altre parole: non si può imbrogliare la fisica, la computazione non sarà mai gratuita.
Il colpo di genio di Hashcash è stato quello di trovare e descrivere funzioni computazionali in cui la computazione è costosa ma la verifica è poco costosa. Si può pensare ai rompicapo di Hashcash come alla risoluzione dei Sudoku o del cubo di Rubik: difficili da risolvere, facili da verificare. Mentre varie implementazioni di Hashcash sono state utilizzate per prevenire lo spam, il concetto non è stato ampiamente applicato alle valute prima che Satoshi lo implementasse in bitcoin.
Bit gold (Nick Szabo, 1998)
Basandosi sul lavoro di Adam Back e Hal Finney, 'bit gold' può essere descritto come un diretto predecessore di 'bit coin'[10]. Anche se il sistema non è mai stato implementato, il modo in cui Szabo lo immaginava funzionare in teoria è notevolmente vicino al modo in cui bitcoin funziona in realtà.
Lo scopo di bit gold, come dice il nome, era quello di creare un bene monetario digitale indipendente da qualsiasi autorità centrale, che a sua volta potesse 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].
«I metalli preziosi e gli oggetti da collezione[12] sono caratterizzati da un'inesauribile scarsità dovuta al costo della loro creazione. [...] Sarebbe quindi molto bello se esistesse un protocollo che permettesse di creare online bit dal costo inestimabile con una dipendenza minima da terze parti fidate, per poi immagazzinarli, trasferirli e valutarli in modo sicuro con una fiducia altrettanto minima» - Nick Szabo
Un punto che Szabo sottolinea ripetutamente è che l'oro fisico presenta diversi problemi ed è piuttosto insicuro rispetto alle soluzioni basate sulla crittografia. Il deposito, ad esempio, è sicuro quanto le porte e i muri che lo proteggono. Alla fine qualcuno può sempre entrare e sottrarlo. Lo stesso vale per il trasporto. Non è possibile inviare oro in modo sicuro senza uno sforzo straordinario e, a prescindere dallo sforzo, qualcuno potrebbe sempre intercettarlo. Anche la convalida è problematica, come testimonia l'abbondanza di lingotti 'd'oro' falsificati prevalentemente con piombo o tungsteno. Con il tempo, queste insufficienze dell'oro portano inevitabilmente alla centralizzazione in caveau e banche, il che comporta una serie di problemi.
Bit gold raggiunge tutte le proprietà essenziali dell'oro, evitando però l'insicurezza dell'oro che ha afflitto la civiltà per millenni - Nick Szabo
Lo scopo di bit gold non è l'unica cosa che sarà familiare ai bitcoiner di oggi. Anche il modo in cui il sistema avrebbe dovuto funzionare è familiare. Certo, ci sono alcune differenze fondamentali, ma l'idea di base è molto simile.
I sette passi che seguono sono tratti direttamente dal paper di Bit Gold e illustrano il funzionamento del sistema:
- Viene creata una stringa pubblica di bit, 'challenge string' (ved. punto 5).
- Alice sul suo computer genera la stringa di prova di lavoro dai bit di challenge utilizzando una funzione di benchmark.
- La prova di lavoro viene registrata in modo sicuro con un timestamp. Questo dovrebbe funzionare in modo distribuito, con diversi servizi disponibili, in modo che non sia necessario affidarsi a un particolare servizio di timestamping.
- Alice aggiunge la stringa di challenge e la stringa della prova di lavoro con timestamp a un registro distribuito, che certifica la proprietà dei bit gold. Anche in questo caso, non si fa affidamento su un singolo server per il corretto funzionamento del registro.
- L'ultima stringa di bit gold creata fornisce i bit di challenge per la stringa successiva.
- Per verificare che Alice sia la proprietaria di una particolare stringa di bit-gold, Bob controlla la catena non falsificabile di titoli nel registro di bit-gold.
- Per verificare il valore di una stringa di bit-gold, Bob controlla e verifica i bit di challenge, la stringa di prova del 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 la registrazione dei timestamp (per annotare quando un determinato bit gold è stato creato) e uno per registrare i titoli di proprietà (per vedere chi possiede bit gold).
In secondo luogo, si suppone che bit gold si affidi a funzioni di benchmark (in contrapposizione a funzioni unidirezionali) per generare una prova di lavoro. Le funzioni di benchmark sono funzioni proposte da Szabo che sono computazionalmente stabili, cioè un insieme di funzioni che mantengono un grado di difficoltà simile tra tutti i miner. Szabo si è impegnato a fondo nella definizione e nell'esplorazione di queste funzioni, cercando di formulare prove matematiche del fatto 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 funzione di questo tipo sarà difficile: «Rimane un potenziale grande problema: [...] al mondo manca un problema crittigraficamente e analiticamente stabile».
La mancanza di una funzione di benchmark stabile porta a una moltitudine di problemi: le 'monete' più vecchie create dagli utenti avrebbero un costo diverso da quelle più recenti, poiché i computer diventano più veloci con il progredire della tecnologia. Pertanto, due monete diverse - o stringhe di bit gold, come le chiama Szabo - non avrebbero lo stesso valore. Se la legge di Moore è indicativa, una moneta di due anni più vecchia di un'altra potrebbe essere considerata di valore doppio, perché il raddoppio della potenza di elaborazione ha reso il conio della moneta più recente due volte più facile. Un altro problema è che, se bit-gold diventasse abbastanza prezioso, le scoperte informatiche potrebbero essere tenute segrete da coloro che le hanno realizzate, in modo da poter accumulare stringhe valide di bit-gold e venderle sul mercato a un prezzo maggiorato. Questo aggraverebbe il problema dell'inflazione, un altro problema che Szabo ha identificato ma non risolto.
Inoltre, Szabo ha identificato correttamente i problemi di approcci precedenti come Hashcash e MicroMint[14]: (1) il loro valore dipendeva da un'autorità centrale, (2) le funzioni di hash utilizzate erano vulnerabili dal punto di vista crittografico, cioè mancavano di stabilità crittografica e analitica. Come descritto sopra, il secondo problema è ancora presente in bit gold.
b-money (Wei Dai, 1998)
Come bit gold di Szabo, b-money di Wei Dai non è mai stato implementato. È rimasta una proposta teorica di come potrebbe funzionare un protocollo monetario. Sebbene bitcoin sia un'implementazione funzionante della visione delineata da b-money, sembra che Satoshi non fosse a conoscenza di b-money mentre elaborava il progetto di base di bitcoin. Come ha scritto Wei Dai in risposta a un articolo di LessWrong: «mi risulta che il creatore di bitcoin [...] non abbia nemmeno letto il mio paper prima di reinventare lui stesso l'idea. Ne è venuto a conoscenza in seguito e mi ha citato nel suo articolo. Quindi il mio legame con il progetto è piuttosto limitato». Nel 2013, Adam Back ha commentato questo fatto, affermando di aver presentato a Satoshi la b-money di Wei Dai dopo che Satoshi lo aveva contattato.
Nella sua proposta, Dai è molto esplicito riguardo alla motivazione del suo sistema. Citando le idee di Tim May sulla cripto-anarchia, scrive che «in una cripto-anarchia il governo non è temporaneamente distrutto, ma permanentemente proibito e stabilmente non necessario. È una comunità in cui 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 prosegue descrivendo un sistema in cui ogni partecipante mantiene un database separato di quanto il 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 i messaggi e i contratti vengono eseguiti automaticamente dal protocollo. Descrive - nello spirito, ma non nei dettagli - come funziona oggi bitcoin.
Egli delinea cinque elementi necessari per il funzionamento di un tale sistema:
- La creazione di denaro
- Il trasferimento di denaro
- La stipula di contratti
- La conclusione di contratti
- Il rispetto dei contratti
Mentre b-money risolve molti dei problemi inerenti alla moneta elettronica, rimane il problema descritto da Szabo in bit gold. Dai ne parla nella sua proposta come segue: «Una delle parti più problematiche del protocollo b-money è la creazione di denaro. Questa parte del protocollo richiede che tutti i detentori di conti decidano e concordino il costo di particolari calcoli. Sfortunatamente, poiché la tecnologia informatica tende a progredire rapidamente e non sempre il progresso è noto pubblicamente, queste informazioni possono essere non disponibili, imprecise o non aggiornate, il che causerebbe seri problemi al protocollo».
Dai propone una soluzione a questo problema descrivendo un sottoprotocollo che è l'unico responsabile della creazione di denaro. I partecipanti si accorderebbero periodicamente sulla quantità di denaro da creare, lavorando collettivamente in un ciclo guidato dal mercato che consiste in quattro fasi: pianificazione, offerta, calcolo e creazione. Poiché 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 - Prove di lavoro riutilizzabili (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 generati dall'algoritmo hashcash di Adam Back.
Ecco come funziona, parafrasando l'annuncio originale dello stesso Hal Finney: 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 a ogni passaggio. Ogni token RPOW può essere utilizzato una sola volta, ma poiché ne nasce uno nuovo, è come se lo stesso token potesse essere trasferito da persona a persona.
In sostanza, un utente può creare token RPOW tramite il software client RPOW, che accetta una stringa di proof-of-work generata dal software Hashcash inventato da Adam Back. Questa stringa viene firmata dalla chiave privata dell'utente e successivamente registrata da un server RPOW, che registra l'appartenenza del token alla chiave pubblica dell'utente. L'utente può quindi passare il token a qualcun altro firmando un 'ordine di trasferimento' alla chiave pubblica del ricevente. Il server registra quindi debitamente il token come appartenente alla chiave privata corrispondente.
Come è evidente studiando i suoi scritti, Hal Finney si è ispirato al lavoro di Nick Szabo, in particolare alle sue idee su bit gold e sugli oggetti digitali da collezione. Discutendo delle possibili applicazioni di RPOW, Hal scrive: «Il ricercatore di security Nick Szabo ha coniato il termine "bit gold" per gli oggetti-informazione la cui creazione è comprovatamente costosa. Egli suggerisce che questi oggetti potrebbero addirittura servire come base per una sorta di sistema di pagamento, svolgendo nel mondo informativo il ruolo che l'oro assolve nel mondo fisico. RPOW faciliterebbe l'uso dei token POW come forma di bit gold, consentendo ai token di essere passati e scambiati da persona a persona »[15].
L'implementazione di Hal era una soluzione pratica a un problema inerente ai token proof-of-work, ovvero che i token POW stessi non ricoprono molto bene il ruolo di denaro. I token POW sono solo hash, ovvero bit di informazioni che possono essere spesi due volte. Con il concetto di server RPOW, Hal ha introdotto autorità centrali, ma con fiducia ridotta, in grado di determinare crittograficamente una catena di proprietà. Questo permette di riutilizzare i token proof-of-work, anche se in modo limitato e sequenziale.
Sebbene l'architettura di RPOW sia gerarchica, cioè i suoi client si affidano a server specializzati, la fiducia che gli utenti devono riporre in un server RPOW è ridotta al minimo. Questo è possibile perché il software del server RPOW viene eseguito su un coprocessore crittografico sicuro IBM 4758, una scheda PCI ad alta sicurezza resistente alle manomissioni, il quale garantisce crittograficamente che il software in esecuzione sul server sia quello pubblicato e verificato. Ciò 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 fa sì che la fiducia sia ridotta al minimo in un sistema RPOW. Tutti conoscono il codice che fa funzionare il sistema e le regole in vigore.
«Conosciamo il codice sorgente. Conosciamo le regole» - Hal Finney
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 imposti dal sistema stesso, ovvero che qualsiasi server RPOW creerà solo gettoni RPOW di valore pari ai gettoni POW e RPOW in entrata. Poiché gli utenti possono creare nuovi gettoni proof-of-work tramite l'hashcash di Adam Back, l'inflazione in termini di nuove forniture che entrano 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 con un nuovo RPOW, dopodiché quello 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 ne viene offerto uno per lo scambio, il server RPOW lo confronta con questo database di RPOW visti in precedenza. Se è presente nell'elenco, si tratta di un tentativo di riutilizzare il POW o RPOW e la richiesta di scambio viene respinta. Se il POW o RPOW non è presente nell'elenco, viene aggiunto all'elenco e il server RPOW firmerà il valore bignum fornito come parte dello scambio, creando un nuovo RPOW».
La regola 'no back doors' si riferisce alla trasparenza del sistema. Tutti possono vedere 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 blind. Nei suoi scritti, sottolinea altre due cose: (1) «il proprietario è il nemico» e (2) «il programmatore è il nemico», ricordandoci che qualsiasi sistema che faciliti lo scambio di denaro riducendo la fiducia deve essere impostato e operare con una mentalità avversaria.
Oltre a hashcash, RPOW è stato uno dei sistemi effettivamente implementati. Tuttavia, probabilmente a causa dell'impegno richiesto per gestire i server RPOW e della mancanza di incentivi, i gettoni proof-of-work riutilizzabili di Finney non hanno mai guadagnato terreno e il progetto è stato infine interrotto.
La rivoluzione di Satoshi
Spero sia evidente che è stata solo la natura centralizzata di questi sistemi a condannarli - Satoshi Nakamoto
L'11 febbraio 2009, Satoshi ha pubblicato un annuncio sul 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'. Era quindi un luogo molto adatto per annunciare l'invenzione di una moneta p2p come bitcoin.
Nel suo annuncio, Satoshi descrive bitcoin come un «sistema di e-cash P2P» che non ha «alcun server centrale o parti fidate» perché «tutto si basa sulla prova crittografica invece che sulla fiducia».
Egli identifica molteplici problemi con il nostro attuale sistema monetario e con le valute convenzionali che ne fanno parte:
- fiducia nelle terze parti
- svilimento della moneta da parte delle banche centrali
- bolle di credito
- riserva frazionaria delle banche
- privacy
- mancanza di micropagamenti a causa dei costi generali
- intermediari
Basta dare un'occhiata a questo elenco per rendersi conto della portata enormemente ambiziosa di bitcoin. Satoshi non si è proposto di risolvere un solo problema. Si è proposto di risolvere molti problemi contemporaneamente. Incredibilmente, ha azzeccato così tante cose fin dall'inizio che è riuscito a risolverne la maggior parte. Tutto ciò che doveva fare era convincere gli altri che la sua soluzione funzionava davvero.
Conoscendo il suo pubblico, continua sottolineando come simili problemi di fiducia siano stati risolti nel mondo dei sistemi informatici in generale, ovvero come la crittografia forte abbia eliminato la necessità di affidare i propri dati agli amministratori di sistema. Una volta che i file sono criptati, non c'è bisogno di fidarsi di chi ha accesso a questi file, poiché avrebbe bisogno della password per decriptarli. In altre parole: siamo passati dalla fiducia negli esseri umani alla fiducia nella matematica. Questo è particolarmente rilevante in un contesto peer-to-peer, perché grazie a una crittografia robusta è possibile scambiare dati riservati con altri, compreso il proprio futuro, senza doversi affidare a intermediari.
È ora di fare la stessa cosa con il denaro - Satoshi Nakamoto
Per comprendere meglio la rivoluzione di Satoshi, ricapitoliamo ciò che era possibile fare prima e dove gli altri sistemi non erano all'altezza. Ecco cosa era possibile fare prima di bitcoin:
- Creare un conto tramite crittografia a chiave pubblica
- Ottenere token non falsificabili tramite proof-of-work, la cui creazione risultasse costosa
- Dimostrare la proprietà tramite firme digitali
- Trasmettere token proof-of-work tramite catene di firme
Ed ecco cosa non era possibile:
- Impedire la doppia spesa senza una terza parte affidabile
- Limitare l'offerta senza una terza parte fidata
Per Satoshi era ovvio che qualsiasi sistema controllato centralmente sarebbe stato chiuso dai governi. Pertanto, il sistema che voleva costruire aveva un obiettivo superiore a tutti gli altri: la decentralizzazione.
I governi sono bravi a tagliare la testa a reti controllate centralmente come Napster, ma le reti P2P pure come Gnutella e Tor sembrano resistere - Satoshi Nakamoto
La citazione sopra riportata racchiude magnificamente il motivo per cui la decentralizzazione è così importante: non ci sono teste da tagliare, amministratori delegati da arrestare, leader da ricattare o mettere sotto pressione, un singolo gruppo di persone da citare in giudizio, 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 deboli. 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 su tutte: la sopravvivenza. Poiché sarebbe necessario distruggere tutte le sue parti contemporaneamente, un sistema radicalmente decentralizzato è estremamente resistente a qualsiasi tipo di interruzione.
Sebbene i tentativi precedenti - in particolare bit gold, b-money e RPOW - fossero abbastanza vicini al progetto finale di bitcoin, tutti i sistemi presentavano almeno uno dei seguenti difetti:
- Registro centrale della proprietà, necessario per prevenirela doppia spesa
- Valore della moneta dipendente da un'autorità centrale
- Emissione controllata possibile solo attraverso un organismo centralizzato
- Funzione proof-of-work instabile (dal punto di vista computazionale)
Ad eccezione dell'ultimo punto, tutti questi difetti sono tali perché richiedono un organismo centralizzato, esponendo una testa che potrebbe essere tagliata dai governi. Il genio di Satoshi è stato quello di eliminare tutte le teste, compresa la sua.
Ancora una volta, il problema essenziale del denaro nel regno digitale si riduce a due cose: la scarsità e la doppia spesa. Sebbene siano ovviamente collegati - non si può avere una scarsità digitale senza risolvere il problema della doppia spesa - non sono esattamente la stessa cosa. Satoshi ha risolto entrambi i problemi contemporaneamente, utilizzando una rete peer-to-peer come libro mastro non centralizzato, utilizzando una catena del tempo globale (timechain) per sincronizzare lo stato e regolando dinamicamente la difficoltà del puzzle per raggiungere la stabilità analitica e crittografica, rendendo possibile un'emissione prevedibile.
Inoltre, ha combinato il processo di emissione, trasferimento e verifica, eliminando la necessità di una terza parte fidata. La genialità di bitcoin sta nel fatto che ogni nodo può verificare tutto da solo in ogni momento. Parafrasando Hal Finney: «Conosci il codice sorgente. Conosci le regole».
Satoshi è stato in grado di decentralizzare tutte le funzioni della b-money di Wei Dai (creazione e trasferimento di denaro; stipula, conclusione e applicazione di contratti), risolvendo al contempo i problemi di 'bit gold' di Szabo (il valore della moneta dipende da un'autorità centrale; le funzioni hash mancano di stabilità analitica e crittografica). Lo ha fatto portando l'idea di Hal Finney dei token proof-of-work riutilizzabili a un livello superiore, creando un bene digitale che è allo stesso tempo fungibile e con un elevato costo non falsificabile. Come RPOW prima di lui, il sistema risultante non ha inflazione, non ha backdoor e protegge la privacy dei suoi utenti.
È utile esaminare le diverse funzioni di un sistema finanziario o bancario per capire perché bitcoin opera nel modo in cui opera. In sostanza, un sistema di questo tipo deve essere in grado di svolgere le seguenti funzioni:
- Creare un conto: gli utenti devono poter creare conti e autenticarsi.
- Registrare la proprietà: il sistema deve essere in grado di registrare chi possiede cosa.
- Dimostrare la proprietà: è necessaria una sorta di certificazione per confermare che un utente possiede effettivamente l'asset, in modo che sia possibile dimostrarlo a se stesso e agli altri.
- Trasferire la proprietà: gli utenti devono poter trasferire la proprietà degli asset.
- Garantire sicurezza: il sistema deve garantire la sicurezza dei registri di proprietà, della rete informatica e dei dati degli utenti.
Inoltre, quando si parla di sistemi monetari, è auspicabile che siano presenti le seguenti caratteristiche:
- Scarsità: la moneta dovrebbe essere difficile da produrre, cioè dovrebbe avere un costo inestimabile, come descritto da Nick Szabo.
- Emissione controllata: le nuove unità monetarie devono essere emesse in modo uniforme e per un lungo periodo di tempo, consentendo una distribuzione organica tra i partecipanti.
- Verificabilità: terze parti indipendenti dovrebbero essere in grado di verificare l'offerta (così come la sicurezza del sistema).
Satoshi ha trovato il modo di decentralizzare tutte le funzioni sopra elencate, utilizzando 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 a come bitcoin riesce a implementarle in modo decentralizzato:
- Creazione di un conto: grazie alla crittografia a chiave pubblica, la creazione di un conto-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, né autorità centrali che approvino o neghino le richieste, né server incaricati dei login. In sostanza, la creazione di un conto bitcoin è solo una questione di generazione di un grande numero casuale. Si può anche lanciare una moneta un paio di volte o un paio di dadi, purché si sappia cosa si sta facendo (e i lanci di dadi e monete siano equi).
- Registrazione della proprietà: in bitcoin, ogni nodo completo ha una copia dei titoli 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.
- Dimostrazione della proprietà: come altri sistemi precedenti, bitcoin utilizza le firme crittografiche per dimostrare la proprietà. Se si possiede la chiave privata per firmare un messaggio, si può dimostrare che la relativa chiave pubblica e i beni collegati a questa chiave pubblica appartengono a noi. Non è necessaria un'autorità centrale che rilasci certificati di proprietà.
- Trasferimento della 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 convalidata) da ciascun 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 sulla potenza di numeri ridicolmente grandi. La probabilità che qualcuno indovini la vostra chiave privata o uno dei vostri indirizzi è praticamente nulla, così come la probabilità che qualcuno trovi l'hash di un blocco valido senza fare il necessario lavoro di forza bruta. La combinazione di una forte crittografia e dell'energia cumulativa spesa dai miner protegge sia i beni degli utenti che l'integrità della rete. Il sistema stesso non è mai stato violato, il che lo rende la rete informatica più sicura di tutti i tempi. Bitcoin può essere attaccato in modo significativo solo ai margini, cioè le chiavi private possono essere sottratte da singoli utenti o sistemi custodial.
- Scarsità: essendo bitcoin la prima soluzione pratica e non centrale al problema della doppia spesa, ha reso possibile per la prima volta la scarsità digitale. Satoshi avrebbe potuto scegliere qualsiasi tasso di inflazione terminale, ma ha scelto un tasso di inflazione terminale pari a zero. Il risultato: 21 milioni di bitcoin, niente di più. Il significato di questo fatto per il protocollo bitcoin e per il mondo in generale sarà analizzato nel Capitolo 7.
- Emissione controllata: grazie alla regolazione della difficoltà di bitcoin, l'emissione controllata è possibile in modo decentralizzato. L'aggiustamento della difficoltà è ciò che risolve il problema dell'instabilità crittoanalitica, come Satoshi sottolinea nel whitepaper: «Per compensare l'aumento della velocità dell'hardware e il diverso interesse per i nodi in esecuzione nel tempo, la difficoltà della proof-of-work è determinata da una media mobile che punta a un numero medio di blocchi all'ora. Se vengono generati troppo velocemente, la difficoltà aumenta». Durante l'era di ricompensa della rete, che terminerà all'incirca nell'anno 2140, nuovi bitcoin entreranno nell'economia a ogni blocco valido, cioè all'incirca ogni dieci minuti. L'offerta di bitcoin è stata predeterminata alla sua nascita e, probabilmente, questa è la proprietà più preziosa del protocollo bitcoin. Nessun altro asset esistente ha quello che bitcoin ha: un programma di fornitura immutabile che non può essere contestato.
In breve: la matematica consente di decentralizzare tutte le funzioni essenziali del sistema e le leggi della termodinamica permettono di ottenere forti garanzie di sicurezza. Inoltre, gli incentivi economici e la teoria dei giochi sono il collante che tiene tutto insieme.
«Il risultato è un sistema distribuito senza un singolo punto di fallimento. Gli utenti detengono le chiavi crittografiche del proprio denaro e effettuano transazioni direttamente tra di loro, con l'aiuto della rete P2P per controllare che non ci siano doppi pagamenti» - Satoshi Nakamoto
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, che si tratti di oro, certificati cartacei, proprietà immobiliari o fragole, richiede una terza parte fidata a causa dell'intrinseco scollamento 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, un elenco di cose - rimangano aggiornati e sincronizzati. Questo è il cosiddetto problema dell'oracolo, e la proof-of-work lo risolve in modo ingegnoso e circolare: utilizzando l'energia, e quindi la fisica, come verità di base. Si può anche pensare al problema dell'oracolo come a una variante del principio GIGO: Garbage In, Garbage Out. Bisogna fidarsi di chi tiene i registri e che questi siano corretti. Detto altrimenti: non si può mai essere sicuri che i dati a disposizione rappresentino la realtà, a meno che la realtà non sia radicata nella stessa computazione.
Un'idea quanto mai tempestiva
«Non si possono distruggere le idee sopprimendole. Si possono distruggere solo ignorandole. Rifiutando di pensare, rifiutando di cambiare. Ed è proprio quello che sta facendo la nostra società!» - Ursula K. Le Guin
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 i problemi in modo pratico, non accademico. Il primo è risolto dalla timechain condivisa a livello globale e mantenuta sincronizzata tramite una lotteria competitiva, il secondo è risolto dall'aggiustamento della difficoltà e dal dimezzamento della ricompensa dei blocchi. Bitcoin utilizza le migliori idee dei suoi predecessori (firme digitali, proof-of-work riutilizzabili, 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 l'intero sistema. Senza la time chain, non ci sarebbe un modo decentralizzato per verificare la presenza di doppi pagamenti. Senza il dimezzamento della ricompensa dei blocchi, l'offerta di bitcoin si espanderebbe all'infinito. Senza la regolazione della difficoltà, l'algoritmo di mining non avrebbe stabilità crittoanalitica, rendendo banale per i miner produrre bitcoin più rapidamente. Molti cypherpunk sognavano il contante digitale. Satoshi ha portato questa idea più avanti di chiunque altro prima di lui, implementando un sistema che è praticamente inarrestabile. Qualunque cosa accada nei prossimi decenni, il gatto è fuori dal sacco e tutti dovranno adattarsi a un mondo in cui bitcoin esiste.
Bitcoin è un'idea per la quale i tempi sono ormai maturi. Man mano che sempre più persone, aziende e persino stati nazionali si avvicinano a un bitcoin standard, la gravità inarrestabile dell'idea di Satoshi diventa sempre più evidente. Implementando la sua idea, Satoshi ha dimostrato che una soluzione pratica ai problemi che hanno afflitto la moneta digitale per decenni - la doppia spesa e la scarsità digitale - è possibile. Il rilascio del suo software ha messo in moto un processo pluridecennale 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 dalle mani dello stato. Ci vorrà un po' di tempo prima che il mondo si renda conto di questa idea potentissima. È divertente notare che il tempo è anche la ragione per cui bitcoin funziona, poiché la principale intuizione di Satoshi è come tenere il tempo in un sistema decentralizzato. Molti pensavano che il problema fosse irrisolvibile. Si è scoperto che mancava solo l'idea giusta.
Note a piè di pagina
1 Il nome cypherpunk è una combinazione giocosa delle parole cipher (un algoritmo che cripta e/o decripta un messaggio) e cyberpunk (un sottogenere di fantascienza generato dalle opere di autori come Philip K. Dick, William Gibson, Ridley Scott e molti altri)
2 Autorità che assegna i numeri su Internet 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, A method for obtaining digital signatures and public-key cryptosystems (ACM, PDF)
6 Dwork e Naor, 1992, Pricing via Processing (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 provare voi stessi utilizzando vari strumenti online (ad esempio DuckDuckGo) o digitando quanto segue in una riga di comando: echo -n 1:20:040806:foo::65f460d0726f420d:13a6b8 | sha1sum
10 In alcuni dei suoi primi scritti, ad esempio questo file README, Satoshi ha scritto bitcoin come 'BitCoin', indicando che doveva essere inteso come due parole separate
11 Dal whitepaper bit gold early incompleto, in cui Szabo introduce il concetto di beni costosi non falsificabili, collegando la scarsità di alcuni beni al costo della loro creazione
12 https://nakamotoinstitute.org/shelling-out/
13 Si vedano i suoi scritti sulla crittografia intrapolinomiale
14 MicroMint era uno dei due schemi di micropagamento proposti da Ronald L. Rivest e Adi Shamir (la R e la S di RSA). Il secondo schema si chiamava PayWord. Entrambi si concentravano su pagamenti efficienti di importi molto piccoli, estendendo lavori precedenti come Millicent di Glassman et al. Anche in questo caso l'idea è di utilizzare 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 - Vedere anche Shelling Out: The Origins of Money
16 https://nakamotoinstitute.org/finney/rpow/slides/slide010.html
17 The Onion Router,torproject.org
Made with 🧡 by Milano Trustless
Milano Trustless (31febbraioMI)
#MilanoTrustless è un progetto personale per #orangepillare 🟠💊 Milano e infondere ai (meravigliosi) milanesi la mentalità #trustless
follow me :
Related Posts
10分でわかるビットコイン
Aug 28, 2023
Bitcoin Em 10 Minutos
Aug 28, 2023
Bitcoin dalam 10 Menit
Aug 28, 2023