Go-Ethereum (Geth), o cliente de software mais popular de Ethereum utilizado por 74% de todos os operadores de nó, lançou na manhã desta terça (24) a correção para um bug de alta gravidade que colocava em risco a segurança da blockchain.
De acordo com a breve descrição do problema no GitHub, a falha poderia fazer com que um operador de nó não fosse mais capaz de processar a cadeia do Ethereum.
A origem do problema e seu real impacto na rede ainda não foi divulgado “para dar aos operadores de nós e aos projetos downstream dependentes tempo para atualizar seus nós e software”, disse o líder da equipe do Ethereum, Péter Szilágyi, ao publicar no Github a nova versão v1.10.8 corrigida do Geth.
Ele afirma que todos aqueles que rodam o Geth precisam atualizar o software o mais rápido possível, já que todas as outras versões, inclusive as que suportam o hard fork London, são vulneráveis. O bug, no entanto, é mais antigo e não foi introduzido na última atualização do Ethereum.
A falha foi encontrado na última quarta (18) por Guido Vranken, um desenvolvedor especializado em encontrar vulnerabilidades em códigos abertos. Ele reportou o erro para o programa de Bug Bounty do Ethereum que recompensa usuários que alertam sobre bugs no projeto.
Infura, o principal provedor de infraestrutura do Ethereum utilizado por milhares de projetos para obter dados da blockchain, incluindo exchanges de criptomoedas e carteiras populares como a Metamask, anunciou que estaria pronta para a nova versão do Geth.
A Binance interrompeu os saques e depósitos de todos os tokens baseados no padrão ERC-20 por duas horas na manhã desta terça (24). A corretora informou que suspendeu os serviços das 6h às 8h da manhã para fazer uma manutenção da carteira da Rede Ethereum (ERC20), mas não revelou se a revisão tinha relação com o bug da Geth.
Bug da Geth já dividiu blockchain do ETH
Pelo fato do Geth ser o cliente de software do Ethereum mais utilizado no mundo, erros no seu código são críticos para o bem-estar da rede. Em novembro do ano passado, a blockchain do ETH se dividiu temporariamente porque um grande número de nodes não atualizaram para uma nova versão do Geth lançada na época que corrigia um bug crítico no código.
A falta de consenso entre os operadores fez a cadeia se dividir em uma versão mais longa e uma versão mais curta. Quando isso acontece normalmente, os nodes aderem à versão mais longa. Mas naquele momento, os nodes que não foram atualizados ficaram com a cadeia maior, processando blocos diferentes e incompatíveis com outras versões da blockchain.
Antes do problema ser resolvido, diversas corretoras e carteiras de Ethereum tiveram seus serviços impactados porque dependiam da infraestrutura do Infura, que estava desatualizado na época.