Saltar al contenido
Guia Bitcoins

Qué es una clave privada

¿Qué es una clave privada?

Una clave privada en el contexto de Bitcoin es un número secreto que permite gastar los bitcoins. Cada dirección Bitcoin tiene asociada una clave privada, que se almacena en el archivo de la billetera de la persona con el saldo. La clave privada está matemáticamente relacionada con la dirección de Bitcoin, de modo que la dirección de Bitcoin se deriva de la clave privada siguiendo unas reglas fijas, mientras que la operación inversa, deducir una clave privada de la dirección de Bitcoin, es imposible.

Dado que las claves privadas son la clave que permite gastar bitcoins, es esencial mantenerlas seguras. Las claves privadas se pueden guardar en archivos de ordenador, pero cuando se trata de números simples, también se pueden imprimir en papel. Un ejemplo de una herramienta que le permite extraer claves privadas de un archivo de cartera es pywallet.

Para crear una transacción con una clave privada, ésta debe estar disponible para el programa o servicio que realiza los pagos de Bitcoin accediendo a las claves privadas. Algunas aplicaciones de billetera le permiten importar claves privadas sin generar transacciones, mientras que otras aplicaciones y servicios transfieren el saldo de la clave importada a otra dirección. Cuando una clave privada se limpia de esta forma, se comunica una transacción a la red donde todo el saldo asociado a la clave privada importada se envía a otra dirección controlada por la aplicación o servicio.

Un ejemplo de importación de claves privadas mediante el «escaneo» completo de su saldo asociado es el método utilizado por la utilidad «Añadir fondos» de Mt. Gox. Al igual que con cualquier otro depósito, siempre existe el riesgo de fraude con gastos duplicados, por lo que los fondos importados aparecen en la cuenta de usuario de Mt. Gox después de una espera de seis confirmaciones (generalmente alrededor de una hora). Por el contrario, el servicio My Wallet de BlockChain.info y Bitcoin-Qt proporciona una utilidad para importar claves privadas incrustándolas en la propia cartera, sin tener que borrar el saldo de bitcoin de la clave privada importada.

Base del intercambio formato de importación 58

Cuando quiera representar claves privadas en Bitcoin, puede utilizar un formato más compacto conocido como formato de importación de bolsas, que tiene varias ventajas. El formato de importación de la billetera es más corto e incorpora dígitos de control para detectar errores, lo que permite evitar y corregir errores de transcripción, que serían imposibles de detectar en formato hexadecimal. El formato de importación de intercambio es la notación más común para las claves privadas de Bitcoin. Las claves privadas asociadas a las claves públicas sin comprimir constan de 51 caracteres que siempre comienzan con el número 5. Las claves privadas asociadas a las claves públicas comprimidas constan de 52 caracteres y comienzan con una L o K mayúscula. A continuación, muestre la misma clave privada que antes en el formato de importación de la billetera:

5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF

Cuando se importa una clave privada, siempre corresponde exactamente a una dirección de Bitcoin. Cualquier herramienta que realice la conversión debe ser capaz de mostrar la dirección Bitcoin correspondiente. Las reglas de conversión matemáticas son complicadas y es mejor dejar el cálculo en manos de un ordenador, pero cualquier programa que sepa cómo tratar las claves privadas y las direcciones de Bitcoin deducirá exactamente la misma dirección de Bitcoin de una clave privada determinada.

La dirección Bitcoin correspondiente a la clave privada que usamos como ejemplo es: 1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj

Qué es una clave privada

Mini formato de clave privada

Algunas aplicaciones utilizan el mini formato de claves privadas. No todas las claves privadas o direcciones de Bitcoin tienen asociada una miniclave privada, pero deben ser generadas de cierta manera para que la existencia de una miniclave privada pueda ser asegurada para una dirección determinada. La miniclave privada se utiliza en aplicaciones en las que los requisitos de espacio son críticos, como los códigos QR en bitcoins físicos. El ejemplo anterior tiene una mini tecla, que es:

SzavMBLoXU6kDrqtUVmffv

Bitcoins enviado a la dirección 1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj puede ser utilizado por cualquiera que conozca la clave privada en cualquiera de los tres formatos. Esto incluye tanto las bitcoins que se encuentran actualmente en la dirección como las bitcoins recibidas en cualquier momento en el futuro. La clave privada sólo se necesita para gastar el saldo; no es necesario consultarla. El saldo de una dirección Bitcoin se puede consultar públicamente a través del bloque Explorer (http://www.blockexplorer.com/address/1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj) sin necesidad de tener la clave privada.

Si el acceso exclusivo a una clave privada con un saldo de bitcoin distinto de cero es robado o perdido, la única solución es correr a gastar ese saldo inmediatamente haciendo un pago a otra dirección de Bitcoin cuya clave privada esté bien protegida. Dado que los bitcoins sólo se pueden gastar una vez, la clave privada de la dirección que se desequilibra se vuelve inútil, siempre y cuando no se realice ningún pago adicional a la dirección.

¿Qué son las claves digitales (privadas y públicas) en Bitcoin?

En Bitcoin, las claves digitales son las que controlan el acceso de las bitcoins almacenadas en un portafolio y se utiliza el cifrado de clave pública para generar estas claves. En concreto, en Bitcoin, las claves digitales vienen por parejas: la clave privada y la clave pública. Podemos pensar en la clave pública como un número de cuenta bancaria y en la clave privada como el PIN secreto. La clave pública se utiliza para recibir bitcoins, y la clave privada se utiliza para firmar transacciones para gastar estos bitcoins.

Una clave privada y una clave pública están relacionadas matemáticamente y, de hecho, la clave pública se deriva de la clave privada. Pero aunque es posible crear la clave pública a partir de una clave privada, es prácticamente imposible crear la clave privada a partir de una clave pública.

La posesión de ambas llaves determina automáticamente el control sobre las bitcoins que se almacenan en la cartera de Bitcoin, por lo que es importante que la clave privada permanezca siempre bajo el control del propietario de la cuenta. Además, es importante tener en cuenta que las claves digitales de Bitcoin son creadas y almacenadas por los usuarios (o pueden ser generadas y gestionadas por el software de la cartera del usuario) y, por lo tanto, son completamente independientes del protocolo Bitcoin.

Firma digital en Bitcoin

Para gastar los bitcoins de una dirección Bitcoin dada, también debemos probar la propiedad de estos bitcoins. Para ello, debemos demostrar que conocemos la clave privada. Es decir, tenemos que demostrar que conocemos la clave privada, la clave pública a la que se refiere esta dirección de Bitcoin. Y para demostrar que conocemos la clave privada sin revelarla públicamente, para eso se utiliza la firma.

Estas firmas digitales se incluyen en el campo scriptSign de la transacción. Las firmas son elementos criptográficos calculados a partir de la clave privada y una combinación de otra información incluida en la transacción. Y es aquí donde entra en juego la magia del cifrado, porque gracias a ello es posible que se pueda utilizar una clave pública para verificar que la firma se ha creado utilizando la clave privada correspondiente. Además, las firmas se calculan utilizando la clave privada y una combinación de otra información de la transacción, lo que permite demostrar, además del conocimiento de la clave privada, que el titular de la clave privada y, por tanto, el propietario de estas bitcoins, confirma los datos de dicha transacción. Por lo tanto, cada firma es válida sólo para una operación específica.

Por lo tanto, el propietario de la clave privada puede firmar una transacción y gastar estos bitcoins sin preocuparse de que nadie conozca su clave privada, ya que la propia clave privada nunca se expone públicamente y también es imposible de averiguar.

La firma y la clave pública de la dirección desde la que se envían los bitcoins se añaden al campo de entrada de transacciones (Bitcoin habla de las transacciones de entrada y salida que explicaremos en otro artículo). Y esto demuestra que el propietario de la clave privada tiene la intención de realizar esta transacción y garantiza que no se pueda modificar.

En la actualidad, el protocolo Bitcoin está diseñado para que las claves y firmas se creen a través del esquema criptográfico conocido como Elliptic Curve Digital Algorithm Signature (ECDSA) es una variante del algoritmo DSA que emplea operaciones en puntos de curva elíptica, lo que le da la misma seguridad que el DSA, pero con números más pequeños, es decir, claves más pequeñas e igualmente seguras. Pero esto en el caso de Bitcoin era importante porque reduce los requisitos de almacenamiento y transmisión y, por lo tanto, facilita la manipulación de las llaves.