Come ha fatto Satoshi a immaginare Bitcoin?
Traduzione da Bitcoin Magazine pubblicato il 13 apr 2024
Di Unchained e Dhruv Bansal
Di seguito è riportato un saggio originariamente pubblicato su Unchained.com di Dhruv Bansal, CSO e co-fondatore di Unchained, partner ufficiale della custodia collaborativa statunitense di Bitcoin Magazine.
https://unchained.com/go/how-did-satoshi-think-of-bitcoin/?utm_campaign=btcmag-launch
per scaricare un PDF di questo saggio di 7000 parole sulle origini di Bitcoin.
Bitcoin è spesso paragonato a Internet negli anni '90, ma credo che l'analogia migliore sia con il telegrafo negli anni 1840.
Il telegrafo è stata la prima tecnologia a trasmettere dati codificati quasi alla velocità della luce su lunghe distanze. Ha segnato la nascita del settore delle telecomunicazioni. Internet, sebbene sia più grande in scala, più ricco di contenuti e "molti-a-molti" invece che "uno-a-uno", è fondamentalmente ancora una tecnologia di telecomunicazione.
Sia il telegrafo che Internet si basano su modelli di business in cui le aziende impiegano capitali per costruire una rete fisica e poi fanno pagare gli utenti per l'invio di messaggi attraverso questa rete. La rete di AT&T ha storicamente trasmesso telegrammi, telefonate, pacchetti TCP / IP, messaggi di testo e ora TikTok.
La trasformazione della società attraverso le telecomunicazioni ha portato a maggiori libertà ma anche a una maggiore centralizzazione. Internet ha aumentato la portata di milioni di creatori di contenuti e piccole imprese, ma ha anche rafforzato la presa di aziende, governi e altre istituzioni ben posizionate per monitorare e manipolare l'attività online.
Ma Bitcoin non è la fine di alcuna trasformazione, è l'inizio di una. Come le telecomunicazioni, Bitcoin cambierà sia la società umana che la vita quotidiana. Prevedere oggi la portata completa di questo cambiamento è come immaginare Internet vivendo nell'era del telegrafo.
Questa serie di articoli tenta di immaginare questo futuro partendo dal passato. Questo articolo iniziale ripercorre la storia delle valute digitali prima di Bitcoin. Solo comprendendo dove i progetti precedenti hanno fallito possiamo percepire cosa rende Bitcoin vincente e come suggerisce una metodologia per costruire i sistemi decentralizzati del futuro.
SCHEMA
I. I sistemi decentralizzati sono mercati
II. I mercati decentralizzati richiedono beni decentralizzati
III. Come possono i sistemi decentralizzati prezzare i calcoli?
IV. Gli obiettivi di politica monetaria di Satoshi hanno portato a Bitcoin
V. Conclusione
Un'affermazione centrale di questo articolo è che il bitcoin può essere pensato come un adattamento del progetto b-money di Dai che elimina la libertà di creare denaro. Poche settimane dopo la pubblicazione originale di questo articolo, sono emerse nuove e-mail in cui Satoshi affermava di non avere familiarità con b-money, ma ammette che Bitcoin parte "esattamente da quel punto". Alla luce di questa nuova evidenza, riteniamo che questa affermazione centrale, sebbene non storicamente accurata, sia ancora un modo significativo e utile per pensare all'origine di Bitcoin.
COME HA FATTO SATOSHI A PENSARE A BITCOIN?
Satoshi era geniale, ma Bitcoin non è nato dal nulla.
Bitcoin ha iterato su lavori esistenti in crittografia, sistemi distribuiti, economia e filosofia politica. Il concetto di proof-of-work esisteva molto prima del suo utilizzo nel denaro e prima che cypherpunk come Nick Szabo, Wei Dai e Hal Finney avessero anticipato e influenzato la progettazione di di Bitcoin con progetti come bit gold, b-money e RPOW. Considera che, nel 2008, quando Satoshi scrisse il white paper di Bitcoin1, molte delle idee importanti per Bitcoin erano già state proposte e/o implementate:
Le valute digitali dovrebbero essere reti P2P
La proof-of-work è la base della creazione di denaro
Il denaro viene creato tramite un'asta
La crittografia a chiave pubblica viene utilizzata per definire la proprietà e il trasferimento di monete
Le transazioni sono raggruppate in blocchi
I blocchi sono concatenati tramite proof-of-work
Tutti i blocchi sono archiviati da tutti i partecipanti
Bitcoin sfrutta tutti questi concetti, ma Satoshi non ha originato nessuno. Per comprendere meglio il contributo di Satoshi, dovremmo determinare quali principi di bitcoin mancano dall'elenco.
Alcuni candidati ovvi sono la fornitura limitata di bitcoin, il consenso di Nakamoto e l'algoritmo di regolazione della difficoltà. Ma cosa ha portato Satoshi a queste idee in primo luogo?
Questo articolo esplora la storia delle valute digitali e sostiene che l'attenzione di Satoshi sulla sana politica monetaria è ciò che ha portato il bitcoin a superare le sfide che hanno sconfitto progetti precedenti come bit gold e b-money.
I. I sistemi decentralizzati sono mercati
Bitcoin è spesso descritto come un sistema decentralizzato o distribuito. Sfortunatamente, le parole "decentralizzato" e "distribuito" vengono spesso confuse. Quando applicati ai sistemi digitali, entrambi i termini si riferiscono ai modi in cui un'applicazione monolitica può essere scomposta in una rete di parti comunicanti.
Per i nostri scopi, la principale differenza tra sistemi decentralizzati e distribuiti non è la topologia dei loro diagrammi di rete, ma il modo in cui applicano le regole. Dedichiamo un po' di tempo nella sezione seguente per confrontare i sistemi distribuiti e decentralizzati e motivare l'idea che i sistemi decentralizzati robusti sono mercati.
I sistemi distribuiti si basano sulle autorità centrali
In questo lavoro, intendiamo per "distribuito" qualsiasi sistema che è stato suddiviso in molte parti (spesso denominate "nodi") che devono comunicare, in genere su una rete.
Gli ingegneri del software sono diventati esperti nella costruzione di sistemi distribuiti a livello globale. Internet è composto da sistemi distribuiti che contengono collettivamente miliardi di nodi. Ognuno di noi ha un nodo in tasca che partecipa e si affida a questi sistemi.
Ma quasi tutti i sistemi distribuiti che utilizziamo oggi sono governati da un'autorità centrale, in genere un amministratore di sistema, un'azienda o un governo di cui tutti i nodi del sistema si fidano reciprocamente.
Le autorità centrali assicurano che tutti i nodi aderiscano alle regole del sistema e rimuovano, riparano o puniscono i nodi che non lo fanno. Ci si fida che forniscano coordinamento, risolvano conflitti e allochino risorse condivise. Nel tempo, le autorità centrali gestiscono le modifiche al sistema, aggiornandolo o aggiungendo funzionalità e garantendo che i nodi partecipanti siano conformi alle modifiche.
I vantaggi che un sistema distribuito ottiene facendo affidamento su un'autorità centrale derivano dai costi. Mentre il sistema è robusto contro i guasti dei suoi nodi, un fallimento della sua autorità centrale può causare il suo arresto del funzionamento complessivo. La capacità dell'autorità centrale di prendere unilateralmente decisioni significa che sovvertire o eliminare l'autorità centrale è sufficiente per controllare o distruggere l'intero sistema.
Nonostante questi compromessi, se esiste un requisito per cui una singola parte o coalizione deve mantenere l'autorità centrale, o se i partecipanti all'interno del sistema sono contenti di fare affidamento su un'autorità centrale, allora un sistema distribuito tradizionale è la soluzione migliore. Non è richiesta alcuna blockchain, token o simile "condimento decentralizzato".
In particolare, il caso di una criptovaluta sostenuta da Venture Capital o dal governo, con requisiti che una singola parte può monitorare o limitare i pagamenti e congelare i conti, è il caso d'uso perfetto per un sistema distribuito tradizionale.
I sistemi decentralizzati non hanno autorità centrali
Intendiamo "decentralizzato" con un significato più forte di "distribuito": i sistemi decentralizzati sono un sottoinsieme di sistemi distribuiti ai quali manca qualsiasi autorità centrale. Un sinonimo vicino di "decentralizzato" è "peer-to-peer" (P2P).
La rimozione dell'autorità centrale conferisce diversi vantaggi. I sistemi decentralizzati:
Crescono rapidamente perché non hanno barriere all'ingresso: chiunque può far crescere il sistema semplicemente eseguendo un nuovo nodo e non è richiesto alcun requisito di registrazione o approvazione da parte dell'autorità centrale.
Sono robusti perché non esiste un'autorità centrale il cui fallimento può compromettere il funzionamento del sistema. Tutti i nodi sono uguali, quindi i guasti sono locali e la rete aggira i danni.
Sono difficili da catturare, regolamentare, tassare o sorvegliare perché mancano di punti di controllo centralizzati che i governi possono sovvertire.
Questi punti di forza sono il motivo per cui Satoshi ha scelto un design decentralizzato e peer-to-peer per bitcoin:
"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." - Nakamoto, 2008
Ma questi punti di forza hanno corrispondenti punti deboli. I sistemi decentralizzati possono essere meno efficienti in quanto ogni nodo deve inoltre assumersi responsabilità di coordinamento precedentemente assunte dall'autorità centrale.
I sistemi decentralizzati sono anche afflitti da comportamenti fraudolenti e contraddittori. Nonostante il cenno di Satoshi a Gnutella, chiunque abbia utilizzato un programma di condivisione file P2P per scaricare un file che si è rivelato essere qualcosa di disgustoso o dannoso comprende i motivi per cui la condivisione file P2P non è mai diventata il modello mainstream per il trasferimento di dati online.
Satoshi non l'ha nominato esplicitamente, ma l'email è un altro sistema decentralizzato che ha eluso i controlli governativi. E l'email è altrettanto nota per lo spam.
I sistemi decentralizzati sono regolati attraverso incentivi
Il problema di fondo, in tutti questi casi, è che il comportamento contraddittorio (condividere file dannosi, inviare email di spam) non viene punito e il comportamento cooperativo (condividere file validi, inviare solo email utili) non viene premiato. I sistemi decentralizzati che si affidano ai propri partecipanti per essere buoni attori non riescono a scalare perché non possono impedire anche ai cattivi attori di partecipare.
Senza imporre un'autorità centrale, l'unico modo per risolvere questo problema è utilizzare incentivi economici. I buoni attori, per definizione, rispettano le regole perché sono intrinsecamente motivati a farlo. I cattivi attori sono, per definizione, egoisti e contraddittori, ma incentivi economici adeguati possono reindirizzare il loro cattivo comportamento verso il bene comune. I sistemi decentralizzati che scalano lo fanno garantendo che il comportamento cooperativo sia redditizio e il comportamento contraddittorio sia costoso.
Il modo migliore per implementare servizi decentralizzati robusti è creare mercati in cui tutti gli attori, buoni e cattivi, siano pagati per fornire quel servizio. La mancanza di barriere all'ingresso per acquirenti e venditori in un mercato decentralizzato incoraggia la scalabilità e l'efficienza. Se i protocolli del mercato possono proteggere i partecipanti da frodi, furti e abusi, i cattivi attori troveranno più redditizio rispettare le regole o attaccare un sistema diverso..
II. I mercati decentralizzati richiedono beni decentralizzati
Ma i mercati sono complessi. Devono fornire agli acquirenti e ai venditori la possibilità di pubblicare offerte e richieste, nonché di scoprire, abbinare e saldare gli ordini. Devono essere equi, fornire una forte coerenza e mantenere la disponibilità nonostante i periodi di volatilità.
I mercati globali oggi sono estremamente capaci e sofisticati, ma l'utilizzo di beni e reti di pagamento tradizionali per attuare incentivi in un mercato decentralizzato non è un inizio. Qualsiasi accoppiamento tra un sistema decentralizzato e denaro fiat, attività tradizionali o materie prime fisiche reintrodurrebbe dipendenze dalle autorità centrali che controllano i processori di pagamento, le banche e gli exchange.
I sistemi decentralizzati non possono trasferire denaro contante, cercare il saldo di un conto di intermediazione o determinare la proprietà di una proprietà. I beni tradizionali sono completamente illeggibili dall'interno di un sistema decentralizzato. Il contrario non è vero: i sistemi tradizionali possono interagire con Bitcoin con la stessa facilità di qualsiasi altro attore (una volta che decidono di farlo). Il confine tra sistemi tradizionali e decentralizzati non è un muro invalicabile, ma una membrana semipermeabile.
Ciò significa che i sistemi decentralizzati non possono eseguire pagamenti denominati in alcun bene tradizionale. Non possono nemmeno determinare i saldi dei conti denominati in valuta fiat o la proprietà di immobili o beni fisici. L'intera economia tradizionale è completamente illeggibile dall'interno dei sistemi decentralizzati.
La creazione di mercati decentralizzati richiede lo scambio di nuovi tipi di beni decentralizzati che siano leggibili e trasferibili all'interno di sistemi decentralizzati.
Il calcolo è il primo bene decentralizzato
Il primo esempio di un bene decentralizzato “” è una classe speciale di calcoli proposta per la prima volta nel 1993 da Cynthia Dwork e Moni Naor.2
A causa delle profonde connessioni tra matematica, fisica e informatica, questi calcoli costano energia nel mondo reale e risorse hardware — non possono essere falsificati. Poiché le risorse del mondo reale sono scarse, anche questi calcoli sono scarsi.
L'input per questi calcoli può essere qualsiasi tipo di dato. L'output risultante è una “prova” digitale che i calcoli sono stati eseguiti sui dati di input forniti. Le prove contengono una data “difficoltà” che è la prova (statistica) di una determinata quantità di lavoro computazionale. Ancora più importante, la relazione tra i dati di input, la prova e il lavoro computazionale originale eseguito può essere verificata in modo indipendente senza appello a nessuna autorità centrale.
L'idea di trasmettere alcuni dati di input insieme a una prova digitale come prova di lavoro computazionale del mondo reale eseguito su tale input è ora chiamata “prova di lavoro”, proof-of-work.3 Le prove del lavoro sono, per usare la frase di Nick Szabo, “costo non falsificabile ”. Poiché le prove del lavoro sono verificabili da chiunque, sono risorse economiche leggibili da tutti i partecipanti a un sistema decentralizzato. Le prove del lavoro trasformano i calcoli sui dati in beni decentralizzati. Dwork e Naor hanno proposto di utilizzare i calcoli per limitare l'abuso di una risorsa condivisa costringendo i partecipanti a fornire prove del lavoro con una certa difficoltà minima prima di poter accedere alla risorsa:
"In questo documento suggeriamo un approccio computazionale per combattere la proliferazione della posta elettronica. Più in generale, abbiamo progettato un meccanismo di controllo degli accessi che può essere utilizzato ogni volta che è desiderabile limitare, ma non vietare, l'accesso a una risorsa. "- Dwoak & Naor, 1993
Nella proposta di Dwork & Naor, un amministratore del sistema di posta elettronica imposterà una difficoltà minima di prova di lavoro per la consegna della posta elettronica. Gli utenti che desiderano inviare e-mail dovrebbero eseguire un numero corrispondente di calcoli con quell'e-mail come dati di input. La prova risultante verrà inviata al server insieme a qualsiasi richiesta di consegna dell'e-mail.
Dwork e Naor si riferivano alla difficoltà di una prova di lavoro come una “funzione di prezzo” perché, adeguando la difficoltà, un' “autorità di prezzo” potrebbe garantire che la risorsa condivisa rimanga economica da utilizzare per utenti onesti, utenti medi ma costosi per gli utenti che cercano di sfruttarla. Nel mercato della consegna della posta elettronica, gli amministratori dei server sono le autorità di determinazione del prezzo; devono scegliere un “prezzo” per la consegna della posta elettronica che sia abbastanza basso per il normale utilizzo ma troppo alto per lo spam.
Sebbene Dwork e Naor abbiano inquadrato le proof-of-work come un disincentivo economico per combattere l'abuso di risorse, la nomenclatura "funzione di prezzo" e "autorità di prezzo" supporta un'interpretazione diversa, basata sul mercato: gli utenti stanno acquistando l'accesso a una risorsa in cambio di calcoli a un prezzo stabilito dal controllore della risorsa.
In questa interpretazione, una rete di consegna e-mail è in realtà un mercato decentralizzato che commercia la consegna e-mail per i calcoli. La difficoltà minima di una prova di lavoro è il prezzo richiesto per la consegna e-mail denominato nella valuta dei calcoli.
La valuta è il secondo bene decentralizzato
Ma i calcoli non sono una buona valuta.
Le prove utilizzate per "scambiare" i calcoli sono valide solo per l'input utilizzato in quei calcoli. Questo legame indissolubile tra una prova specifica e un input specifico significa che la proof-of-work per un input non può essere riutilizzata per un input diverso.
La prova di lavoro è stata originariamente proposta come meccanismo di controllo degli accessi per limitare le e-mail di spam. Gli utenti dovrebbero fornire prove del lavoro insieme a tutte le e-mail che desiderano inviare. Questo meccanismo può anche essere considerato come un mercato in cui gli utenti acquistano consegne via e-mail con calcoli a un prezzo scelto dal fornitore di servizi e-mail.
Questo vincolo è utile –, può essere utilizzato per impedire che il lavoro svolto da un acquirente sul mercato venga ri-speso da un altro. Ad esempio, HashCash, la prima vera implementazione del mercato per la consegna di e-mail, includeva metadati come il timestamp corrente e l'indirizzo e-mail del mittente nei dati di input per i suoi calcoli di prova di lavoro. Le prove prodotte da un determinato utente per una determinata email non possono essere spese nuovamente per l'invio di un'email diversa.
Ma questo significa anche che i calcoli della prova di lavoro sono beni su misura. Non sono fungibili, non possono essere spesi di nuovo4 e non risolvono il problema della coincidenza dei desideri. Queste proprietà monetarie mancanti impediscono ai calcoli di essere valuta. Nonostante il nome, non c'è alcun incentivo per un fornitore di servizi di consegna email a voler accumulare HashCash, come ci sarebbe per il denaro reale.
Adam Back, inventore di HashCash, ha compreso questi problemi:
"Hashcash non è direttamente trasferibile perché, per renderlo distribuito, ogni fornitore di servizi accetta pagamenti solo in contanti creati per loro. Potresti forse impostare una zecca in stile Digicash (con eCash chaumiano) e fare in modo che la banca conii solo contanti al ricevimento di collisioni hash indirizzate ad essa. Tuttavia, ciò significa che devi fidarti che la banca non conii quantità illimitate di denaro per uso personale." - Adam Back, 1997
Non vogliamo scambiare calcoli su misura per ogni singolo bene o servizio venduto in un'economia decentralizzata. Vogliamo una valuta digitale per uso generale che possa essere utilizzata direttamente per coordinare gli scambi di valore in qualsiasi mercato.
Costruire una valuta digitale funzionante pur rimanendo decentralizzata è una sfida significativa. Una valuta richiede unità fungibili di uguale valore che possono essere trasferite tra gli utenti. Ciò richiede modelli di emissione, definizioni crittografiche di proprietà e trasferimento, un processo di scoperta e regolamento per le transazioni e un libro mastro storico. Nessuna di queste infrastrutture è richiesta quando la proof-of-work è pensata come un mero "meccanismo di controllo degli accessi".
Inoltre, i sistemi decentralizzati sono mercati, quindi tutte queste funzioni di base di una valuta devono in qualche modo essere fornite tramite il pagamento dei fornitori di servizi... nelle unità della valuta che viene creata!
Come compilare il primo compilatore, una partenza al buio della rete elettrica o l'evoluzione della vita stessa, i creatori di valute digitali si sono trovati di fronte a un problema di bootstrap: come definire gli incentivi economici che sono alla base di una valuta funzionante senza avere una valuta funzionante in cui denominare o pagare tali incentivi.
I calcoli e la valuta sono il primo e il secondo bene nei mercati decentralizzati. La sola prova di lavoro consente lo scambio di calcoli, ma una valuta funzionante richiede più infrastrutture. Ci sono voluti 15 anni affinché la comunità cypherpunk sviluppasse quell'infrastruttura.
Il primo mercato decentralizzato deve scambiare calcoli per la valuta
I progressi in questo problema di bootstrap derivano dalla corretta definizione dei suoi vincoli.
I sistemi decentralizzati devono essere mercati. I mercati sono costituiti da acquirenti e venditori che scambiano beni. Il mercato decentralizzato per una valuta digitale ha solo due beni leggibili al suo interno:
Calcoli tramite proof-of-work
Unità della valuta che stiamo cercando di costruire
L'unico commercio di mercato possibile deve quindi essere tra questi due beni. I calcoli devono essere venduti per unità di valuta o, equivalentemente, le unità di valuta devono essere vendute per calcoli. Dichiarare questo è facile: la parte difficile è strutturare questo mercato in modo che il semplice scambio di valuta per calcolo avvii tutte le capacità della valuta stessa!
L'intera storia delle valute digitali che culmina nel white paper di Satoshi del 2008 è stata una serie di tentativi sempre più sofisticati di strutturare questo mercato. La sezione seguente esamina progetti come bit gold di Nick Szabo e b-money di Wei Dai. Capire come questi progetti hanno strutturato i loro mercati e perché hanno fallito ci aiuterà a inquadrare perché Satoshi e Bitcoin hanno avuto successo.
III. Come possono essere calcolati i prezzi dei sistemi decentralizzati?
Una delle principali funzioni dei mercati è la scoperta del prezzo. Un mercato che scambia calcoli per valuta deve quindi scoprire il prezzo del calcolo stesso, denominato in unità di quella valuta.
In genere non assegniamo valore monetario ai calcoli. In genere valutiamo la capacità di eseguire calcoli perché valutiamo l'output dei calcoli, non i calcoli stessi. Se lo stesso output può essere eseguito in modo più efficiente, con un minor numero di calcoli, questo viene generalmente chiamato “progresso”.
Le prove del lavoro rappresentano calcoli specifici il cui unico output è la prova che sono stati eseguiti. Produrre la stessa prova eseguendo meno calcoli e meno lavoro non sarebbe un progresso — sarebbe un bug. I calcoli associati alle prove del lavoro sono quindi uno strano e nuovo bene da tentare di valorizzare.
Quando le prove del lavoro sono considerate disincentivi contro l'abuso di risorse, non è necessario valutarle con precisione o coerenza. Tutto ciò che conta è che il fornitore di servizi di posta elettronica pone difficoltà abbastanza basse da essere impercettibile per gli utenti legittimi ma abbastanza in alto da essere proibitivo per gli spammer. Esiste quindi un'ampia gamma di prezzi “accettabili ” e ogni partecipante funge da propria autorità di determinazione del prezzo, applicando una funzione di prezzo locale.
Ma le unità di una valuta sono pensate per essere fungibili, ognuna con lo stesso valore. A causa di cambiamenti tecnologici nel tempo, due unità di valuta create con la stessa difficoltà di prova di lavoro — misurata dal numero di calcoli corrispondenti — possono avere costi di produzione del mondo reale radicalmente diversi, misurati dal tempo , energia e / o capitale per eseguire tali calcoli. Quando i calcoli vengono venduti per la valuta e il costo di produzione sottostante è variabile, come può il mercato garantire un prezzo coerente?
Nick Szabo ha chiaramente identificato questo problema di prezzo quando descriveva bit gold:
"Il problema principale... è che gli schemi di proof-of-work dipendono dall'architettura del computer, non solo da una matematica astratta basata su un "ciclo di calcolo" astratto. ... Quindi, potrebbe essere possibile essere un produttore a bassissimo costo (di diversi ordini di grandezza) e inondare il mercato con bit gold." - Szabo, 2005
Una valuta decentralizzata creata tramite proof-of-work subirà eccessi di offerta e crolli man mano che l'offerta di calcoli cambia nel tempo. Per far fronte a questa volatilità, la rete deve imparare a prezzare dinamicamente i calcoli.
Le prime valute digitali hanno tentato di prezzare i calcoli tentando di misurare collettivamente il "costo del calcolo". Wei Dai, ad esempio, propone la seguente soluzione approssimativa in b-money:
"Il numero di unità monetarie create è uguale al costo dello sforzo computazionale in termini di un paniere standard di materie prime. Ad esempio, se un problema richiede 100 ore per essere risolto sul computer che lo risolve in modo più economico e occorrono 3 panieri standard per acquistare 100 ore di tempo di elaborazione su quel computer sul mercato aperto, quindi alla trasmissione della soluzione a quel problema tutti accreditano l'account dell'emittente di 3 unità." - Dai, 1998
Sfortunatamente, Dai non spiega come gli utenti in un sistema presumibilmente decentralizzato dovrebbero concordare la definizione di un "paniere standard", quale computer risolve un dato problema "in modo più economico" o il costo del calcolo sul "mercato aperto". Raggiungere il consenso tra tutti gli utenti su un set di dati condiviso variabile nel tempo è il problema essenziale dei sistemi decentralizzati!
Per essere onesti con Dai, ha capito questo:
"Una delle parti più problematiche del protocollo b-money è la creazione di denaro. Questa parte del protocollo richiede che tutti gli [utenti] decidano e concordino il costo di particolari calcoli. Sfortunatamente, poiché la tecnologia informatica tende ad avanzare rapidamente e non sempre pubblicamente, queste informazioni potrebbero non essere disponibili, inesatte o obsolete, il che causerebbe seri problemi al protocollo. "- Dai, 1998
Dai avrebbe continuato a proporre un meccanismo di determinazione dei prezzi più sofisticato basato sull'asta che Satoshi avrebbe poi affermato essere il punto di partenza delle sue idee. Torneremo a questo schema di aste di seguito, ma prima passiamo al bit gold e consideriamo le intuizioni di Szabo sul problema.
Usa mercati esterni
Szabo sostiene che le proof-of-work dovrebbero essere "marcate temporalmente in modo sicuro":
"La proof-of-work è marcata temporalmente in modo sicuro. Questo dovrebbe funzionare in modo distribuito, con diversi servizi di timestamp in modo che nessun particolare servizio di timestamp debba essere sostanzialmente affidabile." - Szabo, 2005
Szabo fornisce un link a una pagina di risorse sui protocolli di timestamp sicuri ma non descrive alcun algoritmo specifico per il timestamp sicuro. Le frasi "in modo sicuro" e "in modo distribuito" hanno molto peso qui, sorvolando sulle complessità dell'affidarsi a uno (o molti) servizi "esterni al sistema" per la marcatura temporale.5
Il momento in cui un'unità di valuta digitale è stata creata è importante perché collega i calcoli eseguiti al costo di produzione nel mondo reale.
Indipendentemente dall'imprecisione dell'implementazione, Szabo aveva ragione: il momento in cui è stata creata una proof-of-work è un fattore importante nel suo prezzo perché è correlato al costo del calcolo:
"... Tuttavia, poiché bit gold è marcato temporalmente, il momento della creazione e la difficoltà matematica del lavoro possono essere dimostrati automaticamente. Da ciò, di solito si può dedurre quale fosse il costo di produzione durante quel periodo di tempo..." - Szabo, 2005
"Dedurre" il costo di produzione è importante perché bit gold non ha alcun meccanismo per limitare la creazione di denaro. Chiunque può creare bit gold eseguendo i calcoli appropriati. Senza la capacità di regolamentare l'emissione, bit gold è simile a un oggetto da collezione:
"... A differenza degli atomi fungibili dell'oro, ma come per gli oggetti da collezione, una grande offerta durante un determinato periodo di tempo farà diminuire il valore di quegli articoli particolari. Sotto questo aspetto, bit gold si comporta più come oggetti da collezione che come oro..." - Szabo, 2005
Bit gold richiede un processo aggiuntivo ed esterno per creare unità di valuta fungibili:
"... [B]it gold non sarà fungibile in base a una semplice funzione di, ad esempio, la lunghezza della stringa. Invece, per creare unità fungibili, i rivenditori dovranno combinare pezzi di bit gold di valore diverso in unità più grandi di valore approssimativamente uguale. Questo è analogo a ciò che fanno oggi molti commercianti di materie prime per rendere possibili i mercati delle materie prime. La fiducia è ancora distribuita perché i valori stimati di tali pacchetti possono essere verificati in modo indipendente da molte altre parti in modo in gran parte o interamente automatizzato." - Szabo, 2005
Per parafrasare Szabo, "per saggiare il valore di... bit gold, un rivenditore controlla e verifica la difficoltà, l'input e il timestamp". I rivenditori che definiscono "unità più grandi di valore approssimativamente uguale" stanno fornendo una funzione di prezzo simile al "paniere standard di materie prime" di Dai. Le unità fungibili non vengono create in bit gold quando vengono prodotte le proof-of-work, ma solo successivamente quando tali prove vengono combinate in "unità di valore approssimativamente uguale" più grandi dai rivenditori nei mercati al di fuori della rete.
A suo merito, Szabo riconosce questo difetto:
"... Il potenziale per eccessi di offerta inizialmente nascosti a causa di innovazioni nascoste nell'architettura della macchina è un potenziale difetto in bit gold, o almeno un'imperfezione che le aste iniziali e gli scambi ex post di bit gold dovranno affrontare." - Szabo, 2005
Ancora una volta, pur non essendo arrivato a (quella che ora conosciamo come) la soluzione, Szabo ce la stava indicando: poiché il costo del calcolo cambia nel tempo, la rete deve rispondere ai cambiamenti nell'offerta di calcolo adeguando il prezzo del denaro.
Usa i mercati interni
I rivenditori di Szabo sarebbero stati un mercato esterno che definiva il prezzo di (pacchetti di) bit gold dopo la sua creazione. È possibile implementare questo mercato all'interno del sistema invece che al di fuori di esso?
Torniamo a Wei Dai e b-money. Come accennato in precedenza, Dai ha proposto un modello alternativo basato su aste per la creazione di b-money. Il design di Satoshi per Bitcoin migliora direttamente il modello di asta di b-money6:
"Quindi propongo un sottoprotocollo alternativo per la creazione di denaro, in cui [gli utenti]... decidono e concordano invece la quantità di b-money da creare ogni periodo, con il costo di creazione di quel denaro determinato da un'asta. Ogni periodo di creazione di denaro è suddiviso in quattro fasi, come segue:
Pianificazione. Gli [utenti] calcolano e negoziano tra loro per determinare un aumento ottimale dell'offerta di moneta per il periodo successivo. Indipendentemente dal fatto che la [rete] possa raggiungere o meno un consenso, ognuno trasmette la propria quota di creazione di denaro e qualsiasi calcolo macroeconomico fatto per supportare le cifre.
Offerta. Chiunque voglia creare b-money trasmette un'offerta nella forma di dove x è la quantità di b-money che vuole creare e y è un problema irrisolto da una classe di problemi predeterminata. Ogni problema in questa classe dovrebbe avere un costo nominale (diciamo in MIPS-anni) che è pubblicamente concordato.
Calcolo. Dopo aver visto le offerte, coloro che hanno fatto offerte nella fase di offerta possono ora risolvere i problemi nelle loro offerte e trasmettere le soluzioni. Creazione di denaro.
Creazione di denaro. Ogni [utente] accetta le offerte più alte (tra coloro che hanno effettivamente trasmesso soluzioni) in termini di costo nominale per unità di b-money creata e accredita i conti degli offerenti di conseguenza." Dai, 1998
B-money fa passi da gigante verso la corretta struttura di mercato per una valuta digitale. Tenta di eliminare i rivenditori esterni di Szabo e consentire agli utenti di impegnarsi nella scoperta dei prezzi facendo offerte direttamente l'uno contro l'altro.
Ma implementare la proposta di Dai così come è scritta sarebbe impegnativo:
Nella fase di "Pianificazione", gli utenti si assumono l'onere di negoziare "l'aumento ottimale dell'offerta di moneta per il periodo successivo". Non viene descritto come dovrebbe essere definito "ottimale", come gli utenti dovrebbero negoziare tra loro e come vengono condivisi i risultati di tali negoziazioni.
Indipendentemente da ciò che è stato pianificato, la fase di "Offerta" consente a chiunque di presentare un'"offerta" per creare b-money. Le offerte includono sia una quantità di b-money da creare sia una quantità corrispondente di proof-of-work, quindi ogni offerta è un prezzo, il numero di calcoli che un determinato offerente è disposto a eseguire per acquistare una determinata quantità di b-money.
Una volta inviate le offerte, la fase di "calcolo" consiste negli offerenti che eseguono la proof-of-work che hanno offerto e trasmettono le soluzioni. Non vengono forniti meccanismi per abbinare gli offerenti alle soluzioni. Più problematicamente, non è chiaro come gli utenti dovrebbero sapere che tutte le offerte sono state inviate: quando termina la fase di "Offerta" e inizia la fase di "calcolo"?
Questi problemi si ripresentano nella fase di "Creazione di denaro". A causa della natura della proof-of-work, gli utenti possono verificare che le prove che ricevono nelle soluzioni siano reali. Ma come possono gli utenti concordare collettivamente l'insieme delle "offerte più alte"? Cosa succede se utenti diversi scelgono set diversi, a causa di preferenze o latenza della rete?
I sistemi decentralizzati faticano a tenere traccia dei dati e a fare scelte in modo coerente, tuttavia b-money richiede di tenere traccia delle offerte di molti utenti e di fare scelte consensuali tra loro. Questa complessità ha impedito a b-money di essere mai implementato.
La radice di questa complessità è la convinzione di Dai che il tasso "ottimale" a cui viene creato b-money dovrebbe fluttuare nel tempo in base ai "calcoli macroeconomici" dei suoi utenti. Come bit gold, b-money non ha alcun meccanismo per limitare la creazione di denaro. Chiunque può creare unità di b-money trasmettendo un'offerta e quindi eseguendo la corrispondente proof-of-work.
Sia Szabo che Dai hanno proposto di utilizzare un mercato che scambia valuta digitale con calcoli, ma né bit gold né b-money hanno definito una politica monetaria per regolamentare l'offerta di valuta all'interno di questo mercato.
IV. Gli obiettivi di politica monetaria di Satoshi hanno portato al bitcoin
Al contrario, una solida politica monetaria era uno degli obiettivi principali di Satoshi per il progetto Bitcoin. Nel primissimo post della mailing list in cui è stato annunciato Bitcoin, Satoshi ha scritto:
"Il problema di fondo con la valuta convenzionale è tutta la fiducia necessaria per farla funzionare. Bisogna fidarsi che la banca centrale non svaluti la valuta, ma la storia delle valute fiat è piena di violazioni di quella fiducia." - Satoshi, 2009
Satoshi avrebbe continuato a descrivere altri problemi con le valute fiat come il rischioso sistema bancario a riserva frazionaria, la mancanza di privacy, i furti e le frodi dilaganti e l'incapacità di effettuare micropagamenti. Ma Satoshi ha iniziato con il problema del deprezzamento da parte delle banche centrali, con una preoccupazione per la politica monetaria.
Satoshi voleva che Bitcoin raggiungesse in definitiva un'offerta circolante finita che non può essere diluita nel tempo. Il tasso "ottimale" di creazione di Bitcoin, per Satoshi, dovrebbe quindi alla fine essere zero.
Questo obiettivo di politica monetaria, più di ogni altra caratteristica che possedevano personalmente (o collettivamente!), è stata la ragione per cui Satoshi ha "scoperto" Bitcoin, la blockchain, il consenso Nakamoto, ecc. - e non qualcun altro. È la risposta breve alla domanda posta nel titolo di questo articolo: Satoshi ha pensato a Bitcoin perché era concentrato sulla creazione di una valuta digitale con un'offerta finita.
Un'offerta finita di Bitcoin non è solo un obiettivo di politica monetaria o un meme attorno al quale i bitcoiner si radunano. È l'essenziale semplificazione tecnica che ha permesso a Satoshi di costruire una valuta digitale funzionante mentre b-money di Dai è rimasto solo un affascinante post web.
Bitcoin è b-money con un ulteriore requisito di una politica monetaria predeterminata. Come molte semplificazioni tecniche, vincolare la politica monetaria consente progressi riducendo l'ambito. Vediamo come ciascuna delle fasi della creazione di b-money viene semplificata imponendo questo vincolo.
Tutti i 21 milioni di bitcoin esistono già
In b-money, ogni "periodo di creazione di denaro" includeva una fase di "Pianificazione", in cui ci si aspettava che gli utenti condividessero i loro "calcoli macroeconomici" giustificando la quantità di b-money che volevano creare in quel momento. Gli obiettivi di politica monetaria di Satoshi di un'offerta finita e una emissione a zero a lungo termine erano incompatibili con la libertà concessa da b-money ai singoli utenti di creare denaro. Il primo passo nel percorso da b-money a Bitcoin è stato quindi eliminare questa libertà. I singoli utenti Bitcoin non possono creare Bitcoin. Solo la rete Bitcoin può creare Bitcoin, e lo ha fatto esattamente una volta, nel 2009, quando Satoshi ha lanciato il progetto Bitcoin.
Satoshi è stato in grado di sostituire le ricorrenti fasi di "Pianificazione" di b-money con un unico programma predeterminato in base al quale i 21 milioni di Bitcoin creati nel 2009 sarebbero stati rilasciati in circolazione. Gli utenti approvano volontariamente la politica monetaria di Satoshi scaricando ed eseguendo il software Bitcoin Core in cui questa politica monetaria è fissata nel codice.
Questo cambia la semantica del mercato dei calcoli di Bitcoin. I Bitcoin pagati ai minatori non sono di nuova emissione; vengono rilasciati come nuovi in circolazione da una supply, offerta, esistente.
Questa definizione è sostanzialmente diversa dall'ingenua affermazione che "i minatori di Bitcoin creano Bitcoin". I minatori di Bitcoin non stanno creando Bitcoin, lo stanno comprando. Bitcoin non ha valore perché "i Bitcoin sono fatti di energia": il valore di Bitcoin è dimostrato dall'essere venduto per energia.
Ripetiamolo ancora una volta: Bitcoin non viene creato tramite proof-of-work, Bitcoin viene creato tramite consenso.
Il design di Satoshi elimina la necessità di fasi di "Pianificazione" continue da b-money eseguendo tutta la pianificazione in anticipo. Ciò ha permesso a Satoshi di codificare una solida politica monetaria, ma ha anche semplificato l'implementazione di Bitcoin.
Bitcoin ha un prezzo attraverso il consenso
Questa libertà concessa agli utenti di creare denaro si traduce in un corrispondente onere per la rete b-money. Durante la fase di "Offerta", la rete b-money deve raccogliere e condividere le "offerte" di creazione di denaro da molti utenti diversi.
Eliminare la libertà di creare denaro solleva la rete Bitcoin da questo onere. Poiché tutti i 21 milioni di Bitcoin esistono già, la rete non ha bisogno di raccogliere offerte dagli utenti per creare denaro, deve semplicemente vendere Bitcoin secondo il programma predeterminato di Satoshi.
La rete Bitcoin offre quindi un prezzo richiesto di consenso per i Bitcoin che vende in ogni blocco. Questo prezzo unico viene calcolato da ciascun nodo in modo indipendente utilizzando la sua copia della blockchain. Se i nodi hanno un consenso sulla stessa blockchain (un punto su cui torneremo più avanti) offriranno tutti un prezzo richiesto identico a ogni blocco.7
La prima metà del calcolo del prezzo di consenso determina quanti Bitcoin vendere. Questo è fissato dal programma di rilascio predeterminato di Satoshi. Tutti i nodi Bitcoin nella rete calcolano lo stesso importo per un dato blocco:
$ bitcoin-cli getblockstats <block_height> {... "subsidy":6250000000, ... } # 6.25 ВТС
La seconda metà del prezzo richiesto di consenso è il numero di calcoli per i quali viene venduto l'attuale sussidio. Ancora una volta, tutti i nodi Bitcoin nella rete calcolano lo stesso valore (rivedremo questo calcolo della difficoltà nella prossima sezione):
$ bitcoin-cli getdifficulty { "result":55621444139429.57, ... }
Insieme, il sussidio di rete e la difficoltà definiscono l'attuale richiesta di Bitcoin denominata in calcoli. Poiché la blockchain è in consenso, questo prezzo è un prezzo di consenso.
Anche gli utenti di b-money si presumeva avessero una "blockchain" di consenso contenente la cronologia di tutte le transazioni. Ma Dai non ha mai pensato alla semplice soluzione di un unico prezzo richiesto di consenso per la creazione di nuovo b-money, determinato esclusivamente dai dati in quella blockchain.
Invece, Dai presumeva che la creazione di denaro dovesse continuare per sempre. I singoli utenti dovrebbero quindi essere autorizzati a influenzare la politica monetaria, proprio come nelle valute fiat. Questo requisito percepito ha portato Dai a progettare un sistema di offerte che ha impedito l'implementazione di b-money.
Questa complessità aggiuntiva è stata rimossa dal requisito di Satoshi di una politica monetaria predeterminata.
Il tempo chiude tutti gli spread
Nella fase di "Calcolo" di b-money, i singoli utenti eseguivano i calcoli che si erano impegnati a fare nelle loro offerte precedenti. In Bitcoin, l'intera rete è il venditore, ma chi è l'acquirente?
Nel mercato della consegna delle email, gli acquirenti erano individui che desideravano inviare email. L'autorità di prezzo, il fornitore del servizio di posta elettronica, avrebbe fissato un prezzo considerato economico per gli individui ma costoso per gli spammer. Ma se il numero di utenti legittimi aumentava, il prezzo poteva comunque rimanere lo stesso perché la potenza di calcolo dei singoli utenti sarebbe rimasta la stessa.
In b-money, ogni utente che contribuiva con un'offerta per la creazione di denaro avrebbe dovuto successivamente eseguire il numero corrispondente di calcoli da solo. Ogni utente agiva come la propria autorità di prezzo in base alla conoscenza delle proprie capacità di calcolo.
La rete Bitcoin offre un unico prezzo richiesto in calcoli per l'attuale sussidio Bitcoin. Ma nessun singolo minatore che trova un blocco ha eseguito questo numero di calcoli.8 Il blocco vincente del singolo minatore è la prova che tutti i minatori hanno eseguito collettivamente il numero richiesto di calcoli. L'acquirente di Bitcoin è quindi l'industria mineraria globale di Bitcoin.
Essendo giunta a un prezzo richiesto di consenso, la rete Bitcoin non cambierà tale prezzo finché non verranno prodotti più blocchi. Questi blocchi devono contenere proof-of-work al prezzo richiesto corrente. L'industria mineraria non ha quindi altra scelta, se vuole "eseguire uno scambio", se non quella di pagare il prezzo richiesto corrente in calcoli.
L'unica variabile che l'industria mineraria può controllare è quanto tempo ci vorrà per produrre il blocco successivo. Proprio come la rete Bitcoin offre un unico prezzo richiesto, l'industria mineraria offre quindi un'unica offerta: il tempo necessario per produrre il blocco successivo che soddisfi il prezzo richiesto corrente della rete.
Per compensare l'aumento della velocità dell'hardware e il diverso interesse nell'esecuzione dei nodi nel tempo, la difficoltà della proof-of-work è determinata da una media mobile che mira a un numero medio di blocchi all'ora. Se vengono generati troppo velocemente, la difficoltà aumenta. - Nakamoto, 2008
Satoshi descrive modestamente l'algoritmo di regolazione della difficoltà, spesso citato come una delle idee più originali nell'implementazione di Bitcoin. Questo è vero, ma invece di concentrarci sull'inventiva della soluzione, concentriamoci invece sul perché risolvere il problema fosse così importante per Satoshi in primo luogo.
Progetti come bit gold e b-money non avevano bisogno di vincolare il tasso nel tempo di creazione di denaro perché non avevano un'offerta fissa o una politica monetaria predeterminata. I periodi di creazione di denaro più veloce o più lenta potrebbero essere compensati con altri mezzi, ad esempio i rivenditori esterni che inseriscono i token bit gold in raggruppatori più grandi o più piccoli o gli utenti di b-money che modificano le loro offerte.
Ma gli obiettivi di politica monetaria di Satoshi richiedevano che Bitcoin avesse un tasso predeterminato al quale Bitcoin doveva essere rilasciato per la circolazione. Vincolare il tasso (statistico) al quale i blocchi vengono prodotti nel tempo è naturale in Bitcoin perché il tasso di produzione dei blocchi è il tasso al quale viene venduta l'offerta iniziale di Bitcoin. Vendere 21 milioni di Bitcoin in 140 anni è una proposta diversa dal consentirne la vendita in 3 mesi.
Inoltre, Bitcoin può effettivamente implementare questo vincolo perché la blockchain è il "protocollo di marcatura temporale sicuro" di Szabo. Satoshi descrive Bitcoin prima di tutto come un "server di timestamp distribuito su base peer-to-peer" e le prime implementazioni del codice sorgente di Bitcoin usano la parola "timechain" anziché "blockchain" per descrivere la struttura dati condivisa che implementa il mercato della proof-of-work di Bitcoin.9
A differenza di bit gold o b-money, i token in Bitcoin non subiscono eccessi di offerta. La rete Bitcoin utilizza la regolazione della difficoltà per modificare il prezzo del denaro in risposta alle variazioni dell'offerta di calcoli.
L'algoritmo di riaggiustamento della difficoltà di Bitcoin sfrutta questa capacità. La blockchain di consenso viene utilizzata dai partecipanti per enumerare le offerte storiche fatte dall'industria mineraria e riaggiustare la difficoltà al fine di avvicinarsi al tempo di blocco target.
Un ordine permanente crea consenso
La catena di semplificazioni causate dalla richiesta di una forte politica monetaria si estende alla fase di "Creazione di denaro" di b-money.
Le offerte inviate dagli utenti in b-money soffrono del problema del "nulla in gioco". Non esiste un meccanismo per impedire agli utenti di inviare offerte con un'enorme quantità di b-money per pochissimo lavoro. Ciò richiede alla rete sia di tenere traccia di quali offerte sono state completate sia di accettare solo le "offerte più alte... in termini di costo nominale per unità di b-money creata" al fine di evitare tali offerte fastidiose. Ogni partecipante a b-money deve tenere traccia di un intero portafoglio ordini di offerte, abbinare le offerte ai loro calcoli successivi e regolare solo tali ordini completati con i prezzi più alti.
Questo problema è un esempio del problema più generale del consenso nei sistemi decentralizzati, noto anche come problema dei "generali bizantini" o talvolta problema della "doppia spesa" nel contesto delle valute digitali. Condividere una sequenza identica di dati tra tutti i partecipanti è impegnativo all'interno di una rete avversaria e decentralizzata. Le soluzioni esistenti a questo problema, i cosiddetti "algoritmi di consenso Byzantine-fault tolerant (BFT)", richiedono un coordinamento preventivo tra i partecipanti o una maggioranza qualificata (> 67%) di partecipanti per non comportarsi in modo avversario.
Bitcoin non deve gestire un ampio portafoglio ordini di offerte perché la rete Bitcoin offre un unico prezzo richiesto di consenso. Ciò significa che i nodi Bitcoin possono accettare il primo blocco (valido) che vedono che soddisfa il prezzo richiesto corrente della rete: le offerte fastidiose possono essere facilmente ignorate e sono uno spreco di risorse per un minatore.
Il prezzo di consenso dei calcoli consente l'abbinamento degli ordini di acquisto/vendita in Bitcoin in modo rapido, in base all'ordine di arrivo. A differenza di b-money, questo abbinamento rapido degli ordini significa che il mercato di Bitcoin non ha fasi: opera in modo continuo, con un nuovo prezzo di consenso calcolato dopo che ogni singolo ordine è stato abbinato (viene trovato il blocco). Per evitare fork causati dalla latenza della rete o da comportamenti avversari, i nodi devono anche seguire la regola della catena più pesante. Questa regola di regolamento degli ordini avidi garantisce che solo le offerte più alte vengano accettate dalla rete.
Questa combinazione di algoritmi eager-greedy, in cui i nodi accettano il primo blocco valido che vedono e seguono anche la catena più pesante, è un nuovo algoritmo BFT che converge rapidamente sul consenso sulla sequenza di blocchi. Satoshi dedica il 25% del white paper di Bitcoin a dimostrare questa affermazione.10
Abbiamo stabilito nelle sezioni precedenti che lo stesso prezzo richiesto di consenso di Bitcoin dipende dal fatto che la blockchain sia in consenso. Ma si scopre che l'esistenza di un unico prezzo richiesto di consenso è ciò che consente al mercato dei calcoli di abbinare rapidamente gli ordini, che è ciò che porta al consenso in primo luogo!
Inoltre, questo nuovo "consenso Nakamoto" richiede solo che il 50% dei partecipanti non sia avversario, un miglioramento significativo rispetto allo stato dell'arte precedente. Un cypherpunk come Satoshi ha fatto questa svolta teorica nell'informatica, invece di un ricercatore accademico o industriale tradizionale, a causa della loro stretta attenzione all'implementazione di una moneta solida, piuttosto che a un algoritmo di consenso generico per il calcolo distribuito.
IV. Conclusione
B-money era un framework potente per costruire una valuta digitale, ma incompleto perché privo di una politica monetaria. Vincolare b-money con un programma di rilascio predeterminato per i Bitcoin ha ridotto l'ambito e semplificato l'implementazione eliminando il requisito di tracciare e scegliere tra le offerte di creazione di denaro inviate dagli utenti. Preservare il ritmo temporale del programma di rilascio di Satoshi ha portato all'algoritmo di regolazione della difficoltà e ha abilitato il consenso Nakamoto, ampiamente riconosciuto come uno degli aspetti più innovativi dell'implementazione di Bitcoin.
C'è molto di più nel design di Bitcoin rispetto agli aspetti discussi finora. In questo articolo ci siamo concentrati sul mercato "primario" all'interno di Bitcoin, il mercato che distribuisce l'offerta iniziale di Bitcoin in circolazione.
Il prossimo articolo di questa serie esplorerà il mercato per il regolamento delle transazioni Bitcoin e il suo rapporto con il mercato per la distribuzione dell'offerta di Bitcoin. Questa relazione suggerirà una metodologia su come costruire futuri mercati per servizi decentralizzati su Bitcoin.
Riconoscimenti
Sono anni che mi dilungo su Bitcoin e i mercati e devo ringraziare le tante persone che mi hanno ascoltato e mi hanno aiutato ad affinare il mio pensiero. In particolare, Ryan Gentry, Will Cole e Stephen Hall si sono incontrati con me settimanalmente per discutere di queste idee. Non sarei stato in grado di superare innumerevoli false partenze senza i loro contributi e il loro supporto. Ryan mi ha anche aiutato a iniziare a parlare pubblicamente di queste idee nel nostro intervento a Bitcoin 2021. Afsheen Bigdeli, Allen Farrington, Joe Kelly, Gigi, Tuur Demeester e Marty Bent mi hanno incoraggiato nel corso degli anni e fornito un feedback prezioso. Devo anche scusarmi con Allen per essermi rivelato un collaboratore così scadente. Infine, Michael Goldstein sarà anche più conosciuto per i suoi scritti e meme, ma vorrei ringraziarlo per il lavoro di archiviazione che svolge al Nakamoto Institute per preservare la storia delle valute digitali.
Il titolo di questa serie è tratto dal primo messaggio telegrafico della storia, inviato da Samuel Morse nel 1844: “Che cosa ha fatto Dio? ”.
Bitcoin: un sistema di cassa elettronico peer-to-peer, disponibile: https://bitcoin.org/bitcoin.pdf
Prezzi tramite elaborazione o lotta alla posta indesiderata di Dwork e Naor disponibili: https://www.wisdom.weizmann.ac.il/~naor/PAPERS/pvp.pdf
Nonostante abbia originato l'idea, Dwork & Naor non ha inventato “prova di lavoro ”— che il moniker è stato fornito più tardi nel 1999 da Markus Jakobsson e Ari Juels.
Il progetto RPOW di Hal Finney è stato un tentativo di creare prove di lavoro trasferibili, ma il bitcoin non utilizza questo concetto perché non tratta i calcoli come valuta. Come vedremo più avanti quando esamineremo bit gold e b-money, i calcoli non possono essere valuta perché il valore dei calcoli cambia nel tempo mentre le unità di valuta devono avere lo stesso valore. Bitcoin non è calcoli, bitcoin è la valuta venduta per i calcoli.
In questo frangente, alcuni lettori potrebbero credermi sprezzante nei confronti dei contributi di Dai o Szabo perché erano inarticolati o ondulati a mano su alcuni punti. I miei sentimenti sono esattamente l'opposto: Dai e Szabo avevano essenzialmente ragione e il fatto che non articolassero ogni dettaglio nel modo in cui Satoshi successivamente ha fatto non toglie il loro contributo. Piuttosto, dovrebbe aumentare il nostro apprezzamento per loro, in quanto rivela quanto sia stato difficile l'avvento della valuta digitale, anche per i suoi migliori praticanti.
Il post b-money di Dai è il primo riferimento nel white paper di Satoshi, disponibile: http://www.weidai.com/bmoney.txt
Qui vengono fatte due semplificazioni:
a. Il numero di Bitcoin venduti in ogni blocco è influenzato anche dal mercato delle commissioni di transazione, che è fuori dallo scopo di questo articolo, anche se attenzione ai lavori successivi.
b. La difficoltà come riportata da Bitcoin non è esattamente il numero di calcoli previsti; bisogna moltiplicare per un fattore di proporzionalità.
Almeno non dai brutti vecchi tempi in cui Satoshi era l'unico minatore sulla rete.
Il classico Bitcoin di Gigi è Time è un'ottima introduzione alle connessioni profonde tra bitcoin e tempo, disponibili: https://dergigi.com/2021/01/14/bitcoin-is-time/
Satoshi ha commesso un errore sia nella loro analisi nel white paper sia nella loro successiva implementazione iniziale di bitcoin usando la regola “ catena più lunga ” invece della regola “catena più pesante”.