Il concetto di Ledger

Database
cr. Tobias Fischer

Per capirne fino in fondo il suo potenziale, è necessario comprendere prima di tutto come funziona la blockchain.

Nell’articolo introduttivo, parlando della sua struttura, abbiamo introdotto il concetto di Ledger, una sorta di libro Mastro (o libro contabile) presente fin dall’antichità.

La blockchain rappresenterebbe dunque la sua naturale evoluzione, basandosi su una struttura decentralizzata ed altamente tecnologica.
Vediamo più in dettaglio come funziona.

Il concetto di Ledger può trarre per la sua somiglianza con la funzione del database. Entrambi infatti hanno come fine ultimo quello di salvare i dati, la differenza tuttavia sta in quello che accade in seguito.

In un database, infatti, una volta inseriti i dati, è possibile cancellare e modificare i dati al suo interno in qualsiasi momento. In un ledger è possibile solo la prima operazione: i dati, una volta inseriti, non possono più ricevere alcuna modifica o cancellazione.

Alcuni potrebbero obiettare che le stesse peculiarità le potrebbe avere un database con delle specifiche priorità di modifica, ma ciò sarebbe riduttivo. La tecnologia blockchain garantisce delle proprietà uniche che superano il concetto di database e vanno a formare un vero e proprio ecosistema, una “catena di blocchi” appunto.

Ledger, database e Blockchain

Bisogna specificare che la blockchain non è nata per sostituire i database tradizionali, anzi, entrambi vanno pensati come due entità parallele con funzioni differenti.

Un esempio che spesso viene fatto è la gestione degli accessi: un database tradizionale richiede che ad accedervi siano individui noti e “fidati”. La blockchain invece, grazie alla complessità del suo ecosistema e ad una crittografia avanzata, rende disponibile l’accesso anche a terze parti, senza che il sistema venga meno alla sua funzione.

I “mattoni della blockchain”

Blocchi
cr. La-Rel Easter

Una volta chiarito il concetto di ledger, cuore pulsante della blockchain, andiamo ad analizzare la sua struttura.

Il nome stesso lo anticipa: in una blockchain un ledger è costituito da una catena di blocchi. Ma a cosa servono questi “blocchi virtuali”?

Ogni blocco può essere visto come un checkpoint informativo, il responsabile della memorizzazione di informazioni.
I blocchi sono disposti in sequenza ed ognuno di essi mantiene il suo ordine all’interno della catena grazie ad una sorta di DNA interno, che altro non è che una prova matematica, generata dalla crittografia.

La connessione tra due blocchi è dunque garantita da una particolare funzione: la funzione crittografica di hash, generata di volta in volta e non necessariamente salvata all’interno del blocco.

In questo modo sono garantiti ordine e sequenzialità dei blocchi, dopo il primo blocco, generalmente chiamato “blocco genesi”.

E la crittografia?

Crittografia
cr. Markus Spiske

La funzione crittografica di hash ha dunque lo scopo di garantire l’indissolubilità fra i blocchi di una catena.

Il funzionamento è basato su alcuni punti fondamentali:

1. L’input di una funzione di hash può essere potenzialmente qualsiasi cosa (da un file Excel a un video mp4), mentre il suo output sarà sempre un dato a dimensioni fisse (una stringa di numeri e lettere).

2. Ogni modifica dell’input, anche minima, produrrà inevitabilmente una modifica dell’output.

3. Mentre la generazione di un output non risulta particolarmente complicata, non esiste una funzione inversa per risalire all’input. L’unico modo (assai complesso) è provare tutte le combinazioni possibili.

Dunque è chiaro come la crittografia funga da garante ad ogni modifica a una serie di dati o file. Per fare un esempio: se foste in possesso di un certificato pubblicato con il suo hash, potreste facilmente verificarne l’autenticità confrontando la funzione hash pubblicata con quella in vostro possesso.
Se al documento fossero state apportate delle modifiche la funzione hash le smaschererebbe subito.

La struttura

Struttura blockchain
cr. @fabioha

La funzione di hash è parte fondante dei sistemi di blockchain, per l’immediatezza e la sinteticità con cui è in grado di mostrare lo stato di una catena di blocchi. Vediamo come funziona il suo utilizzo.

Ogni volta che viene generato un nuovo blocco, l’hash del nuovo blocco sarà dunque il risultato della combinazione del nuovo input con l’hash del blocco precedente.

Dunque, ogni blocco conterrà: i dati per cui è stato creato e l’hash del blocco precedente; in questo modo viene garantita l’unicità della catena.
Infatti, se venisse modificata un’informazione all’interno di un blocco, risulterebbe diverso l’hash del blocco stesso e tutti gli hash successivi.

Il network

Network
cr. Su San Lee

Uno dei capisaldi della blockchain è la creazione di un sistema immune a errori e condizionamenti umani.

Possiamo paragonare il network della blockchain a una rete in cui alle estremità ci sono vari “nodi”, in cui ogni nodo rappresenta una macchina connessa alla blockchain.

La soluzione migliore è l’adozione dei full-node, ovvero un programma in grado di convalidare completamente transazioni e blocchi.
Un full-node è a tutti gli effetti indipendente, tanto che, in caso di anomalia, può rifiutare un blocco anche qualora fosse stato accettato da tutti gli altri blocchi del sistema.

In questo modo si va ad ovviare al problema della fiducia, ad errori umani, o fenomeni quali corruzione o imparzialità, perché avremo sempre macchine che seguono solo le regole del sistema, nulla più.

Un sistema infallibile?

Umanità
cr. Chuttersnap

Sicuramente la ricerca di un’eguaglianza distribuita da complessi calcoli effettuati da macchinari sembrano uno scenario futuristico che, ad alcuni, può anche far paura.

Ma proviamo a pensare agli algoritmi di Google o Facebook, pensati de facto per migliorarci l’esperienza utente e, secondo la loro visione, la vita. È tanto distante l’utopia blockchain?


Gli smart contract, uno dei principali cavalli di battagli che si propone di portare avanti la blockchain, sono un esempio: ma cosa sono?
Sono dei protocolli informatici che hanno il compito di far rispettare un contratto.

Eppure, manca qualcosa. L’essere umano nin sarà infallibile come una macchina, ma ha dalla sua una componente unica: la flessibilità.
In un articolo pubblicato su Wired, ragionando sull’argomento, si porta l’esempio di un contratto di affitto: quante ragioni ci possono essere per cui il pagamento dello stesso può subire un ritardo? Molteplici. Tuttavia, le stesse, non potrebbero venir valutate da una macchina programmata a rispettare il regolamento dell’ecosistema di cui fa parte.

Il sistema blockchain ha dalla sua un paradigma rivoluzionario unico nel suo genere, in grado di ovviare a numerosi problemi all’interno della nostra società. Ma bisogna stare attenti a non accantonare troppo facilmente la componente umana.

Ian Bogost, professore associato di Letteratura e Comunicazione al Georgia Tech Institute, ha rilasciato una riflessione senza mezzi termini sull’Atlantic:

“Se tutto questo vi suona familiare è perché la cultura contemporanea si è già trovata ad affrontare situazioni simili. Le tecnologie di controllo e sorveglianza, al confronto modeste, usate da Google, Facebook e gli altri – il cui impatto ormai conosciamo bene – hanno proliferato basandosi sull’assunto che avrebbero reso le vite delle persone migliori e più efficienti. […] Ugualmente, il futuro della blockchain sembra essere legato alla visione a breve termine di investitori e imprenditori a cui piace parlare di un’ipotetica utopia distribuita, senza prendere le misure contro la tirannia che potrebbe ugualmente realizzare”.

La differenza tra opportunità e minaccia è, e sempre sarà, molto sottile; sta a noi cogliere le sfumature di ogni innovazione che cerca di emergere in un panorama tecnologico sempre più dibattuto.

Conoscere, almeno parzialmente, come funziona la blockchain è sicuramente un punto di partenza per poter prendere una posizione anche all’interno del dibattito etico.

Siamo solo agli inizi, ma la blockchain già fa discutere.

Lascia un commento