- Torna al menu
- Torna al menuPrezzi
- Torna al menuRicerca
- Torna al menu
- Torna al menu
- Torna al menu
- Torna al menu
- Torna al menuWebinar ed Eventi
L’“Hard Fork non annunciato” di Ethereum stava cercando di prevenire la stessa interruzione che aveva causato
Un hard fork che ha diviso la catena di Ethereum in due è stato attivato di proposito, mettendo in discussione il coordinamento dei client di Ethereum.

Conclusione:
- La maggior parte dell'ecosistema DeFi di Ethereum è scomparso stamattina dopo che un bug latente nel codice Ethereum ha diviso in due la cronologia delle transazioni della rete.
- La divisione è stata causata da una modifica al codice inserita di nascosto in un precedente aggiornamento di Geth; alcuni operatori di nodi Ethereum hanno ignorato l'aggiornamento, che ironicamente avrebbe dovuto impedire proprio la divisione che si è verificata.
- I nodi che non hanno effettuato l'aggiornamento pensavano che l'aggiornamento fosse di minore entità e non sapevano che includeva una modifica al design del consenso di Ethereum.
- Un post-mortem pubblicato oggi da Geth indica che il bug è stato attivato intenzionalmente. Il caso è forse la sfida più grande di Ethereum dal fork DAO del 2016 e solleva interrogativi sulla decentralizzazione spesso pubblicizzata di Ethereum e sull'efficacia del suo coordinamento degli sviluppatori in Ethereum 2.0.
All'inizio, era un problema apparente con Infura, i server gestiti da ConsenSys che KEEP la maggior parte delle applicazioni Finanza decentralizzata (DeFi) sincronizzate con la rete Ethereum .
Infuriaè andato giù in giro8:00 UTC mercoledì, e con essa, alcune delle applicazioni più popolari di Ethereum come Metamask, MakerDAO, Uniswap, Compound e MyCrypto, tra le altre. Poco dopo, Binance ha sospeso il trading Ethereum dopo aver notato transazioni in conflitto sul suo nodo Ethereum . Mentre anche altri exchange sospendevano le contrattazioni, il vero problema divenne chiaro: un bug nel client Go Ethereum (Geth), il cui codice supporta l'80% delle applicazioni di Ethereum, aveva diviso in due la blockchain Ethereum .
Continua a leggere: Gli sviluppatori Ethereum ritardano l'hard fork di Berlino per arginare i problemi di centralizzazione dei client
Le due cronologie di transazioni in conflitto hanno fatto sì che gli utenti di Etheruem interagissero temporaneamente con diverse versioni della blockchain Ethereum . Più che causare ritardi, ciò ha messo a rischio i fondi degli utenti, eliminando la maggior parte delle applicazioni DeFi di Ethereum per alcune ore.
Infura ha risolto il problema, così come altri provider di servizi che sono stati colpiti dal pasticcio, aggiornando i loro nodi. Questi stakeholder stavano eseguendo una vecchia versione di Geth, che conteneva un bug che gli sviluppatori Ethereum hanno risolto silenziosamente in un recente aggiornamento, un aggiornamento che Infura e Blockchair, tra gli altri, hanno ignorato.
Oltre a questi due fornitori di servizi, anche altri utenti Ethereum e fornitori di wallet sono stati colpiti perché T hanno aggiornato il loro codice, hanno detto gli sviluppatori a CoinDesk.
Il fiascoha criticato i critici La percepita decentralizzazione di Ethereum, mentre gli stakeholder si chiedono perché il cambiamento sia stato portato avanti in Secret, senza alcun coordinamento tra Geth e gli altri team di sviluppo.
Per alcuni, la scissione rappresenta la sfida più urgente per Ethereum dai tempi del famigerato attacco informatico al DAO del 2016.
In my opinion, today’s consensus failure in #Ethereum🦄 shouldn’t be underestimated and should be considered as the most serious issue Ethereum has faced since the DAO debacle 4 years ago. An investigation is in order.
— Nikita Zhavoronkov (@nikzh) November 11, 2020
La divisione della catena di Ethereum: come è avvenuta
In un articolo appena pubblicatopost-mortem, Péter Szilágyi, un team leader di Ethereum, ha scritto che un fork "è stato (deliberatamente) attivato sulla rete Ethereum ".
Un rappresentante diOptimism, un progetto di ridimensionamento Ethereum , pubblicato di recenteche il progetto ha attivato intenzionalmente il bug corretto dall'aggiornamento Geth, dando il via al fork.
Quando si è verificato il fork, sono state create due versioni del registro delle transazioni Ethereum : ONE con le transazioni dei client Geth aggiornati e ONE con le transazioni dei client Geth più vecchi (come Infura).
"La correzione è stata implementata diversi mesi fa e solo oggi è arrivata una transazione che ha causato quella divisione", ha detto a CoinDesk in un messaggio diretto Nikitia Zhavoronkov, sviluppatore principale di Blockchair, un esploratore di blocchi Ethereum che è stato interessato dal fork.
Continua a leggere: Ethereum Imparare qualcosa dall'attacco DAO da 55 milioni di dollari?
Pensando che l'aggiornamento fosse "una modifica minore al codice", Blockchair T si è preoccupato dell'aggiornamento perché T ne varrebbe la penail downtime per i loro servizi. Ma più che di poco conto, gli sviluppatori hanno apparentemente apportato una modifica silenziosa al meccanismo di consenso di Geth nell'aggiornamento.
“Il team Geth ha effettivamente cambiato il consensoimplementazione nella versione v1.9.17, tuttavia il team non ha creato nuove regole che la comunità Ethereum T conoscesse o non accettasse", scrive Szilágyi nel post, affermando che queste regole sono state stabilite in un Proposta di miglioramento Ethereumtre anni fa.
"Se T si considera l'introduzione accidentale di un bug un 'aggiornamento consensuale', allora non si dovrebbe nemmeno considerare la correzione del bug in questione qualche mese dopo un 'aggiornamento consensuale'", ha sostenuto.
Un altro post-mortempubblicato dalla Ethereum Foundation il 12 novembre afferma che l'exploit si è verificato "al blocco 11234873, transazione 0x57f7f9", aggiungendo che la catena di minoranza per i nodi non sincronizzati era lunga circa 30 blocchi.
Un appello alla trasparenza
Ironicamente, il fork è stato causato proprio dallo stesso bug di consenso che l'aggiornamento di Geth cercava di risolvere.
Il programma bounty Ethereumrecentemente riconosciutoGiovanni Yang, un nuovo arrivato nella comunità open source di Ethereum, per aver scoperto questa e un'altra vulnerabilità. Lo sviluppatore Geth ed esperto di sicurezza Ethereum Martin Swende twittato le modifiche nell'aggiornamento risolvono i problemi segnalati, suggerendo che il disastro è un "promemoria per KEEP aggiornati i tuoi nodi!"
Swende continua adire nel thread del tweetche gli sviluppatori non hanno annunciato il grande cambiamento per evitare di attirare l'attenzione sul difetto. Nella sua spiegazione, Szilágyi ha detto che risolvere il bug "silenziosamente" ha comportato meno "interruzioni".
According to this not only did ETH have one of its worst bugs ever but the devs botched the disclosure of it and didn’t even mention it to likely the largest operator of ETH full nodes. https://t.co/Ksasw6haHT
— Matt Corallo (@TheBlueMatt) November 11, 2020
Tuttavia, altri stakeholder Ethereum si chiedono perché il bug non sia stato divulgato in privato ai team che stanno lavorando su Geth.
Continua a leggere: Bug di gravità "elevata" nel software Bitcoin rivelato 2 anni dopo la correzione
"Ogni progetto importante con cui il team di sviluppo è in stretto contatto dovrebbe avere un contatto per la sicurezza che possa aiutare a gestire e coordinare un aggiornamento senza intoppi, e dovremmo lavorare insieme", ha detto a CoinDesk Matt Luongo, fondatore di Thesis.
"Quando i fork sono una sorpresa, chiunque abbia costruito su Ethereum come abbiamo fatto noi potrebbe perdere soldi", ha continuato.
La tesi costruisce ilKeep Network, che emette tBTC, una forma di tokenizzazioneBitcoin per la blockchain Ethereum . Luongo ha affermato che il fork ha messo a rischio i fondi degli utenti di tBTC, ma non a causa della divisione della catena, che è stata risolta dopo che Infura e altri hanno aggiornato i loro client Geth.
È perché il downtime ha fatto sì che gli utenti che hanno puntato Ethereum su Keep Network T potessero coordinarsi con la mainchain Ethereum ; di conseguenza, hanno rischiato di vedersi "tagliare" parte delle loro puntate per non aver soddisfatto i loro requisiti fiduciari. Thesis ha detto a CoinDesk che nessuno dei Bitcoin che mettono a garanzia i token tBTC è mai stato a rischio.
Inoltre, il caso di Thesis è solo ONE esempio dei disagi che la biforcazione ha creato per chiunque abbia provato a utilizzare la "catena di minoranza" durante la scissione.
Nonostante i problemi causati dalla scissione, i prezzi dell'ether, la Criptovaluta nativa della blockchain di Ethereum , sono saliti del 4,6% mercoledì dopo la diffusione della notizia, il che suggerisce che i trader non vedono alcuna minaccia sistemica o a lungo termine in questa situazione critica.
Raccogliere i pezzi
Zhavoronkov ha detto che il pasticcio non era doloso, ma che "se [Geth] avesse saputo che una cosa del genere poteva succedere, avrebbero dovuto preparare una guida per gli operatori dei nodi". Luongo ha condiviso simili frustrazioni, dicendo che il team di Geth è composto da "buoni sviluppatori" ma che manca "esperienza nella gestione delle infrastrutture" ed è "sottofinanziato".
I commenti si concentrano su una frustrazione condivisa da alcuni stakeholder Ethereum in merito al motivo per cui Geth ha tenuto Secret la modifica del consenso. Andando oltre, perché Infura, la spina dorsale dell'ecosistema Finanza decentralizzato di Ethereum, tra gli altri, non era a conoscenza di un bug che rompeva il consenso nel codice di Ethereum? Prima è stato attivato?
We’ve had to discretely fix bugs in Monero (on several occasions) for fear of them being exploited if the fix is made public, and this is exactly how we’ve gone about it, eg. in this instance in 2017.https://t.co/lnxhtZDZEz
— Riccardo Spagni (@fluffypony) November 11, 2020
"Questa è un BIT ' una zona grigia e richiede una discussione caso per caso", spiega Szilágyi nel suo post. "Siamo tutti d'accordo che la trasparenza è sovrana e che dovremmo impegnarci il più possibile per raggiungerla, ma è anche importante esaminare tutti i dettagli prima che le teste inizino a rotolare.
"Nel caso di Ethereum, ci vuole molto tempo (settimane, mesi) per far sì che gli operatori dei nodi aggiornino anche a un hard fork programmato. Evidenziare che una release contiene importanti correzioni di consenso o DoS comporta sempre il rischio che qualcuno cerchi di battere gli aggiornamenti sul tempo e di mandare in tilt la rete. La sicurezza tramite oscurità non è sicuramente qualcosa a cui puntare, ma ritardare un potenziale attacco abbastanza da rendere immuni la maggior parte degli operatori dei nodi potrebbe valere il "colpo" temporaneo alla trasparenza", ha continuato.
Alla fine, il team di Geth ha ritenuto che rivelare la vulnerabilità fosse troppo rischioso, quindi ha deciso che diffondere l’aggiornamento di nascosto avrebbe comportato il rischio minimo.
"Noi sosteniamo che in realtà ha funzionato", afferma Szilágyi. Anche se l'aggiornamento "ha preso una piega inaspettata con la divisione della rete di ieri", il team di Geth ritiene ancora che tenere nascosta la questione "sia stata la scelta giusta"
Mentre Ethereum si avvicina al suo più grande aggiornamento di sempre in ETH 2.0, il caso potrebbe rappresentare uno studio critico nel coordinamento dei client per l'ecosistema Ethereum .
"La cosa più importante qui, a mio parere, è che le persone che hanno fatto questa chiamata siano trasparenti sul ragionamento, ammettano eventuali errori e crescano", ha detto Luongo. "Monero ha gestito bene i [bug di consenso] in passato, così come Bitcoin e Zcash. Ci sono molti esempi e, sebbene sia sempre difficile coordinarsi in un settore, evitare qualsiasi tipo di coordinamento è estremamente pericoloso.
"Spero che questo fork porti a relazioni più strette e a riconsiderare il modo in cui i progetti su Ethereum interagiscono con lo sviluppo dei clienti".
Aggiornamento 00:36 UTC 12 novembre– Questo articolo è stato aggiornato per comunicare meglio che l'"hard fork" non è stata una modifica deliberata del codice, ma una divisione della catena innescata dal bug di consenso che gli sviluppatori Ethereum hanno silenziosamente corretto nella versione Geth v1.9.17.
Aggiornamento 21:02 UTC 12 novembre- Questo articolo è stato aggiornato per includere informazioni tratte da un'autopsia della fondazione Ethererum in merito alla scissione.
Colin Harper, Blockspace Media
Colin writes about Bitcoin. Formerly, he worked at CoinDesk as a tech reporter and Luxor Technology Corp. as head of research. Now, he is the Editor-in-Chief of Blockspace Media, and he also freelances for CoinDesk, Forbes and Bitcoin Magazine. He holds bitcoin.
