Restrições de Trading: Análise Educativa
Compreenda como restrições maliciosas de trading podem prender seus investimentos através de blacklists, funções de pausa e limitações seletivas.
Conteúdo Educacional
Esta análise é baseada em dados blockchain públicos e casos documentados. Apenas para fins educacionais.
Blacklists Automáticas
Contratos que automaticamente impedem grandes compradores de vender
Funções de Pausa
Mecanismos que podem parar todo trading sem aviso prévio
Tipos de Restrições Maliciosas
Blacklisting de Carteiras
Contratos mantêm listas de endereços proibidos de negociar, geralmente adicionados após grandes compras
Funções de Pausa Global
Desenvolvedores podem pausar todas as negociações "para manutenção" mas nunca reativam
Restrições Temporais
Implementam "períodos de lock" que se estendem indefinidamente ou têm condições impossíveis de cumprir
Padrões Maliciosos Comuns
Anti-Whale com Blacklist
Tokens que detectam grandes compras e automaticamente adicionam o comprador a uma blacklist permanente
Pause Function Abuse
Contratos com função pauseTrading() que pode ser ativada a qualquer momento pelos desenvolvedores
Cooldown Manipulation
Implementam cooldowns de venda que podem ser estendidos dinamicamente
Como Identificar Restrições Maliciosas
🚨 Funções Suspeitas
- • addToBlacklist() ou similar
- • pauseTrading() sem timelock
- • setMaxTxAmount() modificável
- • setCooldownEnabled() dinâmico
- • excludeFromReward() seletivo
⚠️ Sinais de Alerta
- • Muitos poderes administrativos
- • Ausência de renounceOwnership()
- • Modificadores onlyOwner excessivos
- • Funções de emergência vagas
- • Controle total sobre trading
Exemplos de Código Malicioso
Blacklist Automática:
function _transfer(address from, address to, uint256 amount) internal {
if (amount > maxTxAmount && !isExcluded[from]) {
blacklist[from] = true; // Adiciona automaticamente à blacklist
}
require(!blacklist[from], "Address blacklisted");
// ... resto da transferência
}Pause Maliciosa:
bool public tradingPaused = false;
function pauseTrading() external onlyOwner {
tradingPaused = true; // Sem timelock ou condições de reativação
}
function _beforeTokenTransfer(address from, address to) internal {
require(!tradingPaused, "Trading is paused");
}Proteção e Verificação
Antes de investir, sempre verifique se o contrato possui restrições maliciosas:
- • Revisar todas as funções onlyOwner
- • Verificar existência de blacklists
- • Checar funções de pause
- • Analisar modificadores de transferência
- • Simular vendas antes de comprar
- • Verificar histórico de transações
- • Monitorar atividade administrativa
- • Testar com pequenas quantias primeiro