Restricciones de Trading: Análisis Educativo

Comprende cómo las restricciones maliciosas de trading pueden atrapar tus inversiones a través de blacklists, funciones de pausa y limitaciones selectivas.

Contenido Educativo

Este análisis se basa en datos blockchain públicos y casos documentados. Solo para fines educativos.

Blacklists Automáticas

Contratos que automáticamente impiden a grandes compradores vender

Funciones de Pausa

Mecanismos que pueden parar todo trading sin aviso previo

Tipos de Restricciones Maliciosas

Blacklisting de Wallets

Contratos mantienen listas de direcciones prohibidas de tradear, generalmente añadidas tras grandes compras

Funciones de Pausa Global

Desarrolladores pueden pausar todo el trading "para mantenimiento" pero nunca reactivan

Restricciones Temporales

Implementan "períodos de lock" que se extienden indefinidamente o tienen condiciones imposibles de cumplir

Patrones Maliciosos Comunes

Anti-Whale con Blacklist

Tokens que detectan grandes compras y automáticamente añaden al comprador a una blacklist permanente

Código típico: Función que añade a blacklist cuando amount > maxTxAmount

Abuso de Pause Function

Contratos con función pauseTrading() que puede activarse en cualquier momento por desarrolladores

Riesgo: Trading puede pausarse permanentemente tras recaudación de fondos

Manipulación de Cooldown

Implementan cooldowns de venta que pueden extenderse dinámicamente

Método: Período de cooldown que aumenta automáticamente

Cómo Identificar Restricciones Maliciosas

🚨 Funciones Sospechosas

  • • addToBlacklist() o similar
  • • pauseTrading() sin timelock
  • • setMaxTxAmount() modificable
  • • setCooldownEnabled() dinámico
  • • excludeFromReward() selectivo

⚠️ Señales de Alerta

  • • Muchos poderes administrativos
  • • Ausencia de renounceOwnership()
  • • Modificadores onlyOwner excesivos
  • • Funciones de emergencia vagas
  • • Control total sobre trading

Ejemplos de Código Malicioso

Blacklist Automática:

function _transfer(address from, address to, uint256 amount) internal {
    if (amount > maxTxAmount && !isExcluded[from]) {
        blacklist[from] = true; // Añade automáticamente a blacklist
    }
    require(!blacklist[from], "Address blacklisted");
    // ... resto de transferencia
}

Pausa Maliciosa:

bool public tradingPaused = false;

function pauseTrading() external onlyOwner {
    tradingPaused = true; // Sin timelock o condiciones de reactivación
}

function _beforeTokenTransfer(address from, address to) internal {
    require(!tradingPaused, "Trading is paused");
}

Protección y Verificación

Antes de invertir, siempre verifica si el contrato posee restricciones maliciosas:

Análisis de Contrato:
  • • Revisar todas las funciones onlyOwner
  • • Verificar existencia de blacklists
  • • Chequear funciones de pausa
  • • Analizar modificadores de transferencia
Pruebas Prácticas:
  • • Simular ventas antes de comprar
  • • Verificar historial de transacciones
  • • Monitorear actividad administrativa
  • • Probar con pequeñas cantidades primero
Consejo de Seguridad: Si un contrato tiene muchas funciones administrativas o el owner no ha renunciado a la propiedad, considéralo un riesgo elevado.

Preguntas Frecuentes: Restricciones de Trading