LearnBitcoin

Glosario

BIP 39 (frase semilla)

El estándar de 2013 para codificar la semilla de una billetera como 12 a 24 palabras en inglés, con una passphrase opcional como protección adicional.

Traducción hecha con ayuda de IA, pendiente de revisión humana. Lee el original (en inglés).

El BIP 39, escrito por Marek Palatinus, Pavol Rusnak, Aaron Voisine y Sean Bowe en septiembre de 2013, define cómo una billetera de Bitcoin codifica su semilla como una secuencia de 12 a 24 palabras comunes del inglés. Es el estándar más común de frase semilla (también llamada frase de recuperación), aunque no el único: Electrum genera a propósito su propio formato de semilla.

La matemática:

  1. Se parte de 128, 160, 192, 224 o 256 bits de entropía criptográfica.
  2. Se agrega una suma de verificación (checksum) derivada de SHA-256, cuyo largo es la cantidad de bits de entropía dividida entre 32.
  3. Se divide el resultado en grupos de 11 bits y se busca cada grupo en la lista de 2048 palabras del BIP 39.

El resultado es una frase de 12, 15, 18, 21 o 24 palabras. Con 12 palabras se codifican 128 bits de entropía; con 24 palabras, 256 bits (la escala completa está en bits de entropía de la frase semilla). Ambas opciones quedan muy lejos del alcance de la fuerza bruta; elegir una u otra es cuestión de preferencia.

Para obtener la semilla real de la billetera (la entrada de la derivación BIP 32), la frase mnemónica pasa por PBKDF2-HMAC-SHA512 con 2048 iteraciones, usando como sal (salt) la cadena "mnemonic" más una passphrase opcional. Con una passphrase vacía obtienes una billetera; con una passphrase no vacía obtienes una billetera completamente distinta a partir de las mismas palabras. A esa passphrase opcional a veces se le llama la "palabra 25".

Por qué importa el BIP 39:

  • Un respaldo pensado para personas. Una lista de 24 palabras es más fácil de anotar sin errores, transcribir y verificar que 64 caracteres hexadecimales.
  • Detección de errores. Una palabra que no está en la lista se rechaza de inmediato, y la suma de verificación atrapa la mayoría de los errores restantes al cargar la frase, así que una palabra mal escrita suele fallar rápido en vez de abrir en silencio una billetera distinta (y probablemente vacía). La propia especificación reconoce que la suma de verificación es corta: un error que aun así produce palabras válidas se le escapa aproximadamente una de cada 16 veces en una frase de 12 palabras y una de cada 256 en una de 24.
  • Portabilidad entre billeteras. Restaura una frase semilla BIP 39 en cualquier billetera compatible con BIP 39 / BIP 32 y obtendrás las mismas claves. Las mismas direcciones solo aparecen si, además, las dos billeteras usan la misma ruta de derivación y el mismo tipo de script.
  • Listas de palabras en varios idiomas. La lista de palabras está publicada en inglés, japonés, coreano, español, francés, italiano, checo, portugués y chino (simplificado y tradicional). La misma matemática, con palabras locales. La propia especificación desaconseja con firmeza las listas en otros idiomas, porque la mayoría de las billeteras solo admiten la lista en inglés y una frase traducida a otra lista produce una semilla distinta.

La lista en inglés se eligió con cuidado: 2048 palabras (exactamente 11 bits cada una), ninguna comparte sus primeras cuatro letras con otra (así que una palabra escrita a medias se resuelve sin ambigüedad) y sin pares fáciles de confundir. Es el estándar de frase semilla más usado.

Especificación: BIP 39.

Ideas clave

  • Codifica de 128 a 256 bits de entropía como 12 a 24 palabras tomadas de una lista de 2048
  • Una passphrase opcional produce una billetera distinta a partir de las mismas palabras
  • Es el estándar de frase semilla más común, aunque no universal: Electrum usa su propio formato

Fuentes (5)

Referencias externas (2)

Términos relacionados (5)

Publicado el . No hay correcciones registradas para esta página.

Editar esta página en GitHub