Ho creato questo post per provare a spiegare che cosa è bitcoin usando un approccio diverso. Tutte le spiegazioni introducono bitcoin come una (crypto) “valuta/moneta” basata su un database distribuito di tipo blockchain. Io vorrei cambiare il punto di vista iniziale e raccontare bitcoin come un database distribuito di tipo blockchain, dove l’utilizzo come cryptovaluta è soltanto uno dei suoi casi d’uso.
Lo scopo di questo post è puramente informativo, sentiti libero di copiare, riutilizzare o tradurre le mie idee anche senza citare questo post.
Alcuni concetti tecnici sono spiegati in modo volutamente semplificato o impreciso. Inoltre sono approssimazioni necessarie per non aprire troppe parentesi tecniche. So che in questo forum storcerete il naso, l’obiettivo è dare una prima spiegazione generale a chi ancora non sa nulla di bitcoin.
CAPITOLO 1. Cos’è realmente BitcoinBitcoin è un database decentralizzato le cui transazioni sono irreversibili e i dati scritti considerati immutabili. Tale database è liberamente accessibile a tutti tramite un protocollo aperto con specifiche note ed open source, chiunque può leggere i dati di tale database oppure contribuire a renderlo sicuro validando le transazioni.
Ogni 10 minuti il network convalida un blocco dati di nuove transazioni, tale blocco viene accodato alla catena dei blocchi precedenti secondo delle regole di validità crittografica (regole comuni a tutti i nodi della rete). Tale catena contiene i dati di tutte le transazioni dall’avvio del network bitcoin (avvenuto nel 2009) ad oggi. Questa struttura dati è la blockchain.
Ciò che rende una blockchain immutabile ed incensurabile è il fatto che tale struttura dati è decentralizzata, cioè distribuita/replicata su un numero elevato di elaborati sparsi per il globo. L’integrità dei dati è garantita dal consenso raggiunto da migliaia di occhi che osservano la validità della blockchain secondo regole comuni prestabilite.
Ognuno di questi blocchi ha una dimensione massima limitata, questo per non far crescere nel tempo la dimensione della blockchain in maniera eccessiva. La conseguenza è che il numero di transazioni che gestisce il network bitcoin è estremamente basso: 7 al secondo.
Se non ci fosse questo limite nel protocollo la dimensione dell’intera blockchain crescerebbe a dismisura e soltanto pochi grossi data server potrebbero permettersi di installare un nodo Bitcoin. La rete sarebbe gestita da pochi attori che (proprio per il fatto di essere in pochi) potrebbero accordarsi per modificare a piacere le transazioni considerando valide tali modifiche.
Lo spazio disco che occuperà una blockchain deve essere tenuto basso, va limitato, pena la non decentralizzazione del network.
Dunque per avere immutabilità dei dati tramite decentralizzazione, tali dati devono essere una risorsa preziosa e limitata.
Questi dati, la blockchain, che viene anche chiamato registro distribuito devono restare limitati come occupazione di spazio su disco (non devono crescere di GB e GB) altrimenti sarebbe un registro sempre meno distribuito perché pochi potrebbero permettersi di scaricare e salvare nel proprio hard disk l’intera blockchain.
Chi ha quindi diritto ad effettuare una delle poche transazioni che il network può convalidare ogni 10 minuti e che sarà inserito nel nuovo blocco aggiunto alla blockchain?
Il network prevede dei token, limitati nel numero massimo (21 milioni), chiamati bitcoin o BTC. Per effettuare una transazione occorre inviare dei token BTC da un indirizzo ad un altro. Inviando dei BTC bisogna inoltre indicare quanti se ne vuole lasciare come “mancia” per i computer che convalidano le transazioni (i miner). Queste mance sono le ‘fee’ che ricompensano i minatori del loro lavoro di messa in sicurezza del network fornendo potenza di calcolo per validare le transazioni richieste.
Nei primi anni di vita del network, per ogni blocco convalidato, oltre alle fee vengono assegnati dei nuovi bitcoin al miner che ha convalidato per primo il nuovo blocco. Questo meccanismo serve ad assegnare per la prima volta a qualcuno i nuovi bitcoin generati, per fornire un avvio al sistema (nel 2009 all’avvio del network nessuno possedeva nessun BTC). Quando saranno stati assegnati tutti i 21milioni totali di btc, i minatori riceveranno, come ricompensa per il loro lavoro, solamente le fee allegate alle transazioni da validare.
Poter inserire dati nella blockchain ha un valore dato che si va a scrivere dati immutabili e quindi preziosi.
Poter inserire dati nella blockchain è anche un privilegio dato che ogni 10 minuti (ogni blocco genarato) verranno messi a disposizione un numero massimo limitato di ‘slot’ per effettuare transazioni.
Chi allega fee più alte alle proprie transazioni verrà scelto preferenzialmente dai miner per essere incluso nel prossimo blocco.
Quindi se un dato scritto nella blockchain ha un certo valore, anche il token (BTC) necessario a poter scrivere nella blockchain ha esso stesso un valore.
I bitcoin sono merce di scambio preziosa.
Questo rende i bitcoin dei token con un valore intrinseco diverso da zero.
Se la blockchain di bitcoin è la lavagna più “indelebile” del mondo, i bitcoin sono i gessetti speciali per scriverci sopra qualcosa.
CAPITOLO 2. Qual è il valore intrinseco di bitcoin?Molti credono che bitcoin non abbia valore intrinseco. Diverse persone pensano che i bitcoin siano dei token digitali fini a se stessi, privi di un sottostante reale o che non servano a nulla a parte poter essere scambiati.
I bitcoin sono limitati nel loro numero massimo e non ne esisteranno più di 21 milioni, da questo punto di vista sono simili all’oro o ad altri metalli rari. Tuttavia alcuni fanno notare che l’oro oltre ad avere un valore perché raro ha anche delle applicazioni reali (es. gioielli e applicazioni industriali) mentre con un bitcoin non puoi farci nulla di pratico, puoi semplicemente minarlo o compralo, possederlo, ed eventualmente rivenderlo od inviarlo a qualcun’altro.
Raccontandola in questo modo effettivamente sembrerebbe che bitcoin sia un semplice oggetto prezioso digitale fine a se stesso a cui viene attribuito valore soltanto in quanto raro.
Ma nell’ottica di guardare a Bitcoin come ad un database immutabile, invece che come ad una valuta digitale, diventa invece subito chiaro quale sia il valore intrinseco di bitcoin:
Tramite dei bitcoin puoi accedere in scrittura alla blockchain più sicura al mondo.
Cosa intendiamo per “sicura” ? Una blockchain è tanto più sicura tanto più è forte e garantita l’immutabilità dei suoi dati.
Dal poter scrivere dei dati sulla blockchain di Bitcoin possiamo immaginare i casi d’uso più immediati che possono venirci in mente:
1. La blockchain come strumento notarile, esempio: Prova di esistenza di un documento digitale2. Creazione di un token digitale scarso e quindi di valore (bitcoin come surrogato digitale dell’oro), una sorta di “store of value”.3. Utilizzo del token bitcoin come valuta digitale in grado di funzionare in assenza di intermediari.
I punti
2 e
3 sono potenzialmente opinabili dai detrattori di bitcoin:
Bitcoin ha valore fintanto che c’è gente che gli da un valore, non abbiamo una garanzia in senso stretto derivante dal suo semplice essere scarso.
Bitcoin come valuta è limitata dal limite di 7 transazioni al secondo e dal costo elevato delle fee. (nota: questo limite potrebbe essere superato in futuro dal Lightning network)
Resta il punto
1 che è indiscutibilmente un utilizzo reale di bitcoin. In questo caso d’uso è possibile realizzare prove di esistenza di documenti: la blockchain come strumento notarile. Vediamo a grandi linee come può funzionare una prova di esistenza di un documento digitale tramite bitcoin.
Non serve (e non si deve) salvare un intero documento informatico (es. un pdf) nella blockchain ma è sufficiente calcolarne un’impronta univoca (hash function) e allegare tale impronta in una transazione bitcoin. In informatica esistono delle funzioni che dato un certo contenuto digitale (es. un file) ne calcolano un’impronta univoca: la stessa impronta può essere stata generata solo da un un unico, preciso, file. A differenza del file che può essere di dimensione qualsiasi, l’impronta generata sarà sempre una relativamente piccola sequenza di caratteri. Abbastanza piccola da poter essere allegata ad un transazione bitcoin.
Una transazione Bitcoin tipica prevede che da un indirizzo A vengano inviati dei bitcoin ad un indirizzo B, pagando al network dei minatori una fee F. Questo è il caso d’uso più banale in cui abbiamo un semplice trasferimento di valore tra due indirizzi. Due persone diverse si scambiano dei bitcoin.
Tuttavia è possibile “allegare” ad una transazione un breve messaggio di testo e il modo tipico per farlo è tramite l’utilizzo del campo op_return.
La situazione in questo caso è che da un indirizzo A vengano inviati dei bitcoin ad un indirizzo B, pagando al network dei minatori una fee F, associando alla transazione un piccolo messaggio testuale M. In questo caso gli indirizzi A e B probabilmente appartengono alla stessa persona che effettua una transazione in cui sostanzialmente non scambia valore con nessun’altro. La transazione è finalizzata a scrivere il messaggio M nella blockchain.
Nel messaggio M verrà indicata l’impronta informatica univoca del file per il quale si vuole provare l’esistenza.
La conservazione del documento resta a carico tuo (o di qualcun’altro ma non a carico della blockchain, non puoi salvarlo nella sua interezza in essa) e potrai dimostrare che tale documento esisteva sicuramente almeno a partire dalla data del blocco (ogni blocco riporta un timestamp) in cui la transazione con la sua impronta è stata inclusa. Facendo un esempio tale documento potrebbe riportare la descrizione di una tua idea e l’immagine di un tuo logo “Io Mario Rossi ho inventato questo prodotto con questo logo…”. Tramite bitcoin potresti dimostrare che avevi già ideato quell’idea e quel logo a partire dalla data del blocco in cui hai incluso l’impronta del file!
Non devi inviare bitcoin a nessuno per ottenere ciò, puoi realizzare una transazione in cui invii un importo insignificante tra due tuoi indirizzi e dovrai solo pagare la corretta fee per essere incluso in un blocco.
La fee ovviamente deve essere corposa. Essendo lo spazio sulla blockchain limitato risulta conteso e occorre pagare una fee non piccola per aggiudicarsi l’inclusione in uno dei prossimi blocchi (se inserisci una fee troppo piccola dopo un po’ la transazione viene respinta e puoi riprovare).
Il valore intrinseco di bitcoin è che si tratta di un token che permette l’accesso in scrittura alla più sicura blockchain dati del mondo.
Esistono già dei servizi di questo tipo, consiglio di cercare “Proof of existence with bitcoin”. Un sito che già implementa tutto ciò e svolge tale servizio in maniera user-friendly è
https://opentimestamps.org/Certo, ad oggi il successo di bitcoin e la stragrande maggioranza delle sue transazioni sono da ricondurre al suo utilizzo puramente speculativo (trading negli exchanger da parte migliaia di investitori retails), e l’utilizzo notarile di bitcoin rappresenta una percentuale minoritaria delle transazioni, ma questa proporzione non significa che non esista un sottostante reale!
I bitcoin non hanno una materia prima sottostante, sono essi la materia prima per scrivere sulla blockchain.
CAPITOLO 3. Quasi sicuramente non ti serve una blockchain. Ma se veramente dovesse servirti, allora ti serve quella di bitcoin.Bitcoin non ci piace, ci piace la blockchain. Quante volte avrete sentito questa frase?
Molte persone influenti, intervistate in questi ultimi anni, hanno spesso ripetuto il mantra: bitcoin non ci interessa, ma nutriamo interesse nella tecnologia sottostante, la “blockchain”. Spesso viene ripetuto per uno o più dei seguenti motivi:
- Semplice ignoranza e/o diffidenza verso ciò che non si conosce bene.
- Uso dell’ennesima buzzword (la ‘blockchain’) per sembrare al passo con i tempi. Puro marketing.
- Vera e propria malafede. Dato che bitcoin è uno standard aperto (sostanzialmente è di tutti) si ha paura di non poter mettere sul mercato un proprio prodotto software basato su una propria “blokchain” proprietaria.
Ho bisogno di una blockchain per il mio business? La blockchain serve veramente a tracciare le filiere? Proviamo a rispondere a queste domande con dei ragionamenti.
Le blockchain si suddividono in pubbliche e private.
Se una blockchain o una certa “soluzione enterprise” è privata/federata non è realmente decentralizzata. Le blockchain di questo tipo sono progettate proprio con l’intento di non perdere del tutto la possibilità di avere un controllo centrale.
Significa che il controllo resta centralizzato, il consenso automatico tra i nodi sui dati distribuiti non è mai veramente definitivo ed un admin (o un numero limitato di admin) deve poterli potenzialmente cambiare. Quindi è meglio utilizzare un classico db distribuito. Un sistema basato su blockchain risulta estremamente inefficiente rispetto ad un database classico. Quando non serve decentralizzazione questa inefficienza è un prezzo assurdo da pagare. Tale inefficienza è accettabile quando si cerca decentralizzazione ed immutabilità: in tal caso è un giusto prezzo da pagare.
Sei un manager affascinato dalla parola ‘blockchain’ è stai per comprare una costosa soluzione proprietaria? Probabilmente non ti serve un sistema basato su blockchain. Ma puoi chiedere ai tuoi ingegneri informatici di progettare un classico software basato su uno o più database distribuiti. Sviluppate uno strato software di accesso ai dati con le vostre logiche personalizzate di gestione del consenso quando i dati non coincidono tra i diversi nodi su cui distribuite i dati. Puoi svilupparlo con normali tecnologie software esistenti, non serve una blockchain. Le blockchain private sono da evitare.
Passiamo a quelle pubbliche (tra cui Bitcoin).
Se una blockchain è pubblica ma non ha delle fee costose, o è poco usata (quindi insicura) oppure ha un blocco troppo grande (e quindi tende a non essere più decentralizzata, vedi capitolo 1). Le blockchain pubbliche con queste caratteristiche sono da evitare. Bitcoin ha fee costose (quindi è sicura perché utilizzata e contesa) e un blocco di dimensioni limitate (non diventerà centralizzata col tempo).
Torniamo sull’esempio della prova di esistenza di un documento vista al capitolo 2. Immagina di fare l’hash di un documento ed effettuare una transazione bitcoin salvando tale impronta. Potrai dimostrare (conservando il documento) che quel documento esisteva già al momento della transazione.
Immagina di voler tracciare invece dell’origine di un documento informatico l’origine di oggetti reali. Pensa di voler tracciare su blockchain la filiera alimentare (ad esempio) del vino di alta qualità. Un operatore umano inserirà qualche dato riguardante una bottiglia di champagne accertandone l’origine.
Primo problema: l’operatore potrebbe mentire e inserire dati falsi (o manomettere il meccanismo automatico di inserimento dati). A cosa serve inserire un dato che potrebbe essere falso in origine in una blockchain immutabile? Fidiamoci dell’addetto e andiamo avanti..
Per quanto riguarda un documento digitale, è possibile darlo in pasto ad una funziona informatica che ne calcola una piccola impronta univoca (un piccolo testo che è possibile includere in una transazione su una blockchain).
Ma per gli oggetti del mondo reale non esiste ancora uno scanner laser/quantistico/fotonico/flusso canalizzatore che ti calcola l’impronta univoca di un oggetto reale (una bottiglia di vino, una mela, una sedia). Inoltre gli oggetti reali variano nel tempo la loro composizione molecolare (il vino fermenta e reagisce negli anni in bottiglia), lo stesso oggetto avrebbe impronte diverse a distanza di tempo.
Come potremo provare tramite la blockchain che una certa bottiglia contiene proprio quello che c’è scritto sull’etichetta? Dobbiamo fidarci del codice scritto sull’etichetta e verificare che tale codice sia stato registrato nella blockchain. Ma il codice è stato scritto sull’etichetta e nella blockchain da degli umani, ovvero è un dato potenzialmente corruttibile.
Si potrebbe anche applicare la stessa etichetta con lo stesso codice a più bottiglie anche quelle che non contengono champagne.
A cosa serve poter scrivere su una lavagna indelebile (blockchain pubblica) delle cose che potrebbero essere false in origine?
A cosa serve poter scrivere su una lavagna che non è nemmeno del tutto indelebile (blockchain privata) delle cose che potrebbero essere false in origine?
Per quanto riguarda un oggetto del mondo reale da tracciare in blockchain non possiamo inserirne un’impronta univoca come possiamo invece fare per un file. Anche se per magia potessimo calcolare l’impronta univoca di un oggetto reale, avrebbe un valore solo istantaneo perché cambierebbe nel tempo.
Concludendo anche per un prodotto con una filiera salvata in blockchain, ci dobbiamo fidare di quanto dichiarato, esattamente come facciamo già oggi senza blockchain. Ci si riconduce a doversi fidare delle persone. Tanto vale usare un normale database
La blockchain come sistema di tracciamento di una filiera produttiva di oggetti reali non ha alcun senso, ma ha senso soltanto quando si trattano oggetti completamente digitali. Come per il nostro solito esempio della prova di esistenza di documenti informatici (file) per i quali è possibile calcolare una piccola impronta univoca e salvarla in blockchain.
Quindi quando mi serve una blockchain? Quando devo salvare delle prove di esistenza (ad un certa data, il timestamp del blocco) per dei documenti importanti o in generale quando gli oggetti che devo trattare sono puramente digitali e non oggetti reali.
Quale blockchain devo usare? Quella di bitcoin perché è quella che offre le maggiori garanzie di immutabilità.
Quanto mi costerà una prova di esistenza di un singolo documento? Il costo di una transazione nelle rete bitcoin, che può essere 1$ come alcune decine e in futuro potrebbe anche aumentare, dipende da quanto è utilizzata la blockchain al momento della transazione. Un notaio comunque costerebbe di più.
CAPITOLO 4. Quanto è sicura ed immutabile la blockchain di Bitcoin?Bitcoin è la cryptocurrency più diffusa. La sua blockchain è quella con con il maggior numero di nodi validatori (full node, i quali hanno in memoria l’intera blockchain validata) e quella con la maggior potenza di calcolo in campo nella validazione delle transazioni (mining). Una blockchain non è più sicura di un’altra in base a caratteristiche tecniche diverse, ma è più sicura di un’altra se il suo network decentralizzato (full node + miner) è più grande del network dell’altra. La blockchain di bitcoin è quindi la blockchain più sicura al mondo.
I vari miner competono tra loro per convalidare le transazioni e ottenere come ricompensa le fee ed i nuovi bitcoin generati in questa fase iniziale del network. A regime quando tutti i 21 milioni di bitcoin generabili saranno stati minati, i miner lavoreranno solo per aggiudicarsi le fee allegate ad ogni transazione.
La somma della potenza di calcolo di tutti i miner (validatori di transazioni) si misura in termine di hash/s ad oggi siamo intorno ai 150exahash. In termini energetici i vari miner utilizzano una quantità di energia elettrica pari a quella di un’intera nazione come il pakistan o l’argentina, come ordine di grandezza siamo intorno ai 130 terawatt ora.
Un malintenzionato che volesse assicurarsi il controllo della blockchain dovrebbe superare (50% + 1 ) tutta la potenza di calcolo in campo sparsa per il mondo.
Un soggetto ostile dovrebbe allestire una mining farm gigantesca, difficile dire quanti elaboratori servirebbero, ma immaginiamo che dovrebbero consumare più energia elettrica dell’intera Argentina.
Per modificare in maniera fraudolenta un dato su un database tradizionale, basta corrompere l’admin o gli admin di sistema con accesso al dato. Per modificare in maniera fraudolenta un dato sulla blockchain di bitcoin occorre superare una barriera energetica protettiva da circa 130 terawatt ora (più lo sforzo tecnologico per costruire/acquistare e gestire degli efficienti elaboratori specifici per l’algoritmo di mining di bitcoin).
La blockchain di bitcoin è la lavagna “più indelebile” del mondo.
Supponiamo di voler cambiare un dato scritto nella blockchain 5 anni fa.
Per cambiare una transazione nel passato l’attaccante dovrebbe ricalcolare tutti i blocchi a partire da quello interessato di 5 anni fa nel quale viene apportata la modifica (tale modifica rende necessario un ricalcolo di tutti i blocchi successivi per renderli validi).
Dovrebbe quindi fare girare la sua enorme mingin farm in silenzio a ricalcolare una blockchain diversa ma formalmente valida e dopo essersi portato alla pari con i blocchi pubblicare al resto della rete la sua nuova catena di blocchi con più lavoro (Proof of work) la quale verrebbe riconosciuta dall’interno network come la nuova catena valida. Uno sforzo energetico enorme.
Più l’hash rate totale del network bitcoin cresce, maggiore è lo sforzo economico necessario per attaccare il network e sovvertire l’immutabilità dei dati nella blockchain di bitcoin.
CAPITOLO 5. Bitcoin consuma troppa energia per ogni singola transazione?Risposta breve
No, perché Bitcoin è il core network di potenzialmente infinite reti a basso consumo energetico che si poggiano sulle sue garanzie criptografiche e la sua resistenza agli attacchi. Ad ogni transazione Bitcoin possono potenzialmente corrispondere moltissime operazione su reti di livello 2.
Potrebbe caso mai aver senso dire che il network Bitcoin (nella sua interezza) consuma troppa energia ma andare ad assegnare un significato al consumo di una sua singola transazione non ha senso, di seguito vedremo perché.
Di seguito la spiegazione articolata
Quando vi dicono che la validazione delle transazioni bitcoin consuma quanto “un’intera nazione” si tratta di una cosa positiva dal punto di vista della sicurazza: ci vuole altrettanta energia (protratta nel tempo necessario a riscrivere i vecchi blocchi) per sovvertire i dati.
Più bitcoin cresce di hasrate e di consumo energetico maggiore è l’immutabilità dei dati della sua blockchain. La blockchain di bitcoin è la lavagna “più indelebile” del mondo.
Si stima che una transazione bitcoin consumi tanta energia quanto centinai di migliaia di transazioni VISA.
Ma non sono cose confrontabili. VISA può essere confrontata con MASTERCARD o con i bonifici bancari ma non con le transazioni Bitcoin.
Questo malinteso è anche colpa dei fanatici di Bitcoin della prima ora che spacciavano Bitcoin (con la B maiuscola, layer uno, vedremo dopo) per una valuta. Bitcoin (livello uno) non può essere una valuta ma un livello due può essere un sistema valutario basato sui bitcoin (con b minuscola, i token).
Bitcoin non è una valuta perché non può gestire un numero elevato di transazioni senza perdere decentralizzazione (vedi capitolo 1).
Con il limite delle 7 transazioni imposto dalla dimensione massima di ogni nuovo blocco generato ogni 10 minuti, non può essere una valuta. Poteva esserlo nei primi anni per una nicchia di utilizzatori quando era poco usata.
L’utilizzo monetario dei bitcoin non è tuttavia un sogno perduto, tutt’altro: è in avanzata fase di sviluppo il Lightning Network. Si tratta di una rete di secondo livello, considerando Bitcoin la rete di primo livello.
Si basa su questo principio: viene ‘fermato’ un certo quantitativo di bitcoin con una particolare transazione Bitcoin. I bitcoin ‘fermati’ a livello uno, saranno in uso in un sistema di pagamenti di livello 2, capace di gestire milioni di transazioni al secondo. Di tanto in tanto ci sono degli storni/compensazioni sul livello 1 ‘sbloccando’ i bitcoin che sono stati nel frattempo utilizzati nel network di pagamento di livello 2.
La blockchain di Bitcoin è il libro mastro, indelebile ed inviolabile, rispetto al quale poggerà il Lightning Network.
L’apertura e chiusura di canali di pagamento del Lightning Network richiederà di tanto in tanto una transazione nella blockchain di Bitcoin che consumerà come centinaia di migliaia di transazioni VISA, ma ogni canale Lightning Network gestirà milioni di transazioni bitcoin a livello due. Ecco compensato il tutto.
Lightning Network sarà il vero network di pagamenti confrontabile con VISA e altri sistemi simili.
Come detto nei capitoli precedenti Bitcoin è la blockchain più sicura al mondo, la lavagna “più indelebile” che ci sia. Una transazione nella blockchain di bitcoin significa scrivere qualcosa con un gesso indelebile, un gesso che fuma e si surriscalda al solo contatto della lavagna, una cosa del genere non può consumare poca energia. Questa lavagna è il riferimento sicuro di attività svolte fuori dalla lavagna stessa.
Tuttavia Lightning Network sarà soltanto una delle estensioni di secondo livello di Bitcoin. Un altro network in fase di sviluppo è Rootstock che estende bitcoin per gestire gli smart contract e applicazioni de-fi. Per ogni ‘argomento’ ci sarà un network di secondo livello senza intasare la blockchain di Bitcoin, mantenendola leggere e decentralizzata.
Bitcoin (layer uno) non è una valuta perché non può gestire un numero elevato di transazioni senza perdere decentralizzazione (vedi capitolo 1), ma i bitcoin (i token) opportunamente ‘bloccati’ possono essere rappresentati su un network di pagamento (layer due) come il Lightning Network facendo finalmente diventare i bitcoin una vera valuta da milioni di transazioni al secondo.
Bitcoin (layer uno) non è una blockchain con supporto onchain per smart contract turing completi come Ethereum, ma i bitcoin (i token) opportunamente ‘bloccati’ possono essere rappresentati su un network di gestione degli smart contract (layer due) come Rootstock permettendo anche a Bitcoin di gestire smart contract e de-fi come Ethereum (ma senza intasare la blockchain).
Bitcoin è di fatto la rete ‘core’ di reti di secondo livello (sidechain) di vario tipo ancora da immaginare e realizzare, per questo deve essere protetta con molta energia. Le fondamenta di un grattacielo devono essere solide.
Spero che il lettore ora inizi a capire perché nel primo capitolo ho voluto introdurre Bitcoin come un particolare database immutabile e non come una ‘valuta digitale’. Suggerisco, per capirlo meglio, di vederlo subito come un database immutabile e decentralizzato e poi immaginarne vari usi tra i quali quello come (crypto)valuta.
UPDATE: A marzo 2021 Microsoft ha annunciato il lancio di un sistema di identità digitale chiamato ION Decentralized Identifier (DID), con licenza open source, il quale si poggia sulla blockchain di bitcoin [1]. Questo è un ulteriore esempio di network di layer2. Interessanti le dichiarazioni sulla scelta della blockchain di bitcoin:
“When we started crunching the numbers, we realized that Bitcoin was the only chain that would probably be too costly to attack.”
[1]
https://bitcoinmagazine.com/business/microsoft-announces-completion-of-ion-v1-and-launch-on-bitcoin-mainnetCAPITOLO 6. Quanto crescerà ancora il consumo energetico di Bitcoin?Molti sono preoccupati dal fatto che se dovesse continuare a salire il valore di bitcoin, continuerà a salire il consumo energetico delle operazioni di mining.
Ad una prima analisi è vero:
Se il prezzo di Bitcoin aumenta, nuovi miner saranno incentivati ad unirsi al network per provare ad aggiudicarsi i nuovi bitcoin che ogni 10 minuti vengono assegnati al miner che per primo valida il nuovo blocco.
Oggi un singolo Bitcoin viene scambiato a circa 50mila $, se il prezzo dovesse passare stabilmente a 100mila $, dovremmo aspettarci un raddoppio anche dei miner che competono per accaparrarsi i nuovi bitcoin e quindi un raddoppio dell’energia consumata.
Se il prezzo di bitcoin dovesse raggiungere 1 milione di dollari dovremmo aspettarci un consumo energetico venti volte maggiore, più aumenterà di valore e più richiederà energia. Detta così sembra una cosa mostruosa.
Questo ragionamento però è sbagliato perché non tiene conto di due fattori:
1. Ogni quattro anni i nuovi bitcoin “coniabili” per ogni nuovo blocco si dimezzano. Erano 50 nel 2009, sono diventati 25 nel 2012, scendendo a 12.5 nel 2016 e sono diventati 6.25 nel 2020. Nel 2024 scenderanno a 3.125 e via dicendo dimezzandosi ogni quattro anni, tendendo a zero sul lungo periodo.2. Il prezzo di bitcoin non crescerà per sempre. Nel 2009, al lancio il prezzo era zero, con i primi scambi tra utenti pionieristici ci furuno le prime quotazioni nell’ordine dei centesimi di dollaro. In questi 12 anni la quotazione ha raggiunto, tra vari alti e bassi, i 50mila dollari l’uno. Siamo ancora nella fase di price discovery, il prezzo unitario prima o poi smetterà di salire (sarebbe troppo bello e impossibile che cresca per sempre) e si assesterà in un range in cui non avremo più grandi volatilità di diversi ordini di grandezza (x10, x100..).Combinando questi due effetti abbiamo che il prezzo di Bitcoin si stabilizzerà (punto
2) e dimezzandosi il numero di nuovi bitcoin ogni quattro anni (punto
1) avremo che anche il valore economico della ricompensa per i miner si dimezzerà ogni quattro anni.
Se tale incentivo a minare si dimezzerà ogni quattro anni il consumo energetico seguirà di conseguenza, caleranno il numero di miner perché avranno minor convenienza a minare.
Questa è la parte di incentivo economico di tipo “speculativo” di chi oggi compra bitcoin sperando che il prezzo finale a cui si assesteranno non sia ancora stato raggiunto.
Ma se i nuovi bitcoin coniati si dimezzano ogni 4 anni di cosa vivranno i miner?
Ovviamente delle fee che gli utenti del network pagano per richiedere ai miner di validare una loro transazione: questa è la parte di incentivo economico che è direttamente correleta ad un utilizzo reale del network.
Man mano che diminiuirà di importanza la parte speculativa (assegnazione nuovi bitcoin ai miner i quali li rivendono subito sul mercato per profitto a persone che li comprano sperando che varranno di più in futuro) resterà predominante soltanto la parte di reale utilizzo (pagamento dei miner tramite le fee delle transazioni incluse in ogni blocco validato).
Finito questo periodo transitorio, quindi il consumo energetico del network sarà funzione diretta del suo utilizzo reale e non come ora guidato prevalentemente da una forte componente speculativa dovuta a questa infatile ma fisiologica fase di price discovery.
Se come i detrattori di bitcoin sostengono, il network non servirà a molto, il consumo finale sarà basso perché pochi utenti vorranno transare e pagheranno poche fee per farlo.
Se invece il network bitcoin sarà effettivamente usato per molte cose, il consumo finale potrà anche essere alto ma proporzionalmente giustificato da un reale utilizzo.
CAPITOLO 7. Avrebbe senso vietare il mining di bitcoin?
Se proprio non si ritenesse accettabile il consumo energetico del mining di bitcoin avrebbe senso vietare in toto il mining di Bitcoin? No, basterebbe limitarlo: bitcoin funzionerebbe comunque.
Un falso mito è che con l’aumentare del valore dei bitcoin e con l’aumentare del suo utilizzo sia
necessario avere un aumento della potenza di calcolo spesa nell’algoritmo proof of work del mining di bitcoin.
E’ più corretto dire che con l’aumento del valore dei bitcoin il consumo energetico
tende ad aumentare ma non è obbligatorio che aumenti dal punto di vista del funzionamento del network stesso.
Senza interventi esterni tende ad aumentare perché con l’aumento del valore dei bitcoin, un numero maggiore di nuovi soggetti è incentivato ad unirsi al mining per i ricavi in aumento derivanti dalla vendita dei bitcoin ottenuti da esso. Ovviamente oltre a nuovi potenziali minatori che si aggiungono abbiamo anche gli stessi soggetti già presenti che aumentano il numero dei loro computer dispiegati.
Detto questo, tale tendenza potrebbe semplicemente essere limitata a piacere. Per farlo sarebbe sufficiente applicare una tassa extra all’energia elettrica venduta ad industrie dedite al mining.
Gli stati potrebbero fissare una certa quota massima annuale di energia vendibile a questo settore.
Tale energia verrebbe venduta con una tassa extra oppure assegnata con un bando pubblico a chi è disposto a pagare di più tale energia. I ricavi di queste tasse entrerebbero nelle casse degli stati che potrebbero reinvestirli come meglio credono nella causa ecologica.
Questo salverebbe capra e cavoli: non si ucciderebbe il network bitcoin e si limiterebbe il suo consumo energetico in maniera netta e con dei ritorni economici per la collettività.
Ora il lettore si chiederà: ma perché bitcoin può aumentare di valore e di diffusione e allo stesso tempo continuare a funzionare anche senza aumentare la potenza di calcolo dispiegata nel mining?
Tale potenza totale di mining potrebbe anche diminuire e tutto continuerebbe a funzionare lo stesso. La potenza di calcolo totale richiesta non è veramente funzione del valore o della diffusione di bitcoin ma è funzione della difficoltà di mining, un parametro che la rete regola automaticamente.
Il protocollo bitcoin prevede che un nuovo blocco di transazioni venga accodato alla blockchain ogni 10 minuti.
Per validare un blocco di transazioni (semplificando) occorre risolvere un problema matematico. Esso è l’oggetto del contendere nella “gara” tra tutti i minatori del mondo. Il primo che risolve tale problema matematico può accodare il blocco validato alla blockchain e assegnarsi i nuovi bitcoin generati (e quelli allegati come fee delle transazioni inserite nel blocco).
Più minatori ci sono più c’è potenza di calcolo dispiegata e il problema matematico tende ad essere risolto in meno di 10 minuti.
Con un sistema di autoregolazione, la rete, aumenta il coefficiente della difficoltà di questo problema se i blocchi tendono ad essere risolti in meno di 10 minuti in modo da riportare il tempo medio di generazione di un nuovo blocco al valore voluto di 10 minuti esatti. Se i blocchi viceversa tendono ad essere risolti in più di 10 minuti la rete automaticamente abbassa questo coefficiente di difficoltà.
Se il numero di miner calasse, calerebbe anche il coefficiente di difficoltà, e il network continuerebbe a funzionare senza problemi, consumando semplicemente di meno. Questo anche con un aumento di valore di bitcoin.
Ricapitolando, cosa accade normalmente in assenza di tasse particolari sul mining:
Aumenta il valore di bitcoin --> aumenta il numero di soggetti che minano perché diventa più redditizio farlo --> un maggior numero di miner significa ovviamente più energia elettrica richiesta.
Cosa accadrebbe con una mining tax con i miner obbligati per legge a stipulare soltanto contratti elettrici dedicati a questa attività con una tassazione elevata:
Aumenta il valore di bitcoin --> Eventuali nuovi soggetti (o gli stessi soggetti che vorrebbero dispiegare più macchine) dovrebbero soppesare la scelta rispetto ad un prezzo maggiorato dell’energia --> si avrebbe un equilibrio, tale equilibrio verrebbe regolato secondo la sensibilità di ogni stato agendo sull’entità di tale tassazione specifica.
CAPITOLO 8. Ma di chi è Bitcoin?Mentre i singoli bitcoin (i token con cui è possibile accedere in scrittura alla blockchain Bitcoin) sono di qualcuno in particolare il network in se è un protocollo aperto a tutti e il codice sorgente è open source.
Si tratta quindi di una rete che è di tutti, è anche un po’ mia un po’ tua ma è anche un po’ dei vari detrattori.
Chiunque può unirsi al network dal punto di vista del mining, chiunque può mettere online un full node per aumentare la ridondanza dei dati, chiunque può utilizzare i proprio bitcoin nel network.
Per creare qualcosa sopra alla rete Bitcoin un’azienda non deve chiedere permesso a nessuno: l’accesso è detto permissionless.
Volendo è anche possibile analizzare il codice sorgente del progetto principale e riscriversi personali implementazioni dei software che svolgono le varie funzioni di mining, di portafoglio dei proprio bitcoin o di server full node.
L’unica cosa che può essere di qualcuno in particolare sono quindi i singoli bitcoin, nati inizialmente da un nuovo blocco minato, rivenduti sul libero mercato da chi li ha minati e da li in poi comprati e rivenduti da chiunque.
La rete nella sue interezza è dell’umanità intera, attaccarla vuol dire attaccare qualcosa che è anche un po’ tuo.
CAPITOLO 9. Cosa significa vietare Bitcoin?La Cina e poche altre nazioni totalitarie e non democratiche hanno vietato Bitcoin.
Praticamente hanno vietato l'utilizzo di un database: in Cina se vuoi scrivere dei dati sulla blockchain di Bitcoin non puoi farlo.
Vista in questi termini si tratta di un divieto assolutamente assurdo, i detrattori che vorrebbero vietare Bitcoin in pratica vorrebbero vietare un database, vi sembra ragionevole?