A tão esperada atualização da rede do Ethereum, o hard fork Constantinople, cujo lançamento era previsto para esta quarta-feira, 16 de janeiro, acaba de ser adiada depois que uma vulnerabilidade crítica foi descoberta em uma das mudanças planejadas.
A empresa de auditoria de contratos inteligentes ChainSecurity alertou nesta terça-feira, 15 de janeiro, que a Proposta de Melhoria Ethereum (EIP) 1283, se implementada, poderia fornecer aos atacantes uma brecha no código que possibilitaria o roubo de fundos de usuários. Os desenvolvedores do Ethereum, assim como os desenvolvedores de softwares de clientes e outros projetos que executam a rede, concordaram, por meio de uma chamada de vídeo, em atrasar o fork – pelo menos temporariamente – enquanto avaliavam o problema.
Segundo o portal de notícias CoinDesk, entre os participantes da reunião estavam o criador do Ethereum Vitalik Buterin, os desenvolvedores Hudson Jameson, Nick Johnson e Evan Van Ness e a gerente de lançamento da Parity Afri Schoedon, entre outros.
Ao discutir a vulnerabilidade on-line, os principais desenvolvedores do projeto chegaram à conclusão de que levaria muito tempo para corrigir o bug, o que não ocorreria antes da divisão da rede, que era esperada para acontecer por volta das 04:00 UTC de 16 de janeiro.
Chamado de “ataque de reentrada”, a vulnerabilidade essencialmente permite que um invasor “reentre” a mesma função várias vezes sem atualizar o usuário sobre o status daquela entrada. Desta forma, um hacker poderia essencialmente “retirar fundos para sempre”, disse Joanes Espanol, CTO da empresa de análise de blockchain Amberdata, em uma entrevista anterior à CoinDesk.
Confira nossas sugestões de Pre-Sales para investir agora
“Imagine que meu contrato tenha uma função que faça uma ligação para outro contrato. Se eu for um hacker e puder ativar a função enquanto a função anterior ainda está em execução, talvez seja possível retirar fundos mais de uma vez”, afirmou Espanol.
Essa falha é semelhante a uma das vulnerabilidades encontradas no agora infame ataque DAO de 2016. Na ocasião, mais de US$150 milhões foram desviados do projeto por hackers que exploraram uma falha semelhante.
A publicação da ChainSecurity explicou que, antes do Constantinople, as operações de armazenamento na rede custariam 5.000 gas, excedendo os 2.300 normalmente enviados ao chamar um contrato usando funções de “transferência” ou “envio”.
No entanto, se a atualização for implementada, as operações de armazenamento “suspeitas” custariam 200 gas. Um “contrato de invasor pode usar 2300 gas para manipular a variável do contrato vulnerável com sucesso”.
O hard fork Constantinople tinha previsão de ser ativado no ano passado, mas foi adiado depois que problemas foram encontrados durante o lançamento das atualizações no testnet do Ropsten. Após o adiamento, foi escolhida a data de 16 de janeiro para o lançamento final.
A CoinDesk afirmou que uma nova data do fork será decidida durante outra chamada dos desenvolvedores do Ethereum na sexta-feira, 18 de janeiro.