Il funzionamento tecnico di Bitcoin. Guida per principianti

Il funzionamento tecnico di Bitcoin. Guida per principianti

Nonostante il Bitcoin sia in giro da oltre dieci anni, il suo funzionamento è ancora largamente incompreso o travisato. Per questo motivo, ho racchiuso in questa guida le dinamiche fondamentali e le componenti su cui la tecnologia Bitcoin si fonda.

Sarò onesto:

Alla fine di questa guida non diventerai un esperto MA ne saprai più del 99% della popolazione e soprattutto saprai muoverti sulle tue gambe.

Lo scopo qui è trasmetterti una idea globale del funzionamento di Bitcoin e mostrarti la sua ossatura tecnologica.

Mettiti comodo dunque. Stiamo per iniziare.

Bitcoin: Cosa sono e chi li ha inventati.

Il Bitcoin è una moneta digitale creata da un certo Satoshi Nakamoto nel 2009.

Satoshi Nakamoto presenta il suo progetto al ‘mondo’ nell’ottobre del 2008 con il Bitcoin White paper. Satoshi definirà il progetto come una moneta elettronica che non fa affidamento su alcun intermediario ma si basa completamente sulle parti coinvolte nella transazione.

I’ve been working on a new electronic cash system that’s fully peer-to-peer, with no trusted third party. – Satoshi Nakamoto, 31 ottobre 2008

Il 3 Gennaio 2009 Satoshi Nakamoto minava il primo blocco della Blockchain del Bitcoin, il cosìddetto Blocco Genesi.

primo blocco blockchain transazione di satoshi nakamoto con riferimento banche
Il primo blocco della Block Chain minato da Satoshi Nakamoto.

Il Bitcoin era ufficialmente nato.

Da quel 2009 ad oggi, il Bitcoin ne ha viste di tutti i colori. Quello che era una specie di collezionabile per dei nerd fanatici, oggi è riconosciuto come una tecnologia della portata della ruota, l’elettricità ed internet.

Il suo inventore, invece, è sparito senza lasciare traccia nel 2011. Tuttavia, la sua assenza è irrilevante perchè il Bitcoin è una macchina che va da sè e non ha alcun personaggio o organismo che ne ha il controllo (come avrai modo di leggere).

Prima di avventurarci nei meandri del funzionamento del Bitcoin è opportuno fare delle distinzioni di massima:

  • Il Bitcoin – Inteso come il progetto del Bitcoin nella sua globalità.
  • I bitcoin – Le unità monetaria in sè. Ogni bitcoin è composto da 100 milioni di Satoshi.
  • Blockchain del Bitcoin – La tecnologia che raccoglie tutte le transazioni di Bitcoin.
  • Network del Bitcoin – La rete di utenti che operano nel Bitcoin e conservano una copia della Blockchain, tra cui i Miner.
  • Community del Bitcoin – Tutti coloro che in qualche modo sono attivamente coinvolti nel Bitcoin.

Detto questo, addentriamoci nel funzionamento del Bitcoin.

Il funzionamento del Bitcoin.

Il funzionamento del Bitcoin dipende in larga parte dagli incentivi economici dei partecipanti.

Si, hai letto bene.

Sebbene nel Bitcoin compartecipino diverse tecnologie, tutto è tenuto insieme da incentivi economici che determinano il comportamento dei partecipanti.

Senza di questi, il Bitcoin sarebbe già fallito come tanti suoi predecessori.

Come hai letto sopra, Satoshi Nakamoto parlava del fatto che in Bitcoin non ci siano intermediari di fiducia. Dal momento che non c’è una ‘Autorità’ che tiene tutto in ordine, il Bitcoin deve funzionare ‘da solo’.

Per questo, il Bitcoin è costruito in modo tale da disincentivare i partecipanti dal tentare di fare i furbi.

Questo non vuol dire che non possono provarci, ma che è talmente sconveniente che non ci proveranno.

Il risultato finale di questo mix tra incentivi economici e tecnologie di vario genere, è quella macchina inarrestabile che chiamiamo Bitcoin.

Andiamo ora a mettere insieme i pezzi ed esplorare le componenti che fanno funzionare Bitcoin.

Il network del Bitcoin

A voler essere pignoli, Bitcoin è innanzitutto un programma per computer.

Per essere ancora più pignoli, Bitcoin è un software Peer-2-Peer (P2P).

In informatica, i software P2P sono dei programmi per computer con cui si crea una rete di utenti i quali possono trasferirsi dati informatici l’uno con l’altro. Questi dati possono essere film, foto, videogiochi, libri, etc. etc. Se sei abbastanza vecchio ti ricorderai eMule, un celebre software P2P.

Network Peer 2 Peer; una componente fondamentale per il funzionamento di Bitcoin
Network Peer 2 Peer; una componente fondamentale per il funzionamento di Bitcoin

Nel caso del Bitcoin, i dati che ogni utente condivide sono tutte le transazioni occorse nella storia del Bitcoin.

Le transazioni le trovi in un file in continuo aggiornamento e di cui hai sicuramente già sentito parlare: La Blockchain.

La blockchain è un registro cronologico fatto di tanti blocchi e che fondamentalmente descrive le transazioni di bitcoin (ne parleremo più avanti).

Tuttavia, oltre a poter scaricare la Blockchain, con il software del Bitcoin sono comprese delle regole che indicano agli utenti del network come interagire tra di loro.

Queste regole vengono definite nel loro insieme consensus.

Proprio sulla base di queste regole si possono effettuare transazioni in Bitcoin e, soprattutto, verificare autonomamente che sia tutto regolare.

L’utente che ha scaricato il software P2P del Bitcoin, prende il nome di Nodo.

L’insieme dei nodi forma il Network del Bitcoin.

Primo inciso:

Chi riceve o spende i bitcoin senza essere un nodo NON è un eccezione. In realtà, sta ‘usando’ il nodo di qualcun’altro e simultaneamente svelando a quel nodo tutte le informazioni relative ai suoi fondi (e spesso alla sua identità).

Il network del Bitcoin è la prima infrastruttura finanziaria aperta LETTERALMENTE a chiunque. Non ci sono distinzioni di genere, razza, orientamento sessuale o vedute politiche.

Ti basterà scaricare il software (Bitcoin Core è la versione più nota) e sei dentro.

In questo senso, Bitcoin è un software per PC che però corre su computer sparsi ovunque nel mondo.

Questa è una delle tante forme di decentralizzazione del Bitcoin.

Un altro aspetto caratterizzante del Network del Bitcoin è la sua struttura paritaria.

Tutti gli utenti hanno il medesimo valore. Non c’è un entità più importante delle altre che può compromettere il funzionamento del network.

Data questa conformazione, anche se venissero meno 10 o 100 nodi, il network riuscirebbe a funzionare ugualmente mantenendo affidabilità e sicurezza.

Abbiamo così uno dei primi ma fondamentali elementi che fanno funzionare Bitcoin:

Il Network Aperto Decentralizzato Peer-to-Peer ossia un gruppo di utenti in luoghi diversi che condividono tra di loro delle informazioni.

Secondo inciso:

In realtà, per interagire con il network del Bitcoin non ti serve neanche più essere un nodo. Ti basta scaricare un wallet e puoi ricevere o spendere Bitcoin (fermo restando quanto detto nel primo inciso).

Andiamo adesso a vedere le altre componenti fondamentali, cioè la produzione di Bitcoin (mining) e le transazioni.

Transazioni, Blockchain e Mining

Quando un utente vuole spendere dei bitcoin, ordinerà al suo wallet di creare una transazione con cui i Bitcoin vengono trasferiti da un indirizzo ad un altro.

Quello che succede a questo punto è singolare:

La transazione resterà inizialmente sospesa nella cosiddetta mempool, una specie di sala d’attesa per transazioni.

L’attesa finirà nel momento in cui un miner prenderà la transazione e la inserirà in un blocco della blockchain. Da quel momento in poi, i bitcoin risulteranno a tutti gli effetti passati da un indirizzo ad un altro e quella transazione sarà per sempre visibile nella blockchain del Bitcoin.

Ma chi sono i miners?

I miners (minatori) sono degli utenti del network che fanno qualcosa di speciale:

Usano risorse economiche per creare i blocchi di cui si compone la Blockchain (fare mining) ed ottenere in cambio bitcoin.

Nei blocchi della Blockchain trovi tutte le transazioni della storia del Bitcoin, ed è proprio ciò che gli utenti del network si scambiano tra di loro con il rispettivo software P2P.

Occhio ai dettagli:

La Blockchain contiene informazioni su chi controlla i Bitcoin e non i Bitcoin stessi. Ecco perchè per custodire e usare Bitcoin non ti serve la blockchain, ma le chiavi private del wallet in cui conservi i tuoi fondi.

Tornando ai miner, abbiamo visto che fu Satoshi Nakamoto a minare il primo blocco nel 2009.

All’epoca si poteva minare un blocco con un comune computer casalingo. Oggi invece per minare un blocco della blockchain del Bitcoin servono energia elettrica in abbondanza ed attrezzature specializzate dette ASICS.

Gli apparecchi per minare Bitcoin - Asics miner
Gli apparecchi per minare Bitcoin – Asics miner

Questo dovrebbe farti capire che dietro il mining di Bitcoin non c’è lo spirito di sacrificio, ma piuttosto la ricerca del profitto.

Sorprendentemente, il miner di bitcoin che vuole produrre un blocco rischia di consumare energia e vedere la sua spesa persa nel nulla.

Lo scenario che si trova davanti infatti è questo:

  • Se il blocco creato viene accettato dal network, il miner vincitore riceverà una lauta ricompensa (in bitcoin)
  • Se il blocco invece viene respinto, il miner non riceve nulla. Ha consumato tempo ed energia che nessuno gli restituirà.

Torneremo sulle dinamiche di accettazione dei blocchi più avanti perchè determinano l’affidabilità del Bitcoin.

Se i bitcoin costano tanto, infatti, è perchè Bitcoin è una infrastruttura monetaria sicura ed affidabile.

Concentriamoci adesso invece sulla creazione dei blocchi, perchè è proprio da questo processo che si originano nuovi bitcoin.

Come si creano i bitcoin?

Quando un miner crea un blocco che viene accettato dal network del Bitcoin riceve come ricompensa dei bitcoin ‘nuovi’.

I passaggi relativi alla creazione di Bitcoin sono questi:

  1. Un miner crea un blocco con dentro transazioni.
  2. Lo propone al network prima degli altri miner.
  3. Il network accetta il blocco.
  4. Il blocco diventa parte della Blockchain.
  5. Il miner incassa i nuovi Bitcoin.

Questo è l’unico modo per creare Bitcoin.

I miner sono tanti, sparsi per il pianeta e tutti in feroce competizione per creare nuovi blocchi. Di conseguenza, per aggiudicarsi i nuovi bitcoin, un minatore non solo deve creare un blocco valido ma anche crearlo più rapidamente dei suoi avversari.

I nuovi bitcoin vengono generati con una speciale transazione chiamata transazione coinbase.

Nella transazione coinbase non hai il passaggio di bitcoin da un utente ad un altro ma la generazione di nuovi bitcoin.

Il miner vincitore inserisce nel blocco la transazione coinbase che dirà “io miner invio X bitcoin a me stesso perchè ho creato questo blocco”.

I bitcoin esistenti in un dato momento saranno sempre uguali alla somma delle transazioni coinbase passate, rispettando un ritmo di produzione costante e prevedibile.

Mediamente, ogni 10 minuti circa viene creato un nuovo blocco e da quel momento nuovi Bitcoin entrano in circolo per sempre. La produzione di Bitcoin continuerà fino a 21 milioni di unità, il numero massimo di Bitcoin che si possono creare.

L’ultimo Bitcoin sarà creato nel 2140 e, seguendo il ritmo di emissione previsto dagli halving, ci vorranno circa 30 anni per minarlo per intero.Grafico del ritmo di produzione Bitcoin (halvings)

Il ritmo di emissione di Bitcoin e i rispettivi halvingsQuello che hai appena letto è una netta distinzione tra il sistema monetario attuale e il sistema monetario del Bitcoin. Rispetto alle monete fiat, infatti, la produzione di bitcoin non è discrezionale ma segue delle cadenze immutabili che sono parte delle regole del consensus.

Inoltre, i bitcoin non si possono creare dal nulla ma solo dietro lo sforzo produttivo di qualcuno (i miner e le loro risorse).

Per concludere il nostro discorso sulla creazione di bitcoin, alcune precisazioni:

  • Ad oggi (2021), ogni transazione coinbase crea 6,25 Bitcoin. Questa ricompensa continuerà ad essere tale fino al prossimo halving, quel momento in cui la transazione coinbase si dimezza (più o meno ogni 4 anni come i mondiali di calcio).
  • Il minatore vincente, oltre ai nuovi bitcoin, incassa anche le fee ossia le commissioni per processare la transazione.

Ora che abbiamo visto come si creano bitcoin, torniamo su ciò che rende Bitcoin sicuro ed affidabile: il processo di validazione dei blocchi da parte del network.

Verificabilità e sicurezza del Bitcoin

Come dicevo in precedenza, un blocco può essere respinto dal network e il miners trovarsi a mani vuote.

Questa situazione può verificarsi in 2 circostanze:

  • Il blocco è arrivato tardi (quindi un altro miner è stato più veloce)
  • Il blocco contiene cose che non dovrebbe contenere.

Nel primo caso, il miner si attacca e riprende a minare come se niente fosse. Del resto, era consapevole di questa possibilità.

Nel secondo caso, vuol dire che ha cercato di fare il furbo.

Il modo in cui Bitcoin sventa i tentativi di un miner di fare il furbo e accaparrarsi bitcoin malevolmente tiene in piedi tutta la struttura e, lo ripeto, fa si che il Bitcoin sia affidabile e i suoi assets abbiano valore.

Esploriamo questo processo partendo da una semplicissima metafora:

Immagina di essere in pizzeria ed ordinare una pizza margherita.

Vuoi che ci siano solo i condimenti corretti e non altre cose tipo ananas, tonno o capperi.

Se il pizzaiolo mette prima la mozzarella e dopo il basilico, a te non interessa perchè vuoi soltanto ricevere una margherita.

Cosa fai quindi quando ti arriva la pizza? La verifichi. Se è margherita la accetti, se è una tonno e cipolla la respingi.

Per quanto può sembrarti assurdo, il processo di verifica dei blocchi è davvero questo.

Ogni nodo, oltre a ricevere in continuazione i nuovi blocchi appena minati, ne verifica anche il contenuto.

Se le informazioni contenute nel blocco sono conformi alle regole del network, il nodo lo ricondividerà a sua volta. Nel caso contrario lo respinge e aspetta un altro blocco.

Il risultato finale è un ecosistema in cui nessuno si fida di nessuno e ognuno verifica quello che riceve.

Da qui il mantra della community del Bitcoin: Don’t trust, verify. (Non fidarti, verifica.)

Adesso la domanda da un milione di dollari. Cosa verifica esattamente un nodo nel blocco?

In linea di massima, un nodo verifica che in un blocco ci siano:

  • Transazioni che potevano effettivamente essere eseguite
  • La transazione coinbase con la ricompensa corretta
  • L’hash del blocco precedente
  • Un hash valido per il blocco corrente

TI ho già parlato dei primi due elementi, ora dobbiamo definire l’hash e il suo ruolo (fondamentale) all’interno di Bitcoin.

L’hash – che in italiano significa macinato – è una speciale funzione matematica con la quale un qualsiasi dato digitale viene trasformato in un numero.

Esempio:

Se copio la costituzione italiana su word, salvo il file e ne faccio l’hash, mi uscirà un numero incomprensibile tipo: 2387dsfas4238946357w638098la09580345093figa44850923.

Se riapro quel file, cambio anche solo una virgola e rifaccio l’hash, mi uscirà un numero completamente diverso: 5adsthv32748dgjio8736487289854673298443879843erg798.

Confrontando questi due hash e vedendo che non sono identici, saprò che nel secondo caso è stato modificato qualcosa.

Non c’è verso che lo stesso hash derivi da due file diversi.

Gli hash sono onnipresenti nel Bitcoin. Li trovi in molteplici contesti e a svolgere diverse funzioni. Ad esempio, gli indirizzi dove ricevi bitcoin sono un hash derivato dalla chiave pubblica del tuo wallet.

Tuttavia, per cogliere il funzionamento del Bitcoin dobbiamo inquadrare il ruolo dell’hash nella produzione di blocchi da parte dei miner e nella verifica dei blocchi da parte dei nodi.

Il meccanismo che regola questo processo è chiamato Proof of Work (PoW) ovvero prova di lavoro.

La Proof of Work in Bitcoin prevede un utilizzo dell’hash al fine di disincentivare i miner dal tentare di fare i furbi e accaparrarsi bitcoin che non meriterebbero.

Per proporre un blocco che verrà accettato dai nodi, il miner deve dimostrare di aver fatto il lavoro richiesto.

Proof of work

Il nostro amico miner, per minare un blocco valido deve creare l’hash del blocco corrente.

Il miner dunque metterà all’opera le sue speciali macchinette che cercheranno di trovare un hash valido che comprenda:

Transazioni degli utenti + Transazione coinbase + Hash del blocco precendente

Purtroppo, e qui si sintetizza la Proof of Work, non va bene un qualsiasi hash.

Il miner deve trovare un hash che soddisfi determinati parametri di difficoltà definiti dalle regole del consensus.

Al miner verrà richiesto di trovare un hash con determinate caratteristiche; ad esempio iniziare con tre zero di fila ‘000′ oppure con undici zero di fila ‘00000000000′.

Il numero di zeri iniziali definisce la difficoltà nel trovare il blocco (e quindi l’ammontare di lavoro richiesto)

Da cosa dipende la difficoltà?

Dall’hash-rate, ovvero dalla potenza complessiva di tutte le macchinette collegate a minare bitcoin sparse per il globo.

Più miner sono collegati alla rete a minare bitcoin, maggiore sarà la difficoltà del calcolo necessario a trovare l’hash per creare un blocco valido.

La difficoltà richiesta non è un numero fisso, ma piuttosto si aggiusta in proporzione all’andamento dell’hash-rate.

Ogni  2016 blocchi – 2 settimane circa – Il Bitcoin (che ti ricordo essere un software P2P) fa una stima della potenza di calcolo della rete e aumenta o diminuisce proporzionalmente la difficoltà richiesta per trovare un hash valido.

Questo meccanismo si chiama ‘Difficulty Adjustment’ ed adatta la difficoltà richiesta alle variazioni dell’hash-rate.

Hash rate Bitcoin andamento
L’andamento nel tempo dell’hash-rate della rete | fonte: Bitcoinvisuals

A questo punto il quadro si sta formando e ti manca l’ultimo pezzo.

L’unico modo per trovare un hash valido è andare a tentativi.

Si, funziona proprio così.

Non c’è altra possibilità di trovare un hash valido se non sparando a caso.

Saranno le macchinette specializzate a mettere insieme i pezzi e cercare l’hash valido.

Purtroppo, si parla di calcoli talmente complessi che servono miliardi di tentativi, ognuno dei quali costa tempo ed energia.

Adesso pensaci: perchè mai un miner dovrebbe consumare energia e tempo per creare un blocco fasullo che verrà verificato e irrimediabilmente respinto?

Ovviamente, non ha motivo di farlo.

Anche decidesse di provarci, verrebbe sgamato subito perchè mentre creare un hash adeguato richiede un sacco di energia e tempo, verificarne la validità per un nodo è questione di nanosecondi.

Mi segui?

Come vedi, dunque, il Bitcoin funziona nel suo insieme.

Non c’è una dinamica isolata o una tecnologia separabile dalle altre. Sono gli incentivi economici dei partecipanti e le tecnologie di varia natura che nel loro insieme determinano il funzionamento di Bitcoin.

L’ulteriore conseguenza, è che si crea una spirale di incentivi che si autoalimenta e supporta la crescita organica di Bitcoin.

I bitcoin acquisiscono valore >>> I miner sono incentivati ad unirsi al network e a minare per guadagnare >>> il network diventa più sicuro e affidabile >>> I bitcoin acquisiscono valore e il ciclo si ripete.

In questo equilibrio, il Bitcoin cresce e prospera.

A conclusione di questo spiegone infinito, c’è una considerazione importante da fare.

Il Bitcoin è antifragile. Tu no.

Abbiamo iniziato questa guida parlando del fatto che il funzionamento di Bitcoin intreccia tecnologie e incentivi economici.

Abbiamo anche visto che da questo intreccio si sviluppa una tecnologia funzionante, affidabile ed estremamente sicura per trasferire o conservare denaro.

Di conseguenza, il funzionamento di Bitcoin non ha single point of failure; vale a dire una componente debole che se attaccata comporterebbe la conseguente distruzione di tutto il resto.

Tuttavia, proprio perchè il Bitcoin è estremamente sicuro, la fragilità sta nell’individuo. Ecco perchè fioccano attacchi hacker che puntano gli exchange centralizzati o truffe a discapito degli utenti nel tentativo di sottrarre bitcoin con l’inganno.

Se ci pensi, però, è normale che sia così.

Se il Bitcoin avesse dei punti di debolezza nel suo funzionamento e quindi potrebbe facilmente essere attaccato con successo, nessuno vorrebbe usarlo per trasferire o conservare denaro.

Oltre il funzionamento di Bitcoin

Se sei arrivato fin qui, stai certo che ne sai più del 99% delle persone che ti circondano.

Probabilmente ora hai in testa anche diverse domande e passaggi che fai fatica a connettere.

Non sorprenderti, è così per tutti.

Per comprendere a pieno il funzionamento di Bitcoin e, soprattutto, le implicazioni di questa tecnologia dovrai sporcarti le mani, leggere libri, disimparare, parlare con altri bitcoiner, sperimentare e continuare a porti domande.

Solo allora capirai quant’è profonda la tana del bianconiglio.

A presto,

Fabio

P.S.

Se ti è piaciuta questa guida, condividila con i tuoi amici. Aspetto di leggerti nei commenti 🙂

Potrebbe interessarti
Continua a navigare per aree tematiche
Segui Checkpoint Bitcoin

Lascia un commento