Só aprendi isso depois de passar por uma situação difícil.

No DeFi, depósitos, empréstimos e trocas são realizados automaticamente por contratos inteligentes, sem análise humana nem atendimento ao cliente que possa recuperar o dinheiro enviado por engano. Se o contrato foi escrito corretamente, ele é a regra mais confiável; se foi escrito errado, as vulnerabilidades também serão “executadas” à risca.

$ETH O Ethereum é uma das primeiras blockchains públicas a oferecer suporte a contratos inteligentes de uso geral. Preço atual: 2051.93 (24h -3.58%).

▍O código é a regra — e as vulnerabilidades também

Depois que um contrato inteligente é implantado na blockchain, ele é executado automaticamente de acordo com o código. Isso traz transparência e previsibilidade: qualquer pessoa pode ler o código e, em contratos que não podem ser atualizados, as regras não mudam porque alguém mudou de ideia.

Por outro lado, se uma vulnerabilidade no código for descoberta e explorada, os fundos podem ser transferidos em poucas transações, e é muito difícil recuperá-los. The DAO, em 2016, é um exemplo: o contrato foi atacado por causa de uma vulnerabilidade de reentrância, e o Ethereum resolveu a situação por meio de um hard fork. A cadeia original, que não sofreu o fork, continuou como Ethereum Classic (ETC).

▍O que exatamente é verificado em uma auditoria

Uma auditoria de segurança é uma análise feita por uma equipe de segurança independente, em determinado momento, sobre uma versão específica do código. O relatório geralmente lista os problemas encontrados, o nível de gravidade de cada um e se o projeto já os corrigiu.

Entre os itens verificados com frequência estão reentrância, erros no controle de permissões, problemas de precisão em cálculos e a possibilidade de manipulação de oráculos. As auditorias ajudam a detectar e reduzir vulnerabilidades comuns desse tipo, mas são limitadas pelo tempo, pela equipe disponível e pelo escopo da análise.

▍Por que ainda podem ocorrer problemas após uma auditoria

Primeiro, a auditoria cobre apenas o código dentro do escopo definido. Contratos fora desse escopo e funcionalidades adicionadas posteriormente não são incluídos. Se o código for alterado após a auditoria, ou se a versão efetivamente implantada for diferente da versão auditada, as conclusões não podem ser aplicadas diretamente.

Segundo, alguns riscos não estão no próprio código: o oráculo ou outro protocolo do qual o protocolo depende pode apresentar problemas; a chave de administrador com poderes de atualização pode ser roubada; ou a interface do site pode ser adulterada para induzir usuários a assinar transações maliciosas. Tudo isso pode causar prejuízos.

▍O que os usuários comuns podem fazer

Ao ler um relatório de auditoria, preste atenção à data, ao escopo e aos problemas ainda não corrigidos. Não se limite a ver as palavras “auditado”. Também vale a pena verificar se o contrato pode ser atualizado unilateralmente e se os poderes de atualização são controlados por uma carteira multisig e um bloqueio temporal.

Protocolos que estão em operação há muito tempo e já passaram por testes com grandes volumes de fundos costumam ser considerados mais confiáveis, mas isso não significa que estejam livres de vulnerabilidades. Por isso, na DeFi, mantenha apenas fundos cuja perda você conseguiria suportar, distribua grandes quantias entre diferentes protocolos e lembre-se de revogar as autorizações de protocolos que não usa mais.

▍Considerações finais

A auditoria é o ponto de partida da segurança, não o ponto final. É mais realista encarar os riscos dos contratos inteligentes como um custo inevitável da participação na DeFi do que confiar apenas nas palavras “auditado”. Não aja às pressas só porque todos à sua volta estão comprando.

Você já sabia disso?