La blockchain è diventata uno dei concetti più importanti legati alle criptovalute. È proprio sulla tecnologia della blockchain che si basano Bitcoin, Ethereum e molte altre reti di asset digitali. La blockchain stessa ha tuttavia un campo di applicazione molto più ampio. Può essere utilizzata per registrare informazioni, attestare la proprietà, effettuare pagamenti o eseguire automaticamente determinate operazioni.
Sebbene dal punto di vista tecnico la blockchain possa essere molto complessa, il suo principio di base può essere spiegato in modo relativamente semplice. Anziché conservare tutte le informazioni in un unico database centrale gestito da una determinata azienda o istituzione, i dati possono essere registrati in blocchi successivi e resi disponibili a numerosi partecipanti alla stessa rete.
Come funziona esattamente questo meccanismo? Perché una volta salvate, le informazioni sono difficili da modificare in seguito? E cosa c’entrano con tutto questo la crittografia, i nodi e i meccanismi di consenso?
Che cos’è la blockchain?
Blockchain, ovvero letteralmente catena di blocchi, è un tipo di registro digitale utilizzato per registrare informazioni in sequenza ordinata.
I dati vengono raggruppati in blocchi. Quando un blocco viene creato e convalidato dalla rete, viene aggiunto ai blocchi registrati in precedenza. In questo modo, col passare del tempo si forma una cronologia delle operazioni sempre più lunga.
Si può paragonare a un libro in cui le pagine vengono aggiunte una dopo l'altra. Ogni nuova pagina è collegata a quella precedente, il che permette di verificare l'ordine degli eventi registrati.
Una differenza fondamentale sta nel fatto che, in molte blockchain, la copia di tale registro non si trova esclusivamente su un unico server. Può essere conservata da numerosi computer che partecipano alla rete.
Blockchain e database tradizionale
Il modo più semplice per comprendere le peculiarità della blockchain è confrontarla con un database tradizionale.
Nel sistema classico, le informazioni sono solitamente gestite da un unico amministratore, che può essere una banca, un’azienda, un ente pubblico o un gestore della piattaforma. Tale soggetto stabilisce le regole di accesso ai dati e può apportarvi modifiche.
Nella blockchain, invece, il registro può essere condiviso da numerosi partecipanti indipendenti e l'aggiunta di nuove informazioni avviene secondo le regole vigenti nell'intera rete. Ciò limita la possibilità di modificare unilateralmente la cronologia registrata.
Ciò non significa però che la blockchain sia sempre la soluzione migliore. I database tradizionali sono spesso più semplici, più veloci, meno costosi da mantenere e più facili da gestire. La blockchain si rivela particolarmente utile soprattutto quando diverse parti indipendenti hanno bisogno di un registro comune e non vogliono cedere il pieno controllo su di esso a un unico soggetto.
Come viene creata una nuova registrazione nella blockchain?
La procedura esatta dipende dalla rete specifica, ma lo schema generale è simile.
Immaginiamo un utente che voglia trasferire una criptovaluta a un altro indirizzo.
Per prima cosa prepara l'operazione e la autorizza tramite il proprio portafoglio. L'informazione viene poi trasmessa alla rete.
Le singole fasi possono essere le seguenti:
- L'utente avvia l'operazione
- L'informazione viene inviata alla rete blockchain
- I partecipanti alla rete ne verificano la conformità alle regole previste
- Le operazioni valide vengono raggruppate
- Viene creato un nuovo blocco di dati
- Il blocco viene collegato alla cronologia esistente
- Lo stato attuale del registro viene reso disponibile ai partecipanti alla rete
In questo modo non è necessario affidarsi esclusivamente a un unico database centrale che comunichi a tutti gli altri utenti lo stato attuale del sistema.
Cosa c'è nel blocco?
Un blocco può essere definito come un insieme ordinato di dati registrati secondo le regole di una determinata blockchain.
In una rete di criptovalute, un blocco può contenere, tra l’altro, informazioni sulle transazioni effettuate e dati tecnici necessari al funzionamento del sistema.
Le singole blockchain possono differire notevolmente per quanto riguarda il modo in cui vengono creati i blocchi, la loro dimensione o il tipo di informazioni memorizzate.
L'aspetto più importante, tuttavia, è il modo in cui sono collegati tra loro.
Collegamento dei blocchi successivi
Il nuovo blocco contiene un'informazione che rimanda al blocco precedente. In questo modo, gli elementi del registro formano una catena cronologica.
Se qualcuno tentasse di modificare i dati contenuti in uno dei blocchi precedenti, cambierebbe anche il suo collegamento con la parte successiva della cronologia.
Proprio per questo motivo è molto difficile alterare i dati storici di una blockchain estesa e ben protetta.
Che cos'è un hash?
Uno degli elementi più importanti della tecnologia blockchain è hash, ovvero un’impronta crittografica.
Si tratta di una sequenza di caratteri generata sulla base di determinati dati. Si può considerare come un'impronta digitale delle informazioni.
Se anche solo una piccola parte dei dati viene modificata, si genera un hash diverso. Ciò consente di individuare eventuali tentativi di alterazione del contenuto salvato.
L'hash, tuttavia, non è la stessa cosa della crittografia.
La crittografia serve principalmente a nascondere le informazioni a chi non possiede la chiave appropriata. L'hash crittografico, invece, viene utilizzato per verificare l'integrità dei dati.
Perché i nodi sono importanti per la blockchain?
La blockchain non funzionerebbe senza dispositivi che comunicano tra loro all’interno di un’unica rete. Questi dispositivi sono chiamati nodi, in inglese nodes.
I nodi possono:
- trasmettere informazioni sulle nuove operazioni
- verificarne la correttezza
- archiviare i dati relativi alla blockchain
- condividere le informazioni con gli altri partecipanti
Non tutti i nodi devono svolgere esattamente la stessa funzione. Alcuni conservano la cronologia completa della blockchain, mentre altri utilizzano solo una parte dei dati.
La distribuzione delle informazioni su più dispositivi può aumentare la resilienza del sistema ai guasti. Un problema a un singolo computer non comporta necessariamente la perdita dell'intera cronologia, se anche gli altri partecipanti ne conservano una copia.
In cosa consiste la decentralizzazione?
Nel sistema tradizionale, di solito c'è un unico amministratore o soggetto responsabile del database.
La blockchain decentralizzata riduce l'importanza di un singolo punto di controllo. Le copie del registro possono essere conservate da numerosi partecipanti indipendenti, mentre le regole per aggiornarlo sono definite dal funzionamento dell'intera rete.
La decentralizzazione può aumentare:
- resilienza ai guasti
- possibilità di verificare i dati in modo indipendente
- resistenza alla manipolazione unilaterale
- indipendenza da un unico operatore
Non si deve però dare per scontato che ogni blockchain sia ugualmente decentralizzata.
Il livello di decentralizzazione dipende, tra l'altro, dal numero di partecipanti alla rete, dalle modalità di convalida delle operazioni e dalla distribuzione del controllo sul sistema.
In che modo la blockchain stabilisce quali dati sono corretti?
Se nella rete operano molti partecipanti indipendenti, è necessario trovare un modo per stabilire quale versione delle informazioni debba essere considerata corretta.
A questo serve il meccanismo di consenso.
Si può descriverlo come un insieme di regole che consentono ai partecipanti di raggiungere un accordo sullo stato attuale della blockchain.
Tra le soluzioni più note figurano:
Proof of Work
Meccanismo basato sul lavoro computazionale svolto dai miner. È utilizzato, tra l'altro, nella rete Bitcoin.
Proof of Stake
Modello in cui la possibilità di partecipare al processo di convalida delle operazioni è legata al possesso e al blocco di determinati asset.
Meccanismi delle reti private
Nelle blockchain chiuse, la facoltà di convalidare i dati può essere concessa solo a partecipanti specifici e preventivamente approvati.
I meccanismi di consenso differiscono per velocità, costi, consumo energetico e grado di decentralizzazione.
Perché la blockchain è alla base delle criptovalute?
Nel caso delle criptovalute, la blockchain funge da registro che consente di determinare lo stato degli asset digitali e la cronologia delle operazioni effettuate.
In questo modo, la rete può verificare, tra l'altro, se l'utente dispone dei fondi che intende utilizzare e se sta tentando di utilizzare gli stessi asset più di una volta.
A questo proposito, è bene ricordare che una criptovaluta non si trova nel portafoglio allo stesso modo in cui una foto o un documento si trovano nella memoria del telefono.
La blockchain contiene informazioni che consentono di determinare quali asset siano associati ai singoli indirizzi.
L'accesso a questi asset è controllato da chiavi crittografiche.
Un indirizzo pubblico può essere utilizzato per ricevere fondi.
La chiave privata consente di autorizzare le operazioni e deve rimanere nota esclusivamente al proprietario.
Blockchain pubblica, privata e consortile
Non tutte le reti funzionano secondo le stesse regole. Una delle differenze più significative riguarda le modalità di accesso al sistema.
Blockchain pubblica
La rete pubblica è aperta a un ampio pubblico di utenti. A seconda della sua struttura, è possibile consultare la cronologia delle operazioni, utilizzare le applicazioni o avviare un proprio nodo.
Esempi di blockchain pubbliche sono Bitcoin ed Ethereum.
Le loro caratteristiche principali sono la trasparenza e la riduzione del controllo da parte di un singolo soggetto.
Blockchain privata
In una rete privata, l'accesso può essere controllato da un'azienda o da una determinata organizzazione.
Non tutti gli utenti devono necessariamente avere la possibilità di visualizzare tutti i dati o di approvare nuove operazioni.
Questa soluzione può essere utilizzata nei casi in cui sia necessario un registro condiviso, ma al contempo sia indispensabile mantenere il controllo sui diritti di accesso.
Blockchain consortile
Una soluzione intermedia è rappresentata da una blockchain gestita congiuntamente da diversi soggetti.
Anziché affidare il controllo totale a un'unica organizzazione, le imprese o le istituzioni partecipanti possono assumersi congiuntamente la responsabilità del funzionamento del sistema.
Perché è difficile modificare i dati precedenti?
La blockchain viene spesso descritta come una tecnologia che garantisce l'immutabilità dei dati. In pratica, è più corretto parlare di una resistenza molto elevata alle modifiche a posteriori.
Ciò è determinato da diversi fattori:
- collegamenti crittografici tra i blocchi
- archiviazione delle informazioni su più dispositivi
- meccanismi di consenso
- verifica delle nuove operazioni
- firme digitali
Nelle reti pubbliche e adeguatamente distribuite, la manipolazione dei dati storici diventa sempre più difficile con l'aggiunta di nuovi blocchi.
Ciò non significa tuttavia che sia assolutamente immutabile in ogni possibile situazione. La blockchain può essere soggetta ad aggiornamenti del protocollo, riorganizzazioni o fork della rete.
La blockchain è completamente sicura?
Il modo stesso in cui i dati vengono archiviati e collegati può garantire un elevato livello di protezione, ma la blockchain non elimina tutte le minacce.
I problemi possono riguardare, tra l'altro:
- applicazioni che utilizzano la blockchain
- portafogli di criptovalute
- smart contract
- modalità di conservazione delle chiavi private
La sicurezza dipende anche dalla struttura della rete in questione e dal numero di soggetti indipendenti responsabili del suo funzionamento.
Pertanto, l'espressione «basato su blockchain» di per sé non implica che una determinata applicazione o servizio sia completamente immune da errori.
Cosa sono gli smart contract?
Smart contract, ovvero un contratto intelligente, è un programma che opera sulla blockchain.
Può eseguire automaticamente determinate istruzioni una volta soddisfatte le condizioni precedentemente definite.
Uno smart contract può, ad esempio:
- trasferire asset digitali
- scambiare token
- distribuire i fondi tra diversi indirizzi
- gestire determinati aspetti del prestito
- registrare il risultato della votazione
- gestire la proprietà digitale
Il nome può risultare un po’ fuorviante, poiché uno smart contract non deve necessariamente essere un contratto in senso giuridico. In pratica, si tratta innanzitutto di un programma informatico che opera secondo regole prestabilite.
L'automazione è uno dei suoi principali vantaggi, ma un errore nel codice può comportare gravi conseguenze. Per questo motivo, le soluzioni più complesse richiedono test accurati.
In quali ambiti, oltre alle criptovalute, trova applicazione la blockchain?
Il Bitcoin ha reso la blockchain ampiamente conosciuta, ma la moneta digitale non è la sua unica applicazione possibile.
Catene di approvvigionamento
Il registro comune può essere utilizzato per registrare le successive fasi di produzione e trasporto. Ciò facilita la successiva verifica della cronologia e della provenienza del prodotto.
Attestazione della proprietà
Nella blockchain è possibile registrare informazioni relative ai diritti su beni digitali o fisici.
Documenti e certificati
Nella rete può essere memorizzato l'hash di un documento, che potrà poi essere utilizzato per verificarne l'autenticità senza doverne pubblicare l'intero contenuto.
Finanza decentralizzata
Le applicazioni DeFi utilizzano gli smart contract per eseguire operazioni quali lo scambio di asset digitali, la concessione di prestiti o il calcolo degli interessi.
Votazioni e gestione
La blockchain può essere utilizzata per registrare i voti e i risultati delle decisioni prese dai membri di determinate organizzazioni.
Trasferimento di asset digitali
Alcune reti consentono di trasferire asset tra utenti che si trovano in diverse parti del mondo. Il costo e la durata dell'operazione dipendono tuttavia dalla blockchain specifica.
L'utilizzo della blockchain è anonimo?
Una blockchain pubblica non implica necessariamente l'anonimato.
In molte reti chiunque può verificare la cronologia delle operazioni associate a un determinato indirizzo. L'indirizzo di per sé non contiene solitamente il nome e il cognome del proprietario, ma in determinate situazioni è possibile collegarlo a una persona specifica utilizzando informazioni aggiuntive.
Pertanto, nel caso di molte blockchain pubbliche, un termine più preciso è pseudonimato, piuttosto che l’anonimato totale.
I principali vantaggi della blockchain
A seconda di come viene progettata la rete, la tecnologia blockchain può offrire, tra l’altro:
- riduzione della dipendenza dall'amministratore centrale
- possibilità di verificare la cronologia delle operazioni
- trasparenza dei dati nelle reti pubbliche
- resilienza al guasto di un singolo server
- l'automazione dei processi grazie agli smart contract
- condivisione del registro da parte di partecipanti indipendenti
- possibilità di accesso globale alla rete
Tuttavia, non tutti questi vantaggi sono presenti nella stessa misura in ogni blockchain.
La blockchain è sempre la soluzione migliore?
No.
Se il sistema è gestito da un'unica organizzazione affidabile, che ha semplicemente bisogno di un database efficiente e facile da gestire, l'utilizzo della blockchain potrebbe non offrire grandi vantaggi.
La tecnologia blockchain risulta particolarmente interessante nei casi in cui i partecipanti necessitano di una fonte comune di dati, desiderano poter verificare in modo indipendente la cronologia delle operazioni e, al contempo, non vogliono cedere il controllo totale del registro a un unico amministratore.
Pertanto, prima di utilizzare la blockchain, è opportuno rispondere alla domanda: quale problema deve effettivamente risolvere?
Riepilogo
La blockchain è una tecnologia che consente di creare un registro condiviso di informazioni costituito da blocchi collegati tra loro. Il suo funzionamento si avvale, tra l’altro, della crittografia, di una rete di nodi e di meccanismi di consenso che consentono ai partecipanti di stabilire lo stato corretto dei dati.
La blockchain è alla base del funzionamento di molte criptovalute, ma il suo impiego può estendersi anche agli smart contract, ai sistemi di pagamento, alla proprietà digitale, ai documenti, alle catene di approvvigionamento e alle applicazioni finanziarie decentralizzate.
Il valore principale della blockchain non risiede nella semplice archiviazione dei dati. L'aspetto fondamentale è la possibilità di creare un registro la cui cronologia possa essere verificata in modo indipendente da numerosi partecipanti e che non possa essere modificato facilmente per decisione di un singolo amministratore.
Allo stesso tempo, la blockchain non è una soluzione ideale per ogni sistema. Non elimina tutti i rischi, non garantisce il completo anonimato e non sarà sempre migliore di un database tradizionale. Il suo impiego ha più senso laddove la distribuzione del controllo, la trasparenza e la possibilità di verificare la cronologia dei dati assumono effettivamente importanza.
Domande frequenti
La blockchain è un registro digitale in cui le informazioni vengono memorizzate in blocchi successivi collegati tra loro in una catena ordinata. In molte reti, le copie del registro sono conservate da numerosi partecipanti indipendenti.
L'utente avvia un'operazione che viene inviata alla rete. Successivamente, la sua correttezza viene verificata in base alle regole della blockchain in questione. Le operazioni approvate possono essere inserite in un nuovo blocco, che viene poi aggiunto alla cronologia esistente.
I blocchi successivi sono collegati tra loro tramite meccanismi crittografici. La modifica delle informazioni contenute in un blocco precedente influirebbe sul suo collegamento con la parte successiva della catena. Nelle reti estese e decentralizzate, i meccanismi di consenso e le numerose copie del registro garantiscono un'ulteriore protezione.
Un database tradizionale è solitamente gestito da un unico amministratore. Nella blockchain, il registro può essere condiviso da più partecipanti e la possibilità di aggiungere e convalidare le informazioni dipende dalle regole vigenti nella rete in questione.
Le criptovalute utilizzano la blockchain per registrare le informazioni relative alle transazioni e allo stato degli asset digitali. In questo modo, la rete può verificare se l'utente dispone dei fondi necessari e se una determinata operazione è conforme alle sue regole.
No. Esistono blockchain pubbliche, private e consortili. Il livello di decentralizzazione dipende, tra l’altro, dal numero di partecipanti, dalle modalità di convalida delle operazioni e da chi detiene il controllo della rete.
Non sempre. In molte blockchain pubbliche, la cronologia delle operazioni associate a un determinato indirizzo è visibile a tutti. L'indirizzo in sé non deve necessariamente contenere dati personali; per questo motivo, nel caso di tali reti, si parla più spesso di pseudonimato che di completo anonimato.
La blockchain può essere utilizzata, tra l'altro, per la gestione degli smart contract, il monitoraggio delle catene di approvvigionamento, l'attestazione della proprietà, la verifica di documenti e certificati, la finanza decentralizzata e la registrazione dei voti.
