


Serie: Zero to Zero Knowledge
Las frases semilla mnemotécnicas sustentan uno de los aspectos más importantes de las criptomonedas: la autocustodia.
Hoy aprenderemos cómo se genera y se utiliza una frase semilla en las wallets.
Las frases de recuperación están definidas por la especificación BIP-39, el tipo de frase de recuperación más común utilizado hoy en día.
La creación de frases de recuperación comienza generando aleatoriedad. Más entropía significa mayor seguridad. Se considera que 128 bits de entropía son suficientes para la mayoría de los usuarios.

Dependiendo de la longitud de la entropía inicial, la frase de recuperación tendrá entre 12 y 24 palabras.
Comenzamos generando 128 bits de entropía.
Aplicamos hash a la entropía usando SHA256. Los primeros bits de este hash se convierten en el checksum.
Esto nos da una huella única para nuestra entropía.

Los 132 bits totales (128 de entropía + 4 de checksum) se separan en fragmentos de 11 bits.
Cada secuencia de 11 bits se convierte en un número decimal (0-2047).
Las listas de palabras BIP-39 contienen exactamente 2048 palabras (inglés, español, chino, etc.).
Estos números se utilizan para encontrar la palabra correspondiente en la lista de palabras.

Resultado: ¡Ahora tenemos una frase de recuperación segura, legible para humanos y de 12 palabras!
Usando la frase de recuperación, una wallet puede generar claves para crear direcciones de pago y diferentes cuentas de wallet.
Las claves generadas son determinísticas: la misma entrada siempre produce la misma salida.
La seed de la wallet se deriva de la frase mnemotécnica usando una Key Derivation Function (KDF):
Esto produce una seed de 64 bytes (512 bits).

La seed se divide en dos secuencias de 32 bytes:
Estas se utilizan en las Hierarchical Deterministic (HD) Wallets para la derivación de claves hijas.
En Zcash, la autoridad de visualización o la autoridad de gasto pueden delegarse de forma independiente para subárboles sin comprometer la seed maestra.
ZIP-32 define el estándar de generación jerárquica determinística de claves adaptado a las funciones de privacidad de Zcash.
A partir de una Expanded Spending Key derivamos:
Diferentes mecanismos de derivación producen direcciones externas adecuadas para entregarlas a remitentes a través de pools blindados (Sapling y Orchard).

Zcash también admite direcciones internas para operaciones de wallet como el Auto-Shielding.
Hilo original de ZecHub (@ZecHub)
https://x.com/ZecHub/status/1624125037945946145
Esta página fue compilada a partir del hilo original de Zero to Zero Knowledge para la wiki de ZecHub.