Le blockchain sono protette da vari meccanismi, tra cui tecniche crittografiche avanzate e modelli matematici di comportamento e processo decisionale. La tecnologia Blockchain è la struttura di base della maggior parte dei sistemi di criptovaluta e impedisce che questo tipo di valuta digitale venga duplicata o distrutta.
L’uso della tecnologia blockchain viene esplorato anche in altre aree in cui l’immutabilità e la sicurezza dei dati sono estremamente preziose. Alcuni esempi includono la registrazione e il monitoraggio delle donazioni di beneficenza, dei database medici e della gestione della catena di fornitura (tracciabilità).
Tuttavia, la sicurezza blockchain è tutt’altro che un argomento semplice. Pertanto, è importante comprendere i concetti e i meccanismi di base che garantiscono una protezione efficace di questi sistemi innovativi.
I concetti di immutabilità e consenso
Sebbene ci siano molte caratteristiche che influiscono sulla sicurezza associata alla blockchain, due dei più importanti sono i concetti di consenso e immutabilità. Il consenso si riferisce alla capacità dei nodi all’interno di una rete blockchain distribuita di concordare il vero stato della rete e la validità delle transazioni. In generale, il processo per raggiungere il consenso dipende dai cosiddetti algoritmi di consenso.
L’immutabilità, invece, si riferisce alla capacità delle blockchain di impedire l’alterazione di transazioni già confermate. Sebbene queste transazioni coinvolgano spesso il trasferimento di criptovalute, possono anche riferirsi alla registrazione di altre forme di dati digitali non monetari.
La combinazione di consenso e immutabilità costituisce il quadro per la sicurezza dei dati all’interno delle reti blockchain. Sebbene gli algoritmi di consenso garantiscano che le regole del sistema vengano seguite e che tutte le parti coinvolte concordino sullo stato attuale della rete, l’immutabilità garantisce l’integrità dei dati e dei record delle transazioni dopo aver confermato la validità di ogni nuovo blocco di dati.
Il ruolo della crittografia nella sicurezza blockchain
Le blockchain si affidano in gran parte alla crittografia per garantire la sicurezza dei propri dati. Una funzione crittografica estremamente importante in tale contesto è quella dell’hashing. L'hashing è un processo mediante il quale un algoritmo chiamato funzione hash riceve input di dati (di qualsiasi dimensione) e restituisce un determinato output contenente un valore di lunghezza fissa.
Non importa quanto sia grande l'input, l'output avrà sempre la stessa lunghezza. Se l’input cambia, l’output sarà completamente diverso. Tuttavia, se l'input non cambia, l'hash risultante sarà sempre lo stesso, indipendentemente da quante volte si esegue la funzione hash.
Nelle blockchain, questi valori di output, chiamati hash, vengono utilizzati come identificatori univoci per blocchi di dati. L'hash di ogni blocco viene generato rispetto all'hash del blocco precedente, ed è questo che collega tra loro i blocchi, formando così una catena di blocchi. Inoltre, l'hash del blocco dipende dai dati contenuti in quel blocco, il che significa che qualsiasi modifica ai dati richiederà anche una modifica all'hash del blocco.
Pertanto, l'hash di ciascun blocco viene generato in base ai dati contenuti in quel blocco e all'hash del blocco precedente. Questi identificatori hash svolgono un ruolo chiave nella sicurezza e nell'immutabilità delle blockchain.
L'hash viene sfruttato anche dagli algoritmi di consenso utilizzati per validare le transazioni. Sulla blockchain di Bitcoin, ad esempio, l’algoritmo Proof of Work (PoW) utilizzato per ottenere consenso e per minare nuove monete utilizza una funzione hash chiamata SHA-256. Come suggerisce il nome, SHA-256 accetta un input di dati e restituisce un hash a 256 bit o 64 caratteri.
Oltre a garantire la protezione dei record delle transazioni sui registri, la crittografia svolge un ruolo anche nella sicurezza dei portafogli utilizzati per archiviare le unità di criptovaluta. Le chiavi pubblica e privata accoppiate che consentono rispettivamente agli utenti di ricevere e inviare pagamenti vengono quindi create tramite l'uso della chiave pubblica o della crittografia asimmetrica. Le chiavi private consentono di generare firme digitali per le transazioni, il che aiuta ad autenticare la proprietà delle monete inviate.
Anche se queste specifiche vanno oltre lo scopo di questo articolo, la natura della crittografia asimmetrica impedisce a qualsiasi detentore diverso dal detentore della chiave privata di accedere ai fondi archiviati in un portafoglio di criptovaluta, mantenendo così tali fondi al sicuro fino a quando il proprietario non decide di spenderli (come purché la chiave non venga condivisa o compromessa).
Criptoeconomia
Oltre alla crittografia, anche un concetto relativamente nuovo chiamato criptoeconomia svolge un ruolo nel mantenimento della sicurezza delle reti blockchain. È legato a un campo di studio chiamato teoria dei giochi, che modella matematicamente il processo decisionale da parte di attori razionali in situazioni con regole e ricompense predefinite. Mentre la teoria dei giochi tradizionale può essere ampiamente applicata a un gran numero di casi, la criptoeconomia modella e descrive specificamente il comportamento dei nodi sui sistemi blockchain distribuiti.
In sintesi, la criptoeconomia è lo studio dell’economia all’interno dei protocolli blockchain e dei possibili risultati che il loro modello può portare in base al comportamento dei suoi partecipanti. La sicurezza attraverso la criptoeconomia si basa sul concetto che i sistemi blockchain forniscono maggiori incentivi affinché i nodi agiscano onestamente piuttosto che impegnarsi in comportamenti dannosi o illeciti. Ancora una volta, l’algoritmo di consenso Proof of Work utilizzato nel mining di Bitcoin fornisce un buon esempio di questa struttura di incentivi.
Quando Satoshi Nakamoto creò la struttura per il mining di Bitcoin, lo progettò intenzionalmente in modo che fosse un processo costoso e ad alta intensità di risorse. A causa della sua complessità e dei requisiti computazionali, il mining PoW comporta un notevole investimento di denaro e tempo, indipendentemente dall’ubicazione e dalla posizione del nodo di mining. Pertanto, una tale struttura scoraggia fortemente le attività dannose e incentiva in modo significativo le attività minerarie oneste. I nodi disonesti o inefficienti verranno rapidamente espulsi dalla rete blockchain, mentre i miner onesti ed efficienti avranno l’opportunità di ottenere grandi ricompense in blocchi.
Inoltre, questo equilibrio tra rischi e benefici protegge anche da potenziali attacchi che potrebbero compromettere il consenso ponendo la maggioranza dell’hash rate di una rete blockchain nelle mani di un singolo gruppo o entità. Tali attacchi, chiamati attacchi del 51%, potrebbero essere estremamente dannosi se eseguiti con successo. Ma a causa della competitività del mining Proof of Work e delle dimensioni della rete Bitcoin, la probabilità che un attore malintenzionato prenda il controllo della maggior parte dei nodi è estremamente minima.
Inoltre, il costo in termini di potenza di calcolo necessaria per ottenere il controllo del 51% di una rete blockchain così ampia sarebbe astronomico, il che scoraggia immediatamente l’imbarcarsi in un simile investimento per una ricompensa potenziale relativamente piccola. Questo aspetto evidenzia una caratteristica delle blockchain nota come "Problema dei generali bizantini" o Tolleranza agli errori bizantini (BFT), che è essenzialmente la capacità di un sistema distribuito di continuare a funzionare normalmente anche se alcuni dei suoi nodi sono compromessi o agiscono in modo dannoso.
Finché il costo per creare la maggior parte dei nodi dannosi rimane proibitivo e ci sono incentivi migliori per un’attività onesta, il sistema sarà in grado di prosperare senza interruzioni significative. Va notato, tuttavia, che le reti blockchain più piccole sono sicuramente più suscettibili agli attacchi della maggioranza, poiché l’hash rate totale dedicato a questi sistemi è notevolmente inferiore a quello di Bitcoin.
Concludere
Attraverso l’uso combinato della teoria dei giochi e della crittografia, le blockchain sono in grado di raggiungere elevati livelli di sicurezza come sistemi distribuiti. Come per quasi tutti i sistemi, tuttavia, è essenziale che queste due aree di competenza siano adeguatamente integrate. Un delicato equilibrio tra decentralizzazione e sicurezza è infatti essenziale per la creazione di una rete di criptovaluta affidabile ed efficiente.
Man mano che gli usi della blockchain continuano ad evolversi, anche i loro sistemi di sicurezza si adatteranno per soddisfare le esigenze dei diversi usi. Le blockchain private sviluppate per le imprese, ad esempio, si basano molto più sulla sicurezza attraverso il controllo degli accessi che sui meccanismi della teoria dei giochi (o criptoeconomia) essenziali per la sicurezza della maggior parte delle blockchain pubbliche.

