Quanto è davvero sicura la blockchain?

Sig. Tech





Lo scopo principale dell'utilizzo di una blockchain è consentire alle persone, in particolare alle persone che non si fidano l'una dell'altra, di condividere dati preziosi in modo sicuro e a prova di manomissione. Questo perché le blockchain archiviano i dati utilizzando sofisticate regole matematiche e software innovative che sono estremamente difficili da manipolare per gli aggressori. Ma la sicurezza anche dei sistemi blockchain meglio progettati può fallire in luoghi in cui le fantasiose regole matematiche e software entrano in contatto con gli esseri umani, che sono abili imbroglioni, nel mondo reale, dove le cose possono diventare disordinate.

Per capire perché, inizia con ciò che in linea di principio rende sicure le blockchain. Bitcoin è un buon esempio. Nella blockchain di Bitcoin, i dati condivisi sono la cronologia di ogni transazione Bitcoin mai effettuata: un libro mastro. Il libro mastro è archiviato in più copie su una rete di computer, chiamata nodi. Ogni volta che qualcuno invia una transazione al libro mastro, i nodi controllano che la transazione sia valida, che chiunque abbia speso un bitcoin avesse un bitcoin da spendere. Un sottoinsieme di essi compete per impacchettare transazioni valide in blocchi e aggiungerle a una catena di precedenti. I proprietari di questi nodi sono chiamati minatori. I minatori che aggiungono con successo nuovi blocchi alla catena guadagnano bitcoin come ricompensa.

La questione blockchain

Questa storia faceva parte del nostro numero di maggio 2018



  • Vedi il resto del problema
  • sottoscrivi

Ciò che rende questo sistema teoricamente a prova di manomissione sono due cose: un'impronta crittografica unica per ogni blocco e un protocollo di consenso, il processo mediante il quale i nodi nella rete concordano su una cronologia condivisa.

L'impronta digitale, chiamata hash, richiede inizialmente molto tempo di elaborazione ed energia per essere generata. Serve quindi come prova che il miner che ha aggiunto il blocco alla blockchain ha svolto il lavoro di calcolo per guadagnare una ricompensa in bitcoin (per questo motivo, si dice che Bitcoin utilizzi un protocollo proof-of-work). Serve anche come una sorta di sigillo, poiché la modifica del blocco richiederebbe la generazione di un nuovo hash. Verificare se l'hash corrisponda o meno al suo blocco, tuttavia, è facile e una volta che i nodi lo hanno fatto aggiornano le rispettive copie della blockchain con il nuovo blocco. Questo è il protocollo di consenso.

L'ultimo elemento di sicurezza è che gli hash fungono anche da collegamenti nella blockchain: ogni blocco include l'hash univoco del blocco precedente. Quindi, se vuoi modificare una voce nel libro mastro in modo retroattivo, devi calcolare un nuovo hash non solo per il blocco in cui si trova, ma anche per ogni blocco successivo. E devi farlo più velocemente di quanto gli altri nodi possano aggiungere nuovi blocchi alla catena. Quindi, a meno che tu non abbia computer più potenti del resto dei nodi messi insieme (e anche in questo caso, il successo non è garantito), tutti i blocchi che aggiungi entreranno in conflitto con quelli esistenti e gli altri nodi rifiuteranno automaticamente le tue alterazioni. Questo è ciò che rende la blockchain a prova di manomissione o immutabile.



Modi creativi per imbrogliare

Questo per quanto riguarda la teoria. Implementarlo in pratica è più difficile. Il semplice fatto che un sistema funzioni come Bitcoin, come fanno molte criptovalute, non significa che sia altrettanto sicuro. Anche quando gli sviluppatori utilizzano strumenti crittografici collaudati, è facile metterli insieme accidentalmente in modi non sicuri, afferma Neha Narula, direttrice della Digital Currency Initiative del MIT. Bitcoin è in circolazione da più tempo, quindi è il più accuratamente testato in battaglia.

Le persone hanno anche trovato modi creativi per imbrogliare. Emin Gün Sirer e i suoi colleghi della Cornell University hanno dimostrato che esiste un modo per sovvertire una blockchain anche se hai meno della metà della potenza di mining degli altri minatori. I dettagli sono in qualche modo tecnici, ma essenzialmente un minatore egoista può ottenere un vantaggio ingiusto ingannando altri nodi facendogli perdere tempo con cripto-puzzle già risolti.

Un'altra possibilità è un attacco di eclissi. I nodi sulla blockchain devono rimanere in costante comunicazione per confrontare i dati. Un utente malintenzionato che riesce a prendere il controllo delle comunicazioni di un nodo e ingannarlo facendogli accettare dati falsi che sembrano provenire dal resto della rete può ingannarlo facendogli sprecare risorse o confermando transazioni false.



Infine, non importa quanto sia a prova di manomissione un protocollo blockchain, non esiste nel vuoto, afferma Sirer. Gli hack di criptovaluta che guidano i titoli dei giornali recenti sono solitamente guasti nei punti in cui i sistemi blockchain si connettono con il mondo reale, ad esempio nei client software e nelle applicazioni di terze parti.

Gli hacker possono, ad esempio, entrare in hot wallet, applicazioni connesse a Internet per archiviare le chiavi crittografiche private necessarie a chiunque possieda una criptovaluta per spenderla. I portafogli di proprietà degli scambi di criptovalute online sono diventati i principali obiettivi. Molti scambi affermano di tenere la maggior parte del denaro dei propri utenti in portafogli hardware freddi, dispositivi di archiviazione disconnessi da Internet. Ma come ha dimostrato la rapina di gennaio di oltre $ 500 milioni di criptovaluta dall'exchange giapponese Coincheck, non è sempre così.

Forse i punti di contatto più complicati tra blockchain e mondo reale sono i contratti intelligenti, che sono programmi per computer archiviati in determinati tipi di blockchain in grado di automatizzare le transazioni. Nel 2016, gli hacker hanno sfruttato una stranezza imprevista in un contratto intelligente scritto sulla blockchain di Ethereum per rubare 3,6 milioni di ether, per un valore di circa 80 milioni di dollari all'epoca, dalla Decentralized Autonomous Organization (DAO), un nuovo tipo di fondo di investimento basato su blockchain.



Poiché il codice DAO viveva sulla blockchain, la comunità di Ethereum ha dovuto spingere un controverso aggiornamento del software chiamato hard fork per riavere i soldi, creando essenzialmente una nuova versione della storia in cui i soldi non sono mai stati rubati. I ricercatori stanno ancora sviluppando metodi per garantire che i contratti intelligenti non funzionino male.

La questione della centralizzazione

Una presunta garanzia di sicurezza di un sistema blockchain è il decentramento. Se le copie della blockchain sono conservate su una rete di nodi ampia e ampiamente distribuita, non c'è un punto debole da attaccare ed è difficile per chiunque accumulare potenza di calcolo sufficiente per sovvertire la rete. Ma il lavoro recente di Sirer e colleghi mostra che né Bitcoin né Ethereum sono così decentralizzati come potresti pensare. Hanno scoperto che le prime quattro operazioni di mining di bitcoin avevano più del 53% della capacità di mining media del sistema a settimana. Con la stessa misura, tre minatori di Ethereum rappresentavano il 61%.

Alcuni sostengono che protocolli di consenso alternativi, forse quelli che non si basano sul mining, potrebbero essere più sicuri. Ma questa ipotesi non è stata testata su larga scala e i nuovi protocolli avrebbero probabilmente i loro problemi di sicurezza.

Altri vedono il potenziale nelle blockchain che richiedono il permesso di aderire, a differenza del caso di Bitcoin, dove chiunque scarichi il software può unirsi alla rete. Tali sistemi sono un anatema per l'etica anti-gerarchica delle criptovalute, ma l'approccio fa appello alle istituzioni finanziarie e di altro tipo che cercano di sfruttare i vantaggi di un database crittografico condiviso.

I sistemi autorizzati, tuttavia, sollevano le proprie domande. Chi ha l'autorità di concedere il permesso? In che modo il sistema garantirà che i validatori siano chi dicono di essere? Un sistema autorizzato può far sentire i suoi proprietari più sicuri, ma in realtà dà loro più controllo, il che significa che possono apportare modifiche indipendentemente dal fatto che gli altri partecipanti alla rete siano d'accordo o meno, qualcosa che i veri credenti vedrebbero come una violazione dell'idea stessa di blockchain.

Quindi, alla fine, la sicurezza finisce per essere molto difficile da definire nel contesto delle blockchain. Al sicuro da chi? Sicuro per cosa? Dipende dalla tua prospettiva, dice Narula.

nascondere