inizio
inizio

Il 31 ottobre 2008, una persona che si fa chiamare Satoshi Nakamoto ha pubblicato un articolo scientifico intitolato Bitcoin: un sistema di pagamento elettronico peer-to-peer. In questo White Paper, descrive i principi fondamentali del futuro protocollo Bitcoin.
Sono passati quasi 15 anni dalla pubblicazione del Libro bianco e, nonostante i numerosi sviluppi apportati al protocollo da allora, questo documento non è affatto invecchiato. Ci permette ancora oggi di comprendere i primi obiettivi di Bitcoin e gli ingegnosi meccanismi che ne consentono il corretto funzionamento. Se c'è un libro che dovresti leggere per capire Bitcoin, è questo.
Trattandosi di un articolo scientifico, leggerlo può sembrare austero. In questo articolo, spiegheremo semplicemente cosa descrive Satoshi Nakamoto nel White Paper di Bitcoin.
Per seguire questo articolo, puoi anche scaricare Il White Paper su Bitcoin nella sua versione del 24 marzo 2009 in inglese, oppure La traduzione di Arnaud-François Fausse in francese.
Il White Paper di Bitcoin inizia facendo luce sui limiti dei sistemi di transazione elettronica che esistevano già nel 2008. Nella seconda frase, Satoshi denuncia i punti deboli del modello di fiducia per questi pagamenti, che si affidano a terze parti.
Secondo lui, i sistemi di pagamento elettronici presentano costi e incertezze intrinseci, soprattutto per quanto riguarda la risoluzione dei conflitti e le frodi. Non consentono piccole transazioni e non sono adatti per alcuni commercianti, in quanto non offrono la possibilità di pagamenti irreversibili.
Per risolvere questo problema, Satoshi suggerisce di utilizzare un sistema di pagamento elettronico basato su prove crittografiche, piuttosto che sulla fiducia. Vuole che due parti siano in grado di effettuare una transazione senza l'intervento di alcuna autorità centrale. Quel sistema è Bitcoin.
Quando analizziamo questa introduzione, comprendiamo che l'obiettivo principale di Bitcoin era offrire un sistema di pagamento elettronico che non richiedesse fiducia. Infine, come descrive il titolo del White Paper, Satoshi voleva creare un sistema di cassa elettronico peer-to-peer.
Alla fine dell'introduzione, Satoshi spiega che il protocollo Bitcoin è principalmente una proposta per risolvere il problema della doppia spesa utilizzando un server di timestamp distribuito, ma ne parlerò più dettagliatamente nelle prossime parti.
In questa seconda parte, Satoshi Nakamoto descrive cosa rappresenta una moneta su Bitcoin. Ci spiega che queste monete sono rappresentate da una catena di firme elettroniche. Infine, descrive quelli che in seguito verranno chiamati «UTXO», ossia flussi di transazioni non spese in uscita.
La persona che riceve i bitcoin può quindi verificare le varie firme elettroniche precedenti, per tornare alla creazione della moneta. In questo modo, può verificare che i bitcoin che riceve siano legittimi.
Un sistema di crittografia asimmetrica viene utilizzato per generare coppie di chiavi e firme. In questa parte, si dovrebbe comprendere che le chiavi pubbliche vengono utilizzate per ricevere bitcoin e che le chiavi private vengono utilizzate per firmare e spendere bitcoin.
.png)
➤ Scopri di più sulle firme digitali su Bitcoin.
Nel paragrafo che segue questo diagramma, Satoshi descrive un problema con i sistemi di moneta elettronica peer-to-peer: La doppia spesa. In un sistema centralizzato, come nelle banche, esiste un'entità centrale responsabile di garantire che la stessa unità di valuta non venga spesa due volte. Ad esempio, se Alice ha 10 dollari sul suo conto in banca e li invia a Bob, allora Alice non può rispedire gli stessi 10 dollari a Charles. In questo modo, la banca impedisce la doppia spesa.
Ma in un sistema decentralizzato come Bitcoin, non vuoi che i pagamenti si basino su un'entità centrale come una banca. Ricordate l'introduzione di Satoshi: è necessario eliminare la necessità di fidarsi del sistema.
Quindi ci spiega che è necessario un modo per il beneficiario di una transazione per garantire che il precedente proprietario della moneta non abbia già speso la stessa moneta in passato. In altre parole, il beneficiario deve essere in grado di garantire l'inesistenza di una transazione precedente. E secondo Satoshi, L'unico modo per confermare l'assenza di una transazione è conoscere tutte le transazioni.
Ogni partecipante deve quindi avere accesso a tutte le transazioni passate, in modo da poter avere la prova che dopo aver ricevuto una transazione, è di fatto il primo a spendere i bitcoin impegnati. Per fare ciò, il protocollo Bitcoin si affida a un server di timestamp distribuito. Questo è ciò che probabilmente conosci con il nome «Blockchain». Le transazioni sono raggruppate in blocchi e ogni blocco viene pubblicato uno dopo l'altro. Possiamo quindi inserire un orario su una transazione pubblicata e confermare che esisteva al momento del timestamp.
Ogni blocco include l'impronta del blocco precedente per formare una catena, in modo che ogni nuovo blocco rinforzi quello precedente. Ecco perché oggi parliamo di «blockchain».
.png)
Questo server deve essere distribuito a tutti gli utenti in modo che tutti possano confermare l'inesistenza di una transazione in passato, senza utilizzare una terza parte fidata. In questo modo si evitano doppie spese sul sistema Bitcoin.
Questa è una delle parti più interessanti del White Paper, in quanto Proof-of-Work rappresenta il cuore di Bitcoin. Satoshi ci introduce a questo concetto come un meccanismo simile al protocollo. Hashcash di Adam Back.
Affinché un blocco sia considerato valido all'interno della blockchain, l'hash della sua intestazione deve essere inferiore a un determinato obiettivo. Un valore che può essere regolato liberamente (il nonce) viene incrementato in ogni blocco. I partecipanti possono quindi provare diversi valori casuali, finché l'hash del loro blocco non è inferiore all'obiettivo. Questo processo è ciò che oggi è noto come «mining».
Satoshi ci fa notare che, poiché i blocchi sono collegati tra loro, la modifica di un blocco nel passato richiede necessariamente di ripetere tutte le prove di lavoro dei blocchi successivi. Ecco perché una transazione in Bitcoin diventa sempre più immutabile man mano che vengono minati nuovi blocchi.
L'obiettivo viene regolato a intervalli regolari per poter adattare la difficoltà di mining all'evoluzione della potenza di calcolo distribuita sulla rete.
.png)
Tecnicamente, il proof of work risolve quindi il problema della definizione del processo decisionale a maggioranza in un sistema peer-to-peer. Infatti, nella parte precedente, abbiamo visto che tutti gli utenti devono mantenere il proprio server di timestamp, elencando tutte le transazioni eseguite. Quindi abbiamo bisogno di un modo per consentire ai partecipanti di concordare una versione unica di questa blockchain. Per fare ciò, i nodi onesti della rete considerano legittima la blockchain con la maggior quantità di lavoro accumulato.
Fino al 2010, Satoshi pensava che la catena più lunga fosse quella con il lavoro più accumulato. Ecco perché nel suo Libro bianco si riferisce alla «catena più lunga». Tuttavia, è la catena con il lavoro più accumulato che è stata considerata valida dal 2010 dai nodi Bitcoin. Questo canale non è quindi necessariamente il più lungo, contrariamente a quanto pensava Satoshi nel 2008.
In effetti, è necessario trovare un modo per consentire ai partecipanti di votare per la versione del canale che ritengono legittima. Poiché non vogliamo che Bitcoin si affidi a un'autorità centrale, è ovviamente impossibile verificare l'identità di ogni partecipante per evitare imbrogli nel sistema di voto. Dobbiamo quindi trovare un modo di votare basato su dati oggettivi, per non far sì che la rete si basi su interventi umani.
Satoshi ci spiega che Bitcoin avrebbe potuto decretare che un indirizzo IP equivalesse a un voto. Ma il problema di questo meccanismo è che è molto facile moltiplicare gli indirizzi IP per imbrogliare e influenzare il risultato del voto. Questo è ciò che chiamiamo attacco Sybil in informatica.
Al contrario, utilizzando Proof-of-Work e decretando che i nodi si sincronizzassero sulla catena con la maggior quantità di lavoro accumulata, Satoshi ha risolto il problema del processo decisionale a maggioranza. Quindi, un voto su Bitcoin equivale a un'unità di potenza di calcolo. Il processo decisionale maggioritario si basa su dati oggettivi che impongono un costo all'utente in termini di consumo di elettricità e tempo di elaborazione.
Il Proof-of-Work è essenzialmente una CPU, un voto.
In breve, il proof of work consente di imporre un costo marginale significativo sulla moltiplicazione dei voti. È quindi una misura per limitare gli attacchi di Sybil al processo decisionale a maggioranza del protocollo Bitcoin.
➤ Scopri di più su come funziona il proof of work su Bitcoin.
Con queste prime parti, Satoshi Nakamoto ci offre già una prima panoramica dei meccanismi del protocollo Bitcoin. Scopriamo che il framework operativo è basato su firme digitali che consentono il trasferimento di monete. Ciò consente il controllo della proprietà, ma non previene il rischio di una doppia spesa. Un server di timestamp distribuito (la blockchain) viene quindi utilizzato per registrare i pagamenti passati, il che consente di confermare l'assenza di una transazione. Per consentire agli utenti di concordare un'unica versione di questa blockchain, Bitcoin utilizza un meccanismo di consenso consolidato basato su una prova di lavoro.
Tuttavia, abbiamo ancora diverse parti da analizzare insieme. Dovremo attendere la pubblicazione del nostro articolo successivo, la prossima settimana, per saperne di più. Lì scopriremo:
Infine, mi limiterò a spiegarti la famosa parte 11 del White Paper, che può sembrare austera a prima vista, ma che è di fondamentale importanza per comprendere Bitcoin.

