- Torna al menu
- Torna al menuPrezzi
- Torna al menuRicerca
- Torna al menuConsenso
- Torna al menu
- Torna al menu
- Torna al menu
- Torna al menuWebinar ed Eventi
Le transazioni fraudolente paralizzano gli utenti occasionali del software Bitcoin
Un errore commesso da uno sviluppatore di portafogli Bitcoin ha impedito agli utenti di riavviare il loro software client Bitcoin questa settimana.
Questa settimana, diverse versioni del client Bitcoin hanno iniziato a non funzionare più, dopo che una transazione fraudolenta ha impedito agli utenti di riavviare il software.
I problemi sono emersi per la prima volta lunedì mattina presto, ora degli Stati Uniti, con unmessaggio sul forum Bitcoin Talk.
"Ho appena aperto il mio portatile e avviato Bitcoin QT e ho ricevuto il messaggio blockchain corrupt, ho cliccato su OK e ora appare "Reindicizzazione blocchi - 204 settimane", ha detto il poster. "Inoltre, i miei Bitcoin sono non confermati. Cosa è successo, perché questo messaggio?"
Altri hanno segnalato rapidamente lo stesso errore su più computer, che eseguivano diverse versioni di Bitcoin-QT, che è la versione standard abilitata per l'interfaccia utente grafica (GUI) del client Bitcoin . La reindicizzazione dei blocchi tramite il client Bitcoin non è riuscita a risolvere il problema. Lo stesso problema ha interessato Bitcoind, che è la versione non basata su GUI del client.
Il problema era dovuto a un bug introdotto originariamente nella versione 0.8.0 del client Bitcoin , che era prima pubblicazionea febbraio. Quella versione era una major release, che ha cambiato il database utilizzato per memorizzare la blockchain da Berkeley DB a LevelDB, per risolvere un problema di sicurezza.
"Si tratta di un bug nel nostro codice che verifica le incongruenze del database LevelDB introdotte quando siamo passati allo storage LevelDB nella versione 0.8.0, combinato con un bug che verifica il numero di versione nelle transazioni", ha affermato Gavin Andresen, sviluppatore capo. "Una transazione con un numero di versione errato ha innescato il problema".
Gregory Maxwell, un altro membro del team di sviluppatori CORE , ha pubblicato un soluzione alternativa per il problema di ieri mattina. Ha spiegato a CoinDesk che dalla versione 0.8.0, il software ha memorizzato transazioni con numeri di versione negativi in modo errato nella versione locale della blockchain.
"Questo comportamento scorretto è di per sé innocuo e fino a ieri non si erano verificate transazioni con una versione negativa."
Tuttavia, lunedì, una transazione del genere è stata rilasciata e archiviata nel client. Poiché il software impone un rigoroso controllo di coerenza del database che viene eseguito ogni volta che viene avviato, si è rifiutato di avviarsi dopo che queste transazioni sono state incluse nella catena, ha affermato.
Né Andresen né Maxwell hanno detto di aver visto alcuna prova di significativa interruzione della rete. Andresen ha sottolineato che T influisce sui pezzi più grandi e critici dell'infrastruttura di rete come pool di mining, commercianti o exchange, perché tendono a KEEP in esecuzione il loro software Bitcoin , solitamente con più nodi.
"Dato che il problema è facilmente aggirabile (una volta trovate le istruzioni), sospetto che ciò significhi che è probabilmente una fonte di frustrazione molto più grande di una vera e propria interruzione", ha affermato Maxwell.
Quindi, da dove provengono le transazioni? Maxwell le ha ricondotte ad alcuni indirizzi riutilizzati. Ha indicato uno sviluppatore di portafogli Bitcoin , il cui software non riusciva a inizializzare la versione prima di inviare una transazione. "Questo è un errore difficile da fare, soprattutto nel codice C", ha detto, aggiungendo che la pagina Github del portafoglio è ora offline. "Forse l'ha messo offline a causa di questo bug".
Il bug potrebbe essere stato semplicemente frustrante, ma mostra anche come gli attacchi alla rete possono essere montati, anche inavvertitamente e non in modo malevolo, semplicemente servendo una transazione che confonde il sistema grazie a un bug di vecchia data. In questo caso, si è trattato semplicemente di una transazione malformata, che ha distorto un pezzo di dati che non era stato utilizzato attivamente dal client Bitcoin .
"Se l'errore fosse stato in qualcosa che è stato utilizzato, sarebbe stato un bug molto serio che creava fork", ha detto Maxwell. Ciò richiederebbe tuttavia una vulnerabilità corrispondente nel codice.
Il team di sviluppo CORE sta ora lavorando a una correzione. "Una volta che saremo certi di avere una buona correzione e che il problema T potrà essere attivato in nessun altro modo, pubblicheremo una versione 0.8.5", ha concluso Andresen.
Danny Bradbury
Danny Bradbury è uno scrittore professionista dal 1989 e lavora come freelance dal 1994. Si occupa di Tecnologie per pubblicazioni come il Guardian.
