La comunità Ethereum si è trovata di fronte a una situazione straordinaria lo scorso fine settimana. In risposta, gli sviluppatori di Ethereum hanno implementato un aggiornamento per prevenire che il problema si ripresenti in futuro.
Per chi non lo sapesse, la blockchain di Ethereum si divide tra il livello di esecuzione e il livello di consenso. Entrambi richiedono che i validatori utilizzino software specifici: i client.
Nonostante ci sia un forte incentivo ad utilizzare una varietà di client differenti per evitare una centralizzazione dannosa per la blockchain, i validatori spesso non sono molto rigorosi e tendono a concentrarsi su un numero limitato di client.
Il problema riscontrato nel fine settimana si è verificato nel livello di Consenso, quando tra le epoche 200,552 e 200,554, i nodi hanno smesso di processare le transazioni senza fornire alcuna spiegazione che potesse tranquillizzare gli utenti di Ethereum.
Rapidamente, gli utenti hanno cercato risposte, ma gli sviluppatori non sono ancora in grado di fornirle definitivamente. Tuttavia, un aggiornamento è già stato implementato per fornire soluzioni ad alcuni client Ethereum.
Un aggiornamento implementato su Ethereum
Sebbene un’indagine sia ancora in corso per comprendere pienamente le cause del problema riscontrato, gli sviluppatori di Ethereum non hanno aspettato a lungo per ipotizzare le possibili cause che hanno portato alla temporanea interruzione della finalità delle transazioni.
Infatti, secondo un’ipotesi particolarmente plausibile, i client del livello di consenso avrebbero ricevuto troppe attestazioni relative a vecchie transazioni. Queste vecchie transazioni non includevano gli aggiornamenti più recenti della rete. Di conseguenza, i client interessati sono stati naturalmente ritardati nel loro lavoro.
Poco dopo l’inizio dell’indagine, gli sviluppatori si sono resi conto che in realtà c’era un difetto nel sistema utilizzato in particolare dal client Prysm che gli impediva di elaborare le informazioni in modo ottimale.
Metaforicamente, come ha precisato l’utente Twitter @pcaversaccio, alcuni client stavano categorizzando la posta nelle categorie sbagliate perché stavano semplicemente utilizzando un elenco obsoleto di queste categorie.
Un aggiornamento implementato su alcuni client
Quindi, partendo dal principio che “sembra essere stato causato da un carico elevato su alcuni dei client del livello di consenso”, gli sviluppatori hanno rilasciato un aggiornamento per i client Ethereum Prysm e Teku. In pratica, questo aggiornamento dovrebbe permettere loro di aggiornare i loro sistemi per evitare problemi di finalizzazione come quelli di giovedì e venerdì.
Di conseguenza, i client dovrebbero vedere migliorata la gestione della memoria del sistema implementando un sistema in cui le attestazioni non valide sono filtrate per impostazione predefinita.
Nella nota di aggiornamento, gli sviluppatori del client Prysm spiegano che “questa nuova versione contiene un metodo euristico per filtrare le attestazioni di punti di controllo non validi, quindi, un nodo ignorerà le attestazioni se il target dell’attestazione è noto per essere obsoleto e non è stato un punto di controllo in una catena conosciuta dal nostro nodo”.
Superphiz, un influente membro della comunità Ethereum, rimane positivo su tutta questa storia considerandola un passo nel “nostro percorso verso la diversità e la decentralizzazione”, suggerendo di imparare da essa e andare avanti con più determinazione.