Criptovalute
Lezione 17
15 min

Il whitepaper di Bitcoin spiegato in maniera semplice

Pubblicato nell'ottobre 2008 da un individuo o da un gruppo di persone sotto il nome di Satoshi Nakamoto, il Whitepaper di Bitcoin ha posto le basi per un cambiamento fondamentale nell'esecuzione dei pagamenti a livello globale e per la trasformazione di interi settori in termini di gestione dei dati. 

  • Bitcoin è stato presentato al mondo come moneta digitale nel documento chiamato “Bitcoin: un sistema di denaro elettronico peer-to-peer

  • Il Whitepaper di Bitcoin è lungo solo nove pagine ed è una proposta per un sistema di transazioni elettroniche "trustless", che non necessitano cioè di un rapporto di fiducia tra le parti

  • La rete Bitcoin crea una struttura per effettuare pagamenti senza che una terza parte funga da intermediario

  • Il Whitepaper di Bitcoin cerca di tradurre in un linguaggio semplice concetti tecnologici complessi, utilizzando una terminologia di facile comprensione

In questa lezione ti forniremo una spiegazione semplice dei fondamenti tecnologici descritti nel Whitepaper di Bitcoin.

Il Whitepaper di Bitcoin è stato pubblicato originariamente il 31 ottobre 2008 da un individuo o da un gruppo di persone note con lo pseudonimo di Satoshi Nakamoto, attraverso una mailing list dedicata alla crittografia sulla piattaforma Metzdowd. Teorie e miti di tutti i tipi circondano la reale identità del creatore (o dei creatori) di Bitcoin: diversi individui noti nel mondo delle criptovalute hanno affermato di essere Satoshi Nakamoto o di conoscerlo.

Il concetto alla base di Bitcoin gira intorno alla crittografia, allo studio delle tecnologie di comunicazione sicura e allo sviluppo di protocolli che impediscano che informazioni private vengano rese pubbliche o messe a disposizione di terzi. 

Abstract

La prima pagina del Whitepaper di Bitcoin si apre con il riassunto della pubblicazione, che sintetizza il contenuto e lo scopo del documento.

Fondamentalmente, lo scopo di Bitcoin è quello di sviluppare una tecnologia informatica che consenta a più parti di inviare pagamenti online direttamente l'una all'altra ("sistema peer-to-peer") senza dover ricorrere a un'istituzione finanziaria come una banca. Chiaramente, il sistema sottostante a tali transazioni dovrà soddisfare una serie di requisiti di sicurezza.

Dal momento che la transazione in oggetto non prevede l'uso di contanti e viene eseguita online, è necessario affrontare il problema della doppia spesa, che costituisce il potenziale punto debole di un sistema di pagamento digitale: la possibilità che la stessa unità di valore (il token) possa essere spesa due volte se qualcuno duplica o falsifica un token.

I prerequisiti per il funzionamento di questo tipo di sistema decentralizzato di spesa sono:

  • La cooperazione tra le parti che gestiscono il sistema (struttura di rete)

  • La garanzia che le transazioni precedenti non possano mai essere modificate (immutabilità)

  • L'accordo sulla validità delle transazioni in base a determinate regole (consenso)

In altre parole: tutte le parti devono essere d'accordo su una serie di regole e cooperare nel rispetto di tali regole, garantendo che le transazioni riportate nel registro siano valide in quanto conformi alle regole concordate, e che siano immutabili.

Introduzione: da dove viene il Bitcoin?

Il paragrafo introduttivo del Whitepaper di Bitcoin illustra il motivo per cui Satoshi ritiene necessario un sistema di pagamento trustless. Il motivo principale è che i sistemi di pagamento tradizionali utilizzati in ambito commerciale, che operano attraverso istituzioni finanziarie come le banche, presentano una serie di difetti.

Ad esempio, i pagamenti tradizionali spesso comportano elevati costi di transazione e di mediazione che possono sorgere in caso di controversia su una transazione, ad esempio nel caso in cui si debba annullare una transazione.

In secondo luogo, i sistemi di pagamento tradizionali sono soggetti a frodi e, in terzo luogo, richiedono sempre una terza parte fidata. Il Whitepaper di Bitcoin propone un sistema in cui eventuali terze parti, come ad esempio servizi di deposito a garanzia delle parti principali che effettuano le transazioni, possano essere facilmente coinvolte, ma solo se necessario, attivando un qualche tipo di azione codificata.

Transazioni

Una moneta elettronica è fondamentalmente una catena composta da firme digitali. Le monete elettroniche sono in realtà linee di codice informatico protette, inscindibili dai "pezzi di codice" precedenti. Le monete elettroniche non si possono toccare con mano come una moneta tradizionale, esistono solo online. 

Supponiamo che un proprietario di Bitcoin voglia effettuare una transazione. Se il proprietario avvia una transazione per trasferire una o più monete al proprietario successivo, il valore di quella transazione in Bitcoin viene trasmesso alla rete. 

Il proprietario avvia il trasferimento della moneta al proprietario successivo firmando digitalmente un hash (l'impronta digitale univoca) della transazione precedente per criptare l'hash. La crittografia che sta alla base di Bitcoin utilizza due chiavi matematiche correlate: una chiave pubblica e una chiave privata. Sono correlate, ma non identiche. 

La chiave pubblica è necessaria per criptare la transazione e, insieme alla chiave privata del proprietario, serve a creare la firma digitale. La chiave pubblica è simile a un numero di conto corrente bancario, mentre la chiave privata è simile al codice di accesso di un conto bancario. Pertanto la chiave pubblica è anche l'indirizzo del destinatario a cui il proprietario vuole inviare i Bitcoin.


 

Queste informazioni vengono aggiunte alla "fine" della moneta.

Naturalmente, il proprietario successivo, cioè il destinatario, vuole assicurarsi che l'importo inviatogli non sia stato già speso in una transazione precedente. L'unico modo per garantirlo è che la rete registri tutte le transazioni effettuate in precedenza, nell'ordine in cui sono state effettuate.

L'ordine di convalida di tutte le transazioni nella rete deve essere annunciato pubblicamente, in modo che tutti sappiano quali sono le transazioni valide; a tal fine, la rete deve aver raggiunto un accordo sulle regole da seguire per stabilire cosa è valido. 

Ogni destinatario di una transazione vuole avere la prova che, al momento in cui ha ricevuto la transazione, la maggior parte della rete fosse d'accordo sul fatto che fosse proprio quel destinatario a ricevere per primo la transazione e che nessun altro destinatario abbia ricevuto la stessa transazione in precedenza. 

L'ordine di convalida di tutte le transazioni nella rete deve essere annunciato pubblicamente in modo che tutti sappiano quali sono le transazioni valide. A tal fine, la rete deve aver raggiunto un accordo sulle regole da seguire per stabilire cosa è valido.

 

Il timestamp server 

Questa sezione del Whitepaper di Bitcoin descrive la proposta di Satoshi Nakamoto sul fatto che la rete Bitcoin utilizzi un "timestamp server distribuito" per dimostrare in quale ordine sono state generate le transazioni. Cosa significa?

La rete Bitcoin gira su un sistema distribuito di computer. Tutti i processi informatici della rete vengono eseguiti simultaneamente su migliaia e migliaia di computer, cioè i nodi, ubicati in diversi Paesi e distribuiti in tutto il mondo. Tutti questi computer sono collegati tra loro, e chiunque sia dotato dell'attrezzatura adatta può configurare un computer per partecipare. 

Tanti più computer in una rete, e quindi tante più copie dei registri, maggiore sarà la sicurezza del sistema. Ovviamente, è praticamente impossibile rubare o distruggere simultaneamente in un colpo solo i dati di migliaia di computer. Pertanto, il sistema è sicuro a patto che la maggior parte degli individui che gestiscono i computer concordino collettivamente sulla "catena" più lunga di dati registrati, ovvero la blockchain "valida". 

Le transazioni vengono raggruppate in blocchi contenenti diverse transazioni e informazioni sul blocco precedente. Un timestamp server, costituito da un "pezzo" di software, aggiunge il timestamp all'hash di un blocco, cioè una marca temporale, nello stesso momento su tutte le centinaia e migliaia di computer della rete. 

Il timestamp fornisce la prova che i dati esistevano già in un dato momento passato, e ogni timestamp include il timestamp precedente nel proprio hash. In questo modo si forma una catena in cui ogni timestamp aggiuntivo rafforza la validità di quelli precedenti. Puoi pensare al sistema di transazioni di Bitcoin come a una matrioska: una bambola piccola dentro una bambola più grande che è dentro una bambola ancora più grande e così via. 

Un timestamp server, costituito da un "pezzo" di software, aggiunge il timestamp all'hash di un blocco, cioè una marca temporale, nello stesso momento su tutte le centinaia e migliaia di computer della rete.

Proof of Work 

La rete generale di timestamp suggerita da Satoshi nel Whitepaper originale di Bitcoin è stata implementata come rete di computer peer-to-peer che utilizza un algoritmo di tipo proof-of-work, in un processo noto come mining di Bitcoin, per creare una cronologia praticamente immutabile delle transazioni. 

In senso lato, per "Proof-of-Work" si intende la risoluzione di un compito moderatamente difficile da parte di un utente di un computer della rete. Questo compito soddisfa determinati requisiti ed è intrinsecamente difficile da eseguire. In origine, il metodo proof-of-work è stato inventato per limitare l'invio di e-mail di spam. Richiedendo al mittente delle e-mail di svolgere un piccolo compito ("work", che significa lavoro) prima di poter inviare l'email, si voleva garantire che non venissero inviate una marea di e-mail.  

Nella rete Bitcoin, questo compito moderatamente difficile si è trasformato nella risoluzione di un puzzle crittografico. Una serie di transazioni viene raggruppata in un blocco. Un blocco contiene dei dati: un indice, il timestamp, un elenco delle transazioni, una prova e l'hash del blocco precedente e altre informazioni. Un numero chiamato nonce (che sta per "number used only once" ed è traducibile con "numero usato solo una volta") viene aggiunto a questo blocco per eseguire l'hash. 

I nodi (computer) della rete Bitcoin, ovvero i "miner", iniziano quindi a scansionare, testare e scartare milioni di nonce ogni secondo per trovare un nonce che soddisfi l'obiettivo fissato dalla rete al momento del blocco (il raggruppamento delle transazioni). Eseguono questo "lavoro" finché non trovano un valore che dia all'hash del blocco il livello di difficoltà richiesto: un inizio con un numero di bit pari a zero. 

Una volta che un miner trova un valore di questo tipo, questo viene trasmesso agli altri nodi della rete, viene convalidato e un nuovo blocco valido viene trovato e aggiunto alla blockchain. Non è possibile apportare modifiche a un blocco, a meno che il lavoro non venga rifatto.

Un blocco contiene dei dati: un indice, il timestamp, un elenco delle transazioni, una prova e l'hash del blocco precedente e altre informazioni. 

Puoi visualizzare tutte le transazioni della blockchain Bitcoin su Blockexplorer.

Nuovo su Bitpanda? Registrati oggi

Registrati qui

La velocità con cui vengono aggiunti nuovi blocchi dipende dal numero di partecipanti alla rete che lavorano alla convalida o dalla potenza di calcolo utilizzata. Se vengono generati troppi blocchi nell'arco di un'ora, la complessità del compito, ovvero la sua "difficoltà", viene aumentata per ritardare deliberatamente la generazione di nuovi blocchi. 

La blockchain valida è la catena più lunga con la maggiore potenza di calcolo investita in tale catena dai partecipanti onesti della rete. 

La rete

La sezione successiva del Whitepaper di Bitcoin illustra il processo implicato nelle transazioni. 

Un mittente invia una transazione che viene trasmessa a tutti i partecipanti alla rete (anche se non è necessario che tutte le transazioni raggiungano tutti i nodi). Ogni nodo partecipante raggruppa le nuove transazioni in un blocco e cerca di trovare una proof-of-work per esso. 

Una volta trovata e accertato che la transazione non sia stata spesa in precedenza (doppia spesa), il nuovo blocco viene nuovamente trasmesso alla rete Bitcoin e accettato come valido (o rifiutato) dagli altri computer che lavorano alla creazione di un nuovo blocco utilizzando l'hash dell'ultimo blocco valido. La catena più lunga della blockchain è considerata la catena corretta.

Può accadere che due nodi trasmettano contemporaneamente versioni diverse del blocco successivo alla rete Bitcoin. Di conseguenza, alcuni degli altri nodi riceveranno prima una versione, mentre altri nodi riceveranno prima l'altra. In questo caso, i nodi passeranno alla catena più lunga. Se un nodo non riceve un blocco, richiede il blocco mancante quando si rende conto di averlo perso.

Incentivi 

Per incoraggiare i nodi informatici a partecipare alla rete, Satoshi Nakamoto ha proposto che i nodi che forniscono potenza di calcolo vengano premiati se sono i primi a creare un blocco. L'idea era che gli utenti della rete Bitcoin pagassero delle commissioni di transazione, che in un secondo momento sarebbero diventate l'unica ricompensa quando vi fosse in circolazione un numero sufficiente di monete. 

Dato che per frodare la rete sarebbe necessaria un'enorme potenza di calcolo, è più probabile che i nodi rimangano onesti piuttosto che frodare la rete. Il motivo è che investire la potenza di calcolo nel mining e nella generazione di nuove monete è più redditizio che investire fondi per ottenere il controllo della rete. Tieni presente che nessuna azienda o persona singola è responsabile della gestione della rete Bitcoin, che è invece gestita e messa in sicurezza da un'ampia community di computer indipendenti.

Recuperare spazio su disco

Poiché la blockchain di Bitcoin è immutabile e non può essere modificata in nessun caso, era evidente che sarebbe cresciuta di dimensioni fino a raggiungere un punto tale da richiedere grandi quantità di memoria per l'archiviazione. Nel Whitepaper di Bitcoin, si ipotizza che l'intestazione di un singolo blocco che non contiene transazioni abbia una dimensione approssimativa di circa 80 byte. 

Per ovviare al problema della memoria necessaria, Satoshi Nakamoto aveva proposto che una volta che una transazione è "sepolta" sotto un numero sufficiente di blocchi, le transazioni precedenti possano essere "scartate" per risparmiare spazio sul disco.

Per garantire che le strutture crittografiche - gli hash - non vengano violate, il Whitepaper suggerisce di ridurre tutte le transazioni a un singolo hash, ovvero un hash radice o hash principale, che può essere realizzato in modo efficiente utilizzando un albero di Merkle.

Un albero di Merkle o albero di hash, dal nome dello scienziato Ralph Merkle, è una struttura di dati basata su hash, utilizzata nella crittografia e nell'informatica. Questa struttura assegna i dati a una chiave. Un semplice esempio di questo concetto è la composizione rapida sulla tastiera di un telefono: ogni numero di telefono viene assegnato a ciascun tasto in una struttura basata su hash. Nella rete Bitcoin, per la verifica dei dati vengono utilizzati gli alberi di Merkle, che sono efficienti perché vengono utilizzati degli hash invece di un file di informazioni completo.

Un albero di Merkle o albero di hash, dal nome dello scienziato Ralph Merkle, è una struttura di dati basata su hash, utilizzata nella crittografia e nell'informatica. 

Gli alberi di Merkle utilizzano tipicamente una struttura ad albero binario, ovvero ogni nodo ha al massimo due nodi figli, ma è possibile utilizzare anche un livello di output superiore. L'hash radice è l'hash più elevato della struttura dati basata sugli hash e fa parte dell'intestazione del blocco. Assicura che le transazioni siano presenti. 

Al momento della pubblicazione del Whitepaper di Bitcoin nel 2008, si stimava che sarebbero stati necessari almeno 4,2 MB (megabyte) di memoria all'anno. Questo si basava sull'ipotesi che i blocchi venissero generati ogni dieci minuti e che ogni blocco fosse pari a 80 byte. All'ora, questo sarebbe equivalso a 80 moltiplicato per 6, poi moltiplicato per il costo giornaliero e quindi annuale, cioè equivalente a 80 moltiplicato per (6X24) moltiplicato per 365.

Nel 2008 i sistemi informatici più diffusi venivano venduti con 2 GB (gigabyte) di RAM e all'epoca la Legge di Moore prevedeva una crescita di 1,2 GB all'anno. Nel Whitepaper di Bitcoin si presumeva che l'archiviazione non sarebbe diventata un problema, anche dovendo conservare in memoria le intestazioni dei blocchi.

Verifica semplificata dei pagamenti

I pagamenti nella rete Bitcoin possono essere verificati anche senza che un utente gestisca un nodo completo della rete, costruendo un'implementazione Bitcoin che si basa sulla connessione a un nodo completo affidabile e scaricando solo le intestazioni dei blocchi. 

Al termine del download, il computer client verifica il corretto collegamento delle intestazioni della catena e un livello di difficoltà sufficiente a garantire che si tratti della blockchain corretta. Infine, le copie delle transazioni, insieme a un ramo dell'albero di Merkle che le collega al rispettivo blocco corretto, sono fornite come prova della loro inclusione. 

Finché i nodi onesti controllano una rete e ci si connette a un nodo di cui si conosce l'affidabilità, la verifica è affidabile. Tuttavia, per garantire che le transazioni non vengano create da un malintenzionato su una catena non valida, Satoshi Nakamoto suggerisce alle aziende che utilizzano Bitcoin per i pagamenti frequenti di gestire i propri nodi per garantire velocità e maggiore sicurezza. 

In parole povere, questo significa che non è necessario l'intero registro della catena per verificare la correttezza di una transazione. È sufficiente scaricare un ramo dell'albero di Merkle e verificare che abbia lo stesso hash radice.

Combinare e dividere il valore 

Gli insegnamenti alla base del Bitcoin si applicano anche alle transazioni che contengono più entrate e uscite. Si pensi al caso in cui si debbano spendere 35 centesimi: è necessario combinare 20 centesimi, 10 centesimi e 5 centesimi. Nella rete Bitcoin, le transazioni possono avere più entrate e uscite che consentono di dividere e combinare il valore. 

Privacy

Le banche tradizionali garantiscono la privacy delle transazioni limitando le informazioni sulle transazioni alle parti coinvolte, compresa la parte intermediaria. La rete Bitcoin, invece, diffonde pubblicamente tutte le transazioni. Tutti possono vedere che qualcuno sta inviando una transazione, ma la transazione non può essere ricollegata a nessuno in particolare, perché nessuno sa chi siano le parti che interagiscono. 

Gli utenti si identificano nella rete utilizzando una chiave pubblica, ma hanno bisogno di una chiave privata per accedere alla transazione. Per questo motivo, il Whitepaper di Bitcoin raccomanda di utilizzare una nuova coppia di chiavi per ogni transazione, al fine di garantire che le transazioni non possano essere rintracciate o collegate a uno stesso proprietario.

Calcoli 

Infine, Satoshi Nakamoto voleva illustrare l'improbabilità che la rete Bitcoin venisse attaccata con successo da utenti fraudolenti. Questa sezione del whitepaper contiene calcoli che mostrano quanto sarebbe complicato per un potenziale attacco avviare una nuova catena che rivaleggi con quella valida. Dal momento che i nodi onesti non accetterebbero una transazione corrispondente, un truffatore dovrebbe fare concorrenza alla catena valida utilizzando un’enorme potenza di calcolo per raggiungerla e la probabilità che riesca a raggiungere il pareggio è minima.  

Per concludere 

Bitcoin è un sistema peer-to-peer per il trasferimento trustless di denaro elettronico che utilizza un algoritmo proof-of-work per registrare la cronologia pubblica delle transazioni; è altamente sicuro contro gli attacchi purché i nodi onesti controllino la maggior parte della potenza di calcolo. La rete è composta da nodi che hanno bisogno di poco coordinamento e possono unirsi e andarsene a piacimento, accettando solo blocchi validi e rifiutando quelli non validi sulla base di un meccanismo di consenso.  

Dopo aver fatto luce sui concetti tecnologici alla base del Bitcoin, la Bitpanda Academy ti fornirà ulteriori lezioni avanzate su come applicarli al mondo delle criptovalute.


This article does not constitute investment advice, nor is it an offer or invitation to purchase any digital assets.

This article is for general purposes of information only and no representation or warranty, either expressed or implied, is made as to, and no reliance should be placed on, the fairness, accuracy, completeness or correctness of this article or opinions contained herein. 

Some statements contained in this article may be of future expectations that are based on our current views and assumptions and involve uncertainties that could cause actual results, performance or events which differ from those statements. 

None of the Bitpanda GmbH nor any of its affiliates, advisors or representatives shall have any liability whatsoever arising in connection with this article. 

Please note that an investment in digital assets carries risks in addition to the opportunities described above.