Cómo se genera tu clave privada en Bitcoin

Resumen

La frase de recuperación es la llave maestra de tus criptomonedas: a partir de ella se genera la clave privada que firma cada transacción. Entender cómo se crea y cómo se conecta con tu billetera es clave para proteger tus fondos en Bitcoin y otras criptos.

Una idea importante para empezar: las hardware wallets no almacenan bitcoins dentro del dispositivo. Lo que guardan es la clave privada que autoriza el gasto de los fondos registrados en la blockchain.

¿Qué es la frase de recuperación y cómo se relaciona con la clave privada?

Cuando haces una transacción, esta lleva información de origen, monto y destino. Para que la red la valide necesitas firmarla, y esa firma se produce con la clave privada de la billetera. Esa clave privada se expresa de forma legible mediante la frase de recuperación.

La frase es un conjunto de 12 a 24 palabras en inglés que representan un número grande. A partir de ese número se generan las claves privadas de tu billetera. Se diseñó así para que un humano pudiera recordar o respaldar información que en su origen es puramente numérica [02:00].

¿Qué es la frase de recuperación? Es un set de 12 a 24 palabras en inglés que representan el número aleatorio del cual se derivan las claves privadas de tu billetera. Quien tenga esa frase, tiene tus fondos.

¿De dónde salen las palabras de la frase semilla?

Las palabras se eligen de un listado de 2048 palabras definido por el estándar BIP 39 (Bitcoin Improvement Proposal 39), propuesto por el equipo de Satoshi Labs, creadores de las hardware wallets Trezor, en septiembre de 2013 [02:30].

Cada palabra del listado tiene un número asociado:

  • abandon es la palabra 1.
  • zoo es la palabra 2048.
  • Cada una de las 2046 restantes ocupa una posición intermedia.

Si tu frase fuera brisk, hut, spot, los números asociados serían 227, 845 y 1687. A partir de esa secuencia, mediante cálculos matemáticos relativamente sencillos, se obtiene el número aleatorio que genera la clave maestra de tu billetera [03:30].

¿Por qué basta con guardar 4 letras de cada palabra?

Una propiedad útil del listado BIP 39 es que cada palabra se puede identificar con sus primeras cuatro letras. Para brisk basta con guardar B, R, I, S y luego completar buscando en el listado.

Esto facilita dos cosas: encontrar la palabra correcta sin ambigüedad y ahorrar espacio cuando guardas la frase en formato metálico.

¿Qué tan grande es el número aleatorio detrás de tu billetera?

La preocupación natural es: ¿podría coincidir mi número aleatorio con el de otra billetera? El cálculo matemático muestra que la probabilidad es despreciable [05:00].

  • Con 12 palabras hay 2^128 combinaciones posibles, alrededor de 3,4 seguido de 38 ceros.
  • Con 24 palabras hay 2^256 combinaciones, equivalente a 10^168.
  • Para comparar, los átomos del universo observable se estiman en 10^85, varios órdenes de magnitud por debajo.

Es decir, generar dos frases iguales por azar es prácticamente imposible.

¿Puede repetirse mi frase de recuperación con la de otra persona? En la práctica no. Con 24 palabras hay 10^168 combinaciones posibles, muchísimas más que átomos en el universo observable.

¿Quién genera ese número aleatorio?

Hay dos métodos predominantes para crear el número aleatorio inicial:

  1. Sistema interno del dispositivo: cubre el 99,9% de los casos. Lo hace tu teléfono, tu computadora o tu hardware wallet.
  2. Generación manual con dados de casino bien balanceados: tú mismo construyes el número tirando dados. Lleva tiempo, pero hay tutoriales en YouTube que guían el proceso.

El segundo camino es útil si quieres confiar exclusivamente en tu propia fuente de aleatoriedad y no en el hardware del dispositivo.

¿Cómo se generan las claves privadas a partir de la frase?

Una vez que tienes el número aleatorio, se aplican técnicas criptográficas miles de veces, incluyendo funciones como SHA-256, hasta obtener un par de clave privada y dirección pública máster [07:30].

A partir de ese par máster se construye un árbol de direcciones. Cada nivel puede generar aproximadamente 4 millones de pares de clave privada y dirección pública, y cada uno abre otros 4 millones más en el siguiente nivel, y así sucesivamente.

¿Cómo se manejan múltiples criptomonedas con una sola frase?

El mecanismo se diseñó originalmente para Bitcoin, pero el estándar BIP 44 agregó un nivel más al árbol para soportar varias criptomonedas bajo la misma frase de recuperación [08:30].

Algunos códigos de criptomoneda dentro de BIP 44:

  • 0 para Bitcoin.
  • 2 para Litecoin.
  • 60 para Ethereum.

La ruta dentro del árbol se describe con el path de derivación: empieza con M de master, sigue con /44 (por BIP 44) y luego el número de la criptomoneda. Por ejemplo, M/44/0 corresponde a Bitcoin.

¿Cómo saber si tu billetera es compatible con otras?

No todas las billeteras siguen estos estándares. Para verificar compatibilidad existe el sitio walletrecovery.org, donde puedes consultar qué billeteras soportan BIP 39, BIP 44 y otros caminos de derivación. Buscando la rama M/44 aparecen al menos 20 billeteras compatibles [09:30].

¿Puedo usar la misma frase en varios dispositivos?

Técnicamente sí, puedes restaurar la misma frase de recuperación en varios dispositivos a la vez. La pregunta más útil es por qué harías eso.

La recomendación es usar la mínima cantidad de dispositivos posible con la misma frase, para reducir la superficie de ataque y las posibilidades de que alguien externo acceda a tus criptomonedas.

Una alternativa segura son las cuentas de solo vista o watch-only. Te permiten ver el saldo y las transacciones de una billetera sin guardar la clave privada en ese dispositivo, por lo que no puedes firmar transacciones desde allí.

Un ejemplo típico: creas tu billetera en una hardware wallet, donde vive la clave privada, y consultas tus fondos desde el teléfono con una app como BlueWallet, que soporta cuentas watch-only [11:00].

Con todo esto claro, el siguiente paso es definir cómo guardar tu frase de recuperación de forma segura, idealmente en formato metálico. ¿Tú cómo proteges hoy tu seed phrase? Cuéntalo en los comentarios.