← Últimos artigos
💻 computer science

Smart Contract Invariants Protect Against Cybercriminals

Este artigo demonstra que os invariantes de contratos inteligentes, validados através do benchmark INVARIANTEVAL e da estrutura PONDEREPLAY, protegem efetivamente contra todos os 28 exploits reais da Ethereum ao bloquear ataques de cibercriminosos em 108.637 transações históricas.

Autores originais: Sofia Bobadilla, Humaira Afrin, Angela Novelli, Martin Monperrus

Publicado 2026-08-14
📖 4 min de leitura☕ Leitura rápida

Autores originais: Sofia Bobadilla, Humaira Afrin, Angela Novelli, Martin Monperrus

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine a internet como uma cidade digital gigante e movimentada onde o dinheiro não é guardado em bancos, mas em gigantescos cofres de vidro transparente chamados "blockchains". Dentro desses cofres vivem os "smart contracts" (contratos inteligentes), que são essencialmente máquinas de venda automática autoexecutáveis. Você insere o código correto (como uma moeda) e a máquina lhe entrega o produto correto (como um token), tudo isso sem um caixa humano. Mas aqui está o problema: essas máquinas de venda automática são construídas por humanos, e humanos cometem erros. Se um programador esquecer de trancar uma porta ou errar o cálculo do troco, um ladrão astuto pode entrar, pegar o cofre inteiro e desaparecer com bilhões de dólares. Este é o velho oeste da economia digital, onde cibercriminosos estão constantemente procurando um parafuso solto para abrir o vidro.

Para deter esses ladrões, cientistas da computação têm tentado construir trancas melhores. Uma ideia promissora é o "invariante". Pense em um invariante como uma regra mágica que a máquina de venda automática verifica antes de fazer qualquer coisa. É como um segurança de uma boate que verifica uma lista: "A pessoa tem mais de 21 anos? A porta está trancada? O preço coincide?". Se a resposta a qualquer uma dessas perguntas for "não", a máquina fecha a porta bruscamente e se recusa a se mover, mesmo que o ladrão esteja segurando uma chave mestra. A grande questão que os pesquisadores têm feito é: se tivéssemos esses seguranças mágicos em vigor durante os assaltos passados, eles teriam realmente parado os ladrões? E, mais importante, podemos ensinar os computadores a inventar esses seguranças por conta própria, ou ainda precisamos de especialistas humanos para escrever as regras?

Este artigo mergulha profundamente nessa questão ao estabelecer um experimento massivo e do mundo real. Os pesquisadores, uma equipe do KTH Royal Institute of Technology, decidiram parar de adivinhar e começar a testar. Eles reuniram uma coleção de 28 assaltos reais de bilhões de dólares que já haviam ocorrido na blockchain Ethereum. Para cada um desses desastres, eles atuaram como investigadores de cenas de crimes digitais. Eles analisaram exatamente como os ladrões invadiram e, então, escreveram manualmente um "invariante" específico (uma regra de segurança) que teria bloqueado aquele ataque específico. Eles chamaram essa coleção de INVARIANTEVAL.

Mas eles não apenas escreveram as regras; eles construíram uma máquina do tempo para testá-las. Usando uma ferramenta sofisticada que criaram chamada PONDEREPLAY, eles rodaram novamente a história da blockchain. Eles pegaram o código original e vulnerável, adicionaram suas novas regras de segurança e, em seguida, reproduziram 108.637 transações históricas. É como rebobinar um filme de um assalto a um banco, mas desta vez, o banco tem um novo sistema de alarme super forte.

Os resultados foram incrivelmente claros. Quando rodaram a reprodução, cada uma das 28 regras de segurança escritas por humanos funcionou perfeitamente. Em todos os casos, a transação de ataque atingiu a nova regra, a máquina disse "De jeito nenhum" e o roubo foi bloqueado. Os pesquisadores descobriram que essas regras não apenas pararam os vilões; elas também permitiram que os usuários legítimos (os bons usuários) continuassem usando o sistema normalmente 98,3% das vezes. Nas poucas vezes em que o sistema ficou rigoroso demais e bloqueou um usuário normal, os pesquisadores puderam rastrear exatamente o porquê, provando que as regras estavam funcionando conforme pretendido e não apenas falhando.

No entanto, a história toma um rumo drástico quando os pesquisadores fizeram a segunda pergunta: os computadores conseguem fazer isso? Eles pegaram as melhores e mais avançadas ferramentas automatizadas atualmente disponíveis na área — ferramentas projetadas para escrever automaticamente essas regras de segurança para nós — e as testaram contra esses 28 assaltos do mundo real. O resultado foi um fracasso humilhante. Dos 28 ataques que precisavam ser interrompidos, essas ferramentas automatizadas sofisticadas conseguiram descobrir a regra de segurança correta para apenas 2 deles. Os outros 26? As ferramentas ou perderam o perigo completamente ou escreveram regras que eram fracas demais para deter os ladrões.

Então, qual é a conclusão? O artigo prova que o conceito de "invariantes" é um escudo poderoso; se tivéssemos as regras certas em vigor, poderíamos ter interrompido mais de um bilhão de dólares em roubos. Mas a má notícia é que ainda não temos um robô que possa escrever essas regras para nós de forma confiável. Ainda precisamos de especialistas humanos para entender os truques específicos dos ladrões e escrever os guardas. A tecnologia para gerar automaticamente essas defesas ainda está em sua infância, deixando um enorme abismo entre o que sabemos que funciona e o que nossos computadores podem atualmente fazer por conta própria.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →