Desenvolvedores que priorizam segurança podem esperar que a codificação livre de bugs se torne alcançável na década de 2030, de acordo com o cofundador do Ethereum, Vitalik Buterin. 

Após o controverso hard fork da Gnosis Chain para recuperar $9.4 milhões do hack do Balancer, o cofundador do Ethereum, Vitalik Buterin, disse que a crença de que “bugs são inevitáveis, você não pode fazer um código livre de bugs” deixará de ser verdadeira na década de 2030.

O que Vitalik Buterin disse sobre codificação? 

Vitalik Buterin fez uma previsão de que códigos livres de bugs se tornarão uma realidade na década de 2030 através de uma interação na plataforma de mídia social, X. 

A discussão começou quando a Gnosis Chain anunciou que executou um hard fork em 22 de dezembro, conforme relatado pelo Cryptopolitan. O hard fork recuperou $9,4 milhões roubados durante a exploração do Balancer em novembro de 2024, que drenou mais de $128 milhões em várias blockchains. A recuperação exigiu que a maioria dos validadores adotasse novo software, e aqueles que não conseguiram atualizar estão enfrentando penalidades.

Isso, é claro, foi recebido com alguma resistência por parte dos apoiadores da blockchain que criticaram a medida porque vai contra o princípio da imutabilidade. Um usuário do X com o nome de ‘nó coludido’ disse que o verdadeiro problema é como as aplicações de blockchain são construídas. Eles argumentaram que usar contratos inteligentes em máquinas virtuais programáveis é a abordagem errada.

“Existem apenas 7 contratos que valem a pena escrever, e eles devem ser consagrados na camada base e obter segurança a partir da diversidade de clientes,” escreveu o usuário.

Buterin então respondeu esclarecendo que verificado formalmente não é igual a livre de bugs comprovadamente. Ele foi além ao sugerir que um código livre de bugs comprovadamente pode não ser nem mesmo possível.

“Eu chegaria até a dizer que ‘livre de bugs comprovadamente’ não é possível, porque ‘livre de bugs’ significa ‘sem lacuna entre intenção e execução do código’, e nossa intenção é um objeto extremamente complexo ao qual temos apenas acesso limitado.”

A verificação formal utiliza métodos matemáticos para verificar se sistemas críticos de segurança funcionam corretamente. A técnica tem sido usada desde a década de 1960 em campos como engenharia aeroespacial.

Quando usado em contratos inteligentes, a verificação formal pode provar que a lógica de negócios de um contrato atende a uma especificação pré-definida; no entanto, apesar do fato de que os contratos do Balancer foram auditados 11 vezes, conduzidos por quatro empresas de segurança separadas, uma falha crítica ainda escapou.

É um futuro de código livre de bugs possível?

Buterin propôs que a solução são múltiplas camadas de redundância para filtrar lacunas entre intenção e execução. Ele destacou sistemas de tipos como uma forma de redundância, e a verificação formal de reivindicações específicas sobre o código como outra camada.

A verificação formal pode detectar problemas como subfluxos e sobrecargas inteiras, reentrância e otimizações de gás ruins que podem passar despercebidas por auditores e testadores. Enquanto isso, a testagem tradicional pode apenas verificar a presença de erros em vez de sua ausência.

Buterin observou que algum software continuará tendo bugs porque ganhos de funcionalidade importam mais do que perfeição em certos casos. Mas os desenvolvedores que priorizam a segurança terão as ferramentas para alcançar um código verdadeiramente livre de bugs.

Junte-se a uma comunidade de negociação de cripto premium gratuita por 30 dias - normalmente $100/mês.