Quando si parla di blockchain si pensa subito al bitcoin, questo perché il bitcoin è stata la prima vera implementazione della tecnologia chain, quella che ha avuto il pregio di farla diventare famosa e di aver creato attrattiva intorno ad essa.
La blockchain è l’infrastruttura che sottende al bitcoin e anche alle altre cripto currency, è il congegno che le fa operare e che le rende sicure.
Tra i principi chiave che fanno parte di questa tecnologia c’è la DLT, distribuited ledger technology, che in realtà è un vocabolo equivalente di blockchain, in quanto quest’ultima salva i dati in un registro che è distribuito e quindi replicato su tutti i componenti di uno stesso network.
C’è poi la crittografia, che gestisce la sicurezza dei dati e delle transazioni, ancora il concetto di consenso che permette di gestire il controllo in modo trasparente e senza intermediari, ed infine la gestione dei dati che funziona in maniera up and only, quindi senza la possibilità di eliminare o modificare i dati esistenti.
Il concetto di distribuited ledger technology è essenzialmente un concetto architetturale in quanto si passa da un’architettura centralizzata, in cui dati sono salvati in un solo database, a un’architettura peer to peer o meglio decentralizzata. Questo indica che ogni partecipante sarà in possesso di una copia degli stessi dati, e in più per quanto riguarda la sicurezza questa architettura va a limitare i rischi derivanti da errori o modifiche sui dati ma anche da possibili attacchi a singoli database.
Come funziona la catena di blocchi
Esistono diversi tipi di blockchain: le reti pubbliche come bitcoin e Ethereum sono dette permissionless, ovvero assicurano a tutti i partecipanti una totale trasparenza sui dati presenti sul network; le reti invece di tipo permissioned, sono reti private o reti in cui i partecipanti hanno diversi livelli di visibilità sui dati. In questo caso per entrare a far parte del network può essere richiesta una forma di autorizzazione oppure semplicemente si avrà un accesso limitato a solo alcuni dei dati presenti sul network.
Tipi di blockchain esistenti e combinazioni più comuni
- Blockchain pubblica permissionless (nessuna autorizzazione), gli esempi più famosi sono Bitcoin ed Ethereum. Questo tipo di rete consente l’accesso a qualsiasi utente che decida di connettersi e partecipare, generare nuove transazioni, eseguire attività minerarie o leggere solo i registri delle transazioni memorizzati. In questo sistema, i minatori sono anonimi e quindi non considerati individui affidabili.
- Blockchain pubblica permissioned (autorizzata) come Ripple e Hyperledger Fabric. È una rete che opera per conto di una comunità con interessi comuni, in cui il ruolo dei minatori in visita è limitato a poche persone considerate affidabili. A seconda dell’organizzazione che controlla la blockchain, il livello di lettura del registro e di partecipazione alla generazione di nuove transazioni può essere limitato o illimitato.
- Blockchain privata permissioned (autorizzata) In questo caso, poiché la blockchain in questione opera solo all’interno di una comunità ben definita in cui sono noti tutti i partecipanti, solo gli utenti autorizzati e autenticati possono accedere alla rete. In genere, queste istituzioni sono gestite da istituzioni finanziarie o agenzie governative che definiscono chi può o non può accedere alla rete. Ciò significa che tutti i minatori sono considerati affidabili
IoT e blockchain: come colmare il gap di sicurezza e scalabilità
L’IoT collega persone, luoghi e prodotti, e così facendo, offre opportunità per la creazione di valore. Esistono però ancora una serie di problemi tecnici e di sicurezza che non sono stati affrontati. La sicurezza è una delle principali problematiche dell’IoT che ne ha ostacolato la diffusione su larga scala. I dispositivi IoT soffrono spesso di vulnerabilità, che li rende un facile bersaglio per gli attacchi DDoS (Distributed Denial of Service).
Negli attacchi DDoS, più sistemi informatici compromessi attaccano un bersaglio, come un server centrale, con un enorme volume di richieste di dati simultanei, causando così un denial of service per gli utenti del sistema interessato. Una molteplicità di attacchi DDoS negli ultimi anni ha causato danni alle organizzazioni e alle persone. I dispositivi IoT non protetti costituiscono un facile bersaglio per i cyber-criminali che sfruttano la debole protezione di sicurezza per hackerarli e lanciare attacchi DDoS, XSS, sql injection.
Un altro problema delle attuali reti di IoT è quello della scalabilità. Con l’aumento del numero di apparecchi collegati attraverso una rete IoT, gli attuali sistemi centralizzati per l’autenticazione, l’autorizzazione e il collegamento di diversi nodi di una rete porteranno a un crollo del sistema. Per risolvere ciò servirebbero enormi investimenti in server in grado di gestire la grande quantità di scambio di informazioni, e l’intera rete potrebbe andare in tilt in caso di indisponibilità del server.
La rete Internet può elaborare transazioni di dati su più dispositivi, che sono di proprietà e amministrati da diverse organizzazioni, rendendo difficile individuare la fonte di eventuali fughe di dati in caso di attacco da parte di cyber-criminali. Inoltre, l’IoT genera una grande quantità di dati e, con il coinvolgimento di più stakeholder, la proprietà dei dati non è sempre chiara.
La tecnologia DLT ha il potenziale per aiutare ad affrontare alcune delle sfide di sicurezza e scalabilità dell’internet of thing, alleviandone i problemi nei seguenti modi:
- il libro mastro distribuito in un sistema a catena di blocchi è a prova di manomissione e questo elimina il bisogno di fiducia tra le parti coinvolte.
- utilizzare la blockchain per memorizzare i dati dell’IoT, aggiungerebbe un altro livello di sicurezza che gli hacker dovrebbero aggirare per poter accedere alla rete. La blockchain fornisce un livello di crittografia molto più robusto che rende praticamente impossibile la sovrascrittura dei record di dati esistenti.
- la blockchain fornisce trasparenza, consentendo a chiunque sia autorizzato ad accedere alla rete di tracciare le transazioni avvenute in passato. Questo può fornire un modo affidabile per identificare una fonte specifica di eventuali fughe di dati e adottare rapide misure correttive.
- la blockchain può consentire una rapida elaborazione delle transazioni e il coordinamento tra miliardi di dispositivi collegati. Con l’aumento del numero di dispositivi interconnessi, la tecnologia del libro mastro distribuito fornisce una valida soluzione per supportare l’elaborazione del grande numero di transazioni.
- fornendo un modo per consentire la fiducia tra le parti interessate, la blockchain può consentire alle aziende dell’internet degli oggetti di ridurre i loro costi eliminando le spese generali di elaborazione relative ai gateway dell’internet degli oggetti (ad esempio, per il protocollo tradizionale, l’hardware o le spese generali di comunicazione).
Infine gli smart contract, un accordo tra due parti che viene memorizzato nella blockchain, i quali possono consentire l’esecuzione di accordi contrattuali tra le parti interessate sulla base del rispetto di determinati criteri, autorizzare i pagamenti automaticamente, senza necessità di intervento umano, quando le condizioni per la fornitura di un servizio siano state soddisfatte.
Cosa bisogna sapere della blockchain
La blockchain usa principalmente due tecniche di crittografia che in realtà sono già note e utilizzate nei sistemi attuali, e sono la firma digitale e la hashing.
La firma digitale adopera un sistema a chiave pubblica per codificare e certificare i messaggi inviati. Ogni partecipante ha quindi due chiavi, una privata che è segreta e vedrà soltanto lui, l’altra pubblica, quindi accessibile da chi ha autorizzato a comunicare con lui.
Altra tecnica crittografica è l’hashing, che in realtà fa anche parte della firma digitale stessa.
Potremmo immaginare l’hashing come un codificatore il quale codifica qualsiasi dato in input in un messaggio in codice, producendo il digest.
L’hashing è rilevante per due ragioni, primo perché il messaggio in codice resterà sempre uguale tutte le volte che gli passeremo lo stesso dato in input, anche se proviamo a cambiare anche solo una lettera o se aggiungiamo una virgola il messaggio cambierà totalmente, secondo motivo consta nel fatto che possiamo passargli qualsiasi tipo di dato in input indipendentemente dalla sua grandezza o complessità, il risultato sarà sempre un messaggio in codice con lo stesso formato.
La blockchain utilizza la crittografia sia per una gestione della sicurezza, che per permettere una verifica veloce e precisa dell’integrità dei dati indipendentemente dalla loro complessità.
Altro concetto fondamentale è quello del consenso. Il consenso è un meccanismo automatico che definisce una conoscenza comune dei processi tra i partecipanti della stessa rete, non bisogna tralasciare che stiamo parlando di una rete peer to peer in cui per definizione non esiste nessun nodo che eserciti il controllo sugli altri nodi.
Il consenso permette di creare una conoscenza comune delle regole sul controllo e sul funzionamento del network essendo un meccanismo automatico.
Esistono diversi algoritmi di consenso, il più famoso è la proof work, impiegato da bitcoin, ma anche dalla prima versione di Ethereum. In questo caso i partecipanti sono anche chiamati miners.
Riepilogando, qundi, la blockchain opera attraverso:
- Distributed ledger technology: l’architettura distribuita di blockchain permette di mettere in contatto tutti i partecipanti del network in modo diretto senza intermediari;
- gestione dei dati: ogni nodo della rete ha un database contenente esattamente una copia aggiornata degli stessi dati che restano sincronizzati in modo automatico di continuo;
- crittografia: l’utilizzo della crittografia e dei permessi garantisce alle aziende di limitare gli accessi ai dati in diversi modi, ad esempio garantendo l’accesso solo a determinate aziende oppure creando canali di comunicazione esclusivi tra alcune aziende della stessa rete, andando incontro a quei requisiti commerciali come la confidenzialità e la gestione della concorrenza.
Tutto ciò viene regolato in modo trasparente automatico dal concetto di consenso, che dà origine ad una conoscenza comune delle regole del network, come la verifica degli accessi e dell’attendibilità delle transazioni.
Conclusioni
I benefici della blockchain nel business sono quindi molteplici. Essa infatti:
- consente un risparmio di tempo per tutto ciò che riguarda l’aspetto burocratico, incluse le verifiche sui dati, il rilascio delle licenze i diversi controlli;
- favorisce una riduzione dei costi relativi a tutte le operazioni coinvolte, inclusi i costi di mantenimento e protezione dei dati aziendali;
- riduce notevolmente il rischio di errori o frodi sulla gestione dei dati introducendo il concetto di persistenza, impedendo modifiche, cancellazioni o aggiornamenti dei dati come avviene nei database locali o centralizzati.
- permette la creazione di nuove opportunità di mercato, in quanto garantisce attendibilità nei partecipanti della rete commerciale, e inserisce la possibilità di contattare direttamente nuovi partner senza passare da intemediari.
Il concetto di blockchain nel mondo business è altamente innovativo dal punto di vista infrastrutturale, permette di connettere direttamente le aziende tra loro, fornisce strumenti innovativi e database sicuri per gestire le informazioni scambiate.