Questo sito utilizza cookie per raccogliere informazioni sull'utilizzo. Cliccando su questo banner o navigando il sito, acconsenti all'uso dei cookie. Leggi la nostra cookie policy.OK

Direttore responsabile Alessandro Longo

scenari

Blockchain per una Internet delle cose decentralizzata: pro e contro

di Marco Conoscenti, Staff Research Fellow del Centro Nexa su Internet & Società

23 Mag 2017

23 maggio 2017

E’ possibile favorire un Internet of Things aperto e decentralizzato grazie alla Blockchain? La risposta è: dipende dall’uso che se ne vuole fare, dato che al momento la Blockchain più che ad applicazioni data intensive è adatta a quei contesti in cui l’efficienza può essere sacrificata alla decentralizzazione

Con l’Internet of Things (IoT) alle porte, è opportuno cercare di arginare i rischi e le inefficienze di mercato di un Internet sempre più centralizzato, dove poche grandi aziende hanno il potere sui servizi e sui dati dei dispositivi IoT (se n’è parlato qui anche su agendadigitale.eu). A questo proposito, una tecnologia che, per la sua natura decentralizzata, potrebbe sostituire i silos di dati chiusi e non interoperabili di pochi grandi player e favorire un IoT più aperto e interoperabile è la blockchain, che è al momento al centro dell’attenzione in molti settori.

In questo articolo cercheremo di capire, oltre la nebbia dell’hype che la avvolge, le reali caratteristiche della tecnologia blockchain, i pregi e i limiti e il grado di adattabilità all’IoT, per far da leva in un contesto di economia circolare.

 

Bitcoin e Blockchain

Per spiegare le caratteristiche della blockchain, è indispensabile ricorrere alla sua prima e ad oggi più diffusa applicazione, Bitcoin. Bitcoin è una cryptomoneta, ossia una moneta digitale la cui emissione e sicurezza non sono garantite da un ente centralizzato e fidato, come la banca, bensì dalla crittografia.

Bitcoin utilizza la blockchain come libro mastro delle transazioni economiche. Una transazione economica in Bitcoin rappresenta il trasferimento di una certa quantità di cryptomoneta da una parte a un’altra. Le transazioni valide vengono registrate nella blockchain, che contiene ogni transazione avvenuta dal 2009 (anno di lancio di Bitcoin) a oggi. Viene così chiamata perché, per ragioni di efficienza, le nuove transazioni vi vengono inserite in blocchi, e perché ogni blocco contiene un riferimento al blocco precedentemente inserito, formando appunto una catena di blocchi (block chain, in inglese).

Bitcoin è un sistema peer to peer. Ciò significa che non esiste un’entità centralizzata che gestisce le transazioni e la blockchain. Al contrario, ognuno può partecipare: basta scaricare ed eseguire il software di Bitcoin, e si diventa automaticamente peer del sistema. I peer, oltre a poter fare transazioni, possiedono una copia della blockchain e verificano la validità delle nuove transazioni. La blockchain è quindi distribuita, nel senso che ogni peer ne ha una copia, e pubblica, in quanto tutti possono leggervi e scrivervi transazioni.

L’innovazione principale di Bitcoin e della blockchain è l’algoritmo di consenso distribuito. Tale algoritmo è quello che consente ai peer onesti di concordare sulla stessa versione della blockchain e che assicura che in tale versione non vi siano informazioni inserite da peer non onesti. In altre parole, l’algoritmo di consenso distribuito è quello che assicura che tutto vada secondo il protocollo di Bitcoin, che la blockchain non venga manomessa o controllata in maniera centralizzata.

I sistemi distribuiti come Bitcoin – dove tutti possono partecipare e i peer non hanno un’identità – sono generalmente vulnerabili al cosiddetto Sybil attack, che mette a rischio il consenso distribuito. In tale attacco, un attaccante crea più peer facendo credere che siano diversi e indipendenti, quando in realtà sono tutti sotto il suo controllo. Un attaccante potrebbe creare un numero tale di peer da controllare la maggioranza dei peer di Bitcoin e quindi influenzare il sistema a proprio piacimento, per esempio registrando nella blockchain solo determinate transazioni, o persino manomettendo transazioni già inserite.

La contromisura di Bitcoin è un algoritmo di consenso distribuito che fa uso della Proof of Work (PoW). Senza scendere approfonditamente nei dettagli, la PoW rende computazionalmente difficile ottenere il controllo del sistema e influenzarlo a proprio piacimento. Grazie alla PoW, per portare a compimento un Sybil attack, non basta che un attaccante possieda la maggioranza dei peer: deve possedere almeno il 51% della capacità computazionale dell’intero sistema. E ottenere tale percentuale, in grandi sistemi come Bitcoin dove vi sono milioni di partecipanti e la capacità computazionale totale è molto elevata, risulta altamente improbabile nella pratica.

 

Pregi e limiti della blockchain

Per quanto detto sopra, la blockchain è un registro di dati pubblico, peer to peer e, grazie alla PoW, resistente a manomissioni e controllo centralizzato.

Il più grande pregio della blockchain sta nella decentralizzazione, che rimuove la necessità di porre fiducia in un ente centralizzato. Infatti, nessun ente controlla la blockchain in maniera centralizzata: la crittografia e il consenso distribuito tra peer con PoW ne garantiscono il corretto funzionamento. La blockchain rimpiazza quindi enti centralizzati: in Bitcoin, rimpiazza la banca nella gestione della moneta; in Namecoin, rimpiazza i DNS nella gestione dei siti Internet.

La blockchain, pertanto, trova le sue migliori applicazioni ogniqualvolta si sostituisce a un ente centralizzato, o perché l’ente in questione è particolarmente inefficiente o perché porvi fiducia potrebbe essere rischioso.

In molte applicazioni, tuttavia, si parla di blockchain private o permissioned, cioè blockchain in cui solo uno o pochi enti hanno permessi di scrittura e lettura. Potendovi partecipare solo uno o alcuni enti, tali tipi di blockchain perdono in realtà quello che è il punto di forza della tecnologia blockchain: la decentralizzazione. Dal momento che i partecipanti sono noti e identificati, esse non sono vulnerabli a Sybil attack e applicarvi la PoW risulta inutile. Pertanto – come spiegato da Arvind Narayanan, professore di Computer Science alla Princeton University – queste blockchain non sono altro che database distribuiti, chiamati blockchain per via dell’hype che è attorno a tale tecnologia, ma che in realtà non godono delle proprietà di decentralizzazione e resistenza alla manomissione tipiche della blockchain con PoW.

Il più grande limite della blockchain è che supporta un numero limitato di transazioni. Tornando alla blockchain di Bitcoin, un parametro del codice vincola a 7 il numero massimo di transazioni per secondo che possono essere scritte nella blockchain (notevolmente inferiore rispetto agli usuali sistemi di pagamento, come VISA, che riescono a registrare anche migliaia di transazioni al secondo). Il parametro in questione è la massima dimensione del blocco. Il motivo per cui viene settata una massima dimensione del blocco è per limitare il costo di essere un full node. I full node sono quei peer del sistema che hanno una copia intera della blockchain, con tutte le transazioni avvenute da sempre, e che quindi sono in grado di validare le nuove transazioni (perché possono calcolare dalla blockchain la quantità di moneta posseduta da ogni partecipante e invalidare quelle transazioni dove un partecipante prova a spendere più moneta di quanta ne possieda). Maggiore è la dimensione massima del blocco, maggiore sarebbe il numero di transazioni al secondo supportate, ma allo stesso tempo la blockchain crescerebbe più rapidamente, richiedendo ai full nodes sempre più memoria. Per questo motivo, vi sarebbero meno full nodes che memorizzano la blockchain per intero. Un minor numero di full nodes, tuttavia, implica un sistema più centralizzato, dal momento che meno nodi avrebbero il potere di decidere quali transazioni sono valide.

Inoltre, blocchi con una maggiore dimensione sarebbero più difficili da trasmettere nella rete. Questo farebbe sì che solo i peer con larga banda siano in grado di trasmettere agli altri peer i blocchi che producono, tagliando fuori i peer con minore banda. Di nuovo, si assisterebbe a una centralizzazione del sistema, dove meno peer sono in grado di aggiungere nuovi blocchi alla blockchain.

È chiaro quindi come una dimensione del blocco maggiore porterebbe sì a un sistema più scalabile che supporta un maggior numero di transazioni, ma al contempo tale sistema sarebbe più centralizzato. Questo compromesso tra centralizzazione e scalabilità ha comportato un dibattito lungo più di un anno all’interno della comunità di Bitcoin.

Il dibattito resta ad oggi irrisolto. Da un lato, una parte della ricerca si sta focalizzando su come scalare Bitcoin senza far esplodere la dimensione della blockchain (vedasi the lightning network). Dall’altro, è già disponibile una versione software di Bitcoin, chiamata Bitcoin unlimited, che rimuove la dimensione massima del blocco.

Infine, un altro difetto non trascurabile della blockchain con PoW è il suo elevato impatto ambientale. Le operazioni di crittografia che caratterizzano la PoW richiedono un’elevata capacità computazionale. In particolare, vanno fatte con dell’hardware specifico che consuma una notevole quantità di energia elettrica e necessita di potenti impianti di raffreddamento. Secondo le stime del Digiconomist, il consumo energetico annuale di Bitcoin è pari a 10.44 TWh, che corrisponde allo 0.05% del consumo energetico mondiale (stesso ordine di grandezza del consumo energetico annuo del Ghana).

 

Conclusioni

Abbiamo visto come il grande punto di forza della blockchain sia la sua natura radicalmente decentralizzata. Tuttavia, c’è un prezzo da pagare per la decentralizzazione, ed è l’efficienza. Ad oggi la tecnologia blockchain è parecchio inefficiente, perché, come spiegato, è possibile scrivervi solo un limitato numero di dati al secondo.

All’inizio di questo articolo ci siamo chiesti se la blockchain può permettere un Internet of Things aperto e decentralizzato, che favorisca maggiore circolarità dei dati e favorire l’innovazione. Come prevedibile, la risposta è: dipende. Dipende in buona sostanza dall’uso che se ne vuole fare. Ad oggi la blockchain non è di certo adatta ad applicazioni data intensive. È invece più adatta in quei contesti in cui l’efficienza può essere sacrificata alla decentralizzazione.

Articoli correlati