Básico
Spot
Opera con criptomonedas libremente
Margen
Multiplica tus beneficios con el apalancamiento
Convertir e Inversión automática
0 Fees
Opera cualquier volumen sin tarifas ni deslizamiento
ETF
Obtén exposición a posiciones apalancadas de forma sencilla
Trading premercado
Opera nuevos tokens antes de su listado
Contrato
Accede a cientos de contratos perpetuos
TradFi
Oro
Plataforma global de activos tradicionales
Opciones
Hot
Opera con opciones estándar al estilo europeo
Cuenta unificada
Maximiza la eficacia de tu capital
Trading de prueba
Introducción al trading de futuros
Prepárate para operar con futuros
Eventos de futuros
Únete a eventos para ganar recompensas
Trading de prueba
Usa fondos virtuales para probar el trading sin asumir riesgos
Lanzamiento
CandyDrop
Acumula golosinas para ganar airdrops
Launchpool
Staking rápido, ¡gana nuevos tokens con potencial!
HODLer Airdrop
Holdea GT y consigue airdrops enormes gratis
Pre-IPOs
Accede al acceso completo a las OPV de acciones globales
Puntos Alpha
Opera activos on-chain y recibe airdrops
Puntos de futuros
Gana puntos de futuros y reclama recompensas de airdrop
Inversión
Simple Earn
Genera intereses con los tokens inactivos
Inversión automática
Invierte automáticamente de forma regular
Inversión dual
Aprovecha la volatilidad del mercado
Staking flexible
Gana recompensas con el staking flexible
Préstamo de criptomonedas
0 Fees
Usa tu cripto como garantía y pide otra en préstamo
Centro de préstamos
Centro de préstamos integral
Centro de patrimonio VIP
Planes de aumento patrimonial prémium
Gestión patrimonial privada
Asignación de activos prémium
Quant Fund
Estrategias cuantitativas de alto nivel
Staking
Haz staking de criptomonedas para ganar en productos PoS
Apalancamiento inteligente
Apalancamiento sin liquidación
Acuñación de GUSD
Acuña GUSD y gana rentabilidad de RWA
Promociones
Centro de actividades
Únete a actividades y gana recompensas
Referido
20 USDT
Invita amigos y gana por tus referidos
Programa de afiliados
Gana recompensas de comisión exclusivas
Gate Booster
Aumenta tu influencia y gana airdrops
Anuncio
Novedades de plataforma en tiempo real
Gate Blog
Artículos del sector de las criptomonedas
AI
Gate AI
Tu compañero de IA conversacional para todo
Gate AI Bot
Usa Gate AI directamente en tu aplicación social
GateClaw
Gate Blue Lobster, listo para usar
Gate for AI Agent
Infraestructura de IA, Gate MCP, Skills y CLI
Gate Skills Hub
+10 000 habilidades
De la oficina al trading, una biblioteca de habilidades todo en uno para sacar el máximo partido a la IA
GateRouter
Elige inteligentemente entre más de 40 modelos de IA, con 0% de costos adicionales
Acabo de escribir un análisis sobre reentrancy - un problema de seguridad que todavía muchos desarrolladores pasan por alto al construir contratos inteligentes.
En pocas palabras, reentrancy es cuando un contrato inteligente es llamado varias veces antes de completar la primera llamada. Imagina esto: ContractA está ejecutando una función, llama a ContractB, y ContractB vuelve a llamar a ContractA mientras aún no ha terminado. Esa es la vulnerabilidad que un atacante puede explotar.
Un ejemplo concreto: EtherStore tiene 10 Ether, ContractB ha enviado 1 Ether. Cuando ContractB llama a la función de retiro, verifica si el saldo es mayor que 0, y si lo es, envía Ether de vuelta. Pero aquí está el peligro: la actualización del saldo a 0 ocurre después de enviar el Ether. Por lo tanto, el atacante puede crear una función fallback que, al recibir Ether, vuelva a llamar a la función de retiro una vez más. Este ciclo continúa hasta que se agoten todos los Ether.
Voy a mostrar tres formas de prevenir reentrancy:
Primero, usar el modificador nonReentrant. Esta forma bloquea el contrato mientras la función está en ejecución, por lo que nadie puede volver a entrar. Es simple pero efectivo para una sola función.
En segundo lugar, aplicar el patrón Checks-Effects-Interactions. En lugar de actualizar el saldo después de enviar el Ether, actualízalo antes. De esta forma, incluso si se produce una llamada recursiva, el saldo ya será 0 y la verificación fallará.
En tercer lugar, crear un contrato separado llamado GlobalReentrancyGuard. Esta técnica usa una variable de estado compartida para controlar la reentrancy en múltiples contratos a la vez. Es especialmente útil cuando tu proyecto tiene varios contratos que interactúan entre sí. En lugar de verificar en cada contrato, lo haces en un lugar centralizado.
El problema de reentrancy no es nuevo, pero sigue siendo una de las vulnerabilidades más comunes. He visto que muchos desarrolladores aún no aplican estas medidas de forma consistente. Si trabajas con Solidity, asegúrate de entender bien este problema y de aplicar al menos uno de estos tres métodos en tu proyecto. La seguridad de los contratos inteligentes no es opcional, es obligatoria.