Security ·

Seguridad de direcciones EVM: Ethereum, Base, Polygon y más


La Ethereum Virtual Machine se ha convertido en la plataforma dominante de contratos inteligentes, y su formato de dirección se extiende mucho más allá de Ethereum. Polygon, Arbitrum, Optimism, Base, BNB Chain y Avalanche comparten el mismo sistema de direcciones. Esta universalidad es poderosa pero introduce matices de seguridad que todo usuario necesita entender.

Esta guía cubre cómo funcionan las direcciones EVM internamente, por qué una sola clave privada controla activos en todas las cadenas EVM, cómo los checksums te protegen de errores tipográficos y los errores más comunes que llevan a la pérdida de fondos.

Las direcciones EVM son universales

Toda blockchain compatible con EVM usa el mismo formato de dirección: una cadena hexadecimal de 40 caracteres con prefijo 0x. Esta universalidad es consecuencia directa de cómo se derivan las direcciones EVM:

  1. Generar una clave privada aleatoria de 256 bits.
  2. Calcular la clave pública usando la curva elíptica secp256k1.
  3. Tomar el hash Keccak-256 de la clave pública.
  4. Conservar los últimos 20 bytes.
  5. Anteponer 0x.

Porque cada cadena EVM sigue exactamente la misma derivación, la misma clave privada siempre produce la misma dirección en cada cadena. Esto es fundamentalmente diferente de cómo funcionan las direcciones de Bitcoin, que tiene múltiples formatos de dirección con datos específicos de la cadena.

Una clave privada, muchas cadenas

Cuando creas una billetera Ethereum, ya sea a través de MetaMask, una billetera hardware o el Generador de frases semilla Ethereum de SafeSeed, tu frase semilla te da acceso a la misma dirección en todas las cadenas EVM simultáneamente.

La ventaja: Solo necesitas asegurar una frase semilla para controlar tus activos en todas las cadenas EVM. Entender las frases semilla vs claves privadas ayuda a clarificar esta relación.

El riesgo: Si tu clave privada se ve comprometida, un atacante obtiene acceso a tus fondos en todas las cadenas EVM a la vez. El radio de explosión de un compromiso es mucho mayor que con claves específicas de cada cadena.

Este modelo de clave compartida significa que las rutas de derivación importan. La ruta estándar de Ethereum es m/44'/60'/0'/0/0. Si usaste una ruta no estándar, asegúrate de documentarla. Nuestro análisis de billeteras HD y rutas de derivación cubre los detalles técnicos.

Implicación práctica para la generación de claves: Cuando generas una billetera Ethereum, estás generando una billetera para todo el ecosistema EVM. Usa entropía apropiada, genera offline si tienes valor significativo y sigue las mejores prácticas de almacenamiento en frío.

Checksums mixtos EIP-55

EIP-55 codifica un checksum en la capitalización de la dirección:

  1. Tomar la dirección en minúsculas (sin prefijo 0x).
  2. Calcular el hash Keccak-256 de esta dirección en minúsculas.
  3. Para cada carácter: si el nibble correspondiente en el hash es 8 o superior, capitalizar el carácter.

El resultado es una dirección como 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed donde el patrón de capitalización sirve como checksum.

Puedes validar checksums EIP-55 usando el Validador de direcciones Ethereum de SafeSeed. Para una visión más amplia de las diferencias de formato entre cadenas, consulta formatos de direcciones cripto.

Nota crítica: Los checksums EIP-55 son aplicados por las billeteras, no por la blockchain misma.

Errores comunes entre L2

Enviar tokens en la red equivocada

El error más común. Como las direcciones son idénticas entre cadenas, las billeteras no siempre pueden detectar este error. Prevención: Siempre confirma el selector de red antes de firmar una transacción.

Enviar a una dirección de contrato que no existe en la cadena destino

Un contrato inteligente desplegado en Ethereum puede no existir en Polygon. Si envías tokens a una dirección de contrato en una cadena donde no hay contrato desplegado, tus tokens se pierden permanentemente. Prevención: Verifica que el contrato esté desplegado en la cadena específica.

Pérdidas relacionadas con puentes

Mover activos entre cadenas EVM requiere puentes, y los puentes han sido la fuente de algunos de los mayores exploits en la historia cripto. Prevención: Usa puentes bien establecidos con fuertes historiales de seguridad.

Ataques de envenenamiento de direcciones

Un atacante envía cantidades diminutas desde una dirección que visualmente se parece a la tuya. Prevención: Nunca copies direcciones del historial de transacciones. Siempre usa tu libreta de direcciones. Valida cualquier dirección con el Validador de direcciones Ethereum de SafeSeed. Entender las estafas cripto comunes con frases semilla ayuda a reconocer patrones de ataque más amplios.

Generar direcciones EVM de forma segura

Usar aleatoriedad criptográficamente segura

El Generador de claves privadas Ethereum de SafeSeed usa la Web Crypto API para obtener aleatoriedad. Aprende más sobre qué significa la entropía en cripto.

Generar offline para billeteras de alto valor

Nuestra guía paso a paso para generar una billetera Ethereum offline explica todo el proceso.

Derivar direcciones correctamente

Al generar desde una frase semilla BIP39, asegúrate de usar la ruta de derivación correcta para Ethereum: m/44'/60'/0'/0/0.

Validar antes de fondear

Antes de enviar criptomonedas a una dirección recién generada, verifica con el Validador de direcciones Ethereum de SafeSeed. Considera enviar primero una transacción de prueba pequeña.

Documenta tu configuración

Registra qué software de billetera, ruta de derivación y red usaste. Esta información es crítica para herederos o para tu propia recuperación años después.

El modelo de dirección compartida en las cadenas EVM es una de las mayores conveniencias del ecosistema. También es un punto concentrado de fallo. Al entender cómo funciona, respetar la validación de checksums, evitar errores comunes entre cadenas y generar tus claves de forma segura, puedes aprovechar al máximo el mundo EVM multicadena sin exponerte a riesgos innecesarios.