Home / Bitcoin / Bug di Anatomy of Bitcoin Core

Bug di Anatomy of Bitcoin Core

Le vulnerabilità del software continuano a rappresentare un problema con la bandiera rossa nella comunità di crittografia. Non molto tempo fa, la rete EOS delle criptovalute top-5 ha subito una vulnerabilità proprio all'inizio del suo sviluppo. La stessa cosa è successa a Ethereum, quando una serie di attacchi DDoS (Distributed Denial of Service) ha portato a un significativo ritardo nell'operazione dei nodi. E le notizie su un altro bug nel codice sono uscite ieri, con l'annuncio fatto dagli sviluppatori Monero di correggere la vulnerabilità, che ha permesso agli aggressori di bruciare fondi. Potrebbe sembrare che questo tipo di bug possa influenzare qualsiasi crittografia, ma non Bitcoin. Ma cosa potrebbe esserci di peggio della vulnerabilità di una moneta con un giro d'affari giornaliero di $ 4,5 miliardi? Forse, solo ignoranza sulla minaccia esistente. La recente vulnerabilità di Bitcoin Core è un chiaro esempio.

"Bug più catastrofico di sempre"

Il 18 settembre, gli sviluppatori di Bitcoin Core hanno annunciato il rilascio di un aggiornamento per correggere una vulnerabilità di attacco DDoS. La scoperta più scioccante è stata che un simile attacco poteva essere ottenuto invadendo gli operatori di nodi completi con traffico o inviando loro informazioni che potrebbero causare un arresto anomalo della rete.

La correzione CVE-2018-1744 è stata inizialmente indirizzata a diversi sviluppatori che stavano lavorando sia su Bitcoin Core che su altri progetti basati su criptovaluta. Il bug è stato identificato dallo sviluppatore di Bitcoin Cash Awemany, che nel suo post medio conclude che CVE-2018-17144 è "il bug più catastrofico degli ultimi anni, e sicuramente uno dei bug più catastrofici in Bitcoin di sempre." Awemany ha espresso pubblicamente il suo feedback senza esitare a chiamare arrogante lo sviluppatore più prominente di Bitcoin Core. La vulnerabilità viene monitorata nell'advisory CVE-2018-17144, che include la seguente descrizione:

"Bitcoin Core 0.14.x prima di 0.14.3, 0.15.x prima di 0.15.2 e 0.16.x prima di 0.16.3 e Bitcoin Knots 0.14.x fino a 0.16.x prima di 0.16.3 consentono una negazione del servizio da remoto (arresto dell'applicazione ) sfruttabili dai minatori tramite input duplicati. Un utente malintenzionato può bloccare il bitcoind o Bitcoin-Qt. "

Tuttavia, la vulnerabilità era molto più seria, in quanto avrebbe potuto consentire ai minatori malintenzionati di gonfiare artificialmente l'offerta di Bitcoin tramite un semplice tipo di doppio input.

In termini semplici, l'evento recente è correlato al codice di consenso. I minatori potevano bloccare i blocchi nel caso in cui avessero provato a convalidare un blocco contenente una transazione che tentava di spendere lo stesso input due volte, causando l'arresto dell'intera infrastruttura Bitcoin. Inoltre, prevedendo che quei blocchi non validi debbano essere estratti comunque, i minatori malintenzionati disposti a ignorare il premio di blocco di 12,5 BTC (circa $ 80.000) potrebbero addirittura portare alla distruzione dell'intero ecosistema.

Bug a doppia spesa

Una bugia bianca o semplice ignoranza?

Forse, a causa delle possibili conseguenze catastrofiche dell'errore, gli sviluppatori hanno deciso di tenerlo segreto, avendo vinto il tempo per sistemarlo e invitato sia i minatori che gli utenti ad aggiornare il loro software per eliminare possibili incidenti.

Nel report fatto due giorni dopo, gli sviluppatori hanno spiegato che il team ha fatto ogni azione appropriata per incoraggiare aggiornamenti software immediati, tra cui la creazione di consapevolezza per gli attori interessati, ritardando al contempo la pubblicazione dell'intera divulgazione del problema per guadagnare tempo per i sistemi da aggiornare.

Secondo la dichiarazione, la vulnerabilità con patch esisteva nel software Bitcoin Core senza riparazioni dalla versione 0.14, mentre la versione 0.15 ha introdotto la vulnerabilità dell'inflazione.

Ciononostante, gli sviluppatori di Bitcoin Core hanno deciso di divulgare l'intera portata della vulnerabilità dopo che la maggior parte della percentuale di hash BTC è passata al software con patch, mentre gli operatori full node che non sono stati seguiti dovrebbero farlo al più presto.

Ripresa la dichiarazione di Bitcoin:

"In questo momento, crediamo che oltre la metà del tasso di hash Bitcoin sia aggiornato ai nodi patchati. Non siamo a conoscenza di alcun tentativo di sfruttare questa vulnerabilità. Tuttavia, rimane ancora fondamentale che gli utenti interessati aggiornino e applichino le patch più recenti per garantire che non siano possibili grandi riorganizzazioni, l'estrazione di blocchi non validi o l'accettazione di transazioni non valide. "

Cronologia dei bug di Bitcoin Core

Chi ha trovato l'errore?

Tra i catalizzatori che contribuiscono a risolvere questo bug critico è stato lo sviluppatore del Bitcoin Core Cory Fields, che ha identificato una delle vulnerabilità più critiche di Bitcoin Cash all'inizio di quest'anno, che avrebbe potuto essere così dirompente che la transazione di Bitcoin Cash in sicurezza non sarebbe più possibile, minando completamente l'utilità (e quindi il valore) della valuta stessa, come sostiene Cory qui.

La reazione della comunità

Il team di sviluppo di Bitcoin Core è stato pesantemente criticato dai detentori di Bitcoin per il modo in cui hanno diffuso l'annuncio "caldo" relativo al bug e alla patch.

In effetti, la loro decisione di pubblicare l'annuncio senza consultare i membri delle reti altcoin ha deluso molti appassionati e contributori del settore.

Tra coloro che hanno espresso critiche pubbliche è stato l'auto-agente segreto di Bitcoin Core, John Carvalho, che ha descritto in una serie di tweet come la squadra di Bitcoin Core stava prendendo decisioni quando le porte erano chiuse.

L'evento è stata un'altra occasione per "criptare Twitter" e in particolare per gli entusiasti di Bitcoin e Bitcoin Cash. Non dimentichiamoci di molti utenti Bitcoin che sono stati grati e hanno mostrato apprezzamento per il duro lavoro degli sviluppatori per mantenere la rete di Bitcoin al sicuro, senza essere remunerati e fornire i loro servizi principalmente su base volontaria.

Possibili conseguenze

Nonostante il fatto che il bug sia stato corretto, rimane la domanda: che cosa sarebbe successo se l'errore non fosse stato rilevato in tempo? In particolare, alcuni utenti chiesti se qualcuno è riuscito a sfruttare questa vulnerabilità per produrre "un mucchio di falsi Bitcoin". Uno di questi ha persino scoperto che 0.1 BTC è stato generato nel Bitcoin Testnet come risultato di tale abuso.

Le risposte a queste domande, insieme alle parole di rassicurazione, sono state fornite dal team di Bitcoin Core nel loro ultimo aggiornamento:

"I fondi archiviati non sono a rischio e non sono mai stati a rischio. Anche se il bug fosse stato sfruttato fino in fondo, il danno teorico ai fondi archiviati sarebbe stato ripristinato, esattamente com'era nell'incidente di overflow del valore. Tuttavia, esiste attualmente un piccolo rischio di divisione della catena. In una divisione della catena, le transazioni potrebbero essere annullate a lungo dopo che sono state completamente confermate. Pertanto, per la prossima settimana o giù di lì dovresti considerare una piccola possibilità di qualsiasi transazione con meno di 200 conferme invertite. "

Un altro sviluppatore di Bitcoin, Pieter Wuille, assicurato che "se questo bug fosse già stato sfruttato, sarebbe stato notato da qualsiasi nuovo nodo".

Più tardi, lui aggiunto che nel caso in cui un tale bug fosse stato sfruttato da qualcuno dopo la versione di aggiornamento, "tutti i nodi della versione 0.14.0 si sarebbero bloccati e tutti quelli che aggiornavano avrebbero visto degli avvertimenti sul fatto di non essere nella catena di maggioranza".

Bene, mentre tutto ciò può sembrare convincente, rimane ancora una domanda essenziale: cosa succederebbe se non tutti gli utenti riuscissero a correggere la versione aggiornata? Più carburante per il fuoco è stato aggiunto da CobraBitcoin, capo sviluppatore di back-end di Openbazaar, che suggerito che "l'80 percento della rete è [still] gestione di software vulnerabili. "

La percentuale di questa rete è minima, secondo Emin Gün Sirer dichiarazione, con una patch maggiore corrispondente a nodi economicamente privi di valore. Se hanno influenzato qualcosa di utile, qualcuno si sarebbe preso la briga di aggiornarli.

Tutto e 'bene quel che finisce bene

La visione di Bitcoin sul decentramento e la trasparenza sembra essere ridotta al minimo guardando attentamente l'episodio del CVR-2018-1744, indicando che le decisioni importanti sono prese da una piccola minoranza di membri della comunità. Pertanto, la paura di una grave perdita di miliardi di dollari, in caso di una decisione diversa, sembra essere ovvia.

La probabilità di schiantare l'intero sistema era alta in questa saga, poiché il bug è stato variamente descritto come "molto spaventoso", "maggiore", "catastrofico" e uno dei "primi tre dei quattro" bug più gravi mai trovati in Codice di Bitcoin.

Source link