Glosario / Direcciones y claves
Clave privada
- ¿Qué es una clave privada?
- Una clave privada es el número secreto de 256 bits que autoriza el gasto de una salida de bitcoin; cualquiera que la descubra puede mover las monedas, y nadie puede volver a emitirla.
La propiedad de bitcoin es la posesión de claves, no una anotación en el libro contable de nadie. Una clave es un número aleatorio inferior a aproximadamente 1,16 por 10 elevado a 77, y por eso adivinar una no es ninguna amenaza, y generarla mal sí lo es. Las billeteras modernas nunca le muestran las claves: derivan cada una de ellas de una frase semilla de 12 o 24 palabras, y esa frase es lo que usted protege.
Cómo funciona
Una clave privada son 32 bytes, que normalmente se escriben como 64 caracteres hexadecimales, elegidos al azar en el intervalo que va desde 1 hasta justo por debajo del orden de la curva secp256k1. Ese orden es 115.792.089.237.316.195.423.570.985.008.687.907.852.837.564.279.074.904.382.605.163.141.518.161.494.337, un número de 78 dígitos. Prácticamente cualquier valor de 32 bytes es una clave válida, y eso es lo que hace que generarla sea tan sencillo y que el robo por fuerza bruta sea tan inviable.
Firmar es lo único que hace la clave. Para gastar una salida, su billetera produce con la clave una firma que cubre la transacción, y cada nodo verifica esa firma con la clave pública que exige la salida. La firma demuestra que la clave existe sin exponerla, así que un gasto confirmado publica una firma y nunca el secreto que hay detrás. Bitcoin usó solo ECDSA hasta Taproot; las firmas Schnorr, especificadas en BIP-340, cumplen la misma función en los gastos Taproot.
La aleatoriedad es donde está la verdadera vulnerabilidad. El espacio de claves no se puede explorar, pero un software deficiente puede reducirlo. En agosto de 2013, el proyecto Bitcoin publicó un aviso de seguridad por un fallo en el generador de números aleatorios de Android que hacía predecibles las claves de los teléfonos afectados, y como consecuencia directa se robaron monedas. Las billeteras cerebrales, en las que la clave procedía de una frase inventada por una persona, se vaciaron de forma sistemática en cuanto los atacantes empezaron a precalcular diccionarios. Ambos fallos tienen que ver con la entropía, no con que la criptografía se haya roto.
Por qué importa cuando compra bitcoin
Comprar en un exchange no le da una clave. Le da un saldo en la base de datos del exchange, respaldado por monedas que el exchange conserva bajo claves que controla su propio personal. Es un acuerdo perfectamente normal mientras usted opera, y uno malo para los ahorros. Mt. Gox congeló los retiros y entró en un procedimiento de quiebra en febrero de 2014, y sus acreedores esperaron hasta julio de 2024 a que llegaran los primeros reembolsos.
Retirar es el momento en que la custodia se transfiere de verdad. Su billetera deriva una clave de su frase semilla, entrega la dirección correspondiente y, en cuanto se confirma la transacción del exchange, ninguna empresa se interpone entre usted y las monedas. A partir de ese momento, los modos de fallo son suyos: un respaldo perdido, una frase semilla fotografiada, un sitio de phishing que le pide "validar" su billetera.
Tres hábitos cubren la mayor parte del riesgo. Genere las claves en un dispositivo diseñado para ello, de modo que el secreto se cree y se use dentro de un hardware que nunca lo exporta. Respalde la frase semilla en algo que sobreviva al agua y al fuego, y nunca como una foto o una nota en la nube. Y trate cualquier solicitud de una clave o de una frase semilla como un ataque, sin excepción, porque ningún exchange, proveedor de billeteras ni agente de soporte la necesita para nada.
Dónde está la clave en cada paso de una primera compra
Si se sigue una sola compra de principio a fin, una clave privada se mueve en una secuencia muy concreta. Usted envía dinero a un exchange y compra: todavía no existe ninguna clave para usted, solo una fila en un libro contable. Usted pega una dirección de retiro: su billetera generó esa dirección a partir de una clave derivada de su frase semilla, y la clave nunca ha salido del dispositivo. El exchange difunde una transacción que bloquea monedas en su dirección: la clave sigue sin haber hecho nada. Meses después, usted decide gastar, y solo entonces la clave produce su primera firma, que la red verifica y registra para siempre.
De esa secuencia se desprenden dos cosas. Una clave puede controlar monedas durante años antes de usarse por primera vez, así que una billetera que "no ha hecho nada" no está inactiva ni caducada. Y la transferencia de la propiedad ocurrió en el retiro, no en la compra, y por eso el paso del retiro es el que merece comprobarse dos veces.
Clave privada frente a frase semilla
Una clave privada controla un conjunto de monedas; una frase semilla genera una billetera entera llena de claves. La frase es una codificación legible por humanos de la entropía que hay detrás de una jerarquía BIP-32: 12 palabras llevan 128 bits, 24 palabras llevan 256 bits, y a partir de esa raíz la billetera deriva miles de millones de claves a lo largo de una ruta de derivación. Restaurar la frase reconstruye cada una de ellas. Restaurar una sola clave reconstruye una sola clave, y las monedas que la billetera tuviera en otros lugares siguen sin aparecer.
Clave privada frente a formato de importación de billetera
Una clave privada es un número, y el formato de importación de billetera es una manera de escribirlo. WIF envuelve los mismos 32 bytes con un byte de red, un indicador de compresión opcional y una suma de comprobación, y después codifica el conjunto en Base58. Nada cambia en el secreto subyacente, así que una cadena WIF merece exactamente la misma protección que el número en bruto: quien la lea puede gastar las monedas de inmediato.