Bugs são encontrados em compilador de contratos inteligentes da Ethereum; a equipe minimiza as preocupações
Contratos inteligentes importantes da Ethereum 2.0 não são afetados pelos bugs, dizem os desenvolvedores.
Um post de 8 de janeiro publicado pela Ethereum Foundation (EF) revelou que os desenvolvedores estão trabalhando em uma nova implementação do compilador Vyper, devido a “vários bugs graves” na versão existente. A equipe do Vyperlang respondeu observando que os contratos inteligentes existentes do Vyper não foram afetados por esses bugs.
Vyper é uma linguagem de programação alternativa para o Ethereum, originalmente concebida por Vitalik Buterin. Ele se concentra em ser o mais legível possível, mesmo com o custo de perder alguns dos recursos mais avançados encontrados no Solidity, a linguagem principal.
Embora inicialmente faça parte do principal grupo de códigos da Ethereum (ETH), desde então ele se transformou em um repositório independente após uma auditoria preliminar de outubro de 2019 feita pela Consensys Diligence. O relatório encontrou 31 problemas com o compilador Vyper, o software que traduz o idioma em código de computador para a Ethereum Virtual Machine (EVM).
Desenvolvedores da Ethereum Foundation explicaram em seu blog como aos poucos ficaram desiludidos com os mantenedores do Vyper:
“Após alguns meses de trabalho, ficamos céticos de que a base de código python provavelmente apresentaria a idéia prometida pelo Vyper. A base de código continha uma quantidade significativa de dívida técnica e arquitetônica e, da nossa perspectiva, não parecia que os mantenedores existentes estavam focados em consertar isso “.
Mesmo antes do relatório, a equipe da EF começou a trabalhar em um novo compilador Vyper baseado no idioma Rust. A decisão foi motivada pelo aumento da portabilidade para o EWASM, uma nova implementação de máquina virtual que substitui o EVM que deve ser introduzido no Ethereum 2.0.
Erros do compilador não são críticos, argumentam desenvolvedores do Vyper
Os erros encontrados no compilador Vyper foram especialmente significativos devido ao seu uso no contrato de depósito Ethereum 2.0, um componente crítico do sistema Proof-of-Stake (PoS).
No entanto, os desenvolvedores do Vyper esclareceram em uma thread do Twitter que uma auditoria separada foi realizada para o próprio contrato pela Runtime Verification, que não encontrou bugs não corrigidos. Ele usou o código de máquina compilado do contrato para executar a análise, o que significa que qualquer anomalia introduzida pelo compilador seria detectada.
Além disso, a equipe do Vyperlang lançou uma atualização em 7 de janeiro, alegando ter corrigido mais de 75% dos erros descritos pela auditoria da Consensys.
O desenvolvimento das versões Rust e Python do Vyper continuará, embora os desenvolvedores da EF continuem esperançosos de que ambas as implementações trabalhem em direção a uma única linguagem Vyper – uma meta que provavelmente exigirá uma cooperação estreita entre as duas equipes.