Blockchain e tecnologia Guia 6 de 6
Como checar um smart contract antes de interagir
Verificações práticas que quem não é desenvolvedor pode fazer antes de aprovar uma transação — status de verificação, funções privilegiadas, escopo de aprovação e revogação.
Você não precisa saber ler código para evitar a maioria dos desastres com contratos. A maior parte das perdas vem de um pequeno número de condições que podem ser checadas.
1. O contrato está verificado?
Um contrato verificado tem o código-fonte publicado, que um block explorer confirmou compilar exatamente para o bytecode implantado. Não verificado significa que ninguém fora de quem implantou o contrato sabe o que ele faz.
Trate um contrato não verificado como hostil. Não existe motivo legítimo para um projeto que pede seu dinheiro esconder o código-fonte. Essa única checagem já elimina muita coisa.
2. O que o proprietário pode fazer?
Mesmo em código verificado, quem não é desenvolvedor consegue buscar as funções que importam. Procure por:
mint— o proprietário pode criar novos tokens sem limite? Isso dilui você a zero, quando ele quiser.pause/blacklist— ele pode impedir você de vender, ou bloquear seu endereço específico? Tokens do tipo honeypot funcionam exatamente assim: você consegue comprar e depois não consegue vender.setFee/setTax— a taxa de transferência pode ser alterada depois que você compra? Uma taxa elevada a 99% é uma armadilha.onlyOwner— quantas funções são restritas a um único endereço, e esse endereço é uma chave única ou uma multisig?
Muitos explorers já mostram essas informações automaticamente. Se o proprietário pode emitir, pausar ou taxar quando quiser, as regras do token são o que ele decidir amanhã.
3. Entenda o que você está aprovando
É aqui que a maioria dos esvaziamentos de carteira acontece. Para deixar um contrato movimentar seus tokens, você concede um allowance (permissão). Duas coisas surpreendem as pessoas:
- As permissões costumam ser ilimitadas. Muitas interfaces já vêm configuradas por padrão para aprovar o valor máximo possível, então o contrato pode movimentar cada token daquele tipo que você tem — agora e qualquer um que você venha a adquirir depois.
- Elas permanecem indefinidamente. A aprovação continua valendo depois que você termina, até que você a revogue. Um protocolo comprometido um ano depois ainda pode agir sobre uma permissão que você concedeu hoje.
Leia a tela de aprovação. Sua carteira mostra qual contrato e qual valor. Se estiver marcado como ilimitado e você estiver fazendo uma troca pontual, defina um valor específico em vez disso.
4. Reconheça um pedido de assinatura malicioso
Nem toda assinatura é uma transação. Alguns pedidos pedem para você assinar uma mensagem que concede permissões fora da rede (off-chain) — uma técnica muito usada em sites falsos de mint e airdrop.
Sinais de alerta: um pedido de assinatura que você não iniciou; um pedido que aparece logo depois de clicar em um link de mensagem direta ou anúncio; um pedido cujo conteúdo sua carteira não consegue decodificar em algo legível; ou qualquer prompt em um site acessado a partir de uma fonte não solicitada. Na dúvida, recuse. Uma ação legítima sempre pode ser repetida.
5. Revogue aprovações antigas
Transforme isso em hábito. Use uma ferramenta de revogação confiável — acessada digitando o endereço diretamente, já que existem sites falsos de revogação, e esse é exatamente o tipo de armadilha que pega usuários preocupados com segurança — e limpe as permissões que você não precisa mais, especialmente as ilimitadas e as de protocolos que você não usa mais.
6. Trate “auditado” com cuidado
Uma auditoria é uma revisão feita em um momento específico, por pessoas falíveis, muitas vezes de uma versão que depois mudou. Muitos protocolos auditados já foram explorados.
Perguntas úteis: quem fez a auditoria, o relatório é público, quais problemas de gravidade foram encontrados, eles foram corrigidos, e o contrato foi modificado desde então? “Auditado por” sem um relatório linkado é marketing.
7. Prefira contratos testados pelo tempo
O sinal mais forte disponível é a sobrevivência. Um protocolo que guarda um valor significativo por anos sem sofrer um ataque esteve sob ataque contínuo de adversários bem financiados e resistiu. Esse é um teste mais difícil do que qualquer auditoria.
Contratos novos são, por definição, não comprovados, não importa quão bom o código pareça.
Uma checklist de pré-voo
- Contrato verificado em um block explorer
- Sem funções de mint ilimitado, pause, blacklist ou taxa mutável — ou propriedade renunciada
- Escopo da aprovação entendido, e limitado quando possível
- Pedido de assinatura iniciado por mim, em um site que eu acessei diretamente
- Protocolo tem histórico operacional relevante e valor real em jogo
- Usando uma carteira que guarda apenas o que eu posso perder
O que ler a seguir
Você concluiu a trilha de Ganhos & DeFi — e as quatro trilhas. O glossário cobre qualquer termo que você queira revisitar, e o hub de aprendizado mostra seu progresso.
Participe da discussão
Tem uma pergunta ou encontrou um erro?
Os comentários estão abertos a membros e são moderados antes de aparecer. Perguntas e correções são sempre bem-vindas; promoção e previsões de preço não são.
Cadastre-se Entrar