Di recente, sul sito web bitcoin.org e su molti altri media online, é comparsa la notizia riguardo a un’importante criticità scovata nel codice sorgente di Bitcoin Core che ha richiesto un immediato intervento da parte degli sviluppatori. Secondo quanto riportato nel comunicato di accompagnamento al rilascio di Bitcoin Core 0.16.3, è stata scovata una vulnerabilità denial-of-service (DoS) introdotta non volutamente in Bitcoin Core 0.14.0.
Nell’articolo intendiamo approfondire l’accaduto per capire cosa è successo, ma anche quanto siano state vaste le ripercussioni del bug, che ha obbligato i team di altre criptovalute a correre ai ripari.
Se possiedi un wallet bitcoin ufficiale (Bitcoin Core) o un portafoglio di una delle criptovalute di cui parleremo, è bene che tu conosca di più sull’argomento. Vogliamo anche precisare che se hai acquistato bitcoin o intendi farlo non corri alcun rischio.
Aggiornamento urgente a Bitcoin Core 0.16.3: cosa è successo
Il 17 settembre un programmatore anonimo ha informato i maggiori sviluppatori del codice Bitcoin di una vulnerabilità riscontrata nel software. Matt Corallo ed altri hanno appurato che le versioni precedenti di Bitcoin Core si bloccano se tentano di elaborare un blocco contenente una transazione che tenta di spendere lo stesso input due volte.
Tali blocchi non sono validi, quindi possono essere creati solo da un miner disposto a sacrificare la sua ricompensa di (block reward).
Seppure i fondi non sono a rischio, il team ha dovuto ammettere la remota possibilità che chiunque fosse intenzionato a sfruttare questa vulnerabilità, avrebbe potuto creare una propria blockchain Bitcoin sulla quale convalidare le sue transazioni e renderla pubblica, di fatto invalidando le transazioni.
Il prezzo del bitcoin non ha risentito particolarmente dell’evento, ma per circa una settimana dopo il rilascio dell’aggiornamento urgente si è corso il rischio che transazioni con meno di 200 conferme potessero essere semplicemente annullate, ma in realtà nessuno ha sfruttato la vulnerabilità a proprio vantaggio.
Gli sviluppatori da subito hanno coinvolto nell’upgrade una delle maggiori mining pool di BTC, SlushPool (10,2% dell’hashpower totale), facendo da test il giorno precedente al rilascio ufficiale di Bitcoin Core 0.16.3 (18 settembre).
Coinvolti anche i team di Bitcoin Cash
La comunicazione della vulnerabilità è giunta in contemporanea ai team di Bitcoin ABC e di Bitcoin Unlimited, i quali si occupano di sviluppare la criptovaluta bitcoin cash. Il nuovo client di BCH contenente la patch è stato pubblicato da Bitcoin ABC il 19 settembre e diffusa attraverso i principali canali della valuta digitale.
Tutte le criptovalute coinvolte dal bug
In pratica, tutte le crittovalute progettate sul codice sorgente di Bitcoin Core sono state impattate dal bug. A farne le spese la criptovaluta litecoin che con urgenza ha aggiornato il suo client ufficiale. Litecoin, infatti, è profondamente basato sul codice sorgente di Bitcoin e con esso condivide i principali aggiornamenti degli ultimi anni.
Anche la criptomoneta dash è derivata dal codice sorgente di BTC; il team di Dash Core è intervenuto il 19 settembre rilasciando Dash Core 0.12.3.3, la nuova versione del client include l’aggiornamento che impedisce l’arresto anomalo del nodo che riceve un blocco appositamente predisposto. Tutti i masternode, le mining pool, gli explorer e gli exchange hanno dovuto apportare la modifica con urgenza.