Un bug nei contratti di Bitcoin “timelocked” potrebbe consentire ai minatori di derubarsi a vicenda

Un bug nei contratti di Bitcoin "timelocked" potrebbe consentire ai minatori di derubarsi a vicenda - Bitcoin Bug 1024x640In un rapporto pubblicato alla fine di aprile, l’ingegnere noto con lo pseudonimo 0xb10c ha scoperto che oltre un milione di transazioni “timelocked” effettuate tra settembre 2019 e marzo 2020 non sono state eseguite in modo corretto sulla rete.

Ciò aumenta il rischio di una potenziale forma di attacco in cui i minatori potrebbero essenzialmente rubare bitcoin da altri minatori. Il bug interessa il 10% delle transazioni timelocked o il 2% della quotazione bitcoin in generale. I risultati del rapporto mettono luce su un’area chiave della ricerca su bitcoin che mira a impedire ai minatori di diventare troppo potenti o imbrogliare in vari modi.

Come funziona il bug individuato

Una transazione timelocked impedisce al destinatario del bitcoin di accedervi immediatamente, dovendo attendere che la rete abbia prima aggiunto un determinato numero di blocchi al registro distribuito.

Poiché ogni nuovo blocco impiega circa 10 minuti per essere caricato, una timelocked può essere programmata, a discrezione di chi la effettua, per essere eseguita dopo il caricamento di un certo numero di blocchi in futuro.

Ma le timelocked difettose rilevate da 0xb10c hanno un’azione più immediata. Impostate per il blocco corrente, sono progettate per rendere “una strategia di mining potenzialmente distruttiva, chiamata fee-sniping, meno redditizia”, ​​ha dichiarato 0xb10c.

Con il fee-sniping, un minatore scorretto potrebbe sostituire un blocco che qualcun altro ha appena estratto con il proprio, includendo quella transazione in particolare e potenzialmente altre transazioni ancora in sospeso. Il meccanismo di timelock impedisce loro di includere queste ultime, circoscrivendo il bottino dell’azione e rendendo poco conveniente un attacco di questo tipo.

Un rischio a lungo termine

“Attualmente, non applicare un timelock non ha conseguenze per la maggior parte delle transazioni. In pochi anni, quando la ricompensa del blocco consisterà principalmente in commissioni di transazione, potrebbe favorire un redditizio taglio delle commissioni”, ha dichiarato 0xb10c.

Quindi, il bug potrebbe essere dannoso più che altro nel futuro della rete. Ma in questo momento, è molto probabile che sia un problema di “bassa priorità” per la maggior parte dei servizi di portafogli perché non comporta la perdita di denaro da parte degli utenti o influisce sui timelock impostati in futuro, ha dichiarato 0xb10c. Inoltre, il bug influisce negativamente sulla privacy degli utenti.

Il principale ente coinvolto nella diffusione del bug è pronto per trovare una soluzione

Molte delle transazioni errate rilevate da 0xb10c sono state eseguite da un unico ente di dimensioni rilevanti, che non ha nominato. L’ingegnere ha detto di averlo contattato e di aver ricevuto una risposta “professionale”, ha detto, trovando una soluzione al problema.

Tuttavia, potrebbe essere necessario del tempo prima che la soluzione venga implementata. 0xb10c spera che la sua ricerca aumenti la consapevolezza del rischio di attacchi a costo zero in modo che i portafogli che non hanno impostato correttamente le transazioni timelocked possano farlo, rendendo la rete Bitcoin un po’ più robusta. “È difficile trovare le rispettive implementazioni che creano queste transazioni”, ha dichiarato 0xb10c. “Alcuni di loro potrebbero non essere open source, il che rende ancora più difficile.”