Cos’è una Blockchain?

0
Share

Se hai letto gli ultimi articoli del blog, probabilmente hai sentito parlare di “Blockchain” relativa ai Bitcoin, puoi leggere nel dettaglio sui Bitcoin qui.

Tutto inizia con la crittografia

Per capire le blockchain, bisogna comprendere la crittografia. L’idea della crittografia è molto più antica dei computer: significa semplicemente riorganizzare le informazioni in modo tale che sia necessario avere una chiave specifica per leggerle. Chiunque trovi il messaggio senza la chiave non può leggerlo. I militari hanno usato la crittografia più complessa molto prima dell’avvento dei computer (ad esempio, i messaggi codificati e decodificati dalla macchina Enigma durante la seconda guerra mondiale).

La crittografia moderna, tuttavia, è interamente digitale. I computer di oggi usano metodi di crittografia così complessi e così sicuri che sarebbe impossibile romperli con una semplice regola matematica inventata dagli esseri umani. La tecnologia di crittografia computerizzata non è perfetta, però può essere violata, se le persone sono abbastanza intelligenti da capire il funzionamento dell’algoritmo crittografico.

I dati saranno quindi ancora vulnerabili se qualcuno, al di fuori del proprietario trova la chiave. Tuttavia la crittografia a livello di utente, come la crittografia AES a 128 bit, che è ora uno standard su iPhone e Android, è sufficiente per tenere lontani i dati dall’FBI.

Blockchain è un archivio di dati sicuro e collaborativo

La crittografia viene normalmente utilizzata per bloccare i file in modo che possano essere accessibili solo da persone specifiche. Ma cosa succede se si dispone di informazioni che devono essere viste da tutti, come ad esempio le informazioni contabili di un’agenzia governativa che deve essere pubblica per legge? Lì hai un problema: più persone possono vedere e modificare le informazioni, meno i dati saranno al sicuro.

I blockchain sono stati sviluppati per soddisfare le esigenze di sicurezza di queste situazioni specifiche. In una blockchain, ogni volta che si visualizza e si aggiorna l’informazione, la modifica viene registrata e verificata, quindi sigillata con la crittografia, non più editabile. Il set di modifiche viene quindi memorizzato e aggiunto al record totale. La prossima volta che qualcuno apporta delle modifiche, ricomincia da capo, conservando le informazioni in un nuovo “blocco” che è crittografato e collegato al blocco precedente (da qui “catena di blocchi”). Questo processo ripetuto, collega la prima versione del set di informazioni con l’ultima.

Immagina di essere in un gruppo di dieci persone che assemblano un set di LEGO. È possibile aggiungere un solo pezzo alla volta, e non è possibile rimuovere alcun pezzo. Ogni membro del gruppo deve concordare specificatamente dove andrà il prossimo pezzo. In questo modo, puoi vedere tutti i pezzi in qualsiasi momento, direttamente nel primo pezzo del progetto, ma puoi modificare solo l’ultimo pezzo.

Nel dettaglio

Per qualcosa di un po’ più rilevante, immagina un documento collaborativo, come un foglio di calcolo su Google Documenti o Office 365. Chiunque abbia accesso al documento può modificarlo e ogni volta che lo fa, la modifica viene salvata e registrata con un nuovo foglio, quindi bloccato nelle cronologia del documento. A questo punto puoi tornare indietro, passo dopo passo attraverso le modifiche apportate, ma puoi solo aggiungere informazioni alla versione più recente, non modificare le versioni precedenti del foglio di lavoro che sono già state bloccate.

Quest’idea viene per lo più applicata a dati finanziari, dove ha più senso. Le valute digitali distribuite come Bitcoin sono l’uso più comune della blockchain: infatti, il primo blockchain è stato creato per i Bitcoin e l’idea si è diffusa da lì.

Come funziona una blockchain?

Potresti avere familiarità con la condivisione di file peer-to-peer: servizi come BitTorrent che permettono agli utenti di caricare e scaricare file digitali da più postazioni in modo più efficiente rispetto a una singola connessione. Immagina i “file” come i dati principali di una blockchain e il processo di download come la crittografia che lo mantiene aggiornato e sicuro.

Oppure, per tornare all’esempio di Google Documenti: immagina che il documento collaborativo su cui stai lavorando non sia memorizzato su un server. Invece, è sul computer di ogni persona, che controlla costantemente il documento, per assicurarsi che nessuno abbia modificato i record precedenti. Questo lo rende “decentralizzato”.

Questa è l’idea alla base della blockchain: i dati crittografici sono continuamente accessibili e protetti allo stesso tempo, senza server o storage centralizzati, con un record di modifiche che si incorpora in ogni nuova versione di dati.

Quindi abbiamo tre elementi da considerare in questa relazione:

  • La rete di utenti peer-to-peer che memorizzano tutte le copie del record blockchain.
  • I dati che gli utenti della rete peer-to-peer aggiungono all’ultimo “blocco” di informazioni, che consente di essere aggiornato e aggiunto al record totale.
  • Le sequenze crittografiche che gli utenti generano per concordare sull’ultimo blocco, bloccandolo in posizione nella sequenza di dati che forma il record.

Sfruttare la potenza del proprio PC

È l’ultimo pezzo che è la salsa segreta nel sandwich blockchain. Utilizzando la crittografia digitale, ogni utente contribuisce al potere del proprio computer al fine di aiutare a risolvere alcuni di questi problemi matematici super-complessi che mantengono il record sicuro. Queste soluzioni estremamente complesse, note come “hash”, risolvono parti fondamentali dei dati nel record, come ad esempio l’account che ha aggiunto o sottratto denaro in un libro contabile. Più i dati sono densi, più complessa è la crittografia e più potenza di elaborazione è necessaria per risolverli. (Questo è il punto in cui l’idea di “mining” in Bitcoin entra in gioco, tra l’altro).

Quindi, per riassumere, possiamo pensare che una blockchain sia un dato che è:

  • Costantemente aggiornato: gli utenti Blockchain possono accedere ai dati in qualsiasi momento e aggiungere informazioni al nuovo blocco.
  • Distribuito: le copie dei dati blockchain vengono archiviate e protette da ogni utente e tutte devono concordare sulle nuove aggiunte.
  • Verificato: entrambe le modifiche a nuovi blocchi e copie di vecchi blocchi devono essere concordate da tutti gli utenti tramite la verifica crittografica.
  • Sicuro: la manomissione dei vecchi dati e l’alterazione del metodo di protezione dei nuovi dati sono impediti sia dal metodo crittografico che dall’archiviazione non centralizzata dei dati stessi.
    E che ci crediate o no, diventa ancora più complicato di così… ma questa è l’idea di base.

La blockchain in azione!

Consideriamo un esempio di come questo si applica a una criptovaluta come Bitcoin. Diciamo che hai un Bitcoin e vuoi spenderlo su una nuova macchina. Ti colleghi alla blockchain decentralizzata di Bitcoin con il tuo software, e invii la tua richiesta per trasferire il tuo Bitcoin al venditore dell’auto. La transazione viene quindi trasmessa al sistema.

Ogni persona sul sistema può vederlo, ma la tua identità e l’identità del venditore sono solo firme temporanee. Questi valori sono inseriti nell’equazione blockchain e il problema stesso viene “risolto” dai membri della rete peer-to-peer che genera hash di crittografia.

Una volta verificata la transazione, un Bitcoin viene trasferito da te al venditore e registrato nell’ultimo blocco della catena. Il blocco è finito, sigillato e protetto con crittografia. Inizia la serie successiva di transazioni e la blockchain aumenta di lunghezza e contiene un record completo di tutte le transazioni ogni volta che viene aggiornata.

Ora, quando pensi a un blockchain come “sicura”, è importante capirne il contesto. Le transazioni individuali sono sicure e il record totale è sicuro, a patto che i metodi utilizzati per proteggere la crittografia rimangano “senza incrinature”. (E ricorda, questa roba è davvero difficile da rompere – anche l’FBI non può farlo). Ma l’anello più debole nella blockchain è l’utente.

Se permetti a qualcun altro di usare la tua chiave personale per accedere alla catena, o se la trova semplicemente hackerando il tuo computer, può fare aggiunte alla blockchain con le tue informazioni, e non c’è modo di fermarle. È così che i Bitcoin vengono “rubati”, e poiché i Bitcoin rubati vengono trasferiti da utenti anonimi, non c’è modo di trovare il ladro o recuperare i Bitcoin.

Che altro si può fare con il blockchain?

La tecnologia Blockchain è iniziata con Bitcoi. Un sistema costantemente aggiornato, accessibile a chiunque, verificato da una rete non centralizzata e incredibilmente sicuro. Le istituzioni finanziarie come JP Morgan Chase e Australian Stock Exchange stanno sviluppando sistemi di blockchain per proteggere e distribuire dati finanziari. La fondazione Bill & Melinda Gates spera di utilizzare sistemi di blockchain per fornire servizi bancari gratuiti e distribuiti a miliardi di persone che non possono permettersi un regolare conto bancario.

Gli strumenti open source come Hyperledger stanno cercando di rendere le tecniche blockchain disponibili per una gamma più ampia di persone. I sistemi di lavoro collaborativi possono essere verificati e registrati con tecniche blockchain. Praticamente tutto ciò che deve essere costantemente registrato, accessibile e aggiornato può essere utilizzato allo stesso modo.

Autore del blog Digitalart. Programmatore con la passione per i computer, dolci e la cucina in generale. Ama cimentarsi in produzioni grafiche e scrivere articoli interessanti.

Potrebbe piacerti anche...