Un bug nel codice ha messo offline il 13% dei nodi Ethereum

Un bug nel codice ha messo offline il 13% dei nodi Ethereum - blockchain virtual reality finance 100745942 large 1024x645Un bug nel codice ha reso il 13% dei nodi Ethereum inutilizzabili, evidenziando quella che è una crepa crescente nell’infrastruttura di rete: la centralizzazione del client.

Il problema dei client Ethereum

Come accennato per la prima volta a maggio e giugno su GitHub, i client di minoranza Parity-Ethereum e OpenEthereum nelle versioni 2.7 e successive contengono un bug sconosciuto che impedisce ai nodi di sincronizzarsi con l’ultimo blocco della rete.

Tali bug sarebbero un problema normale se non fosse per il tempo necessario per risolverli (da settimane a mesi) e il carico aggiuntivo verrà posto sul client di maggioranza, Geth. I client stessi sono implementazioni diverse del linguaggio di programmazione del software blockchain.

L’esecuzione di più implementazioni contemporaneamente è considerata un modo per contrastare gli attacchi di rete facendo funzionare sistemi simultanei ma separati. Questo si è dimostrato storicamente un modello utile.

Ad esempio, gli attacchi di Shanghai del 2016 hanno visto i Geth momentaneamente bloccati a seguito di un attacco DDOS (Distributed Denial of Service). Parity-Ethereum è riuscita a mantenere a galla la rete da sola.

Il client Geth supportato dalla Fondazione Ethereum ora regge circa l’80% della rete da 43 miliardi di dollari. Questa dipendenza è un vettore di attacco riconosciuto che ha costretto gli sviluppatori a posticipare l’hard fork di luglio, Berlino, in modo che i client di minoranza possano guadagnare un po’ di trazione.

Eppure, otto settimane dopo, la quota di Geth è solo cresciuta. Ed è probabile che aumenti ancora poiché gli operatori di nodi attualmente non funzionanti hanno una decisione nelle loro mani: spegnere il loro client, eseguire il backup di una vecchia versione del client o passare completamente a un altro client.

Una patata bollente

Era un segreto di Pulcinella tra gli sviluppatori di Ethereum – qui la quotazione in tempo reale – che il client Parity-Ethereum non fosse all’altezza delle specifiche. In effetti, il project manager di OpenEthereum Marcelo Ruiz De Olano ha dichiarato ai media che il suo team ha riscontrato sia problemi irrisolvibili che “problemi molto gravi che interessano la memoria e l’utilizzo del disco”.

Parity Technologies, che ha dato origine al client Parity-Ethereum, ha interrotto la manutenzione a dicembre 2019 per via dei costi troppo alti. Il client è stato quindi affidato a un’Organizzazione Autonoma Decentralizzata (DAO) di sviluppatori finanziata dallo spinout di ConsenSys Gnosis, chiamata OpenEthereum.

Una rapida occhiata ai codici di base di Geth e di Parity-Ethereum su GitHub, in particolare dopo la transizione di dicembre, porta ad altre domande sull’integrità del codice di base di quest’ultima, come notato dal marketplace non custodito LocalCryptos in un tweet di maggio.

Nel frattempo, il team di OpenEthereum ha sollecitato gli operatori dei nodi a ritornare alla versione 2.5 del 2019 per riportare i nodi online. De Olano ha affermato di avere quattro ingegneri sul progetto e che spera di avere un client realizzabile entro metà settembre.

Tuttavia, la diversificazione dei client rimarrà un problema senza ulteriori soluzioni, ha affermato. “In definitiva, questo è un progetto comunitario per aumentare la diversità dei client in Ethereum e l’aiuto di tutti è apprezzato”, ha detto De Olano.