Ir al contenido

Clave privada

De BitcoinWiki
Ilustración conceptual de una clave privada de Bitcoin protegida que autoriza una firma digital
Ilustración conceptual de la custodia de una clave privada y la firma digital; no se muestra material de clave utilizable.

Una clave privada de Bitcoin es un número entero secreto que se utiliza para autorizar el gasto con una clave pública de Bitcoin. El software de monedero utiliza una clave privada para crear una firma digital; los nodos de Bitcoin verifican la firma con la clave pública correspondiente sin conocer la clave privada. Quien obtenga una clave privada utilizable normalmente puede autorizar las mismas condiciones de gasto que su legítimo controlador, por lo que la clave debe permanecer secreta.

Las claves privadas no son direcciones de Bitcoin. Una dirección codifica información sobre un script de bloqueo o una condición de gasto y está destinada a ser compartida para recibir pagos. Las billeteras modernas pueden derivar muchas claves y direcciones de una semilla protegida, y algunas condiciones de gasto requieren varias claves en lugar de una.

Base matemática

Bitcoin utiliza la curva elíptica secp256k1. Una clave secreta válida es un valor de 32 bytes interpretado como un número entero desde 1 hasta n-1, donde n es el orden del generador de la curva. La clave pública correspondiente se calcula mediante la multiplicación de puntos de curva elíptica. Esta operación está diseñada para ser unidireccional: BIP 32 describe que la recuperación de la clave privada de una clave pública requiere aproximadamente 2128 operaciones de curva elíptica bajo la supuesta seguridad de secp256k1.[1]

Bitcoin históricamente utilizó firmas ECDSA. Las salidas de Taproot utilizan el esquema de firma BIP 340 Schnorr, que también utiliza secp256k1.[2] La solidez matemática de una clave no la protege de una aleatoriedad débil, una generación nonce defectuosa, malware, canales secundarios o un procedimiento de copia de seguridad inseguro.

Generación y derivación

Las billeteras deben generar claves con un generador de números aleatorios criptográficamente seguro o derivarlas utilizando un esquema de billetera determinista revisado. BIP 32 define carteras deterministas jerárquicas (HD), en las que una semilla raíz produce un árbol de claves extendidas. Una clave privada extendida incluye tanto material de clave como un código de cadena y puede derivar una rama completa, por lo que exponerla puede comprometer muchas direcciones en lugar de una.[1]

Las palabras de recuperación no son en sí mismas claves privadas ordinarias. En esquemas como BIP 39, la entropía generada por la billetera se codifica como una secuencia de palabras y se transforma en una semilla, de la cual una billetera HD deriva claves. [3] Por lo tanto, una frase de recuperación o semilla raíz es al menos tan sensible como las claves privadas derivadas. Las palabras elegidas por una persona no son un sustituto seguro de la entropía generada en la billetera; ver Brainwallet.

Claves extendidas y rutas de derivación

Una clave pública extendida puede derivar y monitorear una rama de claves públicas no reforzadas sin obtener autoridad de gasto ordinaria. Esto es útil para carteras de vigilancia y sistemas receptores, pero también revela relaciones de transacciones y saldos para esa sucursal. Según BIP 32, la divulgación de una clave privada secundaria no protegida junto con su clave pública extendida principal puede revelar la clave privada principal; La derivación reforzada está diseñada para evitar esa escalada en particular.[1]

Una ruta de derivación identifica dónde se encuentra una clave en un árbol HD. Una semilla por sí sola puede ser insuficiente para una recuperación sencilla si se desconoce el tipo de billetera, el esquema de derivación, el tipo de script, las cuentas o la frase de contraseña opcional. Por lo tanto, las copias de seguridad deben incluir los metadatos no secretos de la billetera necesarios para el proceso de recuperación documentado del software, sin colocar material secreto en una nota en línea.

Representaciones y descripciones de billetera

Una clave privada se puede almacenar internamente en 32 bytes. El software heredado puede exportar una única clave en formato de importación de billetera (WIF), una codificación Base58Check que incluye información de compresión de clave pública y de red. Una clave privada extendida tiene una codificación diferente y normalmente comienza con un prefijo específico de la implementación, como xprv.

Una codificación no hace que una clave sea más segura. Hexadecimal, WIF, una clave privada extendida, un código QR, una frase inicial y una copia de seguridad de billetera pueden revelar la autoridad de gasto. Este artículo no proporciona deliberadamente ningún ejemplo funcional de clave privada, porque los ejemplos con frecuencia se copian, indexan o financian por error.

Los descriptores de scripts de salida proporcionan una descripción legible por máquina de cómo se derivan los scripts y las claves del monedero. Un descriptor puede contener únicamente información pública para un monedero de solo lectura o material de clave privada; este último debe protegerse como un secreto. La interfaz de monederos con descriptores de Bitcoin Core distingue los descriptores públicos de los devueltos con material privado.[4]

Importar, barrer y volver a escanear

Importar una clave privada la agrega a una billetera para que la billetera pueda monitorear y gastar resultados relevantes. Sweeping crea una transacción que mueve esas salidas a una nueva clave controlada por la billetera receptora. El comportamiento varía según la billetera, el tipo de script, la compatibilidad con el descriptor y la política de reexploración. Es posible que una única clave importada no reconstruya las direcciones de billetera HD relacionadas o la política de respaldo de la billetera original.

No pegue una clave privada financiada o una frase de recuperación en un sitio web, un explorador de bloques, un convertidor, un chat de soporte, un mensaje de IA o una billetera desconocida. Siga la documentación de la billetera que creó la copia de seguridad. Si se debe recuperar una clave heredada, utilice software actual y confiable en un dispositivo controlado y verifique la billetera de destino antes de transferir fondos.

Arreglos de custodia

No todas las salidas de Bitcoin están controladas por una clave privada. Los arreglos comunes incluyen:

  • custodia de firma única, donde una clave puede satisfacer la condición de gasto;
  • custodia multifirma, donde se requiere un umbral de varias claves;
  • firma de hardware, donde un dispositivo mantiene aislado el material clave y firma las transacciones aprobadas;
  • coordinación de solo observación, donde un sistema en línea construye y monitorea transacciones pero un sistema separado las firma; y
  • firma de umbral, donde las partes crean conjuntamente una firma sin reconstruir una clave privada completa en un solo lugar.

Estos arreglos cambian el modelo de falla, no la necesidad de respaldos. Una billetera con múltiples firmas puede reducir la dependencia de un dispositivo, pero la recuperación también requiere los scripts o descriptores correctos, orígenes de claves, políticas de umbral y suficientes firmantes supervivientes. La complejidad que no se prueba puede causar en sí misma una pérdida permanente.

Almacenamiento de claves heredadas

Las billeteras de papel y los bitcoins físicos a menudo almacenaban una única clave privada o un registro de clave privada cifrado. BIP 38 especificó un formato protegido con frase de contraseña utilizando scrypt y AES para dichos registros. [5] Estos formatos siguen siendo relevantes al recuperar fondos históricos, pero carecen de muchas propiedades de las copias de seguridad HD modernas y pueden fallar debido a compromiso de la impresora, medios ilegibles, frases de contraseña débiles, incompatibilidad de software o reutilización accidental después de un gasto parcial.

Una frase de contraseña protege únicamente su entropía e implementación. El cifrado no repara una clave que se generó de forma predecible, se copió antes del cifrado o se expuso durante el descifrado.

Seguridad y almacenamiento

Los modos de falla comunes incluyen:

  • malware, reemplazo del portapapeles, capturas de pantalla, registros o sincronización en la nube que exponen un secreto;
  • generación de números aleatorios predecible o sesgada;
  • una frase elegida por el usuario que se puede adivinar sin conexión;
  • reutilización de una clave publicada en el código fuente, documentación, acertijos o sitios web;
  • pérdida, daño o copias de seguridad incompletas;
  • phishing que solicita una semilla o clave para “verificar”, “sincronizar”, “reclamar” o “recuperar” una billetera; y
  • filtrar una clave privada extendida o combinar una clave privada secundaria no protegida con datos relacionados de clave pública extendida en un diseño BIP 32 inseguro.[1]

Una estrategia de respaldo sólida depende de la billetera y del modelo de amenaza. Las salvaguardas típicas incluyen el uso de software de billetera mantenido, el mantenimiento de copias de seguridad fuera de línea en ubicaciones físicamente protegidas, la prueba de recuperación con datos de prueba o no confidenciales y el uso de dispositivos de firma de hardware cuando corresponda. Una copia de seguridad debe tener en cuenta el robo, el daño físico, la incapacidad, la herencia y la obsolescencia del software sin aumentar innecesariamente la cantidad de personas o sistemas que pueden leer el secreto.

Sospecha de compromiso

Si una clave privada puede haber quedado expuesta, trátela como comprometida. En un dispositivo confiable, cree una nueva billetera con entropía nueva, verifique su copia de seguridad y mueva los fondos a una nueva dirección de recepción. Para una billetera compleja o de gran cantidad, primero establezca qué salidas y claves relacionadas pueden verse afectadas y obtenga asistencia calificada sin revelar el secreto. No reutilice la clave anterior después de la transferencia y no confíe en eliminar una copia: es posible que un atacante ya la haya conservado.

Clave privada, clave pública y dirección

  • Una clave privada crea firmas y debe permanecer secreta.
  • Una clave pública ' permite a los nodos verificar firmas y puede derivarse de la clave privada.
  • Una dirección de Bitcoin. es una codificación orientada al usuario relacionada con un script de salida particular; no es simplemente otro nombre para una clave pública.
  • Una clave extendida ' combina una clave con un código de cadena para una derivación determinista y puede representar una rama completa de una billetera.
  • Un descriptor ' describe uno o más scripts de salida y su derivación de claves; puede ser sólo público o contener material privado.

Ver también

Referencias

  1. 1,0 1,1 1,2 1,3 BIP 32: Hierarchical Deterministic Wallets, “Conventions” and “Security”, accessed 27 August 2026.
  2. BIP 340: Schnorr Signatures for secp256k1, “Public Key Generation” and “Default Signing”, accessed 27 August 2026.
  3. BIP 39: Mnemonic code for generating deterministic keys, accessed 27 August 2026.
  4. Bitcoin Core 30.0 RPC: listdescriptors, accessed 27 August 2026.
  5. BIP 38: Passphrase-protected private key, accessed 27 August 2026.