BIP39

Ataque de fuerza bruta a una frase semilla BIP39

17 min de lectura
MH
Escrito por Mohamed Habbat

Trabajo en el espacio de la autocustodia cripto, y en 2026 todavía hay alguien cada mes que me pregunta si debe preocuparse por un ataque de fuerza bruta contra su frase semilla (especificación BIP-39). Las matemáticas dicen que no. El comportamiento dice que sí, por motivos que nadie espera.

Trata esas 12 o 24 palabras como si fueran el propio Bitcoin. Quien tenga la frase es dueño de cada satoshi de la wallet. Nadie puede restablecerla por ti.

Aquí verás cómo funciona BIP39, dónde falla, qué separa 12 de 24 palabras y por qué la passphrase BIP39 es, en mi opinión, la función de seguridad menos aprovechada de Bitcoin.

TL;DR

Una frase semilla BIP39 es la llave maestra de tu Bitcoin: de 12 a 24 palabras en inglés que codifican de 128 a 256 bits de entropía (especificación BIP-39). La lista tiene 2.048 palabras, el orden importa y PBKDF2 estira la frase hasta una semilla de 512 bits de la que sale cada clave de la wallet. Contra entropía real, la fuerza bruta queda fuera de alcance. El riesgo está en otra parte: generadores de números aleatorios débiles, fotos de la frase, copias en la nube, errores al teclear y malware. Escríbela en metal o en papel. Nunca en digital.

¿Qué es BIP39?

Los autores de BIP39 escribieron que una frase de palabras resulta más cómoda para las personas que manejar la representación binaria o hexadecimal en bruto de la semilla de una wallet (especificación BIP-39). BIP39 estandarizó esa frase.

Cómo funciona:

  1. La wallet genera entropía. Un valor aleatorio de 128 a 256 bits, en saltos de 32 bits.
  2. La wallet añade una suma de verificación. Los primeros bits de un hash SHA-256 de la entropía van al final.
  3. El valor resultante se divide en segmentos de 11 bits. Cada segmento corresponde a una palabra de la lista BIP39.
  4. Según la entropía inicial, obtienes 12, 15, 18, 21 o 24 palabras.

La lista BIP39 tiene exactamente 2.048 palabras (2^11, a propósito). La especificación dice que la lista inglesa permite reconocer cada palabra por sus cuatro primeras letras, lo que reduce los errores al escribir (especificación BIP-39). BIP-39 incluye 10 listas oficiales en inglés, japonés, coreano, español, chino (simplificado), chino (tradicional), francés, italiano, checo y portugués (registro de listas BIP-39). La propia especificación desaconseja con firmeza las listas que no están en inglés, porque la mayoría de las wallets solo admiten el inglés. Marek Palatinus, Pavol Rusnak, Aaron Voisine y Sean Bowe escribieron el estándar, asignado el 10 de septiembre de 2013 (especificación BIP-39).

Después, la función de estiramiento de claves PBKDF2 pasa el mnemónico por 2.048 rondas de HMAC-SHA512 para producir una semilla binaria de 512 bits (especificación BIP-39). Esa semilla alimenta el algoritmo de derivación de wallets HD (jerárquicas deterministas) de BIP32, que genera todo el árbol de claves privadas y públicas que usa la wallet.

Una sola frase semilla cubre un árbol entero de claves: cada clave del árbol puede tener 2^31 hijas normales y 2^31 hijas reforzadas (especificación BIP-32). Cualquier dirección que haya generado la wallet se recupera con esas palabras, más la passphrase si configuraste una.

12 palabras frente a 24 palabras

BIP39 asigna 12 palabras a 128 bits de entropía y 24 palabras a 256 bits (especificación BIP-39). En cifras queda así:

Longitud de la fraseEntropíaCombinaciones posibles
12 palabras128 bits~3,4 × 10^38 (2^128)
24 palabras256 bits~1,16 × 10^77 (2^256)

Un ejemplo con números. Cada intento cuesta 2.048 rondas de HMAC-SHA512. Una RTX 4090 calcula PBKDF2-HMAC-SHA512 a 3.120,9 miles de hashes por segundo con 999 iteraciones (benchmark de hashcat), lo que equivale a unos 1,5 millones de comprobaciones de semilla por segundo con 2.048. A ese ritmo, una tarjeta necesita unos 7 × 10^24 años para probar todas las semillas de 12 palabras, y un millón de tarjetas todavía necesita unos 7 × 10^18 años. Al Sol le quedan unos 5.000 millones de años (NASA). Para elegir y usar una wallet paso a paso, consulta la guía de autocustodia.

24 palabras dan a la semilla 256 bits. Las claves que deriva siguen estando en la curva secp256k1, a la que SEC 2 asigna 128 bits de seguridad (SEC 2, tabla 1). Así que las 12 palabras extra protegen la semilla, no las claves de firma.

Las dos opciones son seguras hoy. Mi regla: 24 palabras para el ahorro a largo plazo, porque ese margen solo cuesta unos minutos más de escritura.

Cómo deriva las claves tu wallet

La ruta de derivación explica por qué una sola frase semilla tiene tanto poder y por qué es tan peligroso exponerla.

Tu frase semilla, mediante PBKDF2, produce la semilla maestra. La semilla maestra, mediante BIP32, produce la clave privada maestra y el código de cadena maestro.

A partir de la clave privada maestra, la wallet deriva claves hijas a lo largo de una ruta de derivación. BIP44 define la estructura de la ruta (especificación BIP-44), y BIP84 la reutiliza con el propósito 84' para direcciones SegWit nativas (especificación BIP-84). Una ruta BIP44 tiene este aspecto:

m / 44' / 0' / 0' / 0 / 0

Donde:

  • m = clave maestra
  • 44' = propósito BIP44
  • 0' = Bitcoin (tipo de moneda 0)
  • 0' = primera cuenta
  • 0 = cadena externa (direcciones de recepción)
  • 0 = primer índice de dirección

Cada dirección de Bitcoin en la que has recibido fondos se deriva de forma determinista de esa semilla maestra. Restaura la frase semilla en una wallet compatible, con la misma passphrase y la misma ruta de derivación, y todo vuelve: direcciones, saldos, historial de transacciones.

Si pierdes la frase semilla, no queda nada que restaurar. Ni servidor central ni vía de recuperación.

Cómo generar wallets BIP39 en Node.js

La forma más rápida de entender la entropía BIP39 es generarla tú mismo. El montaje de Node.js de abajo crea wallets y comprueba si las direcciones generadas han tenido fondos alguna vez. Código funcional de Bi-Catalyst/bruteforcebitcoin. Solo con fines educativos. Generar wallets al azar y comprobar su actividad on-chain es un ejercicio de fuerza bruta que confirma las matemáticas. No es un camino hacia las monedas de nadie.

Stack técnico

  • axios para las peticiones HTTP a las API de blockchain
  • bip39 para generar el mnemónico y derivar la semilla
  • bitcoinjs-lib para derivar direcciones y trabajar con transacciones

package.json:

{
  "name": "bruteforcebitcoin",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "run": "node generate_wallet.js"
  },
  "license": "MIT",
  "dependencies": {
    "axios": "^1.4.0",
    "bip39": "^3.1.0",
    "bitcoinjs-lib": "^5.2.0"
  }
}

Imports y constantes

const axios = require("axios");
const bip39 = require("bip39");
const bitcoin = require("bitcoinjs-lib");
const fs = require("fs");

const parallelLimit = 10;
const iterations = 100;
const batchSize = 10;
const delayBetweenBatches = 5000; // 5 seconds
const apiDelay = 3000; // 3 seconds
let useBlockchainInfoAPI = true;

Generar una wallet

async function generateWallet() {
  // Generate a new 12-word mnemonic seed phrase
  const mnemonic = bip39.generateMnemonic(128);
  console.log("Mnemonic:", mnemonic);

  // Convert the mnemonic to a seed
  const seed = await bip39.mnemonicToSeed(mnemonic);

  // Derive the wallet from the seed using BIP32
  const network = bitcoin.networks.bitcoin;
  const hdMaster = bitcoin.bip32.fromSeed(seed, network);
  const account = hdMaster.derivePath("m/44'/0'/0'/0");

  // Generate a new Bitcoin address
  const { address } = bitcoin.payments.p2pkh({
    pubkey: account.derive(0).publicKey,
    network,
  });

  console.log("Bitcoin Address:", address);
  const hasTransactions = await checkAddressActivity(address);
  await new Promise((resolve) => setTimeout(resolve, apiDelay));
  return { address, hasTransactions };
}

Comprobar la actividad de una dirección

Dos exploradores de bloques públicos que se alternan para no chocar con los límites de peticiones. La API de Blockchain.com y la API de BlockCypher:

async function checkAddressActivity(address) {
  try {
    let response;
    if (useBlockchainInfoAPI) {
      response = await axios.get(`https://blockchain.info/rawaddr/${address}`);
    } else {
      response = await axios.get(`https://api.blockcypher.com/v1/btc/main/addrs/${address}`);
    }

    useBlockchainInfoAPI = !useBlockchainInfoAPI;

    let hasTransactions = false;

    if (response.data.txs) {
      hasTransactions = response.data.txs.length > 0;
    } else if (response.data.txrefs) {
      hasTransactions = response.data.txrefs.length > 0;
    }

    if (hasTransactions) {
      console.log("This address has transactions associated with it.");
      return true;
    } else {
      console.log("This address has no transactions associated with it.");
      return false;
    }
  } catch (error) {
    console.error("Error fetching address data:", error.message);
    return false;
  }
}

Guardar los aciertos

function appendToFile(filename, data) {
  fs.appendFile(filename, data, (err) => {
    if (err) {
      console.error(`Error saving data to ${filename}:`, err.message);
    } else {
      console.log(`Data saved to ${filename}`);
    }
  });
}

Coordinar la ejecución

async function main() {
  const walletPromises = [];

  for (let i = 0; i < iterations; i++) {
    walletPromises.push(generateWallet());

    if (walletPromises.length === parallelLimit) {
      await processBatch(walletPromises);
      walletPromises.length = 0;
    }
  }

  if (walletPromises.length > 0) {
    await processBatch(walletPromises);
  }
}

Déjalo funcionando toda la noche y no darás con ninguna wallet con fondos. El script procesa 10 wallets a la vez, espera 3 segundos después de cada llamada a la API y 5 segundos entre lotes (generate_wallet.js), así que comprueba más o menos una wallet por segundo frente a un espacio de 2^128 semillas. Demuestra las matemáticas al fracasar contra ellas.

El repositorio completo está en github.com/Bi-Catalyst/bruteforcebitcoin.

La palabra 25 que casi nadie configura

BIP39 incluye una passphrase opcional, la «palabra 25». Según mi experiencia, la mayoría de los titulares nunca configura una. Es un error.

Cuando el mnemónico se convierte en semilla binaria, PBKDF2 recibe dos entradas: tu mnemónico y una passphrase opcional. Por defecto, la passphrase es una cadena vacía (especificación BIP-39). Puedes escribir lo que quieras. Una palabra, una frase, símbolos, números.

Otra passphrase produce otra wallet: las mismas 24 palabras, una semilla maestra nueva, direcciones nuevas, saldos nuevos. De ahí salen dos efectos sobre la seguridad.

Un robo en casa deja de ser una ruina

Alguien entra en tu casa y encuentra tu frase semilla en papel. Sin la passphrase, solo llega a la wallet de passphrase vacía, un señuelo con una cantidad pequeña. La especificación BIP39 da nombre a esta propiedad: cada passphrase genera una wallet válida, lo que «ofrece negación plausible» (especificación BIP-39).

Deja una cantidad pequeña en la wallet base. Guarda lo importante detrás de la passphrase. Haz que la passphrase sea larga y aleatoria: un ladrón con tus palabras puede probar passphrases sin conexión con BTCRecover, así que una palabra corta sirve de poco.

La superficie de ataque se reduce

La mayoría de los vectores de ataque (robo, miradas por encima del hombro, una foto filtrada) solo necesitan las palabras de la semilla. La passphrase añade un segundo factor. No la escribas nunca en el mismo papel, no la guardes nunca en el mismo sitio, no la envíes nunca por medios digitales.

Coldcard, Jade, Trezor y Ledger la admiten. Coldcard vende el Q con un teclado QWERTY que, según el fabricante, es «ideal para passphrases BIP-39 largas» (COLDCARD Q). Jade tiene un ajuste para la passphrase BIP39 (registro de cambios de Jade). Trezor incluye la protección con passphrase en el Safe 3 (Trezor Safe 3). Ledger la sitúa en Ajustes, luego Seguridad, en el Nano S Plus, y en Ajustes, luego Avanzado, en el Flex (soporte de Ledger).

Una advertencia. La passphrase no se puede recuperar. Si la olvidas, ese Bitcoin se pierde. Anótala aparte, guárdala en un lugar seguro y prueba la recuperación antes de depositar una cantidad importante.

Los ataques que vacían wallets de Bitcoin

Las pérdidas reales de frases semilla casi nunca tienen que ver con la fuerza bruta contra buena entropía. Yo las clasifico en tres grupos: digitales, físicas y matemáticas.

Los ataques digitales van primero. Según mi experiencia, el phishing causa la mayoría de las pérdidas: apps de wallet falsas, webs falsas de «recuperación de wallet», falsos agentes de soporte. Ledger afirma que nunca te pedirá las 24 palabras de tu frase de recuperación (Ledger), y BitBox dice lo mismo de sus palabras de recuperación (BitBox02). Trata como un ladrón a cualquiera que te las pida. Después vienen las fotos. En febrero de 2025, Kaspersky encontró en Google Play y en la App Store de Apple apps que escaneaban la galería del móvil con reconocimiento de texto para robar frases de recuperación, y las apps infectadas de Google Play superaban las 242.000 descargas (Securelist). El malware (keyloggers, secuestradores del portapapeles) en equipos conectados a internet puede capturar frases semilla mientras se escriben, y por eso existen las hardware wallets dedicadas.

Los ataques físicos son más lentos, pero siguen ocurriendo. Alguien encuentra tu frase semilla escrita en un cajón, detrás de un cuadro, bajo un imán de la nevera. Aquí te defienden el lugar donde la guardas y la passphrase BIP39. Las miradas por encima del hombro son la versión leve. Alguien te observa mientras generas o introduces tu frase semilla. Configura las hardware wallets en privado y busca cámaras antes de confirmar nada delicado.

Los ataques matemáticos (la fuerza bruta contra la propia entropía) son el tema del título de este artículo. Solo han vaciado wallets cuando la entropía era débil. El comando bx seed de Libbitcoin Explorer producía semillas con 32 bits de entropía real, y los investigadores de Milk Sad calculan que se robaron más de 900.000 dólares (informe de Milk Sad). El aviso de Coinkite del 30 de julio de 2026, actualizado el 1 de agosto, dice que un fallo del firmware de Coldcard debilitó la generación de semillas, que las semillas de Mk4, Q y Mk5 tenían unos 72 bits en lugar de 128 y que unos atacantes regeneraron esas semillas débiles sin conexión y robaron fondos (aviso de Coinkite). La historia completa está en el artículo sobre la entropía débil de Coldcard (en inglés). Las matemáticas aguantan. Las pérdidas vienen del comportamiento y de fuentes de entropía defectuosas.

Lo que NO debes hacer con tu frase semilla

Mis reglas firmes:

  • Nada de fotos digitales. Nunca.
  • Nada de almacenamiento en la nube. Dropbox, Google Drive, iCloud, OneDrive.
  • Nada de gestores de contraseñas, salvo que hayas pensado bien el modelo de amenazas.

Además, evita el correo electrónico (ni a ti ni a nadie), las apps de mensajería (WhatsApp, Signal, iMessage), las capturas de pantalla y cualquier web que se presente como «validador de frases semilla» o «herramienta de recuperación de wallets». Son estafas.

Guarda la frase en papel o en metal, en lugares que controles.

Cómo guardar tu frase semilla

Genérala en un dispositivo dedicado (Coldcard, Jade, Trezor) y no en una extensión del navegador, una app móvil o una wallet de escritorio con acceso a internet. Un ordenador conectado tiene demasiadas superficies de ataque. Un dispositivo también puede salir de fábrica con un mal generador de números aleatorios, así que añade tu propia entropía cuando el dispositivo lo permita. El aviso de Coinkite dice que las semillas creadas con al menos 50 tiradas de dados privadas conservaron al menos 128 bits de entropía pese al fallo (aviso de Coinkite).

Metal, no papel

El papel arde, se moja, se deteriora. Los respaldos de metal guardan tus palabras en acero. Cryptosteel dice que su Seed24 es ignífugo (Cryptosteel), y SEEDOR afirma que su caja de acero inoxidable 316L aguanta 1.450 °C (SEEDOR). Una copia en un solo lugar es un punto único de fallo. Ten dos o tres respaldos de metal en lugares físicos distintos. Si usas una passphrase BIP39, guárdala separada de las palabras de la semilla.

Hardware wallets recomendadas para 2026

También lo trata el capítulo Wallets Staying Secure (en inglés).

  • Coldcard Q. Solo Bitcoin, air-gapped, USD 319 (COLDCARD Q). En mi opinión, la más centrada en la seguridad de las cuatro.
  • Jade Plus. Totalmente open source, USD 169,99 (Blockstream Jade).
  • Trezor Safe 5. Firmware con licencia GPL-3.0 (repositorio del firmware de Trezor) y lo que Trezor llama un «NDA-free EAL 6+ Secure Element» (Trezor Safe 5). El Safe 5, y el Safe 3 desde junio de 2024, crean por defecto un respaldo SLIP-39 de 20 palabras, con 12 o 24 palabras BIP-39 a elegir (guía de respaldos de Trezor).
  • Ledger Nano S Plus y BitBox02. Ledger usa una frase de recuperación de 24 palabras (soporte de Ledger). La BitBox02 guarda el respaldo en una tarjeta microSD, con palabras de recuperación como opción (BitBox02). Ledger ha publicado dos incidentes propios: una filtración de datos de contacto de clientes en 2020 (Ledger) y el compromiso del Connect Kit en diciembre de 2023 (informe de incidente de Ledger).

Prueba antes de depositar. Borra el dispositivo. Restáuralo desde tu frase semilla. Comprueba que todas las direcciones coinciden. Confirma que la passphrase funciona. Solo entonces envía Bitcoin de verdad a la wallet.

Computación cuántica y BIP39

El algoritmo de Shor resuelve logaritmos discretos (Shor 1995), el problema detrás de las firmas de curva elíptica que Bitcoin usa en las transacciones. No se aplica a la entropía BIP39. Un ordenador cuántico lo bastante grande podría obtener una clave privada a partir de una clave pública ya visible en la cadena. Contra la semilla, el mejor ataque conocido es la búsqueda de Grover, que necesita más o menos la raíz cuadrada del número clásico de intentos (Grover 1996). Eso convierte 2^128 en unos 2^64 pasos cuánticos para una semilla de 12 palabras y 2^256 en unos 2^128 para una de 24, y cada paso sigue ejecutando 2.048 rondas de HMAC-SHA512.

El NIST publicó sus tres primeros estándares poscuánticos definitivos, FIPS 203, 204 y 205, el 13 de agosto de 2024 (NIST). Bitcoin todavía no los usa. Las firmas Schnorr de Taproot (BIP-340) funcionan sobre la misma curva secp256k1 que ECDSA, así que corren el mismo riesgo frente a Shor. En mi opinión, cualquier migración será un cambio de protocolo coordinado. El análisis completo está en el análisis de la amenaza cuántica.

BIP39 aguanta. La parte humana, a menudo no.

La criptografía es sólida. Unos 128 o 256 bits de entropía real generan un espacio de claves que ningún adversario puede recorrer por fuerza bruta (especificación BIP-39).

Los puntos débiles son humanos, más algún generador de números aleatorios defectuoso de vez en cuando. Las frases semilla se fotografían, se sincronizan con la nube, se escriben en webs de phishing y se guardan en un único lugar sin copia de reserva. Una passphrase BIP39 robusta, que admiten todas las hardware wallets citadas arriba, desactiva la mayoría de esos escenarios con un paso más.

Haz tres cosas. Activa la passphrase BIP39 y guárdala separada de tus palabras. Pásate a un respaldo de metal, porque el papel no dura para siempre. Prueba la recuperación antes de necesitarla: borra el dispositivo, restáuralo desde la semilla y la passphrase y comprueba que funciona.

BIP39 hace su parte. Que tus monedas sigan siendo tuyas depende de la passphrase, el respaldo y la prueba de restauración que añadas encima.


Este artículo se basa en la documentación pública de BIP-39 y en la información de los fabricantes de hardware wallets disponible en octubre de 2026. No es asesoramiento de seguridad. El firmware y las funciones de las hardware wallets cambian. Prueba cada proceso de recuperación en un dispositivo dedicado antes de depositar cantidades importantes de Bitcoin, verifica el estado open source de cada firmware en el repositorio público actual del fabricante y trata como estafa cualquier oferta de un servicio de «fuerza bruta BIP-39». Los consejos de seguridad caducan rápido. Si tienes dudas, consulta a un profesional de seguridad independiente o a un custodio supervisado por la FINMA antes de meter un capital importante en una configuración que no puedes verificar por tu cuenta.


Fuentes:


¿Eres nuevo en Bitcoin? Empieza por el capítulo 1 (en inglés).

¿Quieres la visión completa? Lee los 19 capítulos gratis (en inglés) o pide el libro impreso.

Preguntas frecuentes

¿Qué es BIP39?
BIP39 (Bitcoin Improvement Proposal 39) es el estándar que convierte entropía aleatoria en una frase semilla mnemónica legible. Cada palabra sale de una lista fija de 2.048 palabras, y el repositorio de los BIP recoge 10 listas oficiales: inglés, japonés, coreano, español, chino simplificado, chino tradicional, francés, italiano, checo y portugués (listas de palabras BIP-39). La frase se convierte en semilla mediante PBKDF2 con HMAC-SHA512 y 2.048 iteraciones. Lo escribieron Marek Palatinus, Pavol Rusnak, Aaron Voisine y Sean Bowe, y se asignó el 10 de septiembre de 2013 (especificación BIP-39).
12 o 24 palabras. ¿Importa para la seguridad?
12 palabras codifican 128 bits de entropía y 24 palabras codifican 256 (especificación BIP-39). Las dos quedan fuera del alcance de la fuerza bruta. Una RTX 4090 comprueba unos 1,5 millones de semillas BIP39 por segundo (benchmark de hashcat, escalado de 999 a 2.048 iteraciones), así que un millón de esas tarjetas tardaría unos 7 × 10^18 años en probar todas las semillas de 12 palabras. Al Sol le quedan unos 5.000 millones de años (NASA). Las claves que deriva una semilla están en la curva secp256k1, con 128 bits de seguridad (SEC 2, tabla 1), de modo que 24 palabras protegen la propia semilla, no las claves de firma. Los Trezor Safe 5 y Safe 3 (unidades desde junio de 2024) crean por defecto un respaldo SLIP-39 de 20 palabras y ofrecen 12 o 24 palabras BIP39 (guía de respaldos de Trezor). Los dispositivos Ledger usan 24 palabras (soporte de Ledger). La BitBox02 guarda el respaldo en una tarjeta microSD, con palabras de recuperación como opción (BitBox02).
¿Qué es la passphrase BIP39 (la palabra 25) y debería usarla?
La passphrase es una cadena adicional que se combina con la frase semilla para derivar otra wallet (especificación BIP-39). Un ladrón que solo tenga la frase semilla verá la wallet de passphrase vacía, que puede estar vacía o ser un señuelo. Solo te protege si es larga y difícil de adivinar, porque un ladrón con las palabras puede probar passphrases sin conexión con herramientas como BTCRecover. Mi regla: usa una para cualquier cantidad que supere el dinero de bolsillo. Si pierdes la passphrase, los fondos desaparecen. No hay forma de recuperarlos.
¿Se puede romper una frase semilla BIP39 por fuerza bruta?
No si la entropía es real. Una frase de 12 palabras tiene 2^128 semillas posibles (especificación BIP-39), y cada intento cuesta 2.048 rondas de HMAC-SHA512. Ese coste deja a una RTX 4090 en unos 1,5 millones de intentos por segundo (benchmark de hashcat, escalado de 999 a 2.048 iteraciones), no en miles de millones. La fuerza bruta solo funciona cuando una wallet generó entropía débil. Los investigadores de Milk Sad demostraron que las semillas de Libbitcoin Explorer tenían 32 bits de entropía, y calculan que se robaron más de 900.000 dólares (informe de Milk Sad). Los hackers éticos prueban las superficies de ataque reales: generadores de números aleatorios débiles, cadenas de suministro comprometidas, malware de captura de pantalla y keyloggers, y miradas ajenas durante la configuración.
¿Cómo guardo de forma segura una frase semilla BIP39?
Escribe dos copias a mano en las tarjetas que vienen con la wallet. Nunca en un móvil, nunca en una captura de pantalla, nunca en la nube. Guarda las copias en lugares distintos, como una caja fuerte en casa y una caja de seguridad en el banco. Para guardarla a largo plazo, usa un respaldo de acero. Cryptosteel dice que su Seed24 es ignífugo (Cryptosteel), y SEEDOR afirma que su caja de acero inoxidable 316L aguanta 1.450 °C (SEEDOR). El papel y la tinta arden.
¿La computación cuántica amenaza mi frase semilla BIP39?
No de forma directa. El algoritmo de Shor resuelve logaritmos discretos (Shor 1995), el problema detrás de las firmas ECDSA y Schnorr de Bitcoin, y no se aplica a la entropía BIP39. Contra la semilla, el mejor ataque cuántico conocido es la búsqueda de Grover, que necesita más o menos la raíz cuadrada de los intentos (Grover 1996), así que 2^128 pasa a ser unos 2^64 pasos cuánticos y 2^256 unos 2^128. Las monedas expuestas son las salidas no gastadas cuya clave pública ya está en la cadena, como explica el análisis de la amenaza cuántica.
¿Qué hago si pierdo parte de mi frase semilla?
BIP39 incluye una suma de verificación: 4 bits en la última palabra de una frase de 12 palabras y 8 bits en la última palabra de una de 24 (especificación BIP-39). Si tienes 23 de 24 palabras y sabes dónde va la que falta, hay 2.048 candidatas, y la suma de verificación descarta la mayoría. BTCRecover automatiza esa búsqueda. Si no sabes la posición, hay 24 huecos posibles, es decir, 24 por 2.048, o 49.152 candidatas. Sigue siendo una búsqueda pequeña.