Fundamentals ·

Formatos de direcciones cripto: Bech32, Base58 y 0x


Si alguna vez has copiado una dirección cripto y notaste que las direcciones de Bitcoin empiezan con bc1, las de Ethereum con 0x y las de Solana parecen un idioma completamente diferente, no estás solo. Estas diferencias no son cosméticas. Cada formato de dirección codifica información específica sobre la blockchain, el tipo de transacción que soporta y los mecanismos de detección de errores que protegen tus fondos.

Entender los formatos de direcciones es conocimiento práctico. Un solo carácter equivocado en una dirección cripto puede enviar fondos al vacío permanentemente. Esta guía desglosa los principales esquemas de codificación, explica por qué cada blockchain eligió su formato y muestra cómo los checksums previenen errores costosos.

Por qué las direcciones se ven diferentes

Una dirección de criptomoneda es una representación legible de una clave pública o un hash derivado de ella. La salida criptográfica sin procesar es datos binarios, que no son prácticos para que los humanos lean, copien o verifiquen. Diferentes blockchains eligieron diferentes esquemas de codificación para convertir esos datos binarios en cadenas de texto.

Estas elecciones de codificación reflejan compromisos entre:

  • Seguridad del conjunto de caracteres -- evitar caracteres que se parecen (0/O, l/1/I)
  • Detección de errores -- checksums integrados que detectan errores tipográficos antes de perder fondos
  • Eficiencia de espacio -- direcciones más cortas son más fáciles de manejar
  • Sensibilidad a mayúsculas -- formatos solo en minúsculas evitan confusión en el portapapeles

Las tres familias de codificación dominantes en criptomonedas son Base58Check, Bech32 y hexadecimal con prefijo 0x.

Base58Check: el formato legado de Bitcoin

Base58Check fue uno de los primeros esquemas de codificación de direcciones, introducido por Satoshi Nakamoto con Bitcoin. Usa 58 caracteres alfanuméricos, excluyendo deliberadamente caracteres que causan confusión visual:

  • Sin cero (0) -- demasiado similar a la letra O
  • Sin O mayúscula (O) -- demasiado similar a cero
  • Sin L minúscula (l) -- demasiado similar a I mayúscula y al número 1
  • Sin I mayúscula (I) -- demasiado similar a l minúscula y al número 1

Ejemplo de dirección Base58Check: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

El formato incluye un byte de versión al inicio y un checksum de 4 bytes al final. El checksum se calcula ejecutando SHA-256 dos veces sobre la carga útil y añadiendo los primeros 4 bytes del resultado.

Esto significa que si accidentalmente escribes mal un carácter, la dirección casi seguramente fallará la validación en lugar de enviar fondos a una dirección incorrecta pero válida. La probabilidad de que un error tipográfico produzca un checksum válido es aproximadamente 1 en 4.3 mil millones.

Otras blockchains adoptaron Base58Check:

  • Las direcciones legado de Litecoin empiezan con L o M
  • Las direcciones de Dogecoin empiezan con D

Puedes usar el Validador de direcciones Bitcoin de SafeSeed para verificar si una dirección Base58Check tiene un checksum válido antes de enviar cualquier transacción.

Bech32: direcciones SegWit bc1

En 2017, Bitcoin introdujo SegWit, que necesitaba un nuevo formato de dirección. Los desarrolladores crearon Bech32, definido en BIP173. Las direcciones Bech32 son reconocibles porque empiezan con bc1.

Ejemplo: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

Bech32 hizo varias mejoras sobre Base58Check:

Solo minúsculas

Bech32 usa solo letras minúsculas y números, eliminando problemas de sensibilidad a mayúsculas.

Detección de errores superior

Bech32 usa un código BCH que puede detectar cualquier error de un solo carácter y la mayoría de errores de sustitución múltiple. Puede identificar la posición de hasta dos errores.

Códigos QR más pequeños

Porque Bech32 usa un conjunto de caracteres restringido (32 caracteres), los códigos QR que representan estas direcciones son más pequeños y fáciles de escanear.

Bech32m

Una versión actualizada llamada Bech32m (BIP350) corrigió una debilidad menor. Las direcciones modernas SegWit v1 (Taproot, que empiezan con bc1p) usan Bech32m. Si generas una dirección Bitcoin con el Generador de direcciones Bitcoin de SafeSeed, la salida predeterminada usa el formato moderno Bech32/Bech32m.

0x: direcciones de cadenas EVM

Ethereum tomó un enfoque completamente diferente. Las direcciones Ethereum son valores de 20 bytes mostrados como 40 caracteres hexadecimales con prefijo 0x:

0x742d35Cc6634C0532925a3b844Bc9e7595f2bD08

Checksum mixto EIP-55

El formato original no tenía checksum integrado. EIP-55 lo resolvió usando la capitalización de las letras hex como checksum. La dirección se hashea con Keccak-256, y cada letra se capitaliza si el nibble correspondiente en el hash excede 8.

Compartido entre cadenas EVM

El formato 0x es idéntico en todas las cadenas EVM compatibles:

La misma clave privada produce la misma dirección en todas estas cadenas. Para más información sobre seguridad de direcciones EVM, consulta Seguridad de direcciones EVM.

Puedes validar cualquier dirección EVM con el Validador de direcciones Ethereum de SafeSeed.

Base58 en Solana, XRP y TRON

Solana

Las direcciones de Solana son claves públicas Ed25519 codificadas en Base58, típicamente de 32 a 44 caracteres. La validación depende de que la clave sea un punto válido en la curva Ed25519. El Validador de direcciones Solana de SafeSeed maneja esta verificación.

XRP

XRP usa codificación Base58Check con su propio prefijo de versión, produciendo direcciones que empiezan con r.

TRON

Las direcciones de TRON usan Base58Check con un byte de versión 0x41, produciendo direcciones que empiezan con T.

Checksums: tu red de seguridad

Un checksum es una pequeña pieza de datos derivada de la carga útil de la dirección que permite al software detectar errores.

Formato Método de checksum Capacidad de detección
Base58Check Doble SHA-256 (4 bytes) Detecta virtualmente todos los errores
Bech32 Código BCH (6 caracteres) Detecta todos los errores de un carácter; localiza hasta 2
EIP-55 (0x) Capitalización Keccak-256 ~99.98% detección para cambios de un carácter
Solana Base58 Validación de curva Ed25519 Rechaza puntos de curva inválidos

Para amenazas más amplias más allá de errores tipográficos, consulta Estafas cripto comunes con frases semilla.

Validar direcciones antes de enviar

Cada transacción debería comenzar con validación de dirección. SafeSeed proporciona validadores gratuitos:

Toda la validación se ejecuta completamente en tu navegador. Para una guía detallada del proceso de validación, consulta Cómo validar una dirección cripto.

Elegir el formato correcto

Para direcciones nuevas, los formatos modernos son casi siempre preferibles:

  • Bitcoin: Usa direcciones Bech32 (bc1) para tarifas más bajas y mejor detección de errores.
  • Ethereum y cadenas EVM: Siempre usa direcciones con checksum EIP-55.
  • Solana: Base58 es la única opción y funciona bien.

Al generar direcciones con SafeSeed, las herramientas usan por defecto el formato más actual y seguro para cada blockchain. Ya sea que uses el Generador de frases semilla Bitcoin o el Generador de direcciones Ethereum, las direcciones derivadas usarán la codificación recomendada para esa cadena.

Entender estos formatos elimina el misterio de las direcciones de criptomonedas. No son cadenas aleatorias -- son representaciones cuidadosamente diseñadas de claves criptográficas, con mecanismos de seguridad integrados para proteger tus fondos de errores humanos simples.