Nel precedente articolo abbiamo visto come si può creare una blockchain privata utilizzando la piattaforma Ethereum. In questo articolo esamineremo come può essere creata una blockchain privata con MultiChain, piattaforma open source per applicazioni blockchain, che permette la creazione di blockchain in tempi molto rapidi e che fornisce un database open source distribuito. Facendo una semplice ricerca su internet è possibile trovare molte aziende e piattaforme che sviluppano, implementano ed utilizzano blockchain private per offrire servizi agli utenti della rete, ad esempio Blockstack, Ethereum, o ancora, HyperLedger, Eris Industries, Chain Inc.
Introduzione
La blockchain è un database transazionale che viene distribuito in modo gemellare su più computer o nodi collegati alla rete, che possono essere server, pc, vps proprietari. Può essere vista come una tecnologia a tutti gli effetti, anche se, per la tipologia di applicazioni nelle quali è impiegata, viene interpretata come un vero e proprio metodo. La blockchain, infatti, si configura soprattutto come un metodo di distribuzione delle informazioni. Nel mondo esistono diverse blockchain distribuite, almeno una per ogni moneta virtuale o criptovaluta, ad esempio Bitcoin ed Ether. La blockchain è composta da un determinato numero di nodi, nodo 1, nodo 2,…,nodo N, ognuno dei quali ha gli stessi dati, quindi ciascun nodo possiede lo stesso database presente su tutti gli altri nodi. Per modificare il database si deve creare una transazione che deve essere accettata dagli altri nodi nella rete, dove per transazione si intende un cambiamento da operare sui dati presenti nel database della blockchain. Ogni transazione può essere accettata o rifiutata, ed una volta che è stata applicata al database, risulta non modificabile, e, se si verifica un errore durante una transazione, questo comporta il suo annullamento definitivo. Grazie alla crittografia, ogni transazione viene inserita in blocchi e poi distribuita su tutti i nodi della rete. Le transazioni entrano a far parte di un blocco secondo una sequenza temporale. I dati contenuti nel database sono divisi in blocchi chiamati anche block, al cui interno vengono memorizzate più transazioni. All’interno della blockchain i blocchi sono distribuiti tra i nodi della rete tramite collegamento diretto tra i nodi, secondo la logica P2P. La rete Peer To Peer è una rete distribuita usata soprattutto per la condivisione di file in cui ciascun nodo della rete può ricevere o inviare informazioni ad altri nodi della rete senza la necessità di avere alcun nodo che funga da intermediario dell’operazione. La caratteristica principale della blockchain technology è l’assenza di un’unità centrale di governo che organizza e gestisce i blocchi. Questo rende la blockchain una tecnologia totalmente distribuita e decentralizzata, molto diversa ad esempio da internet, la più grande infrastruttura centralizzata pensata per la centralizzazione delle informazioni. Nella logica della blockchain infatti, la base dati è distribuita e decentralizzata per tutti i nodi della rete. I blocchi sono gli attori principali della blockchain dal momento che sono gli stessi blocchi a formare una catena nella quale ciascun block rafforza le transazioni precedenti rendendole non modificabili. I blocchi vengono aggiunti alla catena ad intervalli regolari e formano una sequenza lineare nel tempo. Il marcatore temporale timestamp scandisce l’ordine sequenziale dei blocchi nella catena e la sequenza temporale con la quale le transazioni entrano a far parte di un blocco, eliminando il rischio di una eventuale simultaneità delle transazioni stesse. Inoltre ciascun blocco della rete è rappresentato univocamente da un hash, il valore risultante di un algoritmo. Ogni blocco della catena contiene un puntatore hash per il collegamento al blocco precedente, un marcatore temporale timestamp ed i dati della transazione. Gli utenti della blockchain che creano i blocchi attraverso le transazioni, devono possedere un wallet, un portafoglio che viene utilizzato per effettuare le operazioni. La validità ed il corretto funzionamento della blockchain viene garantito da specifici nodi della rete, detti miners che hanno la funzione di pubblicare i nuovi blocchi della blockchain con le transazioni che sono state appena verificate. Per la generazione dei blocchi sono di rilevante importanza la potenza computazionale, la velocità di calcolo e la banda di rete. [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2172 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Complimenti, i tuoi articoli sono sempre facilmente comprensibili anche per chi non ha grande esperienza con l’argomento.
Volevo farti una domanda da profano: ma avere un database distribuito, non aumenta i costi di manutenzione a causa del possesso di più server da dover gestire?
La ringrazio per aver apprezzato i miei lavori. Sicuramente avere a che fare con database distribuiti aumenta i costi di manutenzione e in generale di gestione. Tuttavia con blockchain parliamo di un modo completamente differente di gestione e manipolazione dei dati rispetto ad esempio al classico Database Management System e ai Data Warehouse. La valutazione dell’efficacia di una tecnologia, che sia in via di sperimentazione o affermata, comporta sempre un’analisi costi benefici. Nel caso delle blockchain private abbiamo il vantaggio di avere un’architettura infrastrutturale molto simile a un sistema centralizzato, e in più una maggiore sicurezza grazie al meccanismo del consenso che è completamente differente da quello delle blockchain pubbliche.