Programa de recompensas de bugs da Ethereum descobre bugs no novo ABIEncoderV2

Uma razão pela qual o Ethereum tem sido um projeto de sucesso por todos esses anos por causa de sua comunidade ativa que contribui para a melhoria do projeto. O recente programa de recompensas de bugs viu o mesmo quando a equipe de desenvolvimento recebeu um relatório sobre uma falha no novo codificador ABI experimental (referido como ABIEncoderV2) e dois bugs de baixo impacto.

Ethereum é lançado 0.5.7 versão para corrigir o bug

A Ethereum Foundation, a principal participante por trás do desenvolvimento do Ethereum, lançou uma postagem no blog em 26 de março intitulada como ‘Solidity Optimizer and ABIEncoderV1 Bug’, que falava sobre um bug descoberto no codificador ABI e dois bugs encontrados no otimizador,

Na postagem do blog, a Fundação afirmou que recebeu um relatório sobre a “falha” no “novo codificador ABI experimental”, também conhecido como ABIEncoderV2 por meio do programa de recompensas de bugs. A equipe revelou ainda que havia dois bugs descobertos no Solidity Optimizer nas últimas duas semanas. No entanto, esses bugs tiveram “baixo impacto.”

Este bug diz respeito àqueles que implantaram contratos que usam o codificador experimental ABI V2, então eles podem ser afetados. Isso significa que apenas os contratos que usam a seguinte diretiva no código-fonte podem ser afetados:

  • pragma experimental ABIEncoderV2;

A Fundação identificou que existem cerca de 2500 contratos ao vivo na rede principal que usam o ABIEncoderV2 experimental, mas não está claro quantos deles contêm o bug.

O bug só se manifesta quando todas as seguintes condições são atendidas:

  • Dados de armazenamento envolvendo arrays ou structs são enviados diretamente para uma chamada de função externa, para abi.codificar ou para dados de eventos sem uma atribuição prévia a uma variável local (memória) E
  • existe um array que contém elementos com tamanho menor que 32 bytes ou um struct que possui elementos que compartilham um slot de armazenamento ou membros do tipo bytes menores que 32 bytes.

A postagem também menciona que “A melhor maneira de se proteger contra esses tipos de falhas é ter um conjunto rigoroso de testes de ponta a ponta para seus contratos (verificando todos os caminhos de código), pois os bugs em um compilador provavelmente não são “silenciosos” e, em vez disso, manifesto em dados inválidos.”

É incrível ver como a equipe de desenvolvimento da Ethereum trabalha para proteger o software e seus módulos auxiliares. O exame do problema e sua solução fornecida mostram exatamente por que o Ethereum é um projeto de classe mundial.

Enquanto os desenvolvedores estão ocupados corrigindo esse bug, o preço do Ethereum ficou perto de US$ 140 por 3.35%.

O Ethereum será capaz de sair dessa bagunça tecnológica e voltar aos seus dias de glória? DÊ-nos a sua opinião sobre o mesmo.

You May Also Like

About the Author: Medusa