mail: info@pingsrl.it - telefono: 02 3654 4768

La blockchain spiegata facile

Blockchain è uno dei termini del momento.
Se ne sente parlare ormai ovunque, viene applicata ai settori più disparati e questo fa sì che un po’ si dia per scontato che tutti sappiano di cosa si tratti. Un po’ si pensa che sia una cosa complicatissima, da addetti ai lavori.
 
Proviamo un po’ a chiarire cos’è una blockchain e come funziona, senza entrare in tecnicismi.

A cosa serve la blockchain

La blockchain è una tecnica per garantire l’univocità di un contenuto digitale. 
Questo potrebbe non dire granché ad alcuni, ma è una vera rivoluzione. 
Sin dall’invenzione dei contenuti digitali si è posto il problema di garantire che un file fosse unico. La copia di un programma, un video, una canzone è assolutamente identica, fino all’ultimo bit, al file originale. Questo è uno dei punti di forza dell’informatica, ma non in quegli ambiti dove vogliamo che il nostro file sia unico, non copiabile.
 
Prima della blockchain questo era impossibile. L’unico modo per farlo era rivolgersi a un autorità terza considerata affidabile. Pensandoci, è un’idea mutuata dal mondo prima dei computer: come facciamo a sapere che una certa carta di identità è valida? Perché è stata emessa da un ente riconosciuto (il Ministero) nei cui archivi c’è la prova che quel documento è stato rilasciato dall’ente stesso
Il problema di questo sistema è che l’ente centrale di certificazione è l’anello debole del sistema: non è sempre possibile trovare qualcuno riconosciuto da tutti come affidabile, il nodo centrale deve mantenere gli archivi e l’infrastruttura per l’erogazione dei contenuti, eccetera. 
Si aggiunga anche il problema che in questo sistema l’ente centrale ha la possibilità di verificare la validità di un documento, ma tutti gli altri soggetti non possono farlo.
Si può fare lo stesso discorso con il denaro. Il denaro viene considerato valido perché emesso da un ente considerato affidabile (la Banca Centrale) che può certificarne la validità e questo scoraggia chiunque dal mettersi a stampare il proprio denaro perché non avrebbe validità.

Storia della blockchain

La blockchain è spesso associata alle criptovalute perché è stata ideata da Satoshi Nakamoto, il misterioso (nessuno sa chi sia, se si tratti di una persona o di un gruppo) inventore di Bitcoin. La blockchain è stata ideata proprio per garantire l’univocità dei bitcoin emessi. I bitcoin sono stati studiati e discussi a lungo ma la vera invenzione rivoluzionaria era la blockchain, la tecnica che permetteva ad ogni “moneta” emessa di essere validata da chiunque volesse. Per i più tecnici il paper di Satoshi Namakoto si trova qui
 
Da allora l’uso delle blockchain è esploso, dai contratti all’arte con gli NFT fino al tracciamento dei vini. Senza contare la pletora di criptovalute emerse dal successo di BitCoin.
E cosa contiene un blocco ?
 
  • La data corrente
  • Un identificativo per il bocco
  • I dati che si vuole salvare, che siano le matricole per una criptovaluta, le etichette di un vino, quello che serve insomma per l’applicazione della blockchain che si sta creando
  • l’hash del blocco precedente
 
Questo ultimo punto è l’intuizione geniale. Ogni blocco contiene l’hash (la firma) del blocco precedente, che contiene a sua volta l’hash del blocco precedente e così via fino al primo blocco della catena. Di conseguenza questo hash rappresenta la firma complessiva della catena fino a questo punto.
 
Come abbiamo detto prima se si cambia un solo bit nel file di partenza il suo hash cambia completamente. Se un malintenzionato dovesse in qualche modo diffondere un blocco corrotto, violando i server che conservano i blocchi, il sistema se ne accorgerebbe immediatamente perché le firme dei blocchi successivi sarebbero tutte incoerenti.
 
Questo piccolo accorgimento rende il sistema impossibile da modificare una volta che la rete ha inserito il blocco nella catena.
 
La blockchain è tutta qui. Un registro di informazioni che è contemporaneamente pubblico e inviolabile e in cui ogni blocco è unico e insostituibile

 

Qualche esempio di blockchain

Ora che abbiamo visto come è fatta una blockchain, come la si può utilizzare ?
 
Il primo esempio da fare sono sicuramente le criptovalute. In questo caso all’interno di ogni blocco vengono salvate le transazioni. In questo modo una volta che una transazione è parte della rete non è più modificabile. Una conseguenza particolare della struttura pubblica è che così facendo chiunque può vedere tutte le transazioni eseguite in tutta la rete. Ovviamente ci sono molti più aspetti e ogni criptovaluta ha le sue peculiarità, ma il meccanismo di base è il medesimo per tutte.
 
Tra queste una menzione particolare va fatta per Ethereum. Ethereum (ETH) è sia una criptovaluta come le altre ma ha in più, fin dall’inizio della sua progettazione, l’idea di mettere a disposizione la sua rete per applicazioni diverse dalla criptovaluta. Ovvero chiunque abbia bisogno di una blockchain potrebbe implementarsi la sua oppure usare la rete globale di Ethereum per le proprie applicazioni
 
Uno degli applicativi più discussi sulla rete Ethereum sono gli NFT. Gli NFT (Non-fungible tokens) sono dei “certificati” di possesso e autenticità per beni digitali.
Sono quindi un meccanismo per permettere a qualcuno di comprare un contenuto digitale garantendo che solo lui lo possa definire suo. Attenzione questo non vuol dire che il contenuto di partenza non sia replicabile, ma che l’unico vero possessore certificato di quel contenuto digitale è uno solo. Gli altri sono copie. Un po’ come se io mi fotocopiassi la Gioconda. Ne otterrei una copia, magari indistinguibile dall’originale, ma che è sicuramente un falso.
Stanno facendo parlare molto a causa delle cifre che si stanno muovendo: una singola opera digitale è stata battuta da Christie’s per 69M.

Fabio Trezzi

Camilla Garavaglia

Sezione per curiosi: come funziona un hash

Se sei arrivato fin qui per sapere cosa sia una blockchain, teoricamente puoi fermarti.
Questo paragrafo infatti è un’aggiunta che serve a fare chiarezza su un’altra tecnica che sembra complessissima quando la sua base è molto semplice: il calcolo dell’hash.
Sembra infatti tutto molto misterioso, ma in realtà si potrebbe ricostruire con un po’ di matematica delle elementari. La funzione di hash più semplice possibile è il resto della divisione.
 
Immagina che il nostro sistema di hash sia un complicatissimo algoritmo: “dividi per due”.
 
Se il mio messaggio segreto è 5 applichiamo la nostra funzione di hash (diviso 2) e troviamo come risultato 1. Questo è il nostro hash.
 
5 % 2 = 1 (% = resto della divisione)
 
Ora passiamo ad un’altra persona il nostro hash risultato (1) e questa persona (usando lo stesso algoritmo di hash) può verificare se un messaggio è quello segreto (che lui non conosce) o meno, applicando lo stesso algoritmo e confrontando il risultato con l’hash che gli abbiamo passato.
 
Noi potremmo quindi essere in possesso dell’hash (1) e sapere come è fatto il nostro algoritmo di hash (diviso 2) e da qui fare una verifica se ci passassero un numero casuale per capire se il numero è valido.
 
Il numero di partenza era 5 ? Applico il mio algoritmo di hash (diviso 2) e confronto il risultato con l’hash che mi è stato condiviso (1). Se il conto torna per me 5 è valido.
 
Ovviamente con un algoritmo semplice come questo le possibilità di falsi positivi, ovvero casi in cui ci sembra che il nostro hash sia corretto ma non lo è è molto alta
 
7%2 = 1
9%2 = 1
 
Per questa ragione gli algoritmi di hash usati nel mondo reale sono molto più complessi, ma le proprietà sono le stesse del nostro algoritmo super semplificato.
 
La parte importante è che noto l’hash (1) e noto l’algoritmo (diviso 2) io non ho alcun modo per indovinare il numero di partenza.
 
Tutto chiaro?
Non è così complicato come dicono, vero?


Offriamo tecnologia e design
per dare vita alle idee della tua azienda.

  • PING*

  • Dal 2004 entusiati del web

  • Al servizio delle aziende

  • Progettiamo, sviluppiamo comunichiamo

  • CONTATTI

  • via Pusterla 3 - 20013 Magenta

  • This email address is being protected from spambots. You need JavaScript enabled to view it.


Ping srl - via Pusterla 3 20013 Magenta - MI | PIVA/CF 04753140963

©  Ping* srl. All rights reserved.