Cos’è la double-spending e perchè distruggerebbe la blockchain

Il problema della doppia spesa si riferisce al fatto che la stessa quantità di denaro digitale può essere spesa due volte nella stessa transazione.

In altre parole, la doppia spesa è un caso in cui una transazione utilizza lo stesso input di un’altra transazione già trasmessa in rete. La cosa, naturalmente, rappresenterebbe un disastro per l’intera rete coinvolta, dal momento che non potrebbe più garantire la correttezza dei saldi e delle transazioni fono a quel momento portate a termine.

bitcoin blockchain double spending
Adobe Stock

Poiché le informazioni digitali possono essere replicate in modo molto semplice, le valute virtuali sono le uniche ad avere questo particolare difetto.È possibile considerare una valuta digitale, come il Bitcoin, simile a un file digitale. Prendiamo come esempio Bob; supponiamo che abbia un file sul suo computer che è stato memorizzato in una posizione locale.

Non c’è nulla che impedisca a Bob di copiare questo file tutte le volte che vuole e di condividerlo con varie persone, perché non c’è alcuna restrizione a fare queste cose. La stessa idea guida può essere utilizzata per la moneta digitale. Se la stessa moneta digitale può essere spesa più volte, non è una situazione ideale perché può portare all’inflazione e alla mancanza di fiducia in quella moneta, che in pratica la rende inutile.

Poiché tutte le parti coinvolte nello scambio di una valuta fisica hanno accesso visivo immediato al contante fisico originale, le valute fisiche non soffrono dello stesso problema di doppia spesa che affligge le valute digitali. Questo problema è causato dal fatto che le valute digitali sono memorizzate su un computer. Consideriamo lo scenario in cui Alice si reca al bar vicino a casa per acquistare un caffè da 5 dollari.

Per completare l’acquisto del caffè, Alice paga cinque dollari al fornitore di servizi dell’esercizio commerciale. Raccogliendo la banconota da cinque dollari di Alice come pagamento per il caffè, il fornitore del servizio è in grado di verificare immediatamente e fisicamente che Alice abbia pagato l’importo giusto per la bevanda. Non c’è più modo per Alice di utilizzare lo stesso denaro da 5 dollari per effettuare un’altra transazione da qualche altra parte.

Come si evita il rischio di double spending

L’eliminazione degli sprechi e delle duplicazioni di spesa può essere affrontata in due modi: centralizzato o decentralizzato. Quando si utilizza un sistema centralizzato, sarà spesso responsabilità di una terza parte centrale e affidabile garantire che una valuta digitale non sia stata spesa più di una volta. Tuttavia, questo approccio presenta un problema importante, ovvero il fatto di avere un unico point of failure su cui fare affidamento in caso di catastrofe. È possibile che un malintenzionato prenda il controllo di una terza parte centralizzata, il che potrebbe far sì che la stessa quantità di denaro digitale venga spesa più di una volta.

Il Bitcoin ha rappresentato un significativo passo avanti nel processo di risoluzione del problema della doppia spesa. Grazie al fatto che Bitcoin è un sistema decentralizzato, i problemi associati alla tecnica centralizzata, come l’esistenza di un singolo punto di fallimento e la necessità di avere fiducia nel fatto che una terza parte riesca a prevenire la doppia spesa, non sono più un problema.

Il Proof of work (PoW) è il processo di consenso che Bitcoin (BTC) impiega per aggirare il requisito della presenza di un’entità centralizzata. Un gruppo decentralizzato di individui, noti come minatori, svolge il lavoro di garantire che le transazioni non includano spese doppie. In questo modo si elimina la necessità di una terza parte affidabile che effettui questo controllo. Chiunque voglia spendere bitcoin deve prima dimostrare di esserne effettivamente in possesso prima di poterlo fare. Poiché tutte le transazioni Bitcoin sono incluse in un registro pubblico condiviso noto come blockchain, questo processo di verifica è possibile.

Una volta che una transazione è stata raggruppata in un blocco e aggiunta alla blockchain, si ritiene che sia stata completata con successo. Diventerà progressivamente difficile tornare indietro e fare una doppia transazione man mano che altri blocchi verranno aggiunti alla blockchain (o man mano che la transazione otterrà più conferme di blocco). Ciò è dovuto alla notevole quantità di potenza di calcolo necessaria per aggiungere un blocco alla blockchain.

Pertanto, tornare indietro a un blocco precedente per raddoppiare una transazione richiederebbe la stessa enorme quantità di potenza di calcolo che sarebbe stata spesa inizialmente per eseguire la transazione. Il numero di conferme di blocco che una transazione ha ottenuto è direttamente collegato al livello di fiducia che si può riporre nel fatto che non può essere spesa due volte con questo metodo. La possibilità che la transazione non possa essere spesa due volte è maggiore se c’è un numero maggiore di conferme di blocco.

  • 0 conferme
    Indica che la transazione è stata trasmessa in rete, ma non è ancora stata inclusa in alcun blocco. In questa fase, non c’è stata alcuna conferma della transazione. Le transazioni con zero conferme, note anche come transazioni non confermate, non dovrebbero essere considerate affidabili in generale, poiché in questa fase esiste una possibilità significativa di doppia spesa.
  • 1 conferma
    Poiché la transazione è stata caricata sulla blockchain e inserita in un blocco, la probabilità di una doppia spesa è notevolmente diminuita. Tuttavia, c’è ancora la possibilità che la transazione venga spesa due volte e, di conseguenza, si dovrebbero attendere altre conferme di blocco prima di continuare.
  • 6 conferme
    Nel caso del Bitcoin (BTC), la rete ha impiegato circa un’ora per evitare spese multiple garantendo la legittimità della transazione. Poiché la transazione è ora sepolta dietro sei blocchi, un avversario avrebbe bisogno di una grande quantità di potenza di hashing della rete per ripristinare questi sei blocchi e spendere due volte la transazione.

Per difenderti adeguatamente dagli attacchi normativi e dai disastri di mercato, se hai esposizioni in criptovalute e DeFi leggi subito il nostro approfondimento per navigare senza paura durante la tempesta:
Sta arrivando l’Apocalisse DeFi e non ho niente da mettermi

soft fork hard fork
Adobe Stock

Come funzionano gli attacchi informatici ai sistemi blockchain

D’altra parte, in alcune circostanze è teoricamente possibile che una transazione venga eseguita più di una volta.Ad esempio, un attacco noto come “race attack”, un attacco noto come “Finney attack” o un attacco noto come “51% attack” sono tutti esempi di scenari che potrebbero portare a spendere lo stesso denaro digitale più di una volta.

Race Attack

Questa forma di attacco può essere condotta contro commercianti e altre persone che accettano il pagamento di un articolo o di un servizio nonostante la transazione non abbia ancora ricevuto la conferma di un singolo blocco. L’attacco può essere stato condotto da un attore ostile trasmettendo rapidamente attraverso la rete due transazioni in disaccordo tra loro. Ad esempio, questo attore malintenzionato potrebbe prima effettuare una transazione per pagare un commerciante per una merce o un servizio, e poi inviare una transazione in conflitto che spende quelle stesse monete a se stesso.

In questo modo, potrebbe rubare i soldi all’attività commerciale e usarli per sé. È possibile che la seconda transazione in conflitto venga inserita in un blocco e che i nodi della rete la accettino come se fosse quella autentica. Ciò andrebbe a discapito del commerciante, che avrebbe già consegnato la merce o il servizio in attesa di essere pagato, perché questo avverrebbe dopo il fatto.

Il Finney attack

Un ulteriore tipo di attacco, noto come Finney Attack, può verificarsi ogni volta che il pagamento di un bene o servizio viene accettato con 0 conferme di blocco. Per effettuare un attacco Finney, un miner deve aver precedentemente estratto un blocco, ma deve anche astenersi dal trasmettere il blocco estratto al resto della rete.

Il minatore può inserire un trasferimento di monete dall’indirizzo A all’indirizzo B (entrambi di sua proprietà) all’interno del blocco estratto, ma non ha ancora trasmesso l’informazione alla rete.Questo è un tipo di attacco. Il minatore potrebbe quindi effettuare un acquisto da un commerciante, inviando denaro dal proprio indirizzo A all’indirizzo C del commerciante, consentendogli così di acquistare un prodotto o un servizio.

Il trader potrebbe quindi consegnare la merce o il servizio al minatore in previsione di ricevere denaro per farlo. Il minatore, d’altro canto, ha la possibilità di ingannare il commerciante per sottrargli il suo prodotto o servizio trasmettendo un blocco precedentemente estratto che include un trasferimento di moneta dall’indirizzo A all’indirizzo B. È così che può commettere una frode. In questa particolare situazione, la transazione personale del minatore può avere la priorità sulla transazione con il trader.

L’attacco 51%

Se un attore ostile controlla più del 50% del tasso di hash di una rete, ha la possibilità di effettuare doppi investimenti, il che viene anche definito attacco di maggioranza. Con un attacco al 51%, un attore malintenzionato potrebbe minare un fork privato della blockchain fino a farlo diventare più lungo della blockchain prodotta dai minatori onesti.

Questo è possibile perché l’attore malintenzionato ha un tasso di hash maggiore rispetto al resto della rete, il che gli permette di generare blocchi più velocemente del resto della rete. Dopodiché, l’attore malintenzionato sarebbe in grado di spendere fondi sulla blockchain prodotta dai minatori onesti, ma queste transazioni non sarebbero incluse nella blockchain privata. Una volta raggiunto questo punto, l’utente sarebbe autorizzato a trasmettere la versione estesa della blockchain privata e a spendere nuovamente il proprio denaro.

 

*NB: Le riflessioni e le analisi condivise sono da intendere ad esclusivo scopo divulgativo. Quanto esposto non vuole quindi essere un consiglio finanziario o di investimento e non va interpretato come tale. Ricorda sempre che le scelte riguardo i propri capitali di rischio devono essere frutto di ricerche e analisi personali. L’invito è pertanto quello di fare sempre le proprie ricerche in autonomia.
L’autore, al momento della stesura, detiene esposizioni in Bitcoin e altri asset crittografici, anche legati a quanto trattato nell’articolo.

Impostazioni privacy