Quando si pensa a possibili attacchi alla rete Bitcoin, la prima cosa che viene in mente è quella di un attacco del 51%, in cui un gruppo di miner detiene la maggioranza dell’hashrate della rete, in modo tale da riuscire ad effettuare double spending. Tuttavia, un altro hack meno noto ma non meno pericoloso consiste nell’attacco timewarp.
Read this article in the English version here.
Summary
Modifica del timestamp
In parole semplici, un attacco timewarp si verifica quando un miner riesce ad inserire un timestamp errato all’interno dei blocchi con lo scopo di ridurre la successiva difficoltà di mining.
Infatti, alcune criptovalute, come ad esempio bitcoin, aggiornano periodicamente le difficoltà in base al tasso di generazione dei blocchi, in modo che quest’ultimo rimanga al valore impostato di default, che per Bitcoin si attesta ad un tempo medio di 10 minuti per blocco.
Inserendo timestamp errati un miner può ingannare l’algoritmo che si occupa di regolare la difficoltà spingendolo ad abbassarne il proprio valore, con la conseguenza che estrarre blocchi diventerà più veloce e dunque più remunerativo. Ciò ha effetti negativi per l’economia di una criptovaluta dal momento che un attacco timewarp aumenta il tasso di inflazione della moneta.
Spulciando nel codice sorgente di Bitcoin, possiamo notare che un blocco può avere un timestamp errato fino ad un massimo di 2 ore oltre l’orario effettivo. Se tale limite viene superato, il blocco viene automaticamente rifiutato.
Questo margine è stato progettato per tenere conto degli eventuali errori negli orologi interni dei computer.
Ci sono stati numerosi casi nella storia di Bitcoin in cui un blocco presentava un timestamp superiore al timestamp del blocco successivo, soprattutto nei primi anni di vita della moneta, quando l’hashrate totale della rete era molto basso.
Ma è così facile effettuare questo tipo di attacco?
Il margine di 2 ore per i timestamp dei blocchi è ciò che apre effettivamente la porta agli attacchi dei malintenzionati. Tuttavia non è così facile come può sembrare.
Per Bitcoin, infatti, risulterebbe molto difficile condurre un significativo attacco timewarp, dato che sarebbe subito di dominio pubblico sulla blockchain. Inoltre, l’attacco per avere completamente successo avrebbe comunque bisogno della maggioranza dell’hashrate cosa quasi impossibile attualmente su Bitcoin.
Tuttavia, esiste un’altra possibilità remota. Se la maggioranza dei miner si alleasse, potrebbero teoricamente diminuire progressivamente la difficoltà di mining con attacchi timewarp continuativi. Potrebbero addirittura arrivare fino ad un solo secondo per estrarre un blocco, che è il tempo minimo possibile di estrazione di un blocco.
Un’ipotesi remota per Bitcoin
Rimane comunque molto improbabile che i miner di Bitcoin entrino in conflitto fra di loro ed attuino un attacco timewarp, dato che verrebbe danneggiato l’intero ecosistema.
Le principali mining farm hanno investito milioni di dollari in infrastrutture dedicate, e il danno all’ecosistema provocato da un simile attacco vanificherebbe il loro investimento.
Tuttavia, per alcune criptovalute, risulta essere molto più semplice eseguire un attacco timewarp.
Ad esempio, Verge ricalcola continuamente la difficoltà di mining, a differenza di Bitcoin che regola la difficoltà una volta ogni 2 settimane. Pertanto, in caso di attacco risulta molto più veloce riuscire a dare il via ad un meccanismo a catena che permetta di generare più blocchi sempre più velocemente.
Inoltre, Verge utilizza più algoritmi di mining, permettendo più fronti d’attacco.
La possibile soluzione all’attacco timewarp
Questa remota possibilità di attacco ha creato parecchie discussioni in passato nella community di Bitcoin.
Uno degli sviluppatori di Bitcoin Core, Johnson Lau, ha proposto una facile verifica aggiuntiva. Un semplice controllo che non permetta che un blocco abbia un timestamp inferiore al blocco che lo precede. Dal momento però che questa modifica potrebbe portare ad un fork, la soluzione non è stata ancora presa in considerazione.
Greg Maxwell, co-fondatore di Blockstream e uno dei più importanti sviluppatori di Bitcoin tempo fa ha dichiarato:
“Io, e molti altri, non abbiamo dato priorità alla correzione di questa vulnerabilità. La motivazione è da imputare al fatto che, per effettuare tale attacco, è comunque necessario un hashrate superiore al 51%. Inoltre, il problema sarebbe facilmente bloccato una volta individuato. Aggiungo infine che nel remoto caso in cui un gruppo di miner dovesse raggiungere la maggioranza dell’hashrate totale, un attacco timewarp sarebbe l’ultima delle cose di cui preoccuparsi per Bitcoin.“