La blockchain è una delle tecnologie fondamentali che permettono il corretto funzionamento di Bitcoin e della maggior parte dei progetti legati alle criptovalute. È un concetto formalizzato molto prima dell’avvento di Bitcoin, ma che soltanto con le intuizioni di Satoshi Nakamoto è diventato centrale nel dibattito tecnologico.
Molti tra divulgatori, politici e uffici di marketing tessono le lodi di questa tecnologia, attribuendole un potere salvifico che in realtà non ha. I casi d’uso delle blockchain sono in realtà molto ristretti, ma non per questi meno fondamentali.
Nell’approfondimento parleremo della reale natura delle blockchain, del perché sono neecessarie per determinati protocolli e di quali sono i reali casi d’uso e anche di quei casi in cui potrebbero essere sostituite in modo più efficiente da dei normali database.
La blockchain, come è intuibile dal nome, è una catena di blocchi, che viene utilizzata al fine di avere una sorta di libro mastro definitivo e che non può essere modificato in futuro. Si tratta di una tecnologia non efficiente sul piano computazionale e dell’utilizzo delle altre risorse, che è però fondamentale per Bitcoin per ottenere la decentralizzazione che è parte integrante della sua filosofia operativa.
Possiamo immaginare la blockchain e rappresentarla come una lunga catena di blocchi. Ogni blocco è legato al precedente e al successivo e costituisce un anello di questa lunga catena.
Questa catena come vedremo ha diversi vantaggi operativi. Aiuta Bitcoin (e anche altri progetti simili, ma con criteri diversi) a risolvere il problema del double spending senza ricorrere ad un’autorità centralizzata.
È uno degli aspetti che sono cruciali per categorizzare una determinata blockchain. In un sistema di questo tipo si deve decidere chi ha diritto ad appendere i nuovi blocchi. Bitcoin ha deciso di procedere con un sistema in Proof of Work, altri per motivi legati alla scalabilità hanno optato per diversi sistemi, sacrificando a quest’ultima affidabilità e decentralizzazione.
La questione relativa alla proposta dei nuovi blocchi è fondamentale per capire che non si può parlare di un unico sistema blockchain, ma di diverse implementazioni del concetto di base, con risultati decisamente diversi per i sistemi che ci si appoggiano.
Sarà anche scioccante leggerlo per qualcuno, date le enormi operazioni di marketing che hanno avuto ad oggetto proprio la blockchain, diventata una buzzwork a tutti gli effetti utilizzata per spingere commercialmente prodotti che non avrebbero altrimenti alcun senso.
La blockchain è poco efficiente rispetto ad un comune database. Occupa più spazio, ha necessità di un numero enorme di copie su diversi computer e dispositivi e spesso ha meccanismi complessi e dispendiosi per la produzione di nuovi blocchi. Perché utilizzarla allora? L’inventore di Bitcoin lo ha fatto perché unico sistema in grado di offrire decentralizzazione e accordo tra attori che potrebbero essere potenzialmente anche in conflitto, o meglio, che potrebbero avere interesse economico e non ad operare in modo poco onesto.
È l’unità fondamentale della blockchain e contiene al suo interno le transazioni che il sistema aggiunge al suo libro mastro. Ci sono diverse caratteristiche che possono fare la differenza per quanto riguarda le dimensioni, la velocità e la modalità con la quale vengono prodotti.
All’interno del blocco minimo di Bitcoin troviamo oltre alle transazioni anche un riferimento in hash al precedente blocco, un Merkle Tree delle transazioni e altri tipi di informazioni necessarie per la validazione dello stesso e la sua validità.
All’interno dei sistemi in blockchain sono implementati anche sistemi per decidere quale catena sia effettivamente quella corretta. Le chain possono infatti sdoppiarsi quando vengono proposti due ultimi blocchi diversi quasi in contemporanea.
Bitcoin ha una soluzione relativamente semplice, mentre altri sistemi (che possono trovarsi di fronte a questo problema più di frequente) hanno spesso utilizzato sistemi più complessi. Ad ogni modo qualunque tipo di sistema in blockchain ha un modo di risolvere il conflitto di una biforcazione in qualunque punto della sua storia.
Bitcoin è forse l’anno zero: fa il suo compito, lo svolge egregiamente e ha sempre rifiutato l’implementazione di novità alla moda. Altri sistemi in blockchain si sono spinti molto più in avanti, spesso incorporando codice proprio sul progetto principale, allargando a dismisura gli scopi dei propri protocolli.
Qui entriamo nel tecnico e in una discussione che non potremmo mai risolvere in poche righe. Sta di fatto che l’atteggiamento di Bitcoin, al contrario di quelli che vorrebbero un cambio a settimana o poco più, ha un senso. Ed è per questo che continua ad essere il network più rilevante anche ad anni di distanza e con l’arrivo di oltre 10.000 concorrenti.
Inutile forse sottolineare come la blockchain sia entrata di prepotenza anche in quelli che sono a tutti gli effetti i piani alti del mondo economico e finanziario. L’utilità c’è, anche se le grandi banche e i grandi network ne stanno facendo un utilizzo fortemente centralizzato che forse sconfigge gli scopi principali dell’esistenza stessa della blockchain.
Con il tempo, e questa è una previsione che verificheremo dopo averla messa nero su bianco qui, ci sarà un interesse sempre montante nei confronti della blockchain, e ne vedremo di nuove in futuro.
La blockchain ha un funzionamento relativamente semplice da comprendere: possiamo infatti immaginarla (come abbiamo riportato nell’infografica) come una lunga catena che unisce blocco dopo blocco, con i blocchi stessi che sono l’unità fondamentale di questo tipo di tecnologia.
All’interno del quale possiamo trovare le transazioni e gli elementi che lo collegano inequivocabilmente al blocco precedente. È l’unità minima con l’intero sistema che è costituito poi da blocchi consequenziali che rappresentano la storia della blockchain in questione.
Ciascun blocco è poi legato al precedente tramite hash. Come vedremo più avanti nell’analisi di ciò che è contenuto all’interno di un blocco di Bitcoin, ciascuno di questi contiene l’hash del precedente blocco. È questo è il legame tra ciascuno blocco e che appunto crea la blockchain.
Possiamo immaginare la blockchain linearmente, ovvero come una sorta di linea costituita di blocchi. In realtà però non è così, perché talvolta le blockchain si sdoppiano, vuoi ad esempio per un hard fork vuoi anche perché qualcuno ha proposto un blocco diverso rispetto a quello che poi è stato preso per buono dal resto del network.
Per molti può essere difficile comprendere quanto viene effettivamente offerto dalle blockchain perché queste in realtà sono sistemi composti di diversi pezzi, che vanno dall’infrastruttura hardware costituita da tutti i nodi che partecipano al network, fino alla rete che si occupa anche di diffondere le informazioni che tutti i nodi devono verificare ed eventualmente aggiungere alla chain valida.
All’interno di una determinata blockchain, ci sono anche da stabilire i meccanismi che regolano il consenso sui nuovi blocchi da appendere in fondo alla chain, nonché la possibilità anche di avere degli applicativi che utilizzino i dati della chain. In ultimo le blockchain possono essere anche considerate come delle banche dati, che a seconda del grado di sicurezza della chain stessa possono essere considerate o meno sicuri e al riparo da modifiche di terzi.
Possiamo ovviamente considerare anche i blocchi come una sorta di scatola all’interno della quale vengono incluse le transazioni che gli utenti hanno richiesto di effettuare. Dato che ogni transazione occupa informaticamente uno spazio, a seconda di quanto saranno grandi i blocchi stessi avremo un maggior numero di transazioni che possono essere incluse in un solo blocco.
Altro fattore di enorme importanza quando parliamo di blockchain. Il sistema, il software che le governa decide infatti anche, talvolta in via indiretta, quali Iano le tempistiche che è lecito aspettarsi nella produzione di nuovi blocchi. Possiamo andare dai 10 minuti imposti dalla rete di Bitcoin a moltissimi esempi che invece preferiscono una produzione di blocchi molto più accelerata.
Sono poche però le scelte in campo tecnologico che non hanno ripercussioni. Come vedremo nella sezione dove parleremo più approfonditamente dei sistemi di validazione, una scelta diversa in termini di grandezza e velocità dei blocchi si ripercuote sulle possibilità di decentralizzazione della blockchain stessa.
Ogni protocollo utilizza una propria grandezza dei blocchi o più banalmente decide la grandezza delle scatole all’interno delle quali racchiudere transazioni. Questo è da sempre uno dei temi caldi del mondo blockchain: dato che Bitcoin supporta un numero relativamente ristretto di transazioni, sono stati in molti ad esercitare pressioni per l’aumento di tale grandezza.
Bitcoin l’originale ha però deciso di seguire per la sua strada, in primo luogo per permettere ad un numero maggiore di persone di poter far girare un nodo completo senza ricorrere ad hardware costoso. Altri hanno preferito effettuare un fork e crearsi un progetto simile ma basato su blocksize più grandi: Bitcoin Cash e gli altri sono nati proprio in questo contesto. Come tutto quello che riguarda un disegno ingegneristico così complesso, anche la grandezza dei blocchi è un fattore che incide su decentralizzazione e funzionamento generale della chain che stiamo studiando.
È il blocco dal quale tutto parte, il primo blocco che viene realizzato e che dà il via ad una nuova blockchain. Nel caso di Bitcoin è stato realizzato il 3 gennaio 2009. Una volta che abbiamo il genesis block, possiamo passare alla creazione dei prossimi blocchi.
I futuri blocchi verranno creati secondo il meccanismo di cui si è dotata la blockchain che stiamo utilizzando. Come vedremo più avanti ce ne sono in realtà diversi e anche all’interno delle stesse famiglie possono esserci delle differenze sostanziali per quanto riguarda le modalità di consenso e di creazione dei blocchi.
Qui entra in ballo il sistema di cui si è dotata la chain per accettare nuovi blocchi. Nel caso di Bitcoin il processo è piuttosto intuitivo: il miner deve raccogliere dalla mempool le transazioni che vuole inserire nel blocco, creare un blocco valido e trovare l’hash del blocco che sia più basso dell’hash/difficoltà imposta dal network in quel momento.
Quando ci riuscirà diffonderà il blocco nella rete, i nodi verificheranno che il blocco sia valido e nel caso lo riterranno parte della blockchain. Il procedimento qui è descritto in modo fortemente semplificato, ma tanto basta pare capire cosa accede ad esempio in Bitcoin nella vita naturale della blockchain.
Altri sistemi assegnano il diritto di proporre blocchi ad estrazione tra gli staker, ovvero tra chi ha in wallet i token o i coin relativi alla blockchain. È una soluzione che permette a tutti di avere una chance in relazione alla quantità di denaro posseduto e che tecnicamente consuma molto meno energia. Si presta però a diverse problematiche che andremo ad analizzare più avanti.
Abbiamo realizzato un videocorso base per spiegare in modo semplice cos’è e come funziona la blockchain.
Questo è uno dei punti fondamentali che riguardano il funzionamento di una blockchain. Anche qui utilizzeremo come esempio quanto avviene all’interno della blockchain di Bitcoin. Cerchiamo di capire come avviene la creazione dei blocchi e quali conflitti si possono creare.
UN SINGOLO MINER “TROVA” LA SOLUZIONE: in questo caso il miner diffonde sul network di Bitcoin il suo blocco, i nodi verificheranno che è valido secondo tutti i criteri e lo riterranno l’ultimo valido della blockchain. Gli altri miner cominceranno a produrre il prossimo blocco partendo da questo (ricordiamo che il nuovo blocco deve contenere l’hash del precedente?)
DUE MINER TROVANO LA SOLUZIONE A POCA DISTANZA: può succedere. Due o più miner trovano una soluzione e propongono il loro blocco (che non è detto che sia identico, anzi). Dato che ci vuole comunque del tempo tecnico affinché la soluzione si propaghi, alcuni nodi del network riterranno per buono l’uno, altri l’altro. Cosa succede? La chain si sdoppia in questo caso, si biforca. È un problema?
Tecnicamente sì, ma era stato ovviamente previsto da Satoshi Nakamoto. Siamo appunto nella situazione che vediamo riportata in infografica. Che succede a questo punto? Che alcuni miner seguiranno la linea a, altri la linea b. Con il tempo una delle due linee diventerà più lunga e quindi ci sarà una convergenza di tutto il network verso la chain più lunga. Il concetto di base è che vince sempre la chain con più lavoro incorporato, ovvero quella più lunga. Ecco risolto il problema.
I BLOCCHI ORFANI: i blocchi che sono stati minati e che non faranno parte della chain definitiva si possono considerare come orfani. Tecnicamente non saranno mai esistiti e le transazioni contenute all’interno, se non presenti in altri blocchi, non saranno eseguite. Ma non sono perse e non andranno rieseguite, perché se non sono state già inserite in altri blocchi, saranno comunque nella mempool pronte per essere inserite in un altro blocco. Data questa possibile separazione della chain, è bene aspettare almeno 6 blocchi successivi alla transazione che abbiamo ricevuto per esserne certi al 100%.
La blockchain è da sempre pubblicizzata come sistema trasparente e sicuro per la conservazione di dati (che possono essere transazioni o altro). Questo però è solo parzialmente vero, perché non basta avere la forma di una blockchain per integrare automaticamente il più alto grado di sicurezza.
E non è soltanto nostra opinione, ma quello che ci racconta la storia di diversi progetti, alcuni dei quali sono stati manomessi (anche se con danni relativamente limitati), proprio perché non sicuri. La sicurezza delle blockchain può essere valutata su diversi elementi, alcuni dei quali non strettamente inerenti alla gestione della blockchain in quanto tale.
Quali sono i requisiti affinché una transazione venga ritenuta come valida? I sistemi maggiormente utilizzati prevedono l’utilizzo di un sistema a chiave pubblica e privata. Il nostro indirizzo è una chiave pubblica e per transare dovremo utilizzare la relativa chiave privata. Nel complesso si tratta di sistemi molto sicuri e che sono ad oggi da considerarsi inviolabili.
Sulla stessa tipologia di sicurezza si basano oggi tanti altri sistemi informatici. Il livello di sicurezza offerto in questo senso dalle principali chain è mediamente più che soddisfacente. Il sistema deve preoccuparsi dunque soltanto di verificare la chiave e di verificare che quella somma sia effettivamente nella nostra disponibilità.
È il secondo aspetto che dobbiamo considerare quando facciamo analisi della sicurezza di una blockchain. Nel caso di Bitcoin siamo al massimo livello di sicurezza contro gli attacchi più comuni, tenendo conto dell’enorme quantità di potenza di calcolo che è a sostegno di questo network.
Non tutti i network che sono in Proof of Work oggi possono essere considerati allo stesso modo. Pensiamo ad esempio ad Ethereum Classic o anche a Bitcoin SV che in passato hanno subito attacchi andati a buon fine. Per quanto riguarda i sistemi in Proof of Stake, siamo generalmente in un territorio meno sicuro, cosa dimostrata ampiamente a livello matematico.
51% attack: Sì, si possono portare attacchi di diverso tipo alle blockchain. Il più comune per le reti in Proof of Work è il cosiddetto 51% attack ovvero un attacco nel quale un solo attore o diversi attori coordinati controllano più del 51% della potenza all’interno del network.
In quel caso potrebbero tentare di invertire le loro transazioni (ma mai di transare con il nostro wallet) e fondamentalmente di effettuare Double Spending. Nel caso di Bitcoin non è mai successo, ma lo stesso non si può dire di altri network.
Ovvero quando la community, se così vogliamo chiamarla, decide di far fuori dei blocchi che contengono delle transazioni illecite oppure frutto di una truffa. È successo anche a chain di una certa importanza, come nel caso ad esempio di Ethereum, che decise di tornare indietro in seguito allo scandalo The DAO. Per quanto possa sembrare giusto evitare che le truffe si compiano, questo è un precedente piuttosto grave per una blockchain. Perché non è la matematica, non è il software a governare, ma un gruppo più o meno ristretto di persone che possono effettivamente coordinarsi e decidere quale transazione sia valida e quale no.
Quella della decentralizzazione è una questione delle più complesse, tra quelle che riguardano il mondo della blockchain. La vulgata, sbagliata come quasi sempre, vorrebbe automaticamente ogni sistema in blockchain decentralizzato per definizione. Non è così – e il tema della decentralizzazione va affrontato su diversi livelli.
Chi può proporre i blocchi? Cosa serve per essere i vincitori di questa lotteria? Nel caso di Bitcoin serve offrire una prova di lavoro. Serve dunque mettere risorse con la possibilità di essere quelli che creano il prossimo blocco che è direttamente proporzionale alla quantità di risorse che si controllano.
Dato il fatto che sono emersi diversi specialisti del mining, con società di grandi dimensioni e talvolta quotate anche in borsa, si può sicuramente avanzare qualche speculazione in tal senso. Si dovrà fare di più per la decentralizzazione nel mining, ma questo è un problema soltanto relativamente importante, perché tolto il caso del 51% attack è difficile che i miner possano avere un impatto importante. Possono provare, con grande fatica, ad annullare transazioni che si sono già verificate e poco più.
Nel caso dei sistemi in Proof of Stake la questione si fa molto più complicata. Molti progetti sono stati pre-minati e questo vuol dire che una grande quantità di liquidità è nelle mani dei fondatori dei progetti. E che spesso i blocchi vengono validati da una serie di wallet che fanno capo a loro. Parlare di decentralizzazione in questo caso diventa molto difficile e riteniamo comunque degna di nota la polemica di chi dice che forse sarebbe meglio, in quei casi, avere un normalissimo database.
Anche in questo caso riteniamo il modello scelto da Bitcoin, anche se non strettamente relativo alle questioni della blockchain, probabilmente ottimale. A decidere sono i nodi, nel senso che possono votare direttamente o indirettamente, segnalando il loro appoggio per un’innovazione che viene proposta.
Nel grosso dei sistemi in Proof of Stake le votazioni avvengono un tanto a coin. Nel senso che il possesso dei token/coin permette anche di esprimere voti. E dunque un’altra sorta di oligarchia dei wallet che possiedono più coin. Certo, nessuno in linea di massima dovrebbe avere interesse a far saltare la decentralizzazione minima di un sistema, che è una feature e mancando la quale si potrebbero avere dei contraccolpi anche finanziari. Tuttavia il sistema è tecnologicamente meno decentralizzato anche per questo tipo di vicende.
Ovvero come parola che il marketing infila ovunque, perché in grado di trasmettere valori positivi. Spesso progetti decisamente poco decentralizzati e che in realtà sono nelle mani di un manipolo di wallet riconducibili alla società che gestisce il progetto. In quel caso, per quanto in potenza e nel mondo dei sogni si potrebbe avere in realtà decentralizzazione, il risultato finale è un sistema molto poco decentralizzato, che con i motivi per i quali è nata la blockchain ha davvero poco a che fare.
I blocchi sono l’unità minima e fondamentale di ogni blockchain, il singolo anello sul quale si costruiscono le catene consequenziali di operazioni. Per capire come sono fatti analizzeremo in questa sezione la composizione di un blocco di Bitcoin.
È la parte superiore del blocco, se vogliamo una sorta di etichetta che ci riporta tutti i dati fondamentali per l’identificazione del blocco e per concatenarlo al precedente.
VERSIONE DEL BLOCCO: nel momento in cui scriviamo ne sono esistite quattro. Al momento siamo appunto alla versione quattro che è stata introdotta con Bitcoin Core 0.11.2. Questo valore si limita a segnalare la versione del blocco che vien utilizzata.
HASH DEL PRECEDENTE BLOCCO: è una delle caratteristiche più importanti del blocco, perché è il valore che lo lega indissolubilmente al primo. Ed è anche un fattore di ulteriore sicurezza. Perché per modificare un blocco o sostituirlo, dovremo salire a ritroso, rendendo sempre più difficile sostituire i blocchi man mano che si risale.
MERKLE TREE DELLE TRANSAZIONI: una struttura ad albero degli hash delle transazioni che sono contenute all’interno del blocco. Permette di verificare la presenza di una transazione in modo decisamente più rapido.
DIFFICULTY TARGET: ovvero l’indice di difficoltà nel risolvere il blocco. Viene modificato ogni 2 settimane al fine di mantenere una media per quanto possibile vicina ai 10 minuti per la produzione di un singolo blocco.
NONCE o number used only once: è un numero che viene utilizzato per la trovare la soluzione al puzzle di hash che un miner deve fare per ottenere un blocco valido da proporre.
TIMESTAMP: ovvero la data di produzione del blocco, creato dalla mediana dei timestamp di tutti i nodi. I blocchi che riportano un timestamp al di fuori di un certo intervallo non sono da considerarsi validi. Questo per evitare manipolazioni dei miner affinché venga abbassata la difficoltà al prossimo round, ovvero ponendo un attacco di tipo TIMEWARP, che però è di esecuzione molto difficile e che per questo motivo non ha mai interessato granché, in termini di possibili soluzioni, gli sviluppatori di Bitcoin.
All’interno del blocco troviamo poi le transazioni che gli utenti hanno firmato con le loro chiavi private e che tutti possono verificare tramite la loro chiave pubblica. I miner hanno ovviamente interesse affinché le transazioni contenute nei propri blocchi siano valide. Dopo il conteggio del numero di transazioni incluse nel blocco, abbiamo le transazioni effettive che ne fanno parte. Che ricordiamo elencate e organizzate anche nel Merkle Tree di cui abbiamo parlato poco sopra.
L’utilizzo di base della blockchain è registrare transazioni tra soggetti appartenenti ad un determinato network, immortalandoli in una lunga catena di blocchi. La blockchain, nel caso della prima applicazione di successo, ovvero con Bitcoin, è stata scelta perché consentiva di superare il problema del double spending, ovvero la possibilità che all’interno del network qualcuno spenda denaro/gettoni/utilità che non ha.
La prima famiglia di utilità che la blockchain ci offre è dunque sicuramente collegabile all’aspetto finanziario. La Blockchain permette di registrare transazioni di carattere finanziario, ovvero lo spostamento di valore da un partecipante al network all’altro.
Molti degli utilizzi più moderni della blockchain si sono avuti nella gestione delle supply chain, nella verifica della filiera e della provenienza di prodotti.
Sono da utilizzi che in molti ritengono inutili, perché rimpiazzabili da un database che svolgerebbe grosso modo la stessa funzione, al tempo stesso con dei consumi molto più bassi. Una polemica che però rimanderemo ad altri approfondimenti, per il momento segnaliamo soltanto come in realtà ci siano applicazioni di questo tipo.
Ovvero una catena di informazioni distribuite consequenzialmente nel tempo della cui integrità dobbiamo avere la massima certezza. Si sono viste già operazioni di notarizzazione, gestione della proprietà e dei titoli che appunto fanno riferimento al mondo della blockchain.
Ovvero i servizi che associano un nome ad un indirizzo. Lo abbiamo visto appunto con Namecoin ed oggi con ENS su Ethereum.
Oggi diverse chain permettono anche la creazione di asset tramite Smart contract e quindi a ciascuno di andare a creare il proprio token, che può essere fluttuante oppure ancorato magari ad un titolo finanziario o ad un’altra valuta.
All’interno del movimento di creazione di token possiamo anche trovare ad esempio i NFT, ovvero quei token non fungibili e non interscambiabili, ai quali sono associati oggetti digitali o altro tipo di utilità. È un movimento in grande fermento e che oggi vede partecipare decine di milioni di persone in tutto il mondo, anche tramite progetti che raccolgono centinaia di migliaia di dollari.
Nella forma di chi è proprietario di cosa. In questo ambito le applicazioni più riuscite sono forse quelle che riguardano i cosiddetti metaverse, con gli asset di gioco che sono registrati appunto in termini di creazione e proprietà sulla blockchain. Allo stesso modo possiamo pensare anche allo scambio di dati medici, o di altra utilità, a fronte di sistemi che possono permettere facilmente la remunerazione dei soggetti coinvolti.
Questo è uno degli equivoci più comuni nel mondo delle criptovalute – e uno di quelli sui quali giocano gli uffici di marketing di progetti che decentralizzati non sono. Il fatto che sia presente una blockchain non è automaticamente garanzia di decentralizzazione.
Anzi, le blockchain permissioned che si basano su pochissimi validatori sono tutto fuorché un sistema decentralizzato. Più il numero di validatori scende, più in realtà rischiamo di trovarci davanti ad un sistema che di decentralizzato ha davvero poco.
Spesso la blockchain entra a far parte di determinati progetti più per moda che per effettiva utilità. Ne abbiamo visti a centinaia di progetti di questo tipo, che puntano a cavalcare la popolarità di questi sistemi al fine di apparire come più moderni e più degni di investimento.
Quando vediamo la blockchain inserita in un progetto, la prima domanda che ci dobbiamo fare è se abbia senso inserire una tecnologia che ha sicuramente un numero enorme di pregi, ma anche qualche difetto riguardo il quale sarebbe sciocco far finta di nulla.
La blockchain, in applicazioni che abbiano un senso e un’utilità, è ancora una tecnologia relativamente nuova e sulla quale nasceranno in futuro altre applicazioni e altre idee. Basterà stare a guardare e vedere quali riusciranno effettivamente ad imporsi. Uno degli aspetti che più attirano gli appassionati di tecnologia è proprio questo.
Il sistema che viene scelto per la validazione dei blocchi è parte fondamentale del suo funzionamento e ci permette di avere informazioni aggiuntive sull’effettiva decentralizzazione e sul funzionamento della chain stessa. Possiamo chiamare questo il meccanismo di consenso e nel corso del tempo si sono fatte scelte molto diverse, che producono effetti altrettanto diversi.
È il sistema originale utilizzato anche dal Nakamoto Consensus, quello effettivamente utilizzato da Bitcoin ancora oggi. Il sistema è relativamente semplice da comprendere: per avere diritto ad appendere l’ultimo blocco alla blockchain i miner devono offrire una prova di lavoro.
Tale prova di lavoro è la creazione di un hash che sia inferiore al livello di difficoltà imposto per i blocchi attuali. I computer utilizzati dai miner, in altre parole, devono macinare hash fino a quando avranno trovato uno compatibile in termini di grandezza con la difficoltà scelta dal network.
Le implicazioni di questo sistema sono diverse e riguardano sia la resistenza della blockchain ad eventuali attacchi esterni, sia invece i consumi e le modalità operative.
COSA FANNO I MINER: nei sistemi PoW i miner creano un blocco valido e cercano di trovare un hash che sia inferiore per valore a quanto fissato dal protocollo in termini di difficoltà. Si tratta di calcoli relativamente banali, ma che devono essere ripetuti alla massima velocità possibile. Il primo dei miner che troverà un blocco “valido” e con un hash che sia inferiore al livello di difficoltà stabilito per quel periodo, avrà diritto ad attaccarlo.
PERCHÈ I MINER DOVREBBERO FARE MINING? Perché ricevono una ricompensa nella criptovaluta interna alla blockchain stessa. Si tratta dunque di un vantaggio economico e non potrebbe essere altrimenti dato che oggi sono diversi i protocolli a richiedere un impegno in termini di hardware e elettricità non banale.
Teoria dei giochi in senso puro: i miner fanno mining di crypto perché gli conviene. I miner hanno interesse a comportarsi in modo regolare da un lato perché le regole di Bitcoin non permettono molti comportamenti non conformi, dall’altro perché è loro interesse mantenere il network funzionante.
CONSUMI ENERGETICI: variano grandemente in relazione a quanti siano i miner che partecipano al network stesso. Per Bitcoin, che è la più interessante delle chain per i miner, i consumi oggi sono piuttosto elevati. Lo stesso si può dire, anche se in misura minore per ordini di grandezza, di altre chain che continuano a fare affidamento sulla Proof of Work.
SICUREZZA: possiamo considerare la sicurezza dell’intera blockchain come in realtà collegata alla quantità di potenza di calcolo che viene utilizzata dai miner al fine di validare blocchi. In un’equazione molto semplice possiamo valutare ogni rialzo come un ulteriore tassello della solidità della chain di cui stiamo parlando. Perché più sarà alta la potenza di calcolo che è utilizzata, più sarà difficile per agenti esterni andare ad attaccarla almeno con il più comune degli attacchi.
È una sorta di novità, almeno seguendo la prospettiva storica del mondo delle criptovalute e delle blockchain. In questo caso non abbiamo diversi miner che cercano di competere per la soluzione del puzzle e avere così diritto di parola sul prossimo blocco, ma piuttosto un sistema che assegna a ciascuno in virtù del proprio interesse, e dunque dei propri token, la possibilità di partecipare a questo processo.
Il sistema fu formalizzato nel 2012 come alternativa al Proof of Work, per il quale, dovrebbe essere ormai sufficientemente chiaro, servono in genere macchine e calcolatori e quindi energia e quindi inquinamento. Le soluzioni in Proof of Work inoltre si sono dimostrate piuttosto difficili da far scalare e dunque con rallentamenti importanti nel caso di congestione.
L’idea di fondo è stata per l’appunto di evitare la competizione dei miner per offrire un sistema più lineare, più semplice da implementare e che può partire subito anche senza che si sia organizzata una rete di computer potenti nel calcolo.
MENO SICURA: le PoS sono meno sicure, c’è poco da discutere a riguardo. Basta infatti matematicamente il 33% a meno che non esistano altri tipi di meccanismi a “bucare” il sistema. L’assunto è pertanto che il 66% circa dei partecipanti in termini di detentori dei token sia onesto. Non è un assunto da fare a cuor leggero.
EFFETTIVAMENTE PIÙ SCALABILE: certo è che dipende da altri tipi di fattori e non solo dall’organizzazione della rete con un sistema PoS, ma siamo mediamente in territorio maggiormente scalabile, dove il collo di bottiglia non è causato dal puzzle che si deve risolvere.
DELEGATED PROOF OF STAKE: in realtà anche all’interno di questa famiglia sono nati altri sotto-sistemi, che sono tesi a rendere più efficiente e più sicuro l’intero accrocchio. Uno dei più popolari è la Delegate Proof of Stake, dove appunto possiamo delegare i nostri token ad altri nodi, che fanno da super delegati.
DECENTRALIZZAZIONE: in realtà si tratta di quella che consideriamo essere un’operazione di marketing a tutti gli effetti. Non è assolutamente vero che i sistemi PoS permettono a più persone di far girare nodi. Questo dipende dalla tipologia di hardware richiesta e se processano più transazioni in un blocco ci sono grosse possibilità che in realtà servano risorse ingenti per avere un nodo completo.
SOCIAL RECOVERY: potrebbe sembrare una buona idea, della quale parla anche Ethereum all’interno della documentazione ufficiale che canta le lodi dei sistemi PoS. Ovvero la possibilità di tornare indietro fino all’ultimo blocco onesto e ripartire da lì, a patto che la community sia d’accordo. In realtà questo è già successo da Ethereum, cosa che portò alla scissione con Ethereum Classic. È una buona idea? Dipende. Perché in un certo senso la solidità dei dati contenuti nella chain dipende dalla maggioranza delle persone che vi partecipano. Una sorta di democrazia diretta (con chi ha più denaro che conta di più) che lascia più di qualche dubbio sull’integrità dei dati.
Ce ne sono in realtà tanti di alternativi dalla Proof of History utilizzata ad esempio da Solana, che tiene conto anche dello storico del nodo al quale viene garantito il privilegio del blocco a tante altre, che riassumeremo in questa sezione in breve, perché ancora relativamente poco rilevanti.
Proof of Authority, Proof of Activity, Proof of Elapsed Time e Proof of Identity sono quelle che hanno iniziato a circolare negli ultimi mesi: non è detto che tutte sopravvivano e non è detto che tutte riusciranno a costruirsi un seguito, per quanto il mondo della blockchain abbia una certa predisposizione per l’innovazione, anche quando questa si presenta non esattamente al top.
Il trilemma è un’ottima formalizzazione delle problematiche effettive e tipiche delle blockchain. Abbiamo sui tre vertici la decentralizzazione, la scalabilità e la sicurezza. Non si può migliorare un vertice senza lasciare intatti gli altri due.
Chi afferma di aver risolto il trilemma ci sta in genere prendendo in giro o cavillando nel disperato tentativo di apparire come un genio. Per ora la questione non si può risolvere, e sarebbe forse anche il caso di smetterla di discuterne. Bitcoin punta sulla sicurezza e la decentralizzazione e paga il prezzo alla scalabilità. Altri protocolli puntano sulla scalabilità ma pagano un prezzo alto in sicurezza e decentralizzazione.
Al contrario di quanto raccontano i marketer e chi ha un interesse diretto affinché crediate loro, la blockchain non è una tecnologia perfetta e anzi, in molti vi diranno che è un pessimo compromesso, ma al tempo stesso l’unico per mantenere dei sistemi decentralizzati ed evitare il problema del double spending. Ci sono comunque pro e contro che vanno analizzati, in particolare se quello che stiamo cercando di fare è valutare se utilizzare o meno la blockchain per un nostro progetto o se affidarci a servizi di questo tipo per la nostra azienda.
FUNZIONA: e di questi tempi non è poco. La blockchain se ben organizzata funziona e fa quello che è stata chiamata a fare. Offrire una lunga serie di blocchi / transazioni sui quali poter fare affidamento.
DUTTILE: anche se ne abbiamo applicazione concreta da poco più di 10 anni, la blockchain si è dimostrata tecnologia molto duttile e sulla quale poter costruire anche tecnologie diverse. Molta della sua popolarità deriva proprio da qui.
SICURA: a patto che rispetti quanto abbiamo effettivamente visto all’interno della nostra guida, ovvero che utilizzi sistemi che possano effettivamente decentralizzarla, così come meccanismi che ne aumentino la sicurezza.
PER TUTTI: tutti oggi possono utilizzare sistemi in blockchain per qualunque tipo di evenienza. No è detto che sia sempre intelligente farlo, ma comunque il fatto che sia disponibile a tutti e a costi molto ridotti fa sperare bene per il suo futuro.
ESOSA: in termini di risorse, anche se dovessimo andare ad utilizzare altri sistemi di validazione rispetto a PoW. Non è il massimo dell’efficienza, anche in termini di hardware richiesto per far girare un nodo, che in alcuni casi diventa molto al di fuori della portata di un normale essere umano.
LENTA: rispetto a sistemi altamente specializzati la blockchain è lenta. Ma questo è il prezzo da pagare per la decentralizzazione. C’è da dire che si sta facendo molto in questo senso, ma sarà comunque impossibile raggiungere i picchi di velocità dei sistemi centralizzati.
SI INTERESSANO ANCHE… soggetti che proveranno a snaturarne l’idea iniziale, come grandi banche e governi. Che riusciranno almeno a nostro avviso ad inquinare l’ambiente e a contribuire ad una certa confusione.
BUZZWORD: inutile forse anche sottolineare il fatto che non tutto quello che si sente sulla blockchain è effettivamente genuino. Anzi, spesso è frutto di un marketing sperticato che non ha alcun tipo di senso, e che nasce per mettervi le mani in tasca.
🟢PRO DELLA BLOCKCHAIN | ⛔CONTRO DELLA BLOCKCHAIN |
---|---|
Utile | Esosa |
Diffusa | Non sempre utile |
Duttile | Altri soggetti non trasparenti (stati, banche) |
Per tutti |
Senza blockchain non esisterebbe il nostro sito e non esisterebbero i tanti progetti che ci piacciono, alcuni dei quali finiti anche nel nostro portafoglio di investimento.
La blockchain è una tecnologia molto utile, che ha già risolto problemi che prima del suo avvento sembravano impossibili da risolvere e che continuerà a conquistare delle fette di mercato sempre più ampie.
Come tutte le tecnologie di nuova generazione è necessario però andare a separare quanto c’è di vero da quanto invece è frutto delle sirene del marketing. Il fatto che un progetto inserisca la blockchain al suo interno non è necessariamente segnale del suo futuro successo. Anzi, in questa precisa fase siamo ancora nell’era del trial, ovvero del test di progetti anche ambiziosi, molti dei quali finiremo per non vedere più tra qualche anno.
La blockchain è una tecnologia molto rilevante, che è divenuta però popolare perché spesso collegata ad asset di rischio che hanno resi ricchi i primi che hanno investito.
C’è però anche tantissimo di concreto in questa tecnologia, una tecnologia della quale continueremo a sentire parlare e che continuerà a conquistare sempre più settori. In questa guida sono presenti tutti gli elementi per giudicare la bontà di un progetto che utilizzi la blockchain. Facciamone tesoro per evitare di fare scelte sbagliate, in particolare quando investiamo.
La blockchain è un libro mastro che riporta transazioni in forma di una lunga catena di blocchi, all’interno dei quali vengono contenute le transazioni stesse. È utile perché permette sistemi decentralizzati laddove prima sarebbe stata necessaria un’autorità centrale.
La blockchain è utile per avere un record di transazioni e di informazioni che non possa essere modificato a ritroso e che offra un certo grado di sicurezza a chi la utilizza. Per questo oggi i suoi utilizzi sono diventati sempre più diversi.
Perché la blockchain permette di gestire in modo efficace il problema del double spending anche in assenza di un’autorità centrale e centralizzata. Anche se la soluzione non è il massimo dell’efficienza, è ad oggi quanto permette a Bitcoin di funzionare in modo effettivo.
Il consenso è la modalità tramite la quale i partecipanti arrivano a mettersi d’accordo sulla lista di blocchi e di transazioni. Diverse blockchain utilizzano sistemi anche molto diversi tra loro per arrivare a questo risultato, con diversi pregi e difetti.
Assolutamente sì, dato che permettono un nuovo modo di operare con il denaro e con le altre utilità. Siamo certi però al tempo stesso che non tutti i progetti e i campi applicativi che vediamo oggi faranno parte del futuro prossimo della blockchain.
Bitcoin, Ethereum, Binance Chain, Solana, Near Protocol e Tron. Con il tempo probabilmente questa lista cambierà e perderà qualche elemento, per poi vederne arrivare degli altri. Il mondo della blockchain è in forte fermento.
Molto di quello che sentiamo oggi è sicuramente parte di una moda che non ha alcun tipo di senso. Tuttavia c’è del solido – e molto – all’interno di questi progetti. Del solido che va assolutamente tenuto in conto anche per le nostre decisioni di investimento future.
Vedi Commenti
Salve. Chiedevo se una volta fatto un versamento sulla propria piattaforma , puo qualcuno impossessarsene?
ed in che modo?
Mi dicono di avere circa 4 bitcoin che potrei convertire in euro versando una determinata cifra sul mio conto .
Appena eseguito il versamento ci sara il passaggio in euro dei 4 bitcoin , del valore convertito in circa135000 euro. é regolare tutto cio ? Oppure c' è odore di bruciato? Attendo risposte concrete e saluto cordialmente.
Buongiorno Pietro, a quale piattaforma si riferisce?