Billeteras HD y rutas de derivación explicadas (BIP44)
Tabla de contenidos
Cuando configuras una billetera de criptomonedas y recibes una frase semilla de 12 palabras, ese único respaldo te da acceso a cada cuenta que la billetera creará — en Bitcoin, Ethereum, Solana y cualquier otra cadena soportada. El mecanismo que hace esto posible se llama billetera HD, y el sistema de direcciones que utiliza está gobernado por las rutas de derivación.
Esta guía explica cómo las billeteras HD convierten una semilla en un número ilimitado de claves, qué significa realmente una ruta de derivación como m/44'/60'/0'/0/0, y por qué elegir la ruta correcta importa cuando cambias entre billeteras o blockchains.
¿Qué es una billetera HD?¶
HD significa Determinista Jerárquica (Hierarchical Deterministic). El término viene de BIP32, una especificación publicada en 2012 que define cómo derivar un árbol de pares de claves criptográficas a partir de una única raíz.
Jerárquica significa que las claves están organizadas en una estructura de árbol — una clave padre puede producir claves hijo, y esos hijos pueden producir nietos. El árbol puede ramificarse tan profundamente como sea necesario.
Determinista significa que el proceso es repetible. Dada la misma raíz (la semilla maestra), se produce el mismo árbol de claves cada vez, en cada billetera que siga el estándar.
Antes de las billeteras HD, cada nueva dirección requería generar y respaldar una clave privada aleatoria separada. Si generabas 100 direcciones, necesitabas 100 respaldos. Si olvidabas uno, esos fondos se perdían. Las billeteras HD eliminaron este problema. Respaldas la semilla una vez, y cada clave que la billetera derive en el futuro ya está cubierta por ese respaldo.
La raíz del árbol proviene de una frase semilla BIP39. El mnemónico se convierte en una semilla binaria de 512 bits mediante PBKDF2 (como se describe en BIP39 explicado). Esa semilla de 512 bits se divide en una clave privada maestra (256 bits) y un código de cadena maestro (256 bits). Juntos, forman la raíz desde la cual crece todo el árbol.
Anatomía de m/44'/60'/0'/0/0¶
Una ruta de derivación es la dirección dentro del árbol que identifica una clave específica. Se parece a una ruta de archivo en una computadora, y cada segmento te dice qué rama seguir.
Decodifiquemos m/44'/60'/0'/0/0, la ruta estándar para la primera dirección Ethereum:
m / 44' / 60' / 0' / 0 / 0
│ │ │ │ │ │
│ │ │ │ │ └── Índice de dirección (0 = primera dirección)
│ │ │ │ └────── Cambio (0 = externo/recepción, 1 = interno/cambio)
│ │ │ └─────────── Cuenta (0 = primera cuenta)
│ │ └───────────────── Tipo de moneda (60 = Ethereum)
│ └──────────────────────── Propósito (44 = estándar BIP44)
└──────────────────────────── Clave maestra (raíz del árbol)
Desglose de cada nivel:¶
m — La clave maestra. Toda ruta de derivación comienza aquí. Es la raíz derivada directamente de tu semilla.
44' — El propósito. El número 44 indica que esta ruta sigue el estándar BIP44 para billeteras multi-cuenta y multi-moneda. El apóstrofe (o ') marca esto como una derivación "endurecida", lo que significa que la clave hijo no puede calcularse solo con la clave pública del padre — requiere la clave privada. Esto es una medida de seguridad.
60' — El tipo de moneda. Cada criptomoneda tiene un número asignado por SLIP-44 (más detalles abajo). Ethereum es 60. Bitcoin es 0. Solana es 501. Este nivel permite que una semilla sirva a múltiples blockchains sin colisiones de claves.
0' — El índice de cuenta. Piénsalo como billeteras separadas dentro de tu billetera. La cuenta 0 es la predeterminada. Podrías usar la cuenta 1 para un propósito diferente — ahorro versus gasto, por ejemplo. La mayoría de los usuarios nunca pasan de la cuenta 0.
0 — El nivel de cambio. En el modelo UTXO de Bitcoin, 0 significa direcciones externas (recepción) y 1 significa direcciones internas (cambio). Ethereum no usa direcciones de cambio de la misma manera, pero el nivel se preserva por compatibilidad.
0 — El índice de dirección. Es el número final que se incrementa para producir nuevas direcciones. El índice 0 es tu primera dirección, el índice 1 es la segunda, y así sucesivamente. Tu billetera incrementa este valor cada vez que solicitas una nueva dirección de recepción.
BIP44 y tipos de moneda SLIP-44¶
BIP44 estandarizó la estructura de ruta de derivación mostrada arriba. Se publicó en 2014 y se basó en la derivación de claves BIP32 con una jerarquía fija de cinco niveles: propósito / tipo de moneda / cuenta / cambio / índice de dirección.
SLIP-44 (Satoshi Labs Improvement Proposal 44) mantiene el registro de números de tipo de moneda. A cada blockchain se le asigna un entero único para que la misma semilla produzca claves completamente diferentes para diferentes cadenas. Aquí están algunas asignaciones comunes:
| Tipo de moneda | Blockchain | Ruta predeterminada |
|---|---|---|
| 0 | Bitcoin | m/44'/0'/0'/0/0 |
| 2 | Litecoin | m/44'/2'/0'/0/0 |
| 60 | Ethereum (y cadenas EVM) | m/44'/60'/0'/0/0 |
| 144 | XRP | m/44'/144'/0'/0/0 |
| 195 | Tron | m/44'/195'/0'/0/0 |
| 501 | Solana | m/44'/501'/0'/0' |
| 9006 | Avalanche (C-Chain) | m/44'/60'/0'/0/0 |
Observa que la C-Chain de Avalanche usa el tipo de moneda 60 (el de Ethereum) porque su C-Chain es compatible con EVM y comparte el mismo formato de dirección. Lo mismo aplica a Polygon, Arbitrum, Optimism y Base — todas usan m/44'/60'/0'/0/0, lo que significa que la misma dirección Ethereum es válida en todas estas redes.
Por eso cuando agregas Polygon o Arbitrum a MetaMask, tu dirección es la misma que tu dirección Ethereum. Todas derivan de la misma ruta. La distinción ocurre a nivel de red (chain ID), no a nivel de derivación de claves.
Diferentes cadenas, diferentes rutas¶
Mientras las cadenas EVM comparten la ruta de Ethereum, las cadenas no-EVM usan sus propias convenciones, y las diferencias importan.
Rutas de Bitcoin¶
Bitcoin ha evolucionado a través de varios formatos de dirección, cada uno con su propio estándar de derivación:
| Estándar | Ruta | Tipo de dirección | Prefijo |
|---|---|---|---|
| BIP44 | m/44'/0'/0'/0/0 |
Legado (P2PKH) | 1... |
| BIP49 | m/49'/0'/0'/0/0 |
SegWit anidado (P2SH-P2WPKH) | 3... |
| BIP84 | m/84'/0'/0'/0/0 |
SegWit nativo (bech32) | bc1q... |
| BIP86 | m/86'/0'/0'/0/0 |
Taproot | bc1p... |
La mayoría de las billeteras Bitcoin modernas usan BIP84 (SegWit nativo) por defecto porque ofrece tarifas de transacción más bajas. Si restauras una semilla en una billetera y tus fondos no aparecen, la billetera puede estar escaneando la ruta de derivación incorrecta. Cambiar de BIP84 a BIP44 (o viceversa) en la configuración de la billetera generalmente resuelve el problema.
Rutas de Solana¶
Solana usa ed25519 en lugar de secp256k1, por lo que su derivación es estructuralmente diferente. La ruta estándar es m/44'/501'/0'/0' — nota que los cuatro niveles son endurecidos (marcados con '). Algunas billeteras Solana usan m/44'/501'/0' o m/44'/501', y la ruta específica varía por aplicación de billetera. Phantom y Solflare usan convenciones diferentes, lo que puede causar confusión al migrar. Para un recorrido detallado, consulta la Guía de generación de billeteras Solana.
XRP y Tron¶
XRP usa tipo de moneda 144 con ruta m/44'/144'/0'/0/0. Tron usa tipo de moneda 195 con m/44'/195'/0'/0/0. Ambos usan secp256k1 como Bitcoin y Ethereum, pero su codificación de dirección difiere.
BIP84 vs BIP44: por qué Bitcoin tiene múltiples estándares¶
Si has usado Bitcoin, puede que hayas notado que algunas direcciones empiezan con 1, algunas con 3, y las modernas con bc1q. Esto no es cosmético — cada formato corresponde a un estándar de derivación y tipo de script diferente.
BIP44 (m/44'/0'/...) genera direcciones legado P2PKH (formato 1...). Fue la ruta Bitcoin derivada originalmente de BIP32. Todavía funciona, pero estas direcciones usan más espacio de bloque por transacción.
BIP49 (m/49'/0'/...) genera direcciones SegWit anidadas P2SH (formato 3...). Fueron un formato de transición que proporcionaba los ahorros de SegWit manteniendo compatibilidad con billeteras antiguas.
BIP84 (m/84'/0'/...) genera direcciones SegWit nativas usando codificación bech32 (formato bc1q...). Es el formato más eficiente para transacciones estándar y es el predeterminado en la mayoría de las billeteras modernas.
La idea clave es que los tres formatos pueden derivarse de la misma frase semilla. Tus 12 palabras no cambian. Lo que cambia es el nivel de propósito en la ruta de derivación: 44, 49 u 84. Una billetera que soporte los tres escaneará cada ruta para encontrar tus fondos.
Al generar o restaurar una billetera Bitcoin, siempre verifica qué estándar de derivación usa la billetera por defecto. Si ves un formato de dirección diferente al esperado, la billetera probablemente está usando un estándar BIP diferente. Para explorar los formatos de direcciones Bitcoin en detalle, consulta Formatos de direcciones cripto explicados.
Derivación de claves paso a paso¶
Así es como funciona la derivación completa desde la frase semilla hasta una dirección Ethereum utilizable:
Paso 1: mnemónico a semilla¶
Tu mnemónico de 12 palabras se procesa a través de PBKDF2-HMAC-SHA512 con 2,048 iteraciones y el salt "mnemonic" (más una passphrase opcional). La salida es una semilla binaria de 512 bits.
Paso 2: semilla a clave maestra¶
La semilla de 512 bits se procesa a través de HMAC-SHA512 con la clave "Bitcoin seed" (esta cadena se usa independientemente de la blockchain destino). Los 256 bits izquierdos se convierten en la clave privada maestra. Los 256 bits derechos se convierten en el código de cadena maestro.
Paso 3: clave maestra a claves hijo¶
Partiendo de la clave maestra, cada nivel de la ruta de derivación ejecuta una función de derivación de clave hijo (CKD). Para hijos endurecidos (marcados con '), la clave privada y el código de cadena del padre se introducen en HMAC-SHA512 junto con el índice hijo. El resultado es una nueva clave privada (hijo) y código de cadena.
Para hijos normales (no endurecidos), se usa la clave pública del padre en lugar de la privada. Esto es lo que permite las billeteras de solo lectura — puedes derivar claves públicas y direcciones sin tener la clave privada.
Paso 4: clave privada a clave pública¶
En el nivel final de derivación, la clave privada hijo se convierte en clave pública mediante multiplicación de curva elíptica. Para Ethereum, usa la curva secp256k1. La operación es: Clave pública = Clave privada * G, donde G es el punto generador de la curva.
Paso 5: clave pública a dirección¶
La clave pública se hashea para producir la dirección blockchain. Para Ethereum, la clave pública se hashea con Keccak-256, y los últimos 20 bytes (40 caracteres hex) se convierten en la dirección, prefijada con 0x. Para Bitcoin, el proceso involucra SHA-256 seguido de RIPEMD-160, y luego codificación Base58Check o bech32 dependiendo del tipo de dirección.
Puedes ver todo este proceso en acción usando el Generador de direcciones Ethereum o el Generador de direcciones Bitcoin de SafeSeed, que muestran cada paso desde la semilla hasta la dirección.
Por qué esto importa en la práctica¶
Entender las rutas de derivación no es solo académico. Aquí hay situaciones concretas donde importa:
- Restaurar una billetera en software diferente. Si pasas de Ledger a Trezor, o de MetaMask a otra billetera, asegúrate de que la ruta de derivación coincida. Misma semilla más diferente ruta equivale a direcciones diferentes y fondos aparentemente perdidos.
- Acceder a múltiples cadenas. Tu frase semilla ya cubre Polygon, Arbitrum y otras cadenas EVM — todas usan el tipo de moneda 60 de Ethereum. No necesitas respaldo separado.
- Depurar fondos faltantes. Si restauras una semilla Bitcoin y no puedes ver tu balance, intenta alternar entre las rutas BIP44, BIP49 y BIP84 en la configuración de la billetera.
- Generar direcciones para propósitos específicos. Al incrementar el índice de cuenta (el tercer nivel), puedes crear billeteras lógicamente separadas — una para gasto diario, una para almacenamiento a largo plazo — todas desde la misma frase semilla.
El sistema de rutas de derivación es lo que transforma una única frase semilla en una billetera multi-cadena y multi-cuenta. Es la capa de infraestructura que hace que la autocustodia moderna de criptomonedas sea poderosa y portable. Una vez que lo entiendes, puedes moverte entre billeteras, cadenas y formatos de dirección con confianza.