L’idea di Nick Szabo ha gettato le fondamenta per il protocollo creato da Satoshi Nakamoto.
Nel 1998 Nick Szabo, informatico e crittografo, propose Bit Gold, una versione decentralizzata di DigiCash. Anche se il progetto non venne mai realizzato, le sue idee avrebbero influenzato profondamente Satoshi Nakamoto. Szabo immaginò un sistema in cui la Proof-of-Work veniva utilizzata per creare una moneta digitale, un concetto che sarà centrale nella creazione di Bitcoin. Il paper ufficiale di Bit Gold venne pubblicato il 29 dicembre 2005.
L’intuizione di Szabo nasceva dalla necessità di creare un sistema monetario che potesse operare senza dipendere da autorità centrali, un’alternativa al sistema finanziario tradizionale, caratterizzato da controllo centralizzato e rischi inflazionistici.
L’idea principale era quella di sviluppare una forma di denaro digitale che combinasse le caratteristiche dell’oro fisico – come la scarsità e la fungibilità – con i vantaggi della tecnologia digitale, come la facilità di trasferimento e la divisibilità. L’obiettivo di Szabo era quello di creare una versione digitale dell’oro.
Come più volte affermato, la sua attenzione era rivolta in particolare alla risoluzione del problema della doppia spesa senza ricorrere a una terza parte fidata:
“Stavo cercando di imitare il più fedelmente possibile, nello spazio cibernetico, le caratteristiche di sicurezza e fiducia dell’oro, e la principale tra queste è che non dipende da un’autorità centrale fidata”.
L’architettura tecnica
Il sistema di Bit Gold prevedeva diversi elementi che oggi sono presenti nel protocollo Bitcoin:
- Proof-of-Work: gli utenti avrebbero dovuto risolvere problemi computazionali di difficoltà nota per generare nuove unità di bit gold; Szabo propose l’utilizzo di una “funzione di benchmark”, un meccanismo che serviva a regolare la difficoltà dei puzzle crittografici, il cui costo computazionale fosse precisamente quantificabile;
- Registro pubblico delle transazioni (precursore della timechain): ogni unità di bit gold creata sarebbe stata registrata in una catena temporale di blocchi pubblicamente accessibile e verificabile;
- Registro dei titoli: un sistema distribuito avrebbe dovuto mantenere traccia della proprietà di ogni unità di bit gold, permettendo il trasferimento tra gli utenti;
- L’utilizzo della crittografia a chiave pubblica per la sicurezza della rete.
- L’utilizzo degli unspent transaction output (UTXO), proprio come in Bitcoin. Szabo li descriveva come “diverse porzioni di bit gold”. Questi frammenti non potevano essere scambiati tra loro perché avevano valori differenti. In sostanza erano non fungibili, ovvero unici e non intercambiabili. Per creare unità fungibili, gli utenti avrebbero dovuto combinare queste porzioni di bit gold di valore diverso in unità più grandi di valore approssimativamente uguale.
Uno dei principali ostacoli all’implementazione di Bit Gold fu la difficoltà di progettare una funzione di benchmark appropriata. Szabo ammise che tale aspetto richiedeva ulteriori ricerche e poteva rivelarsi impraticabile. La necessità di quantificare precisamente la difficoltà di creazione di ogni unità di bit gold rappresentava una sfida tecnica che non fu mai completamente risolta. Inoltre Szabo si rese conto che a mano a mano che i computer diventavano ogni anno più veloci e potenti, i problemi computazionali sarebbero diventati sempre più facili da risolvere. Per risolvere tale problema Szabo aveva proposto un sistema per rendere gli hash più vecchi più preziosi nel tempo, poiché erano stati generati in periodi in cui i problemi computazionali erano più difficili da risolvere, collegando il concetto di benchmark alla rarità storica degli hash.
Nel 2011 Szabo stesso commentò le differenze principali tra Bit Gold e Bitcoin, riconoscendo i miglioramenti introdotti da Nakamoto:
- L’implementazione della proof-of-work in un sistema di consenso che incentiva i nodi (i singoli miner) anziché una proof-of-work che dimostrava solo la proprietà.
- L’algoritmo di aggiustamento della difficoltà, che sostituisce il complesso sistema di mercato automatizzato previsto in Bit Gold.
Altre differenze includono:
- La creazione di valore: in Bit Gold il valore di ogni unità doveva essere determinato dalla difficoltà computazionale del suo processo di creazione. Bitcoin, invece, adotta un approccio più semplice: tutte le unità hanno lo stesso valore, indipendentemente dal momento della loro creazione.
- Il registro delle transazioni: Bit Gold separava il registro della creazione delle unità dal registro dei titoli, che segnava i trasferimenti di proprietà. Bitcoin unifica queste due funzioni nella timechain.
Sebbene Bit Gold non sia mai stato implementato, la sua influenza su Bitcoin è stata innegabile. Quando nel 2008 Satoshi Nakamoto pubblicò il white paper di Bitcoin, molti riconobbero le similitudini con il progetto di Szabo.