Learning Friday #3: nascita e potenzialità della blockchain pt1

K2Senza categoriaLearning Friday #3: nascita e potenzialità della blockchain pt1

Il terzo learning Friday è stato guidato da Fabiano Sarracco che ci ha introdotto nel mondo della blockcain.

In questo articolo racconteremo la prima parte dell’intervento di Fabiano. Inizialmente si è analizzato il rapporto tra bitcoin e blockchain, per poi spiegare come si sviluppano gli smart contract.

 Da qualche anno si parla spesso di blockchain ma, a dire il vero, pochi sanno di cosa si tratti davvero ed ancora meno ne conoscono le potenzialità.

La blockchain ha una struttura complessa ed ambivalente ma, qui, verrà spiegata dal punto di vista dello sviluppatore

Nella sua fase iniziale era poco conosciuta ma tutti l’acclamavano. In essa si intravedevano potenzialità immense. Oggi, terminato l’entusiasmo iniziale, che ha coinvolto un po’ tutti, resta l’interesse solo degli “addetti ai lavori” che conoscono la struttura e le capacità.

Ma cosa è la blockchain?

La blockchain, letteralmente, è una catena di blocchi. Nella sua accezione informatica, però, fa riferimento ad una catena di blocchi contenenti le transazioni e la cui validazione è affidata a un meccanismo di consenso, distribuito su tutti i nodi della rete.

Figuratamente è rappresentabile come una lista, che cresce gradualmente, di blocchi collegati tra loro e resi sicuri tramite la crittografia. Ad un blocco possono essere associate una o più transazioni ed ogni blocco, comunque, contiene un puntatore hash al blocco precedente.

Noi, però, siamo arrivati alla sua definizione partendo dal bitcoin.

 

Bitcoin: lo scambio di valore secondo Satoshi Nakamoto.

La prima volta la parola “bitcoin” è apparsa su The Cryptography Mailing list, in un articolo firmato da Satoshi Nakamoto. Era il 31 ottobre 2008. Nell’abstract di quest’articolo si parla dello “scambio di valore”. Si sostiene che se noi vogliamo scambiare valore all’interno di una rete c’è bisogno di una parte “terza e fidata” che prevenga il fenomeno della double spending Satoshi, nel suo scritto, però, sembra dare un’alternativa: il bitcoin.

La rete Bitcoin consente il possesso e il trasferimento anonimo delle monete. Quest’ultime possono essere trasferiti tramite  Internet verso chiunque disponga di un “indirizzo bitcoin“. La struttura peer-to-peer della rete Bitcoin e la mancanza di un ente centrale rende impossibile a qualunque autorità, governativa o meno, il blocco dei trasferimenti, il sequestro di bitcoin senza il possesso delle relative chiavi.

Un tassello importante da incastrare, a questo punto, è quello che riguarda il meccanismo per autenticare l’identità di chi fa le transazioni.

Questo è ben rappresentato dalla Crittografia Asimmetrica.

Nella crittografia asimmetrica ad ogni attore coinvolto nell’operazione è associata una coppia di chiavi:

chiave pubblica, che deve essere distribuita,

chiave privata, che è personale e segreta.

Tale crittografia viene usata sia per cifrare i messaggi, che per la firma digitale. La doppia chiave serve per certificare che un certo tipo di messaggio sia stato inviato da un ”x” della rete.

Associata all’indirizzo bitcoin è la chiave pubblica, mentre, quella privata è utilizzata per firmare le transazioni in uscita da quell’indirizzo. Quindi ogni coppia di chiavi corrisponde ad un account.

Come nascono le transazioni nella rete?

La transazione si crea attraverso la chiave privata. Firmata la transazione dalla chiave privata viene inviata.  Chi riceve la transazione la verifica comparando la firma (di chi ha creato la transazione) con quella associata alla chiave pubblica.

Insomma questa coppia di chiavi permette di verificare l’identità di chi attua la transazione e di propagare in rete transazioni riconoscibili.

Una volta creata la transazione questa viene mandata in broadcast a tutti i nodi della rete. Ciascun nodo verifica la transazione.

Satoshi, con il suo scritto, ha affrontato e quasi risolto anche il tipico problema della double spending, sostenendo che è necessario che tutti i nodi della rete raggiungano un consenso per le transazioni nel Ledger. Questo perché ogni Ledger deve essere uguale all’altro.

A questo punto, Fabiano, ci ha raccontato come ci sia, per gli esperti, un vero e proprio “problema del consenso”. In quanto è possibile che alcuni nodi della rete provino a manomettere le transazioni presenti in rete.

Su come tale problematica sia affrontata lo scopriremo settimana prossima, con la seconda parte del nostro Learning Friday sulla blockchain.