La doppia spesa può erodere tutta la fiducia in una criptovaluta, motivo per cui sono stati fatti così tanti sforzi per assicurarsi che questo tipo di frode non si verifichi.
Le transazioni di criptovaluta sono sicure e affidabili grazie alla tecnologia blockchain. Tuttavia, come con la maggior parte dei sistemi innovativi, la blockchain presenta vulnerabilità sfruttabili, che possono portare a una doppia spesa. Ma cos'è la doppia spesa e come si previene?
Cos'è la doppia spesa?
La doppia spesa si verifica quando una singola entità spende lo stesso token di criptovaluta più di una volta. Ciò è causato da un difetto nelle valute digitali che le rende facilmente riproducibili.
Le informazioni sulla rete blockchain possono essere modificate durante le transazioni, a condizione che siano soddisfatte determinate condizioni. Quando queste condizioni sono soddisfatte, l'alterato blocchi di transazioni può entrare nella blockchain, consentendo all'autore del reato di riacquistare token crittografici spesi in precedenza.
Per capire meglio come ciò avvenga, ecco una descrizione semplificata del processo. Quando una transazione viene eseguita su una rete blockchain, ad esempio Bitcoin, crea un blocco che contiene i dati della transazione, i dati del blocco precedente e un timestamp. Il blocco ha un codice crittografato chiamato hash.
IL persone che estraggono Bitcoin sulla rete Bitcoin quindi verifica la transazione tramite un algoritmo di consenso proof-of-work, chiudi il blocco e crea un nuovo blocco. Il nuovo blocco contiene il timestamp, l'hash del blocco precedente e i nuovi dati della transazione. Successivamente, il minatore vittorioso riceve premi in blocco (BTC) per la verifica dell'hash.
Per eseguire con successo la doppia spesa, l'autore deve estrarre un blocco segreto che supera la creazione del blocco effettivo. Per fare ciò, l'autore del reato deve introdurre il blocco segreto prima del nuovo blocco in modo che la rete, ingannato nel pensare che sia l'ultimo set del blocco in crescita, aggiunge il blocco falso al sempre crescente catena. L'autore del reato può quindi recuperare i token crittografici utilizzati in precedenza.
Anche se la doppia spesa è un fenomeno ben noto nello spazio crittografico, non esiste un caso documentato. Questo perché la verifica delle transazioni è un processo complesso che richiede un'enorme potenza di calcolo. Falsificare o duplicare un blocco è intenso, poiché gli autori devono lavorare prima di ogni altro minatore sulla blockchain.
Perché la doppia spesa è un problema?
La doppia spesa è un insulto alla sicurezza della rete blockchain. Succede quando c'è una debolezza sfruttabile.
Inoltre, la rete blockchain dovrebbe essere sicura e affidabile. Se si verifica una doppia spesa su una rete di criptovalute, si crea sfiducia per quel sistema crittografico, disincentivando gli investitori. E alla fine, il valore del token diminuirà.
Inoltre, la doppia spesa è un furto digitale. L'hacker guadagna mentre qualcun altro sulla rete, di solito un commerciante, perde. L'autore mantiene la proprietà dei beni del commerciante e del token crittografico.
Esempi di attacchi a doppia spesa
Esistono diverse forme di attacchi a doppia spesa utilizzati dai criminali informatici. Ecco qui alcuni di loro:
51% attacco
L'attacco del 51% è la forma di doppia spesa più ampiamente discussa. Si verifica quando un minatore (o un gruppo di minatori) controlla la maggioranza (più del 50%) della potenza computazionale che convalida le transazioni sulla rete.
Quando ciò accade, possono dettare transazioni, creare nuovi blocchi, recuperare criptovalute già spese e assegnare token crittografici. Ciò dà loro il potere di spendere due monete digitali.
È meno probabile che l'attacco del 51% si verifichi in criptovalute più consolidate, come Bitcoin. Ciò è dovuto all'enorme numero di minatori sulla rete e al difficoltà di hashing. Tuttavia, le criptovalute con reti più piccole, come quelle nuove o biforcute, potrebbero essere a rischio.
Nel 2014, GHash.io, un mining pool che ha operato dal 2013 al 2016, ha superato brevemente il 51% della potenza computazionale di Bitcoin su Bitcoin. Questo sviluppo ha generato notevoli preoccupazioni sulla sicurezza della rete. Quindi, Gnash.io ha volontariamente limitato la sua potenza di calcolo al 39,99% per ripristinare la fiducia nella rete.
Attacco Finney
Questo tipo di attacco a doppia spesa è stato reso popolare e prende il nome da Hal Finney. In un attacco Finney, un hacker non richiede il 51% della potenza di hashing. Affinché abbia successo, un commerciante deve accettare una transazione non verificata dall'hacker, che è un minatore.
L'hacker genera un blocco in cui si accredita token crittografici avviando una transazione dall'indirizzo X all'indirizzo Y (entrambi di sua proprietà) senza trasmetterla alla rete. Procede a effettuare un altro pagamento con gli stessi token crittografici dall'indirizzo X all'indirizzo Z, che appartiene a un commerciante.
Se il commerciante accetta le transazioni non confermate senza verifica dalla blockchain, l'hacker rilascia il blocco che include la sua transazione iniziale. La rete annulla la transazione con il commerciante dopo che il commerciante ha rilasciato beni o servizi all'hacker. Ciò consente all'hacker di raddoppiare la spesa.
Attacco di corsa
Questo attacco è più facile da eseguire rispetto al 51% e agli attacchi Finney. In un race attack, esiste una "corsa" tra due transazioni.
L'hacker utilizza macchine diverse per inviare lo stesso token a due commercianti. Se il commerciante invia beni o servizi prima che la transazione sia confermata, scoprirà che la transazione non è stata accettata durante il processo di mining.
Come Blockchain impedisce la doppia spesa
Le blockchain proteggono dalla doppia spesa algoritmi di consenso, ad esempio:
Prova di lavoro (PoW)
La prova di lavoro è un processo altamente competitivo che richiede un'enorme quantità di energia. In questo meccanismo di consenso, i minatori utilizzano computer complessi per indovinare l'hash dei blocchi di transazione.
Un hash è un codice esadecimale a 64 cifre univoco crittografato che ogni transazione possiede. Questo processo consuma potenza di calcolo per dimostrare l'autenticità di una transazione.
Una volta verificata la transazione, il minatore di successo aggiunge la transazione al file registro digitale decentralizzato. Alla fine del processo, il minatore di successo riceve ricompense in blocco nel token digitale nativo.
Bitcoin, Bitcoin Cash, Litecoin, Monero e Dogecoin sono criptovalute popolari che utilizzano questo algoritmo di consenso.
Proof of Stake (PoS)
In Proof-of-Stake, i partecipanti alla rete crittografica autenticano le transazioni di blocco e sono chiamati validatori. I validatori offrono (o "stake") alcuni dei loro token crittografici in un contratto intelligente per guadagnare il diritto di verificare le transazioni prima di aggiungerli alla blockchain in crescita.
La rete seleziona un validatore onesto in base ai token in stake e alla durata dello staking. Una volta selezionato, il vincitore verifica la transazione, che gli altri validatori confermano.
Proprio come PoW, i validatori ricevono anche una ricompensa sotto forma di reddito dopo aver autenticato nuove transazioni. Se la rete trova un validatore disonesto, perde parte o tutti i suoi token puntati come penalità.
Questo processo è più veloce e richiede meno potenza di calcolo ed energia rispetto a PoW. Pertanto, i partecipanti alla blockchain possono agire in modo efficiente come validatori.
Ethereum 2.0, Cardano, Tezos e Solana utilizzano ciascuno PoS.
Proof of Stake delegato (DPoS)
Questo tipo di algoritmo di consenso PoS impone agli utenti sulla blockchain di utilizzare i propri token digitali per votare onesto validatori chiamati "delegati". Un delegato viene scelto a caso per convalidare nuove transazioni e aggiungerle al blockchain.
Dopo il pagamento, il delegato distribuisce i premi del blocco agli utenti che li hanno votati.
Le criptovalute che utilizzano l'algoritmo DPoS includono EOS, Ark, Tron e Lisk.
Nessun caso ancora, ma la doppia spesa è una possibilità
Sebbene non ci siano casi confermati, l'emergere di criptovalute nuove e biforcute e i recenti progressi tecnologici potrebbero generare sorprese di doppia spesa. Pertanto, dovresti proteggerti effettuando transazioni su blockchain di criptovaluta sicure. E di norma, attendi che i minatori confermino le transazioni prima di rilasciare token, beni o servizi.