Uno dei problemi più antichi delle valute digitali è apparentemente semplice: cosa impedisce a qualcuno di spendere la stessa moneta due volte? Con il denaro contante, la risposta è ovvia. Una volta consegnata una banconota, è sparita. La valuta digitale è diversa. È costituita da dati, e i dati possono essere copiati. Senza una soluzione efficace a questo problema, nessuna valuta digitale potrà mai funzionare come denaro reale.
Risolvere il problema della doppia spesa è ciò che ha reso il white paper di Bitcoin del 2008 davvero rivoluzionario. Satoshi Nakamoto non si è limitato a descrivere una nuova valuta, ma ha proposto una soluzione concreta a un problema informatico che aveva bloccato lo sviluppo del denaro digitale per decenni. Questa guida spiega cos'è la doppia spesa, come si verifica, ogni principale tipo di attacco utilizzato per sfruttarla e l'insieme completo di tecniche che le moderne reti blockchain utilizzano per prevenirla.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
RegistratiChe cosa si intende per doppia spesa?
La doppia spesa consiste nell'utilizzare la stessa unità di valuta digitale più di una volta. Nella finanza tradizionale, il problema è pressoché inesistente. Quando si consegna denaro contante a un commerciante, la banconota fisica trasferisce la proprietà e non può trovarsi in due posti contemporaneamente. Quando si paga tramite bonifico bancario, un'autorità centrale aggiorna un registro, addebitando l'importo sul proprio conto prima che venga accreditato sul conto del beneficiario.
Le valute digitali funzionano in modo diverso. Sono file e codici, non oggetti fisici. Senza adeguate misure di sicurezza, un utente disonesto potrebbe teoricamente copiare una transazione e trasmetterla simultaneamente a più destinatari, tentando di ricevere beni o servizi da entrambi pur pagando effettivamente una sola volta.
In pratica, le conseguenze sono gravi:
Perdita di fiducia: gli attacchi di doppia spesa minano la fiducia in una rete di criptovalute e possono dissuadere utenti, commercianti e investitori dal parteciparvi.
Perdita finanziaria: i commercianti che accettano pagamenti che vengono successivamente annullati perdono sia la merce che il denaro. Le piattaforme di scambio che elaborano depositi fraudolenti subiscono danni finanziari diretti.
Instabilità della rete: ripetuti attacchi a reti più piccole hanno causato crolli dei prezzi, delisting dalle borse e, in alcuni casi, la fine effettiva di un progetto.
Prevenire la doppia spesa è il requisito di sicurezza fondamentale per qualsiasi criptovaluta. Tutto il resto, velocità delle transazioni , struttura delle commissioni, contratti intelligenti, deriva dalla risoluzione affidabile di questo problema.
Come avviene la doppia spesa
La doppia spesa sfrutta l'intervallo di tempo tra la trasmissione di una transazione e il momento in cui riceve un numero sufficiente di conferme per essere considerata definitiva. Questo intervallo, per quanto breve, rappresenta la superficie di attacco.
Gli scenari più comuni sono:
Transazioni simultanee in conflitto: un utente malintenzionato trasmette due transazioni che spendono gli stessi fondi contemporaneamente a diverse parti della rete. Entrambe si propagano brevemente prima che i nodi stabiliscano quale sia valida.
Annullamento della transazione prima della conferma: un utente avvia un pagamento, riceve beni o servizi prima che la transazione venga confermata, quindi trasmette una transazione contraddittoria per recuperare i fondi.
Manipolazione della potenza di calcolo: nelle reti proof-of-work, un miner con sufficiente potenza di calcolo può costruire segretamente una catena di blocchi concorrente che non include la transazione che desidera annullare, per poi rilasciare tale catena e sovrascrivere la cronologia delle transazioni legittime.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
RegistratiTipi di attacchi di doppia spesa
Comprendere i metodi di attacco specifici è importante sia per i gestori delle piattaforme che per i singoli utenti. Ogni attacco ha requisiti, profili di rischio e contromisure differenti.
Attacco razziale
Un attacco di tipo race attack prende di mira commercianti o individui che accettano transazioni non confermate. L'attaccante invia simultaneamente due transazioni contrastanti: una alla vittima e una che restituisce i fondi al proprio portafoglio. L'attaccante spera che la transazione di ritorno raggiunga per prima i miner e venga confermata in un blocco, invalidando così il pagamento alla vittima.
La vittima corre un rischio solo se rilascia beni o servizi prima di aver atteso almeno una conferma di blocco. La difesa è semplice: non accettare mai pagamenti senza conferme per transazioni di valore significativo.
Gli aggressori spesso stabiliscono una connessione diretta al nodo della vittima per ottenere un vantaggio nella competizione. Disabilitare le connessioni in entrata ai nodi riduce l'esposizione a questa tecnica.
Attacco di Finney
L'attacco Finney, che prende il nome da Hal Finney, lo sviluppatore di Bitcoin che lo descrisse per primo, è più tecnico e richiede che l'attaccante sia un miner attivo. L'attaccante estrae segretamente un blocco che include una transazione che trasferisce fondi dal proprio portafoglio a se stesso, ma non pubblica immediatamente tale blocco. Successivamente, utilizza gli stessi fondi per pagare una vittima. Se la vittima rilascia la merce prima che la transazione sia confermata, l'attaccante pubblica il blocco estratto segretamente, invalidando il pagamento e restituendo i fondi.
Un attacco Finney non può essere completamente eliminato, indipendentemente dalle precauzioni, ma richiede all'attaccante di rinunciare alla ricompensa per il blocco che avrebbe potuto ottenere trasmettendo onestamente. Attendere un minimo di sei conferme di blocco prima di rilasciare beni o servizi di alto valore rende gli attacchi Finney impraticabili.
Attacco Vector76
L'attacco Vector76, noto anche come attacco a conferma singola, combina elementi sia dell'attacco di gara (race attack) che dell'attacco Finney. L'attaccante crea due nodi: uno connesso solo al nodo della vittima e uno connesso alla rete più ampia. Pre-estrae un blocco contenente una transazione di alto valore da un exchange o da un commerciante, quindi lo invia direttamente al nodo della vittima anziché trasmetterlo all'intera rete. La vittima riceve una sola conferma e rilascia la merce. Contemporaneamente, l'attaccante trasmette alla rete principale una transazione di basso valore in conflitto, che alla fine prevale e annulla il pagamento originale.
Questo attacco sfrutta il fatto che anche una transazione con una sola conferma può essere annullata se il blocco non viene accettato dalla maggioranza della rete. La difesa pratica consiste nel richiedere conferme multiple e nel disabilitare l'accettazione di connessioni in entrata da nodi provenienti da fonti sconosciute.
51% Attack
L'attacco del 51%, noto anche come attacco di maggioranza, è la forma più conosciuta e temuta di doppia spesa. Se un singolo soggetto ottiene il controllo di più della metà della potenza di mining totale di una rete (nel caso del proof-of-work) o di più della metà della fornitura in staking (nel caso del proof-of-stake), può costruire una versione privata concorrente della blockchain più velocemente dei partecipanti onesti.
La sequenza tipica è la seguente: l'attaccante invia una grande quantità di criptovaluta a un exchange, la converte in un altro asset e la ritira. Successivamente, rilascia la blockchain che ha segretamente estratto, escludendo la transazione di deposito, annullandola di fatto. A questo punto, detiene sia la criptovaluta originale che l'asset convertito.
La rete Bitcoin non è mai stata attaccata con successo al 51%. Nell'ottobre del 2025, l'hash rate di Bitcoin ha raggiunto circa uno zettahash al secondo, rendendo un attacco economicamente proibitivo: il costo ammonterebbe a miliardi di dollari, mentre qualsiasi guadagno realistico sarebbe di gran lunga inferiore. Tuttavia, reti proof-of-work più piccole con una partecipazione limitata al mining sono state ripetutamente sfruttate:
Bitcoin Gold ha perso circa 18 milioni di dollari in un attacco del 51% nel maggio 2018. Ethereum Classic ha subito diversi attacchi del 51% nel 2019 e nel 2020, con gli aggressori che hanno tentato una doppia spesa di 1.1 milioni di dollari su Coinbase e sono riusciti a portare a termine una doppia spesa di 200,000 dollari su Gate.io. Verge, ZenCash, Litecoin Cash e MonaCoin hanno subito attacchi simili tra il 2018 e il 2019.
Attacco Brute Force
Un attacco di forza bruta prevede che un attaccante con una potenza di calcolo considerevole, ma inferiore alla maggioranza, tenti di minare una blockchain privata più velocemente della rete pubblica. L'attaccante trasmette un pagamento e, mentre la rete genera le conferme, cerca di estendere la propria blockchain privata fino a superarla. La probabilità di successo diminuisce esponenzialmente con ogni ulteriore conferma pubblica, rendendo questo attacco impraticabile contro qualsiasi rete con una potenza di calcolo significativa o contro transazioni con conferme multiple.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
RegistratiCome la tecnologia Blockchain previene la doppia spesa
La tecnologia blockchain fornisce la soluzione architettonica fondamentale per contrastare la doppia spesa attraverso diversi meccanismi interconnessi.
Decentramento
La blockchain opera su una rete decentralizzata di nodi, eliminando qualsiasi punto di controllo singolo. Nessuna autorità centrale può essere compromessa o corrotta per approvare una transazione fraudolenta. Affinché una doppia spesa abbia successo, un aggressore deve convincere simultaneamente la maggioranza della rete, il che diventa progressivamente più difficile man mano che la rete cresce.
Immutabilità
Una volta che una transazione viene registrata sulla blockchain e riceve un numero sufficiente di conferme, diventa di fatto permanente. Modificarla richiederebbe la riscrittura non solo di quel blocco, ma anche di ogni blocco aggiunto successivamente, il che a sua volta richiede una quantità sempre crescente di risorse computazionali o economiche.
Marcatura temporale e ordinamento
Le transazioni vengono contrassegnate con un timestamp e aggiunte ai blocchi in ordine cronologico. Quando due transazioni in conflitto vengono trasmesse simultaneamente, la rete utilizza un metodo deterministico per stabilire quale sia valida: la prima viene inclusa in un blocco confermato. La transazione non valida viene scartata.
Ledger distribuito
Ogni nodo della rete conserva una copia completa della cronologia delle transazioni. Poiché migliaia di nodi indipendenti detengono registrazioni identiche, manipolare il registro in modo silenzioso è impossibile. Qualsiasi versione fraudolenta della cronologia entrerebbe immediatamente in conflitto con le copie possedute dalla maggioranza.
Meccanismi di consenso: il nucleo tecnico della prevenzione della doppia spesa
Le diverse blockchain utilizzano diversi algoritmi di consenso per raggiungere un accordo sulla validità delle transazioni. La scelta del meccanismo ha implicazioni dirette per la resistenza alla doppia spesa.
Prova di lavoro
Nei sistemi proof-of-work come Bitcoin, i minatori competono per risolvere complessi enigmi crittografici. Il primo minatore a trovare una soluzione valida aggiunge il blocco successivo e riceve una ricompensa. Poiché la risoluzione dell'enigma richiede risorse reali, tra cui hardware specializzato ed elettricità, il costo del tentativo di costruire una catena fraudolenta è considerevole e quantificabile.
La sicurezza del PoW contro gli attacchi del 51% è direttamente proporzionale alla potenza di calcolo totale della rete. Attaccare Bitcoin oggi richiederebbe l'acquisizione e l'utilizzo di oltre la metà di tutte le apparecchiature di mining esistenti a livello globale, un'impresa logisticamente e finanziariamente impossibile. Il design di Bitcoin ha funzionato senza che si verificasse un doppio pagamento riuscito sulla sua rete principale sin dal suo lancio nel 2009.
Proof of Stake
Nei sistemi proof-of-stake come Ethereum, i validatori bloccano criptovalute come garanzia per ottenere il diritto di proporre e attestare nuovi blocchi. Un attaccante che tentasse un attacco del 51% dovrebbe acquisire e mettere in staking più della metà dell'intera offerta in staking. Su Ethereum, ciò significa controllare oltre 20 miliardi di dollari in ETH in staking, secondo le valutazioni attuali. I validatori che agiscono in modo disonesto rischiano la confisca dei fondi in staking tramite un meccanismo di penalità chiamato "slashing", che rende gli attacchi economicamente autodistruttivi.
La transizione di Ethereum dal proof-of-work al proof-of-stake nel settembre 2022 (la Merge) ha introdotto anche la definitività: dopo due epoche (circa 13 minuti), una transazione è considerata irreversibile senza un attacco coordinato estremamente costoso e rilevabile che coinvolga almeno un terzo di tutti gli ETH in staking.
Finalità delle transazioni tra reti
Il concetto di finalità è di fondamentale importanza per il rischio di doppia spesa. I sistemi Proof-of-Work offrono una finalità probabilistica: una transazione non diventa mai matematicamente impossibile da annullare, ma la probabilità di annullamento diminuisce esponenzialmente con ogni ulteriore conferma. I sistemi Proof-of-Stake possono offrire una finalità economica, in cui l'annullamento richiederebbe la distruzione di ingenti quantità di capitale messo in staking.
Per contestualizzare, la rete Bitcoin raccomanda sei conferme prima di considerare sicuri i pagamenti di valore elevato. Considerando un tempo di blocco di dieci minuti, sei conferme richiedono circa un'ora. Il sistema PoS di Ethereum raggiunge la finalità pratica in circa 13 minuti. Solana, con i suoi tempi di blocco di 400 millisecondi, raggiunge la finalità pratica quasi istantanea per la maggior parte degli scopi.
Il modello UTXO: la difesa strutturale di Bitcoin
Bitcoin utilizza una specifica struttura dati chiamata Unspent Transaction Output (UTXO) che contribuisce direttamente a prevenire la doppia spesa. Ogni transazione Bitcoin consuma uno o più UTXO come input e crea nuovi UTXO come output. Un UTXO può essere speso una sola volta. La sua spesa ne segnala l'avvenuta utilizzo nel registro.
Quando una transazione viene trasmessa alla rete, i nodi verificano immediatamente se gli UTXO a cui si fa riferimento sono già stati spesi. Se un utente malintenzionato tenta di trasmettere simultaneamente due transazioni utilizzando lo stesso UTXO, i nodi ne accetteranno una e rifiuteranno l'altra. Il modello UTXO rende strutturalmente impossibile che la stessa moneta venga validamente referenziata in due diverse transazioni confermate.
Conferme delle transazioni: lo standard di sicurezza pratico
Le conferme sono lo strumento più pratico a disposizione di utenti e commercianti per proteggersi dalla doppia spesa.
Ogni conferma rappresenta un blocco aggiuntivo che viene aggiunto alla blockchain, oltre al blocco contenente la transazione. Ogni nuovo blocco richiede che la rete raggiunga un consenso, rendendo progressivamente più difficile per un malintenzionato sostituire tutti i blocchi con quelli della transazione originale.
La raccomandazione standard della rete:
Bitcoin: 6 conferme è lo standard ampiamente accettato per le transazioni di valore elevato, che richiedono circa 60 minuti ai tempi di blocco attuali. Per acquisti di piccolo importo e a basso rischio, da 1 a 3 conferme possono essere sufficienti.
Ethereum: 12 conferme per la sicurezza standard, con un tempo di elaborazione di circa 2-3 minuti. Dopo due epoche, le transazioni raggiungono la piena finalità economica.
Litecoin: 6 conferme, per un totale di circa 15 minuti, considerando il tempo di blocco di 2.5 minuti.
Solana: Grazie al suo tempo di blocco di 400 millisecondi e al design proof-of-history, le conferme avvengono quasi istantaneamente.
Bitcoin Cash: in genere si raccomandano 15 conferme a causa della sua rete di mining relativamente più piccola e della vulnerabilità storica agli attacchi del 51% riscontrata sulle blockchain correlate.
In linea di massima: maggiore è il valore della transazione, maggiori sono le conferme richieste prima di rilasciare la merce o considerare il pagamento definitivo.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
RegistratiEsempi e casi di studio del mondo reale
Il problema della malleabilità delle transazioni Bitcoin nel 2014
Nel 2014, un attacco di doppia spesa ha sfruttato una vulnerabilità di Bitcoin nota come malleabilità delle transazioni. Gli aggressori hanno manipolato i dati delle transazioni per creare più transazioni in conflitto, alterando l'identificativo univoco della transazione pur mantenendo invariato il contenuto della transazione. La comunità Bitcoin ha risposto con aggiornamenti software e miglioramenti del protocollo, affrontati in modo più completo con l'aggiornamento SegWit del 2017, che ha separato le firme delle transazioni dai dati delle transazioni ed eliminato completamente la vulnerabilità.
La transizione di Ethereum al Proof of Stake
Con la fusione avvenuta nel settembre 2022, Ethereum è passato dal proof-of-work al proof-of-stake. I validatori vengono selezionati per proporre e confermare i blocchi in base agli ETH che mettono in staking, con penalità decrescenti per i comportamenti disonesti. Questa transizione ha rafforzato significativamente la resistenza di Ethereum alla doppia spesa e ha introdotto una finalità economica che il PoW non era in grado di offrire.
Dash InstantSend
Dash implementa una funzionalità chiamata InstantSend che utilizza una rete di masternode per bloccare gli input delle transazioni quasi immediatamente dopo la trasmissione, impedendone l'utilizzo in transazioni in conflitto. Ciò fornisce una protezione pressoché istantanea contro gli attacchi di tipo race, senza dover attendere le conferme standard dei blocchi, rendendo Dash pratico per le transazioni nei punti vendita.
Protocollo di consenso di Ripple
Ripple utilizza un proprio meccanismo di consenso, il Ripple Protocol Consensus Algorithm (RPCA), in cui una rete di validatori fidati deve raggiungere un accordo a maggioranza qualificata su ogni transazione. La rete raggiunge la finalità in 3-5 secondi, senza mining e senza consumo di energia per la prova di lavoro.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
RegistratiMigliori pratiche per prevenire la doppia spesa
Che siate commercianti che accettano pagamenti in criptovalute o singoli utenti, queste pratiche riducono significativamente il rischio di attacchi di doppia spesa.
Attendi le opportune conferme
Questa è la forma di protezione personale più efficace in assoluto. Non rilasciate mai beni o servizi di alto valore per una transazione non confermata. Per Bitcoin, attendete almeno 6 conferme per i pagamenti di importo elevato. Per reti più veloci come Ethereum o Solana, l'attesa si misura in minuti o secondi, non in ore.
Utilizzare le commissioni di transazione in modo strategico
Commissioni di transazione più elevate incentivano i miner e i validatori a includere la tua transazione nel blocco successivo, riducendo la finestra temporale durante la quale una transazione in conflitto potrebbe essere trasmessa. Durante i periodi di congestione della rete, le transazioni con fondi insufficienti possono rimanere non confermate per periodi prolungati, aumentando il rischio di attacchi race.
Applica la gestione sicura del portafoglio
Scegli portafogli affidabili con una solida reputazione in termini di sicurezza. Archivia le chiavi private offline in portafogli hardware o in archivi crittografati. Abilita l'autenticazione a due fattori per gli account Exchange e per i portafogli. Queste pratiche riducono il rischio che le tue credenziali vengano compromesse e utilizzate per avviare transazioni illecite.
Effettuare transazioni su reti consolidate
Le reti blockchain più grandi e consolidate, con una partecipazione significativa al mining o allo staking, sono molto più resistenti agli attacchi del 51% rispetto alle alternative più piccole. Quando la sicurezza è la preoccupazione principale, le reti con la maggiore liquidità e la più ampia distribuzione di validatori rappresentano la scelta a minor rischio.
Monitorare le transazioni in modo proattivo
Monitora attentamente la cronologia delle transazioni e utilizza gli explorer della blockchain per verificare in modo indipendente lo stato di conferma. Attività insolite, come annullamenti inattesi di transazioni o improvvisi cambiamenti nella profondità di conferma, possono essere i primi indicatori di una riorganizzazione della rete in corso.
Partecipa alla governance della rete
Per coloro che sono coinvolti nella gestione dei nodi o dei validatori, rimanere attivi nello sviluppo del protocollo e votare sugli aggiornamenti di sicurezza contribuisce alla resilienza complessiva della rete. Le risposte a livello di comunità, come la limitazione volontaria della potenza di calcolo di un pool quando un singolo miner si avvicina al 50% della potenza di calcolo, hanno storicamente protetto l'integrità di Bitcoin nei momenti critici.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
RegistratiSfide e direzioni future
Compromessi tra scalabilità e sicurezza
Con la crescente adozione delle criptovalute, la pressione per elaborare le transazioni più velocemente crea tensioni con i requisiti di conferma che impediscono la doppia spesa. Le soluzioni di Layer 2, come il Lightning Network di Bitcoin e l'ecosistema di rollup di Ethereum, affrontano questo problema spostando le transazioni ad alta frequenza e di basso valore off-chain, mentre i saldi finali vengono regolati sul livello base sicuro. Ciò preserva una solida protezione contro la doppia spesa sulla blockchain sottostante, consentendo al contempo pagamenti quotidiani pratici.
Quantum Computing
L'informatica quantistica rappresenta un rischio teorico a lungo termine per gli algoritmi crittografici alla base sia della sicurezza dei portafogli digitali che del mining proof-of-work. Gli standard crittografici post-quantistici sono in fase di sviluppo attivo. Il National Institute of Standards and Technology ha pubblicato i suoi primi standard crittografici post-quantistici nel 2024 e i progetti blockchain stanno monitorando questi sviluppi con l'obiettivo di rendere a prova di futuro le proprie fondamenta crittografiche.
Interoperabilità e transazioni cross-chain
I trasferimenti di asset tra blockchain introducono nuovi vettori di doppia spesa, poiché gli asset esistono di fatto in due luoghi diversi durante il processo di bridging. Diversi exploit di alto profilo avvenuti negli ultimi anni hanno dimostrato questo rischio. La soluzione a lungo termine risiede nel migliorare i protocolli di verifica cross-chain e nello sviluppare architetture di bridging che minimizzino la fiducia e che ereditino le garanzie di sicurezza dalle blockchain sottostanti.
Rischi legati alla finanza decentralizzata e ai contratti intelligenti.
I protocolli di finanza decentralizzata (DeFi) introducono la complessità degli smart contract , che può creare nuove superfici di attacco per la manipolazione delle transazioni. Le principali difese consistono nell'audit, nella verifica formale degli smart contract e in un'allocazione prudente della liquidità.
Evoluzione dei meccanismi di consenso
La ricerca su nuovi modelli di consenso continua. Gli approcci, tra cui il Proof-of-Stake nominato, il Proof-of-History e vari modelli ibridi, mirano tutti a migliorare il compromesso tra sicurezza e scalabilità che i meccanismi esistenti si trovano ad affrontare. L'obiettivo rimane invariato: fornire la massima protezione possibile contro la doppia spesa, consentendo al contempo la velocità di elaborazione delle transazioni richiesta dall'adozione su larga scala.
Ottieni la carta UPay Crypto
Scopri il meglio dei pagamenti online e delle transazioni crittografiche senza interruzioni.
Registrati

