Le blockchain sono protette attraverso una varietà di meccanismi che includono tecniche crittografiche avanzate e modelli matematici di comportamento e processo decisionale. La tecnologia Blockchain è la struttura alla base della maggior parte dei sistemi di criptovaluta ed è ciò che impedisce che questo tipo di denaro digitale venga duplicato o distrutto.
L’uso della tecnologia blockchain viene esplorato anche in altri contesti in cui l’immutabilità e la sicurezza dei dati sono di grande valore. Alcuni esempi includono l’atto di registrare e monitorare le donazioni di beneficenza, i database medici e la gestione della catena di fornitura.
Tuttavia, la sicurezza blockchain è lungi dall’essere un argomento semplice. Pertanto, è importante comprendere i concetti e i meccanismi di base che garantiscono una solida protezione a questi sistemi innovativi.
I concetti di immutabilità e consenso
Sebbene molte funzionalità influenzino la 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 accordarsi sul vero stato della rete e sulla validità delle transazioni. In genere, 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 siano spesso relative al trasferimento di criptovalute, possono anche riferirsi alla registrazione di altre forme non monetarie di dati digitali.
Combinati, consenso e immutabilità forniscono il quadro per la sicurezza dei dati nelle reti blockchain. Mentre gli algoritmi di consenso assicurano 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 che ogni nuovo blocco di dati è stato confermato valido.
Il ruolo della crittografia nella sicurezza blockchain
Le blockchain fanno molto affidamento sulla crittografia per garantire la sicurezza dei dati. In questo contesto risultano di fondamentale importanza le cosiddette funzioni di hashing crittografico. L'hashing è un processo mediante il quale un algoritmo (funzione hash) riceve un input di dati di qualsiasi dimensione e restituisce un output (hash) che contiene una dimensione (o lunghezza) prevedibile e fissa.
Indipendentemente dalla dimensione dell'input, l'output presenterà sempre la stessa lunghezza. Ma 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 esegui la funzione hash.
All'interno delle blockchain, questi valori di output, noti come hash, vengono utilizzati come identificatori univoci per i blocchi di dati. L'hash di ciascun blocco viene generato in relazione all'hash del blocco precedente, ed è ciò che crea una catena di blocchi collegati. L'hash del blocco dipende dai dati contenuti all'interno di quel blocco, il che significa che qualsiasi modifica apportata ai dati richiederebbe una modifica all'hash del blocco.
Pertanto, l'hash di ciascun blocco viene generato in base sia ai dati contenuti all'interno di quel blocco che all'hash del blocco precedente. Questi identificatori hash svolgono un ruolo importante nel garantire la sicurezza e l'immutabilità della blockchain.
L'hashing viene sfruttato anche negli algoritmi di consenso utilizzati per convalidare le transazioni. Sulla blockchain di Bitcoin, ad esempio, l'algoritmo Proof of Work (PoW) utilizza una funzione hash chiamata SHA-256. Come suggerisce il nome, SHA-256 accetta l'input dei dati e restituisce un hash lungo 256 bit o 64 caratteri.
Oltre a fornire protezione per i record delle transazioni sui registri, la crittografia svolge anche un ruolo nel garantire la sicurezza dei portafogli utilizzati per archiviare unità di criptovaluta. Le chiavi pubblica e privata accoppiate che consentono rispettivamente agli utenti di ricevere e inviare pagamenti vengono create tramite l'uso della crittografia asimmetrica o a chiave pubblica. Le chiavi private vengono utilizzate per generare firme digitali per le transazioni, consentendo di autenticare la proprietà delle monete inviate.
Anche se i dettagli vanno oltre lo scopo di questo articolo, la natura della crittografia asimmetrica impedisce a chiunque, tranne al detentore della chiave privata, di accedere ai fondi archiviati in un portafoglio di criptovaluta, mantenendo così tali fondi al sicuro finché il proprietario non decide di spenderli (a condizione che il privato la chiave non è condivisa o compromessa).
Criptoeconomia
Oltre alla crittografia, anche un concetto relativamente nuovo noto come criptoeconomia svolge un ruolo nel mantenimento della sicurezza delle reti blockchain. È legato a un campo di studio noto come 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 una vasta gamma di casi, la criptoeconomia modella e descrive specificamente il comportamento dei nodi sui sistemi blockchain distribuiti.
In breve, la criptoeconomia è lo studio dell’economia all’interno dei protocolli blockchain e dei possibili risultati che la loro progettazione può presentare 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 adottare comportamenti dannosi o difettosi. Ancora una volta, l’algoritmo di consenso Proof of Work utilizzato nel mining di Bitcoin offre un buon esempio di questa struttura di incentivi.
Quando Satoshi Nakamoto creò la struttura per il mining di Bitcoin, fu intenzionalmente progettato per essere un processo costoso e ad alta intensità di risorse. A causa della sua complessità e delle sue esigenze computazionali, il mining PoW comporta un notevole investimento di tempo e denaro, indipendentemente da dove e chi sia il nodo di mining. Pertanto, una tale struttura fornisce un forte disincentivo per attività dannose e incentivi significativi per un’attività mineraria onesta. I nodi disonesti o inefficienti verranno rapidamente espulsi dalla rete blockchain, mentre i minatori onesti ed efficienti hanno il potenziale per ottenere sostanziali ricompense in blocchi.
Allo stesso modo, questo equilibrio tra rischi e benefici garantisce anche protezione contro potenziali attacchi che potrebbero minare il consenso affidando la maggioranza dell’hash rate di una rete blockchain nelle mani di un singolo gruppo o entità. Tali attacchi, noti come attacchi del 51%, potrebbero essere estremamente dannosi se eseguiti con successo. A causa della competitività del mining Proof of Work e della grandezza della rete Bitcoin, la probabilità che un attore malintenzionato ottenga il controllo della maggior parte dei nodi è estremamente minima.
Inoltre, il costo della potenza di calcolo necessaria per ottenere il controllo del 51% di un’enorme rete blockchain sarebbe astronomico, fornendo un disincentivo immediato a fare un investimento così grande per una ricompensa potenziale relativamente piccola. Questo fatto contribuisce a una caratteristica delle blockchain nota come Byzantine Fault Tolerance (BFT), che è essenzialmente la capacità di un sistema distribuito di continuare a funzionare normalmente anche se alcuni nodi vengono compromessi o agiscono in modo dannoso.
Finché il costo per creare la maggior parte dei nodi dannosi rimane proibitivo ed esistono incentivi migliori per un’attività onesta, il sistema sarà in grado di prosperare senza interruzioni significative. Vale la pena notare, tuttavia, che le piccole reti blockchain sono certamente suscettibili agli attacchi della maggioranza perché l’hash rate totale dedicato a tali sistemi è notevolmente inferiore a quello di Bitcoin.
Pensieri conclusivi
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, è fondamentale che questi due campi della conoscenza siano adeguatamente applicati. Un attento equilibrio tra decentralizzazione e sicurezza è vitale per costruire una rete di criptovaluta affidabile ed efficace.
Man mano che gli usi della blockchain continuano ad evolversi, anche i loro sistemi di sicurezza cambieranno per soddisfare le esigenze di diverse applicazioni. Le blockchain private attualmente in fase di sviluppo 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) che sono indispensabili per la sicurezza della maggior parte delle blockchain pubbliche.



