Non ti preoccupare se comprendere il funzionamento di Bitcoin ti sembra difficile, molti concetti chiave sono difficili da mettere insieme in un quadro chiaro, probabilmente perché Bitcoin è una tecnologia che utilizza conoscenze da diverse discipline e richiede competenze in vari ambiti, informatica, economia e crittografia.
L’obiettivo di questo articolo è darti gli elementi fondamentali per cogliere la portata di questa tecnologia anche se non sei ferrato in uno o più di questi ambiti.
Lo faremo trattando gli argomenti fondamentali e smussando gli aspetti tecnici tramite esempi.
Crittografia
Il primo pezzo del nostro puzzle è la crittografia, non a caso si chiama criptovaluta, perchè l’esistenza del sistema si basa sull’utilizzo di tecniche crittografiche molto avanzate.
La crittografia è usata da millenni in ambiente militare per impedire che delle informazioni siano lette da persone che non conoscono la chiave di lettura. Nel corso dei secoli le tecniche per crittografare le informazioni si sono affinate portando a soluzioni sempre più difficili da decriptare.
Bitcoin fa ampio uso della crittografia, per esempio nella creazione degli indirizzi di ricezione o nella verifica di validità delle transazioni e dei blocchi.
In questa sezione presentiamo una tecnica crittografia chiamata asimmetrica che permette ad un utente Bitcoin di creare delle transazioni (dei messaggi), diffondendo alla rete il messaggio in modo che sia fruibile solo e soltanto al destinatario legittimo.
La crittografia asimmetrica è introdotta da Whitfield Diffie e Martin E.Hellman (1976, la cifratura a “Chiave asimmetrica” da Whitfield Diffie, Stanford University).
In Bitcoin la crittografia asimmetrica è utilizzata per generare coppie di chiavi, una detta Chiave privata e le altre dette Chiavi pubbliche.
Queste chiavi non sono altro che numeri grandissimi nell’ordine di milioni di zeri dopo l’uno. Il primo numero di solito è scelto a caso nello spazio dei numeri che vanno da 1 a 2^256 i numeri possibili ed è chiamato chiave privata.
La chiave privata viene poi inserita in un’equazione matematica come input. La funzione produce così un secondo numero detto chiave pubblica.
Questi due numeri o chiavi hanno una relazione matematica unidirezionale perché se si conosce la chiave privata è molto facile risalire alla chiave pubblica. Mentre partendo dal secondo numero è quasi impossibile calcolare il numero iniziale perchè ci sono troppe combinazioni possibili.
Bitcoin utilizza una coppia di chiavi per trasmettere dei messaggi informatici. Il dialogo tra gli utenti bitcoin durante una transazione è di questo tipo:
“Io cedo 1 bitcoin a te”
Io che invio la transazione, allego a questo messaggio la tua chiave pubblica e firmo il tutto con la mia chiave privata.
Tu che ricevi i bitcoin sei l’unico a poter spostare nuovamente il bitcoin ricevuto.
Questo perché grazie alla crittografia asimmetrica, solo tu puoi firmare transazioni valide per spendere i bitcoin ricevuti sulle tue chiavi pubbliche.
1- La chiave pubblica può essere liberamente divulgata
2 – La chiave privata va tenuta segreta e al sicuro.
In Bitcoin, l’utilizzo della crittografia asimmetrica permette di immaginare un portafoglio bitcoin come una cassetta delle lettere in un condominio di 10 piani. Immagina che la chiave pubblica sia il numero assegnato alla tua cassetta. Grazie alla chiave pubblica il postino ti può imbucare qualunque cosa e chiunque potenzialmente può liberamente imbucare lettere. Ma solo chi ha la chiave privata è in grado di aprire la cassetta e, se serve, spostare il contenuto verso altri cassetti utenti.
Lezione 1: La crittografia asimmetrica tramite chiavi private chiavi pubbliche permette di creare oggetti digitali che solo chi conosce la chiave di lettura può modificare, si viene a creare così esclusività su un pezzo di informazione. Si ottiene sicurezza e univocità del proprietario in ambiente digitale. Per la prima volta oggetti digitali possono essere trasferiti senza duplicare l’informazione ma semplicemente spostando la titolarità ad agire su un certo dato. Sulla blockchain i “messaggi” rappresentano la possibilità di spendere se si è in possesso della chiave privata che decripta un certo messaggio già registrato in blockchain.
Economia Monetaria
Gli ideatori di Bitcoin avevano chiaro l’obiettivo di creare denaro digitale, infatti nel titolo del documento fondativo scritto da Satoshi Nakamoto già si definisce bitcoin una forma di contante digitale. Avrebbero assolto alla funzione di moneta. Nello specifico bitcoin ha intenzione di innovare in un ambito economico dove non ci sono sorprese da millenni.
Per comprendere il secondo pezzo del puzzle useremo per analogia la storia di un re o di un grande impero, per capire come si presenta la moneta nelle varie fasi di ascesa e caduta degli imperi e delle civiltà.
Nella prima fase di sviluppo dell’impero, pensa all’impero romano, all’ascesa della Spagna nelle Americhe o all’evoluzione dell’impero inglese fra ‘700 e l’800, le persone organizzavano le risorse e lo sviluppo usando le monete di metallo. Nella seconda fase, generalmente di consolidamento e poi declino, la moneta metallo viene sostituita con forme alternative di valuta, chiameremo questa seconda fase come la fase di cartolarizzazione della moneta.
Moneta metallo
Sin dall’antichità, l’oro è considerato denaro per eccellenza perché tra tutti i beni utilizzabili come mezzo di interscambio ha la caratteristiche migliori, seguito da argento e altri metalli preziosi.
L’oro è scarso rispetto ad altri beni. Prendiamo l’esempio dell’acqua, un bene sempre essenziale, ma che non costa praticamente nulla quando abbondante. Se usassimo l’acqua come mezzo di scambio e tu avessi un ampio stock di acqua, durante una siccità saresti improvvisamente ricco mentre durante un’annata piovosa la tua acqua non varrebbe nulla. L’oro è l’elemento più raro della tavola periodica, il secondo e il terzo elemento più scarsi, il thulium e lutetium sono 200 volte più abbondanti dell’oro. L’oro è una buona moneta perché non è facile aumentarne la quantità disponibile nell’universo.
La disponibilità di oro sulla terra è limitata per cui è facile scambiarsi tutti gli altri beni usando un bene dalla quantità limitata o meglio poco variabile come unità di conto del valore. La preferenza per l’oro come forma di moneta è diffusa ovunque e ha permesso gli scambi internazionali sin dall’antichità.
Le civiltà basano le loro fondamente su un’economia che utilizza moneta metallo in forma di oro, argento, bronzo, ecc. come mezzo di scambio e riserva del valore.
Moneta cartolarizzata
Come visto sopra nella fase “moneta metallo”, durante lo sviluppo iniziale, l’oro è la moneta dominante, Il re conia le monete solo con l’oro circolante nel suo regno.
Nella seconda fase di consolidamento del potere, le strutture organizzative della società, guidate dal re, tendono ad accentrare il controllo sulla moneta metallo e vengono introdotte forme di cartolarizzazione della moneta. La forma più nota è la pensata dei banchieri fiorentini di creare note in rappresentanza di oro. Nel migliore dei casi vengono usati metalli poveri in rappresentanza di oro, oppure documenti in rappresentanza di credito o debito. Banconote o altre forme di debito circolano in rappresentanza dell’oro gestito dal re.
Attualmente la convertibilità delle valute governative in oro non è nemmeno presa in considerazione e la politica monetaria attuata dai governi è completamente svincolata da qualunque bene tangibile, euro dollaro e sterlina si dice che sono monete FIAT, monete che si basano solo sulla fiducia nel governo che la emette.
Di solito, all’apice di questa cartolarizzazione della moneta l’impero decade, come tutto, le persone ricominciano partendo dalla moneta metallo.
Moneta Digitale
Internet ha innovato anche il nostro modo di pagare, infatti usiamo sempre meno le banconote. Oggi per concludere una transazione online inserisci i tuoi dati e un pin di sicurezza, la tua richiesta di pagamento viene accolta o meno dalla nostra banca. Queste forme di pagamento sono dette “pagamenti elettronici” e si avvalgono sempre di terze parti per gestire il pagamento. Bitcoin innova radicalmente i pagamenti elettronici grazie alla crittografia, perchè non hai bisogno di una banca o di Paypal per finalizzare un pagamento.
Satoshi Nakamoto come altri Cypherpunk ritenevano che i metodi di pagamento elettronici basati su terze parti minino le libertà individuali in quanto su internet è possibile sapere con molta precisione le abitudini finanziarie di ogni persona. Da qui l’esigenza di avere un mezzo di scambio che funzioni come moneta digitale senza la direzione di nessuno.
Satoshi grazie alla crittografia ottiene uno strumento per controllare lo spostamento di una unità di conto (il bitcoin) trasmissibile da un indirizzi all’altro e i saldi degli indirizzi sono verificabili individualmente da tutti senza bisogno di nomi e cognomi. Lo strumento è disponibile ed utilizzabile liberamente da tutti per trasmettere bitcoin ovunque nel mondo.
A questo punto ci chiediamo, perchè la gente dovrebbe utilizzarlo anche per conservare il valore oltre che semplicemente per trasmetterlo?
Sappiamo che un bene per essere una buona moneta oltre che essere unità di conto deve essere scarso. Ispirandosi alle caratteristiche che rendono l’oro un’ottima moneta Satoshi ha creato un bene digitale ancora più scarso dell’oro.
Infatti oggi ci sono in circolazione solo 18 milioni di bitcoin e ne esisteranno un massimo di 21 milioni. Ognuno di queste unità è però divisibile in 100 milioni di sub-unità chiamati satoshi
1 bitcoin = 100.000.000 di satoshi
0.1 bitcoin = 10.000.000 di satoshi
0.001 bitcoin = 1.000.000 satoshi…
0.00000001 bitcoin = 1 satoshi
Al prezzo di 1 bitcoin uguale a 10.000 euro per pagare un caffè da 1 euro ci servono 10.000 satoshi. Se 1 bitcoin valesse 1 milione di euro significa che per pagare 1 euro di caffè ci servono 100 satoshi. Questo mostra che se anche i bitcoin in termini assoluti sono limitati, con così tante sub unità trasmissibili possiamo fare anche micropagamenti e man mano che il valore dei bitcoin aumenta servono sempre meno satoshi per acquistare gli stessi beni.
Lezione 2: L’impostazione tecnologica di Bitcoin e una serie di regole del protocollo permettono a bitcoin di essere un’ottima moneta utilizzabile come mezzo di pagamento, riserva di valore. Inoltre permette di fare pagamenti internazionali come se fossero pagamenti in contanti. Una moneta che astrae dalle logiche burocratiche ma si poggia su regole matematiche.
Reti di computer
Il terzo pezzo del puzzle da trattare per avere un quadro completo del funzionamento di Bitcoin è l’analisi della struttura organizzativa di rete tra computer detta peer-to-peer (P2P).
Le reti peer-to-peer nascono con internet; in principio internet era una rete di comunicazione tra computer pari tra loro, con il tempo e lo sviluppo i rapporti predominanti oggi sono del tipo client-server in cui un computer centrale conserva diritti particolari e cede informazioni al client che li richiede. Queste reti centralizzate risultano più efficienti in molte applicazioni, servizi a pagamento o aziendali; l’efficienza della centralizzazione ha un costo in termini di privacy e libertà in quanto certi nodi della rete centralizzata possono essere isolati dalla rete.
L’architettura P2P diventa popolare con la creazione di programmi per la condivisione di file, per esempio, Napster e Bittorrent.
Nei network di condivisione file P2P, i dispositivi connessi condividono i file archiviati nei loro dischi rigidi. Usando applicazioni software progettate per mediare la condivisione di dati, gli utenti consultano altri dispositivi nel network per trovare e scaricare file. Una volta che un utente ha scaricato un determinato file, può agire da fonte per quel file. Questa è una forma di rete decentralizzata più resiliente e senza punti deboli (no point of failure).
Un sistema P2P è mantenuto da un network di utenti. Non presenta un amministratore o server centrale in quanto ogni nodo possiede una copia dei file e agisce sia da client che da server per altri nodi. Questo è ciò che separa i network P2P dai più tradizionali sistemi client-server.
Bitcoin Network decentralizzato
Bitcoin è un software opensource che si affida ad una rete di PC pari tra loro per funzionare. La rete peer-to-peer è alla base del funzionamento di Bitcoin.
Ogni partecipante alla rete dispone delle stesse informazioni, se mette a disposizione delle risorse ottiene dei benefici e paga per usufruire dei servizi. Un network di computer e persone.
Le funzioni principali dei nodi o dei partecipanti sono:
1) Creare e ricevere nuove transazioni.
2) Validare i blocchi ricevuti con verifiche anti-double-spending.
4) Spendere energia per calcolare la prova di lavoro.
3) Trasmettere i blocchi chiusi.
5) Conservare copia della blockchain con lo storico di tutte le transazioni.
Non tutte le funzioni sono condotte contemporaneamente, ci sono vari tipi di software che permettono di eseguire le funzioni sopra menzionate:
Bitcoin Wallet = Creano e firmano le transazioni
Nodi Validatori = Nodi che validano le transazioni e i blocchi, conservano copia della blockchain. Chiamati anche “full-node”.
Nodi Miner = Cercano di chiudere i blocchi ed aggiungerli alla blockchain.
Nodo Lightweight = Nodi che eseguono la verifica delle transazioni solo con una parte della blockchain.
Resilienza anticensura
La struttura piatta e decentralizzata rende il sistema resiliente, come hanno dimostrato i casi di Emule e di Bittorrent, dato che ogni nodo archivia, trasmette e riceve le stesse informazioni, i network peer-to-peer come Bitcoin tendono ad essere più veloci ed efficienti man mano che la base di utenti si allarga. Inoltre, la loro architettura distribuita rende il sistema molto resistente ad attacchi informatici o a tentativi di censura perché a differenza dei modelli tradizionali il network Bitcoin non ha un singolo punto di vulnerabilità.
Il processo di propagazione messaggi (transazioni) e scrittura su blockchain si dice censorship-resistant perché a nessuno può essere impedito di inviare una transazione valida sulla blockchain.
In questo contesto, l’architettura P2P, che è intrinseca alla tecnologia blockchain, è ciò che permette a Bitcoin di non aver bisogno di coordinatori, intermediari o di server centrali. Inoltre, chiunque può configurare un nodo Bitcoin se vuole partecipare al processo di verifica e convalida dei blocchi.
Lezione 3: Bitcoin non può essere spento perché fornisce servizi decentralizzati, utili e perfetti per un mondo già digitalizzato.
Creazione e divulgazione di una transazione
Grazie a questi elementi possiamo simulare quello che succede durante una transazione bitcoin. Le transazioni, come abbiamo detto, sono dei semplici messaggi con il minor numero di informazioni possibili. Si può quindi pensare alle transazione come all’unico elemento presente in tutto il sistema informatico. I messaggi fanno sì che la proprietà dei bitcoin si spostino da una chiave pubblica all’altra.
Quando il nostro Bitcoin Wallet crea una transazione ha salvato nel device le chiavi private.
Inserendo l’indirizzo bitcoin (ulteriore derivazione dalla chiave pubblica) e inviando i bitcoin,
questo messaggio viaggia nella rete, finché non viene intercettato da un nodo in ascolto, un pc con il software bitcoin accesso. il nodo più vicino verifica sulla propria copia dello storico transazioni, che io abbia il saldo che voglio spendere e se il nodo considera la transazione valida, la trasmette ad un altro nodo; molto presto un nodo minatore viene a conoscenza della transazione e della commissione allegata.
Generalmente nell’arco di 10 minuti tutti i pc della rete sono concordi sulla modifica apportata, il mio messaggio è finito per sempre nella blockchain.
Se sei interessato a scoprire come funziona la blockchain, continua a leggere qui.