The Spanish wiki is no longer maintained and is in read-only mode. Information contained within may be inaccurate or outdated. Please go to the English wiki for more up to date information.
Traducción automática del inglés: la wiki en español ya no se mantiene y está en modo de solo lectura. La información contenida en ella puede ser inexacta o estar desactualizada. Visite la wiki en inglés para obtener información más actualizada.
Cómo asegurar su monedero
Introducción
La seguridad de un monedero Bitcoin comprende dos metas independientes:
- La protección del monedero frente a pérdidas.
- 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):
- 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
- Directorio de datos
- Cómo importar claves privadas
- Tutorial para crear un monedero de bitcoins
- Cómo montar un monedero de ahorros seguro fuera de conexión
- Bitcoin Gateway - Una red de pagos y cámara de bitcoins entre pares
- Cómo recuperar un monedero perdido, p. ej. tras formatear un disco, utilizando Photorec