BIP85 es una especificación de aplicación para derivar entropía de forma determinista desde una raíz privada BIP 32. Reproduce descendientes sin entregar la raíz maestra a las carteras de destino; no divide una copia de seguridad en participaciones.
La entrada es una raíz privada extendida BIP 32, no texto arbitrario. BIP 39 primero codifica entropía en una frase y después genera la semilla de la raíz a partir de la frase y una passphrase. BIP85 no invierte este proceso: no recupera la frase original desde la raíz. Produce entropía nueva, separada por aplicación. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 32 — Hierarchical Deterministic Wallets] [BIP 39 — Mnemonic code for generating deterministic keys]
Cada paso de derivación es hardened. La clave privada k de 32 bytes resultante actúa como mensaje de HMAC-SHA512 con la clave bip-entropy-from-k; la salida tiene 64 bytes. Un xpub público no basta. Esta transformación separa la entropía resultante de la clave; no indica que deba usarse también esa clave para firmar. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 32 — Hierarchical Deterministic Wallets]
La ruta m/83696968'/39'/0'/12'/0' selecciona BIP85, la aplicación BIP 39, el diccionario inglés, 12 palabras e índice 0. El índice 1 produce otro descendiente. El código del diccionario checo es 8', independientemente del idioma de esta página. Cambiar idioma o cantidad de palabras cambia la ruta, no solo la presentación de la misma frase. [BIP 85 — Deterministic Entropy From BIP32 Keychains]
Para 12 palabras se toman los primeros 128 bits del resultado; para 24, los primeros 256. BIP 39 añade la suma de comprobación y las palabras. Crear después la semilla es otro paso. BIP85 no determina scripts, rutas de direcciones ni historial de cartera. Una salida más larga no aumenta la incertidumbre de un secreto original débil. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 39 — Mnemonic code for generating deterministic keys]
La aplicación XPRV usa m/83696968'/32'/0': los primeros 32 bytes forman el chain code y los siguientes 32 la clave privada, al contrario que al crear una raíz BIP 32. Un escalar resultante no válido debe generar un error; el usuario elige el siguiente índice. HEX y contraseñas tienen aplicaciones y reglas de formato diferentes. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 32 — Hierarchical Deterministic Wallets]
Con una implementación correcta, deducir del descendiente su padre o hermanos es computacionalmente inviable. Quien obtiene la raíz maestra y el contexto puede reproducir los descendientes; perder la raíz amenaza a los que carecen de copia independiente. Exportar un descendiente a una cartera conectada limita el alcance de una filtración, pero no repara una raíz maestra comprometida. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [COLDCARD — Export Deterministic Entropy (BIP-85)]
La passphrase de la frase BIP 39 del padre cambia la raíz de entrada y todos sus descendientes. Otra passphrase aplicada a la frase derivada en la cartera de destino cambia su semilla; BIP85 no respalda esa passphrase. La recuperación exige contexto exacto del padre, aplicación, formato, diccionario, longitud e índice, además de cualquier passphrase de destino. [BIP 39 — Mnemonic code for generating deterministic keys] [COLDCARD — Export Deterministic Entropy (BIP-85)]
La documentación de COLDCARD describe la reproducción con el mismo padre, formato e índice y la exportación BIP 39, WIF, XPRV y HEX. Admitir BIP85 no implica admitir todas las aplicaciones. Antes de depender de una copia, verifique que reproduce el descendiente y las direcciones de destino; registre los parámetros necesarios y compruebe la implementación con vectores públicos de prueba. [COLDCARD — Export Deterministic Entropy (BIP-85)] [BIP 85 — Deterministic Entropy From BIP32 Keychains]
Para obtener la imagen más completa, lee esta entrada junto con HD Wallet, BIP 39, Frase de contraseña BIP39, Derivation Path, Hardware Wallet. También enlazan con esta entrada Duress Wallet.