Claves públicas y privadas: cómo Bitcoin demuestra la propiedad

Claves públicas y privadas: cómo Bitcoin demuestra la propiedad

Las claves pública y privada son un par de claves criptográficas, llamado par de claves. La clave privada es un valor secreto que crea firmas digitales. La clave pública se deriva de la clave privada, puede compartirse abiertamente y permite que cualquiera verifique una firma sin conocer el secreto. En Bitcoin, controlar la clave privada es lo que permite gastar BTC.

¿Cómo encajan una clave privada y una clave pública?

Una clave privada es un valor secreto que crea firmas digitales. Quien conozca la clave privada puede firmar en nombre de la clave pública correspondiente, por lo que el propietario la conserva y no la comparte con nadie.

Una clave pública se calcula a partir de la clave privada mediante una operación matemática unidireccional. Las dos claves juntas se llaman par de claves. Un par de claves se genera de forma que deducir la clave privada a partir de la clave pública esté diseñado para ser computacionalmente inviable, razón por la cual la clave pública puede compartirse abiertamente. La siguiente tabla resume cuál de las dos claves se comparte y cuál se mantiene en secreto.

ClaveQuién puede conocerlaQué hace
Clave privadaSolo su propietarioCrea firmas digitales
Clave públicaCualquieraVerifica las firmas creadas con la clave privada correspondiente

El campo que utiliza pares de claves se denomina criptografía de clave pública, o criptografía asimétrica, porque las dos claves son diferentes y cumplen funciones distintas. Un par de claves puede usarse para firmar datos o para cifrarlos. La criptografía simétrica, en cambio, usa una única clave compartida tanto para cifrar los datos como para descifrarlos. Esa clave única suele llamarse “clave secreta”.

¿Cómo funcionan las claves de Bitcoin cuando gastas BTC?

Las claves de Bitcoin funcionan mediante firmas digitales. En la blockchain de Bitcoin, el BTC existe como outputs, que son cantidades de BTC bloqueadas por una condición. En el caso más simple, la condición es una firma válida de la clave vinculada al output, por lo que controlar BTC significa ser capaz de generar esa firma.

Gastar BTC con un par de claves requiere cuatro pasos:

  1. La wallet, que es el software que almacena la clave privada, firma la transacción con la clave privada.
  2. La wallet transmite la transacción firmada a la red de Bitcoin.
  3. Los nodos, que son computadoras conectadas a la red de Bitcoin, verifican la firma contra la clave pública.
  4. La verificación se aprueba o falla, y la firma no revela la clave privada.

Crear una firma válida requiere la clave privada, y verificarla solo requiere la clave pública. Por lo tanto, el firmante es quien posee la clave privada, mientras que el verificador puede ser cualquiera. Una firma autoriza el gasto de un output específico y, por defecto, cubre los detalles de la transacción: el output que se gasta, el destino y el monto.

Bitcoin usa pares de claves para firmar transacciones, no para cifrar datos. Las propias transacciones son públicas en la blockchain, por lo que una firma demuestra que quien posee la clave privada autorizó un gasto, pero no oculta el pago. Bitcoin acepta dos esquemas de firma: el algoritmo de firma digital de curva elíptica (ECDSA) y las firmas Schnorr.

¿Cómo crea Bitcoin un par de claves?

Una wallet crea un par de claves eligiendo una clave privada al azar. Una clave privada de Bitcoin es un número de 256 bits, lo que significa que requiere 256 bits, o 32 bytes, para almacenarse. Una clave privada válida va desde 1 hasta justo por debajo de un límite fijo llamado orden de la curva. Ese límite es ligeramente menor que 2 elevado a 256, por lo que casi cualquier número de 256 bits es una clave privada válida.

Bitcoin utiliza la curva elíptica secp256k1, un conjunto fijo de constantes matemáticas que comparte el software de Bitcoin. La clave pública se calcula a partir de la clave privada mediante un cálculo unidireccional sobre esta curva, partiendo de un punto fijo de la curva. Una clave pública de Bitcoin ocupa 33 bytes en su forma comprimida: un byte de prefijo seguido de 32 bytes. Taproot, un tipo de dirección diferente descrito en la siguiente sección, utiliza en cambio una clave de 32 bytes.

El siguiente bloque muestra cómo se relacionan una clave privada, una clave pública y una dirección común de clave única. Las entradas entre corchetes angulares son marcadores de posición que indican el tipo y tamaño de cada valor, no valores reales. Cada línea se calcula a partir de la línea anterior mediante un paso unidireccional.

private key: <256-bit secret number, 32 bytes>\npublic key:  <compressed point, 33 bytes>\naddress:     <hash of the public key, encoded>

¿Cómo se obtiene una dirección de Bitcoin a partir de una clave pública?

Para los tipos de dirección comunes de clave única, una dirección de Bitcoin es un identificador de pago derivado de una clave pública mediante hashing, por lo que la dirección no es la clave pública en sí. Una dirección de clave única es una dirección vinculada a una sola clave pública, y los dos tipos comunes son el tipo legacy y el tipo SegWit. El hashing es un cálculo unidireccional que convierte una entrada de cualquier longitud práctica en una salida de tamaño fijo.

Para una dirección legacy o SegWit, la wallet aplica hash a la clave pública con SHA-256, una función hash, y luego aplica hash a ese resultado con RIPEMD-160, una segunda función hash. El resultado final tiene una longitud de 20 bytes. Una dirección SegWit usa este resultado de 20 bytes tal cual, mientras que una dirección legacy añade un byte de versión y una suma de verificación, y se escribe en una codificación llamada Base58Check.

No todos los tipos de dirección de Bitcoin se construyen aplicando hash a una sola clave pública. Las direcciones de hash de script aplican hash a un script, que es la condición que debe cumplirse para poder gastar, en lugar de a una clave. Las direcciones Taproot contienen directamente una clave de 32 bytes en lugar de un hash de esta.

En el caso de las direcciones legacy y de hash de script que no se reutilizan, la clave pública no se muestra en la blockchain, solo su hash, hasta la primera vez que se gastan los fondos enviados a esa dirección. La dirección es donde se recibe el BTC, y la clave privada es la que permite gastarlo.

¿Qué contiene una wallet y quién posee las claves?

Una wallet de Bitcoin es un tipo de wallet cripto: software que almacena claves privadas y las usa para crear y firmar transacciones. En esencia, una wallet es una colección de claves privadas, no un depósito de BTC. El propio BTC se registra en la blockchain como outputs de transacciones no gastados (UTXO). Un UTXO es un output de una transacción anterior que aún no se ha gastado, por lo que decir “mi BTC está en mi wallet” es una simplificación.

La autocustodia significa que el propietario conserva las claves privadas. Mientras nadie más posea una copia de las claves, solo el propietario puede gastar el BTC, y el propietario asume el riesgo de perderlas.

Una wallet custodial es aquella en la que un proveedor conserva las claves privadas en nombre del usuario. Quien posea las claves privadas puede gastar el BTC vinculado a ellas, por lo que la autocustodia y una wallet custodial se diferencian en quién es ese titular: el propietario en un caso, el proveedor en el otro.

Muchas wallets, llamadas wallets deterministas jerárquicas (HD, por sus siglas en inglés), pueden regenerar todas sus claves a partir de una sola copia de seguridad, generalmente una frase semilla.

¿Qué ocurre si se pierde o se comparte una clave privada?

Una clave privada no se puede cambiar ni restablecer como una contraseña. Si no existe una copia de seguridad, se pierde el acceso a los fondos vinculados a esa clave, porque los outputs permanecen en la blockchain y no es posible generar ninguna firma para gastarlos.

Cualquiera que tenga una copia de la clave privada puede firmar y gastar. Una transacción de Bitcoin confirmada está diseñada para ser definitiva, y esa condición de finalidad se aplica también a un gasto realizado con una clave privada copiada.

12 de noviembre de 2026

Noticias de GoMining

Quizá le interese: