Blockchain dalle basi: come funziona la tecnologia della catena di blocchi?
La blockchain è una delle tecnologie più importanti sviluppate insieme al mercato delle criptovalute. È associata soprattutto a Bitcoin, ma le sue applicazioni non si limitano al denaro digitale. Le blockchain possono essere utilizzate, tra l'altro, per archiviare dati, effettuare pagamenti, stipulare accordi digitali e certificare la proprietà.
Per chi è alle prime armi, la blockchain può sembrare complicata. In realtà, il suo principio di base è relativamente semplice: le informazioni vengono registrate in blocchi successivi, collegati tra loro e condivisi con i partecipanti alla rete.
In questa guida spieghiamo che cos'è la blockchain, come funziona e perché i dati registrati al suo interno non possono essere modificati facilmente.
Blockchain: che cosa significa esattamente questo termine?
Il termine «blockchain» può essere tradotto come «catena di blocchi». Si tratta di un registro digitale in cui le informazioni vengono raggruppate in blocchi, collegati poi nell'ordine corretto.
Ogni nuovo blocco contiene, tra l'altro, i dati relativi alle operazioni eseguite e un identificatore specifico che rimanda al blocco precedente. In questo modo si crea una catena ordinata di informazioni.
La blockchain può essere paragonata a un registro al quale vengono aggiunte regolarmente nuove pagine. La differenza è che copie di questo registro possono essere conservate contemporaneamente su molti computer appartenenti ai partecipanti alla rete.
Come vengono aggiunte le informazioni alla blockchain?
Il processo di registrazione dei dati può variare leggermente a seconda della rete, ma lo schema generale è simile.
Per prima cosa, l'utente avvia un'operazione, ad esempio l'invio di una criptovaluta o l'esecuzione di uno smart contract. Le informazioni relative all'operazione vengono trasmesse alla rete, dove sono verificate secondo le regole previste.
Una volta convalidata, l'operazione può essere inserita in un nuovo blocco insieme ad altre operazioni. Successivamente, il blocco viene aggiunto alla catena esistente e la versione aggiornata del registro viene distribuita ai partecipanti alla rete.
In forma semplificata, il processo si svolge così:
- L'utente avvia un'operazione
- Le informazioni vengono trasmesse alla rete blockchain
- I partecipanti alla rete ne verificano la correttezza
- Le operazioni verificate vengono raggruppate in un blocco
- Il nuovo blocco viene collegato ai blocchi precedenti
- Il registro aggiornato viene memorizzato nella rete
Quali sono gli elementi principali di una blockchain?
Per comprendere come funziona questa tecnologia, è utile conoscere alcuni dei suoi elementi fondamentali.
Blocco di dati
Un blocco è un insieme digitale di informazioni. In una rete di criptovalute può contenere l'elenco delle transazioni effettuate, il momento in cui sono state confermate e i dati tecnici necessari al funzionamento del sistema.
Ogni blockchain definisce le proprie regole riguardo alla dimensione dei blocchi, al tipo di dati memorizzati e alla frequenza con cui vengono creati.
Collegamento tra i blocchi
Ogni nuovo blocco fa riferimento al blocco creato in precedenza. In questo modo, i vari elementi del registro formano una struttura cronologica.
La modifica delle informazioni contenute in uno dei blocchi precedenti altererebbe il suo collegamento con i blocchi successivi. Questo è uno dei motivi per cui manipolare la cronologia di una blockchain molto estesa è estremamente difficile.
Hash crittografico
Un hash, chiamato anche impronta crittografica, è una sequenza di caratteri generata a partire da determinati dati. Può essere paragonato a un'impronta digitale.
Anche una minima modifica dei dati di partenza genera un hash diverso. In questo modo la rete può rilevare che il contenuto del blocco è stato modificato.
Un hash non equivale alla cifratura. Il suo scopo non è nascondere le informazioni, ma generare un'impronta univoca che consenta di verificarne l'integrità.
Nodi della rete
I nodi sono computer o altri dispositivi collegati alla blockchain. Possono conservare una copia del registro, trasmettere informazioni sulle nuove operazioni e verificare la correttezza dei dati.
Non tutti i nodi devono svolgere le stesse funzioni. Alcuni conservano l'intera cronologia della rete, mentre altri utilizzano soltanto una quantità limitata di informazioni.
Perché la blockchain non ha bisogno di un unico database centrale?
In un sistema tradizionale, il database è generalmente gestito da un'istituzione, un'azienda o un amministratore specifico. È questo soggetto a stabilire le regole di accesso e le modalità con cui possono essere apportate modifiche.
In una blockchain decentralizzata, le copie del registro sono conservate da molti partecipanti indipendenti. Non esiste quindi un unico server centrale dal quale dipende il funzionamento dell'intero sistema.
La decentralizzazione può aumentare la resistenza della rete ai guasti e ai tentativi di manipolazione. Il malfunzionamento di un singolo computer non provoca la perdita dell'intero registro, perché ne esistono copie anche su altri dispositivi.
Non tutte le blockchain sono però completamente decentralizzate. Il livello di decentralizzazione dipende, tra l'altro, dal numero di partecipanti, dal metodo di convalida delle operazioni e dalla distribuzione del controllo sulla rete.
Come fa la rete a concordare la versione corretta dei dati?
I partecipanti alla rete blockchain devono stabilire quali operazioni sono valide e qual è lo stato attuale del registro. A questo servono i meccanismi di consenso.
Un meccanismo di consenso può essere descritto come un insieme di regole con cui la rete raggiunge un accordo senza ricorrere a un unico amministratore centrale.
Tra i meccanismi più noti figurano:
- Proof of Work, basato sui calcoli eseguiti dai miner
- Proof of Stake, in cui la partecipazione alla convalida delle operazioni è legata al possesso e all'immobilizzazione di determinati asset
- meccanismi utilizzati nelle reti private, in cui soltanto i partecipanti autorizzati possono convalidare le operazioni
Le diverse soluzioni variano per velocità, consumo energetico, costi e livello di decentralizzazione.
Qual è il rapporto tra blockchain e criptovalute?
Le criptovalute utilizzano la blockchain come registro dei saldi e delle transazioni effettuate. In questo modo la rete può verificare se l'utente dispone degli asset necessari e se non sta tentando di spendere le stesse unità più di una volta.
La blockchain non conserva le monete nello stesso modo in cui un computer conserva un file. Registra invece le informazioni che permettono di stabilire quali asset sono associati ai singoli indirizzi.
L'accesso alle criptovalute è controllato mediante chiavi crittografiche. La chiave pubblica, o l'indirizzo generato a partire da essa, può essere utilizzata per ricevere fondi. La chiave privata consente di autorizzare le operazioni e deve rimanere nota soltanto al proprietario.
Tutte le blockchain sono accessibili al pubblico?
Le blockchain possono prevedere regole di accesso diverse. In genere vengono suddivise in reti pubbliche e private, ma esistono anche soluzioni intermedie.
Reti aperte
Una blockchain pubblica è accessibile a un'ampia platea di utenti. In genere chiunque può consultare le operazioni registrate, avviare un proprio nodo o utilizzare le applicazioni attive sulla rete.
A questa categoria appartengono, tra le altre, Bitcoin ed Ethereum.
Le reti pubbliche puntano generalmente sulla trasparenza e sulla resistenza alla censura, oltre che sulla limitazione del controllo da parte di un singolo soggetto.
Reti ad accesso limitato
Una blockchain privata è controllata da un'organizzazione specifica o da un gruppo ristretto di partecipanti. L'accesso ai dati e la possibilità di convalidare le operazioni possono richiedere autorizzazioni specifiche.
Queste soluzioni possono essere utilizzate da aziende, istituzioni finanziarie o altre organizzazioni che desiderano sfruttare la tecnologia dei registri distribuiti mantenendo al tempo stesso il controllo degli accessi.
Blockchain consortile
Una rete consortile è gestita da più soggetti che collaborano tra loro. Nessuno di essi esercita un controllo completo e autonomo sul sistema.
Questo modello può essere utilizzato nei settori in cui più aziende hanno bisogno di un database condiviso, ma non vogliono affidarlo a un unico operatore.
Da dove deriva la sicurezza della blockchain?
La sicurezza della blockchain non dipende da un unico meccanismo. Deriva dalla combinazione di crittografia, archiviazione distribuita dei dati e regole di consenso.
Tra i principali elementi di sicurezza figurano:
- collegamento dei blocchi consecutivi mediante hash crittografici
- archiviazione di copie del registro su più dispositivi
- verifica delle operazioni secondo regole prestabilite
- uso di firme digitali
- necessità di ottenere l'approvazione della rete prima di aggiungere nuovi dati
Questo non significa però che ogni sistema basato sulla blockchain sia automaticamente sicuro al cento per cento. Possono verificarsi errori nelle applicazioni, negli smart contract, nei portafogli o nelle modalità di conservazione delle chiavi private.
La sicurezza dipende anche dall'architettura della rete e dal numero di partecipanti indipendenti che contribuiscono a proteggerla.
I dati registrati nella blockchain possono essere eliminati?
Si dice spesso che i dati registrati nella blockchain siano immutabili. In pratica, questo significa che modificarli successivamente è molto difficile e può richiedere il controllo di una parte significativa della rete.
L'immutabilità non deve però essere considerata una garanzia assoluta. In alcune situazioni possono verificarsi una riorganizzazione dei blocchi, un aggiornamento del protocollo o una divisione della rete.
Nelle blockchain pubbliche sufficientemente distribuite, modificare i dati più vecchi diventa sempre più difficile man mano che vengono aggiunti nuovi blocchi. Più blocchi vengono creati dopo una determinata operazione, maggiore è la certezza che essa rimanga parte della cronologia della rete.
Che cosa sono gli smart contract?
Un contratto intelligente, o smart contract, è un programma eseguito sulla blockchain. Esegue automaticamente determinate istruzioni quando si verificano le condizioni definite nel suo codice.
Può, ad esempio:
- trasferire asset digitali
- scambiare un token con un altro
- distribuire fondi tra più indirizzi
- confermare il risultato di una votazione
- gestire un prestito
- gestire la proprietà di un oggetto digitale
Uno smart contract non deve essere necessariamente un contratto nel senso giuridico tradizionale. È soprattutto codice informatico eseguito dalla rete.
Il suo vantaggio è l'automazione, ma gli errori nel codice possono causare perdite. Per questo motivo, gli smart contract complessi devono essere testati con attenzione e sottoposti ad audit.
A che cosa serve la blockchain oltre alle criptovalute?
La tecnologia blockchain può essere utilizzata ovunque sia necessario un registro di informazioni condiviso e verificabile.
Tracciamento della catena di approvvigionamento
La blockchain può registrare le diverse fasi del trasporto e della produzione delle merci. In questo modo è possibile verificare l'origine di un prodotto e il percorso compiuto dal produttore al destinatario.
Certificazione digitale della proprietà
Nella blockchain è possibile registrare informazioni relative ai diritti su asset digitali o fisici. Ne sono un esempio i token che rappresentano oggetti da collezione, partecipazioni o altri diritti patrimoniali.
Documenti e certificati
Gli hash dei documenti possono essere registrati nella blockchain per verificarne successivamente l'autenticità. Questa soluzione non richiede necessariamente la pubblicazione dell'intero contenuto del documento.
Finanza decentralizzata
Le applicazioni DeFi consentono, tra l'altro, lo scambio di token, la concessione di prestiti e il calcolo degli interessi senza ricorrere a un intermediario tradizionale.
Votazioni e gestione delle organizzazioni
La blockchain può essere utilizzata per registrare i voti e gestire organizzazioni decentralizzate. La trasparenza del registro pubblico permette ai partecipanti di verificare i risultati delle decisioni prese.
Trasferimenti internazionali
Alcune reti consentono di trasferire asset digitali tra utenti che si trovano in paesi diversi. I tempi e i costi dell'operazione dipendono dalla blockchain utilizzata.
I principali vantaggi della tecnologia blockchain
Tra i potenziali vantaggi della blockchain figurano:
- possibilità di operare senza un amministratore centrale
- trasparenza dei dati registrati nelle reti pubbliche
- resistenza al guasto di un singolo server
- maggiore facilità nel verificare la cronologia delle operazioni
- possibilità di automatizzare i processi
- minore necessità di ricorrere ad alcuni intermediari
- accesso globale alla rete
L'importanza dei singoli vantaggi dipende da come è stato progettato il sistema specifico.
Blockchain e database tradizionale: le differenze fondamentali
Un database tradizionale dispone generalmente di un amministratore che può modificare o eliminare le informazioni. Spesso è inoltre ospitato su server appartenenti a un'unica organizzazione.
La blockchain può distribuire copie del registro tra molti partecipanti e limitare la possibilità di modificare unilateralmente la cronologia registrata.
Questo non significa che la blockchain sia sempre la soluzione migliore. Un database tradizionale può essere più veloce, più economico e più semplice da gestire. La blockchain è particolarmente utile quando più soggetti indipendenti hanno bisogno di un registro condiviso, ma non vogliono affidarne il controllo completo a una sola entità.
La blockchain è anonima?
La blockchain non garantisce sempre l'anonimato. In molte reti pubbliche chiunque può consultare la cronologia delle operazioni associate a un determinato indirizzo.
Un indirizzo normalmente non contiene nome e cognome, ma può essere possibile collegarlo a una persona specifica sulla base di altri dati, ad esempio delle informazioni fornite durante l'utilizzo di un determinato servizio.
Per questo motivo, per molte blockchain è più corretto parlare di pseudonimato.
Riepilogo
La blockchain è un registro distribuito nel quale le informazioni vengono registrate in blocchi collegati tra loro. Il suo funzionamento si basa sulla crittografia, sui meccanismi di consenso e sulla collaborazione di numerosi dispositivi appartenenti ai partecipanti alla rete.
Questa tecnologia ha reso possibile la nascita delle criptovalute, ma può anche supportare smart contract, proprietà digitale, sistemi di pagamento, catene di approvvigionamento e strumenti per verificare l'autenticità dei dati.
La blockchain non elimina tutti i rischi e non sostituisce ogni database tradizionale. È però una soluzione utile per i sistemi che richiedono trasparenza, possibilità di verifica indipendente e limitazione del controllo esercitato da un unico amministratore.
No. La blockchain è una tecnologia utilizzata per registrare e verificare i dati, mentre Bitcoin è una criptovaluta che utilizza una propria blockchain.
Dipende dal tipo di rete. Una blockchain pubblica può essere gestita da molti partecipanti indipendenti, mentre una rete privata può rimanere sotto il controllo di una singola azienda o di un gruppo ristretto di organizzazioni.
Nelle reti pubbliche, la maggior parte delle informazioni relative ai blocchi e alle transazioni può essere consultata tramite un blockchain explorer. Nelle blockchain private, l'accesso ai dati può essere limitato.
In genere, una transazione confermata non può essere annullata come un bonifico tradizionale. Per recuperare i fondi, il destinatario potrebbe dover effettuare una nuova operazione.
Nessuna tecnologia garantisce una sicurezza assoluta. Una blockchain sufficientemente decentralizzata può essere molto resistente alle modifiche della cronologia, ma i rischi possono riguardare applicazioni, portafogli, smart contract e modalità di conservazione delle chiavi.
Gli utenti possono preparare alcune operazioni offline, ma per trasmetterle alla rete e farle confermare è generalmente necessaria una connessione a Internet.
Le dimensioni della blockchain aumentano con l'aggiunta di nuovi blocchi. I nodi completi possono conservare l'intera cronologia, mentre le applicazioni più leggere scaricano soltanto le informazioni necessarie per svolgere compiti specifici.
