Inicio Fundamentos Entropía

Entropía

La entropía mide la aleatoriedad que protege tus claves privadas y seed phrases. Sin suficiente entropía, un atacante podría adivinar tus bitcoin.

Qué es la entropía en Bitcoin

En el lenguaje cotidiano, entropía significa desorden. En criptografía y en Bitcoin, el término tiene un significado más preciso: entropía es la medida de aleatoriedad o imprevisibilidad de un dato, expresada en bits. Cuantos más bits de entropía tiene un valor, más difícil es adivinarlo. Este concepto es central en Bitcoin porque toda la seguridad del sistema descansa en que las claves privadas sean imposibles de predecir.

Por qué la entropía importa

Bitcoin no tiene contraseñas, servidores de autenticación ni departamentos de soporte. La única barrera entre tus fondos y un atacante es tu clave privada: un número enorme generado aleatoriamente. Si ese número fuera predecible, alguien podría calcularlo y gastar tus bitcoin sin hackear nada; simplemente adivinaría tu clave.

256 bits: un número inimaginable

Una clave privada de Bitcoin es un número aleatorio de 256 bits de entropía. Eso significa que existen 2256 claves posibles: aproximadamente 1,16 × 1077. Para ponerlo en perspectiva, se estima que el universo observable contiene alrededor de 1080 átomos. Si cada átomo del universo fuera una computadora intentando mil millones de claves por segundo desde el Big Bang, no habrían probado ni una fracción insignificante de todas las combinaciones posibles. Con 256 bits de entropía genuina, un ataque de fuerza bruta es físicamente imposible.

Entropía en las seed phrases (BIP-39)

Cuando una billetera genera tu seed phrase, está convirtiendo un número aleatorio en palabras legibles, siguiendo el estándar BIP-39:

  • 12 palabras representan 128 bits de entropía (2128 combinaciones).
  • 24 palabras representan 256 bits de entropía (2256 combinaciones).

Ambas cantidades son astronómicamente seguras contra ataques de fuerza bruta. Las palabras en sí no son la entropía: son una representación de ella. La seguridad no proviene de las palabras elegidas, sino de cuánta aleatoriedad real hubo al generar el número original.

Fuentes de entropía: seguras vs. inseguras

Fuentes seguras:

  • CSPRNG (Cryptographically Secure Pseudo-Random Number Generator): los sistemas operativos modernos incluyen generadores criptográficamente seguros que combinan múltiples fuentes de ruido del hardware: variaciones de temperatura del procesador, tiempos de pulsación de teclas, movimientos del ratón, ruido electrónico.
  • Dados físicos: lanzar dados es un método verificable de generar entropía. Algunas hardware wallets permiten introducir entropía obtenida con dados como fuente adicional.

Fuentes inseguras (nunca las uses para generar claves):

  • Fechas de nacimiento, números de teléfono o datos personales.
  • Frases famosas, letras de canciones o citas de libros.
  • Cualquier patrón que un humano considere "aleatorio" (elegir números "al azar" mentalmente produce patrones predecibles).
  • Generadores de números pseudoaleatorios no criptográficos (como Math.random() en JavaScript).

El caso del bug de Android 2013

En agosto de 2013 se descubrió un fallo crítico en ciertas versiones de Android: la clase SecureRandom producía valores insuficientemente aleatorios por una inicialización defectuosa. Esto permitió a atacantes calcular claves privadas generadas por billeteras Bitcoin en esos dispositivos y robar los fondos. El problema no estaba en el protocolo de Bitcoin ni en la criptografía subyacente: estaba en que el dispositivo no generó suficiente entropía al crear las claves. Este incidente demostró que la seguridad de Bitcoin depende de toda la cadena de generación de aleatoriedad.

Brain wallets: un experimento peligroso

Una brain wallet genera una clave privada aplicando una función hash a una frase memorizada. La idea suena atractiva: no necesitas respaldar nada, solo recordar una frase.

En la práctica, son extremadamente peligrosas. El cerebro humano es muy malo generando aleatoriedad: incluso una frase que parece única tiene entropía muy baja frente a los 128 bits de una seed phrase generada correctamente. Atacantes compilan diccionarios con millones de frases comunes, citas, letras de canciones y contraseñas filtradas. Ejecutan el hash de cada una y verifican si la dirección resultante contiene fondos. Se han documentado casos de fondos robados en segundos tras ser depositados en direcciones derivadas de frases conocidas. La regla es clara: si un humano puede memorizarlo cómodamente, probablemente no tiene suficiente entropía.

Cómo generan entropía las billeteras modernas

Las billeteras bien diseñadas delegan la generación de entropía al sistema operativo, que a su vez usa un CSPRNG alimentado por múltiples fuentes de ruido del hardware. Las hardware wallets incorporan sus propios generadores en el chip, añadiendo una capa adicional de seguridad.

Lo más importante es usar software de billetera reconocido y de código abierto que implemente correctamente la generación de entropía, y nunca intentar generar tus propias claves manualmente o con métodos improvisados.

Errores habituales

  • Creer que elegir palabras "al azar" de la lista BIP-39 produce una seed segura; sin un generador criptográfico, la selección humana tiene patrones predecibles
  • Pensar que una brain wallet con una frase larga o en un idioma poco común es segura; los atacantes prueban miles de millones de combinaciones en múltiples idiomas
  • Asumir que 12 palabras son inseguras y que solo 24 ofrecen protección real; 128 bits de entropía son inviables de atacar con cualquier tecnología actual o previsible
  • Confundir aleatoriedad percibida con entropía real; que algo parezca aleatorio a un humano no significa que sea criptográficamente seguro

Conceptos relacionados

Fuentes primarias

  • BIP-39: Mnemonic code for generating deterministic keys
  • Android SecureRandom vulnerability (2013) — Bitcoin.org security advisory
  • NIST SP 800-90A: Recommendation for Random Number Generation