Diferencia entre revisiones de «Cómo asegurar su monedero»

De Bitcoin Wiki
Saltar a: navegación, buscar
(Comienzo traducción/ampliación del artículo inglés. Dejo comentada la parte pendiente.)
 
(Continúo traducción)
Línea 31: Línea 31:
 
==Cómo asegurar el monedero de Bitcoin-qt / bitcoind==
 
==Cómo asegurar el monedero de Bitcoin-qt / bitcoind==
  
En construcción (19 sept. 2012)
+
Las transacciones Bitcoin envían una suma de bitcoins a una clave pública concreta. Una dirección Bitcoin es un valor hash codificado de una clave pública. Para poder utilizar esos bitcoins recibidos, es necesario tener la clave privada que corresponde a la clave pública de destino. Se puede entender la clave privada como una contraseña muy larga que está asociada a una cuenta, que sería la clave pública. Un monedero de bitcoins contiene todas las claves privadas requeridas para poder gastar las transacciones recibidas. Si se borra un monedero sin copia de seguridad, resultará imposible acceder a la información de autorización necesaria y los bitcoins asociados a esas claves se perderán para siempre.
<!--
+
 
Bitcoin transactions send Bitcoins to a specific public key. A Bitcoin address is an encoded hash of a public key. In order to use received Bitcoins, you need to have the private key matching the public key you received with. This is sort of like a super long password associated with an account (the account is the public key). Your Bitcoin wallet contains all of the private keys necessary for spending your received transactions. If you delete your wallet without a backup, then you no longer have the authorization information necessary to claim your coins, and the coins associated with those keys are lost forever.
+
El monedero del cliente de referencia [[Bitcoin-qt]] (o la versión de línea de órdenes [[bitcoind]]) contiene una reserva (''pool'') con una colección de claves disponibles. El número predeterminado de estas claves es de 100 en la [[reserva de claves]]. El temaño de la reserva puede configurarse mediante el argumento "-keypool" de línea de órdenes. Cuando se necesita una dirección por motivos tales como un pago, la generación de una “nueva dirección”, etc., la nueva clave no se genera en ese momento, sino que se extrae de la reserva de claves pregeneradas y se genera una nueva dirección que se añade a la reserva para mantener el número de cien claves disponibles (o el número indicado por "-keypool"). Así, cuando se crea una copia de seguridad por vez primera, esta contiene todas las claves en uso más cien claves aún sin usar. Una vez que se lleva a cabo una transacción, habrá aún 99 claves sin usar en la copia. Después de un total de cien acciones que requieran una nueva dirección, se estarán utilizando claves que no están en la copia de seguridad. Los bitcoins recibidos en esas direcciones no respaldadas se perderían si fuera necesario restaurar el monedero con la copia de seguridad antigua. Por ese motivo, es esencial volver a hacer copias de seguridad después de que se hayan utilizado cien direcciones nuevas. Además, la versión actual (octubre de 2012) del cliente de referencia regenera toda la reserva de claves no usadas cuando se cifra el monedero. Por ello, también es imprescindible hacer una copia de seguridad después de que se haya cifrado el monedero.
 +
 
 +
El proceso de crear una nueva dirección consiste en generar una clave privada, que se guarda internamente en el monedero, y una clave pública, que se somete a varias transformaciones para obtener la dirección pública Bitcoin. La clave privada es un número aleatorio de 256 bits, imposible de adivinar por fuerza bruta si se pierde el monedero. Por ello, las copias de seguridad solamente pueden restaurar aquellos pares de clave privada y pública que estaban en el monedero original antes de hacer la copia, lo cual incluye las direcciones que se han usado en pagos, las direcciones de recepción visibles al usuario, las cien direcciones adicionales de la reserva y las llamadas "direcciones de cambio", que se explican a continuación.
  
The wallet contains a pool of queued keys. By default there are 100 keys in the [[key pool]].  The size of the pool is configurable using the "-keypool" command line argument. When you need an address for whatever reason (send, “new address”, generation, etc.), the key is not actually generated freshly, but taken from this pool. A brand new address is generated to fill the pool back to 100. So when a backup is first created, it has all of your old keys plus 100 unused keys. After sending a transaction, it has 99 unused keys. After a total of 100 new-key actions, you will start using keys that are not in your backup. Since the backup does not have the private keys necessary for authorizing spends of these coins, restoring from the old backup will cause you to lose Bitcoins.
+
Una complicación añadida de la gestión de direcciones es el hecho de que el monedero guarda internamente más direcciones en uso que las que se muestran a través de la interfaz gráfica de usuario. Esto se debe a que cuando se hace un pago en bitcoins, se toman los bitcoins obtenidos de una o varias transacciones recibidas para enviar la cantidad excata deseada al destinatario final y se reenvía el "cambio" a una nueva dirección mantenida internamente por el programa y que no se muestra en la interfaz de usuario. Por ejmplo, si un usuario instala Bitcoin-qt y recibe un único pago de 50 bitcoins, ese saldo estará asociado a una sola dirección/clave pública. Si a continuación el usuario decide pagar un bitcoin a otra persona, se vaciarán los 50 bitcoins de la transacción original, de tal modo que un bitcoin se enviará a la dirección de destino y 49 bitcoins se enviarán a una dirección nueva, tomada de la reserva, en el propio monedero. Por lo tanto, después del pago de un bitcoin, los 49 bitcoins de saldo resultante estarán en una dirección diferente de la que contenía los 50 bitcoins originales. Ese uso de direcciones de cambio refuerza el anonimato de los pagos al hacer imposible saber qué parte de un pago se ha quedado en poder del mismo usuario y qué parte corresponde al pago real.
  
Creating a new address generates a new pair of public and private keys, which are added to your wallet. Each keypair is mostly random numbers, so they cannot be known prior to generation. If you backup your wallet and then create more than 100 new addresses, the keypair associated with the newest addresses will not be in the old wallet because the new keypairs are only known after creating them. Any coins received at these addresses will be lost if you restore from the backup.
+
En resumen, si se hace una copia de seguridad de un monedero y después se hacen más de cien operaciones, habrá bitcoins que se perderán al restaurar el monedero a partir de la copia de seguridad. Lo mismo ocurrirá si se hace la copia de seguridad antes de cifrar el monedero y después se realizan pagos con el monedero ya cifrado. Por eso es tan importante hacer las copias de seguridad con regularidad y una vez que el monedero ha sido cifrado.
  
The situation is made somewhat more confusing because the receiving addresses shown in the UI are not the only keys in your wallet. Each Bitcoin generation is given a new public key, and, more importantly, each sent transaction also sends some number of Bitcoins back to yourself at a new key. When sending Bitcoins to anyone, you generate a new keypair for yourself and simultaneously send Bitcoins to your new public key and the actual recipient's public key. This is an anonymity feature – it makes tracking Bitcoin transactions much more difficult.
+
== Cómo crear un nuevo monedero ==
  
So if you create a backup, do more than 100 things that cause a new key to be used, and then restore from the backup, some Bitcoins will be lost. Bitcoin has not deleted any keys (keys are never deleted) – it has created a new key that is not in your old backup and then sent Bitcoins to it.
+
En construcción (7 oct. 2012)
 +
<!--
  
== Making a new wallet ==
 
  
 
If a wallet or an encrypted wallet's password has been compromised, it is wise to create a new wallet and transfer the full balance of bitcoins to addresses contained only in the newly created wallet. Examples of ways a wallet may be compromised are through password re-use, minimal strength passwords, computer hack or virus attack.
 
If a wallet or an encrypted wallet's password has been compromised, it is wise to create a new wallet and transfer the full balance of bitcoins to addresses contained only in the newly created wallet. Examples of ways a wallet may be compromised are through password re-use, minimal strength passwords, computer hack or virus attack.

Revisión del 15:18 7 oct 2012

Introducción

La seguridad de un monedero Bitcoin comprende dos metas independientes:

  1. La protección del monedero frente a pérdidas.
  2. La protección del monedero frente a robos.

En el caso de que su monedero actual no haya estado protegido adecuadamente (p. ej. tras haber estado en la red protegido con una contraseña débil):

  1. La creación de un nuevo monedero seguro, utilizando protección robusta a largo plazo.

Para una introducción breve véase también: Qué se puede y qué no se puede hacer en la seguridad del monedero

Monederos de papel

Los monederos de papel son una manera bastante sencilla de guardar sus bitcoins sin ordenador. Al generarse de manera segura y almacenarse en papel (o en otro medio desconectado de cualquier red), un monedero de papel evita las posibilidades de que sus bitcoins puedan ser robados por hackers o por virus informáticos.

Un monedero de papel consiste en guardar en papel las claves privadas que permiten hacer pagos desde nuestras direcciones Bitcoin. Toda dirección Bitcoin está basada en una clave privada criptográfica, que es el número secreto que da acceso a los bitcoins, y una clave pública, número más pequeño que se puede calcular a partir de la clave privada. La dirección pública Bitcoin se calcula a partir de la clave pública. Así pues, el elemento de información único que permite utilizar una dirección Bitcoin es la clave privada, un valor binario que se puede representar mediante varios formatos de cifras y letras. El formato más habitual consiste en una secuencia de 51 caracteres alfanuméricos que comienzan por "5". Por lo tanto, si escribimos estos 51 caracteres en un pedazo de papel, podremos recuperar el acceso a nuestros bitcoins en cualquier momento futuro introduciendo estos 51 caracteres en una aplicación que sepa importar claves privadas Bitcoin.

Una herramienta muy popular para generar un monedero de papel es el sitio web bitaddress.org. Este sitio web ofrece un generador de direcciones bitcoin imprimibles escrito en JavaScript. Todo el código JavaScript está integrado en la página web principal, con lo que se puede guardar el archivo HTML de la página web y copiarlo a un ordenador desconectado de cualquier red. El uso con conexión a Internet es más peligros debido a la posibilidad de que haya software malicioso de tipo spyware que pueda espiar las direcciones y claves privadas generadas. Otra opción alternativa es la proporcionada por el sitio web Blockchain.info, que dispone de un tutorial para generar un monedero de papel y un módulo para poder consultar en línea el saldo de las direcciones en el monedero de papel.

Debido a los riesgos de que un ordenador contenga software malicioso, la mejor manera de generar un monedero de papel consiste en arrancar un ordenador desde un disco externo de arranque, como por ejemplo un CD o USB Linux Live, manteniendo el ordenador desconectado de cualquier red. Una vez arrancado el sistema operativo desde el disco de arranque, habrá que copiar la herramienta de generación de direcciones Bitcoin que vayamos a utilizar. Por ejemplo, en el caso de usar Bitaddress.org, desde un ordenador conectado a Internet habríamos guardado el archivo HTML en un dispositivo de almacenamiento, como un CD o un USB, que luego utilizaríamos para copiar el documento HTML al ordenador que hemos arrancado desde disco y sin conexión a Internet, y abriremos el documento HTML en un navegador web. La desconexión de Internet garantiza que la herramienta de generación de claves privadas Bitcoin es realmente autoconteniday no requiere ningún tipo de transmisión de datos por la red. Al utilizar la herramienta de generación de direcciones, habrá que imprimir la información de claves privadas. Para ello habrá que conectar una impresora, sin ningún tipo de conexión a redes externas.

La información de un monedero de papel consistirá en una o más claves privadas. Normalmente, se enumerarán junto a las direcciones públicas correspondientes. Las direcciones públicas se pueden guardar sin problemas en archivos compartidos por red, ya que solamente pueden usarse como destinatarias de pagos o para comprobar el saldo asociado a traves de herramientas como Blockexplorer.com o Blockchain.info. Cuando se hace un pago a una de esas direcciones, el pago y el saldo resultante podrán consultarse con cualquiera de esas herramientas de consulta. Solamente cuando se quieran mover los bitcoins desde la dirección guardada en el monedero de papel será necesario importar la clave privada impresa en el papel a un programa cliente de Bitcoin. El cliente oficial de Bitcoin proporciona desde la versión 0.6.0 un comando "importprivkey" que importa claves privadas. Desde la versión 0.7.0, este comando puede ejecutarse desde la interfaz gráfica a través de la consola de depuración. Algunos sitios web como Blockchain.info y Mt. Gox permiten también importar claves privadas. En el caso de Mt. Gox, los bitcoins de la dirección importada pasan a la cuenta de usuario y pueden extraerse después del número de confirmaciones obligatorio por depósito.

La importancia de los monederos de papel se debe a la existencia de spyware y virus que intentan rastrear la actividad en el ordenador infectado para robar información confidencial como contraseñas de sitios web o incluso las propias claves privadas Bitcoin. El uso de monederos de papel minimiza este tipo de riesgo.

Si un ordenador está infectado con spyware o virus, lo que puede ocurrir incluso en ausencia de síntomas o sin que el programa antivirus haya detectado nada, entonces cualquier texto tecleado, visualizado o guardado en el ordenador puede ser copiado por control remoto. Una clave privada podría ser interceptada mientras el usario la introduce para importarla. Por ello, la introducción de una clave privada en un ordenador conectado a la red es una operación de riesgo que debe hacerse solamente cuando se quiera hacer un pago inmediato de todo su saldo.

La importancia de las actualizaciones de seguridad

No existe el software perfecto y de cuando en cuando pueden encontrarse vulnerabilidades en la seguridad del propio cliente Bitcoin. Por ello, es sumamente importante mantener el programa cliente actualizado, en particular cuando se haya descubierto y corregido un defecto de seguridad nuevo. En esta wiki hay una lista de fallos de seguridad conocidos, en la que se describen los fallos detectados pendientes de solución. Nótese que esto no quiere decir que sea necesario utilizar la última revisión mayor del programa cliente. Muchos clientes, incluido el cliente de referencia Bitcoin-qt, proporcionan actualizaciones de seguridad para versiones antiguas.

Cómo asegurar el monedero de Bitcoin-qt / bitcoind

Las transacciones Bitcoin envían una suma de bitcoins a una clave pública concreta. Una dirección Bitcoin es un valor hash codificado de una clave pública. Para poder utilizar esos bitcoins recibidos, es necesario tener la clave privada que corresponde a la clave pública de destino. Se puede entender la clave privada como una contraseña muy larga que está asociada a una cuenta, que sería la clave pública. Un monedero de bitcoins contiene todas las claves privadas requeridas para poder gastar las transacciones recibidas. Si se borra un monedero sin copia de seguridad, resultará imposible acceder a la información de autorización necesaria y los bitcoins asociados a esas claves se perderán para siempre.

El monedero del cliente de referencia Bitcoin-qt (o la versión de línea de órdenes bitcoind) contiene una reserva (pool) con una colección de claves disponibles. El número predeterminado de estas claves es de 100 en la reserva de claves. El temaño de la reserva puede configurarse mediante el argumento "-keypool" de línea de órdenes. Cuando se necesita una dirección por motivos tales como un pago, la generación de una “nueva dirección”, etc., la nueva clave no se genera en ese momento, sino que se extrae de la reserva de claves pregeneradas y se genera una nueva dirección que se añade a la reserva para mantener el número de cien claves disponibles (o el número indicado por "-keypool"). Así, cuando se crea una copia de seguridad por vez primera, esta contiene todas las claves en uso más cien claves aún sin usar. Una vez que se lleva a cabo una transacción, habrá aún 99 claves sin usar en la copia. Después de un total de cien acciones que requieran una nueva dirección, se estarán utilizando claves que no están en la copia de seguridad. Los bitcoins recibidos en esas direcciones no respaldadas se perderían si fuera necesario restaurar el monedero con la copia de seguridad antigua. Por ese motivo, es esencial volver a hacer copias de seguridad después de que se hayan utilizado cien direcciones nuevas. Además, la versión actual (octubre de 2012) del cliente de referencia regenera toda la reserva de claves no usadas cuando se cifra el monedero. Por ello, también es imprescindible hacer una copia de seguridad después de que se haya cifrado el monedero.

El proceso de crear una nueva dirección consiste en generar una clave privada, que se guarda internamente en el monedero, y una clave pública, que se somete a varias transformaciones para obtener la dirección pública Bitcoin. La clave privada es un número aleatorio de 256 bits, imposible de adivinar por fuerza bruta si se pierde el monedero. Por ello, las copias de seguridad solamente pueden restaurar aquellos pares de clave privada y pública que estaban en el monedero original antes de hacer la copia, lo cual incluye las direcciones que se han usado en pagos, las direcciones de recepción visibles al usuario, las cien direcciones adicionales de la reserva y las llamadas "direcciones de cambio", que se explican a continuación.

Una complicación añadida de la gestión de direcciones es el hecho de que el monedero guarda internamente más direcciones en uso que las que se muestran a través de la interfaz gráfica de usuario. Esto se debe a que cuando se hace un pago en bitcoins, se toman los bitcoins obtenidos de una o varias transacciones recibidas para enviar la cantidad excata deseada al destinatario final y se reenvía el "cambio" a una nueva dirección mantenida internamente por el programa y que no se muestra en la interfaz de usuario. Por ejmplo, si un usuario instala Bitcoin-qt y recibe un único pago de 50 bitcoins, ese saldo estará asociado a una sola dirección/clave pública. Si a continuación el usuario decide pagar un bitcoin a otra persona, se vaciarán los 50 bitcoins de la transacción original, de tal modo que un bitcoin se enviará a la dirección de destino y 49 bitcoins se enviarán a una dirección nueva, tomada de la reserva, en el propio monedero. Por lo tanto, después del pago de un bitcoin, los 49 bitcoins de saldo resultante estarán en una dirección diferente de la que contenía los 50 bitcoins originales. Ese uso de direcciones de cambio refuerza el anonimato de los pagos al hacer imposible saber qué parte de un pago se ha quedado en poder del mismo usuario y qué parte corresponde al pago real.

En resumen, si se hace una copia de seguridad de un monedero y después se hacen más de cien operaciones, habrá bitcoins que se perderán al restaurar el monedero a partir de la copia de seguridad. Lo mismo ocurrirá si se hace la copia de seguridad antes de cifrar el monedero y después se realizan pagos con el monedero ya cifrado. Por eso es tan importante hacer las copias de seguridad con regularidad y una vez que el monedero ha sido cifrado.

Cómo crear un nuevo monedero

En construcción (7 oct. 2012)

Véase también