Tutorial sobre cómo crear una billetera Bitcoin fuera de línea en papel y digital con Linux
Objetivo
El objetivo es crear una billetera bitcoin digital y en papel fuera de línea utilizando el sistema operativo Linux, VirtualBox y la billetera Bitcoin Electrum. El resultado de este tutorial será un documento con palabras clave escritas que pueden usarse para acceder a sus bitcoins. También crearemos una versión cifrada de la máquina virtual como copia de seguridad digital para almacenarla digitalmente en un medio seguro que proporcionará un acceso conveniente a sus bitcoins si es necesario.
Versiones de software y sistema operativo
Sistema Operativo: – Debian 9 GNU/Linux
Software: – Electrum 3.0.3 o superior, VirtualBox Versión 5.2.2 r119230
Requisitos
Se requerirá acceso privilegiado a su sistema operativo host para instalar el software de virtualización Virtual Box.
Dificultad
MEDIO
Convenciones
-
#: requiere que los comandos de Linux determinados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso del comando
sudo
$: requiere que los comandos de Linux determinados se ejecuten como un usuario normal sin privilegios
Introducción
Hay mucha confusión y malentendidos dentro de la comunidad de criptomonedas, especialmente entre los recién llegados, sobre cómo almacenar bitcoins de forma segura. La razón de esto es principalmente la falta de una comprensión básica de cómo funciona la tecnología blockchain real, que subyace a cada transacción de bitcoin. Cuando combinamos lo anterior con múltiples opciones de billeteras de software/hardware, y la gran cantidad de usuarios ingenuos con un absoluto desprecio por su privacidad y seguridad en línea mientras navegan por Internet o usan sus teléfonos inteligentes hoy en día, la increíble cantidad de billeteras bitcoin pirateadas Todos los días no deberían ser una sorpresa. La seguridad de la billetera bitcoin comienza con la mentalidad del usuario.
Vuélvete paranoico
Un consejo: si realmente quiere invertir en bitcoins, lo primero que deberá hacer es volverse extremadamente paranoico con todo lo que hace con su computadora, teléfono móvil o cualquier dispositivo conectado a su red en línea o de otra manera. Sólo así tendrá la motivación adecuada para crear un entorno seguro para su inversión.
No confíe en ningún sitio web, en este caso, intercambio de criptomonedas, billetera en línea o rastreador de cartera de criptomonedas sin una investigación previa al respecto. No confíe en el software o sistema operativo que le proporcionen corporaciones o fuentes que no sean de confianza. La gente todavía tiende a creer que se puede confiar en que las corporaciones proporcionen software o sistemas operativos seguros. Si eres uno de ellos, entonces no podrías estar más lejos de la verdad. Su televisor podría usarse para piratear su computadora mientras mira su programa de televisión favorito; lo más probable es que su robot aspirador conectado a Internet esté proporcionando a su fabricante información privada sobre su red doméstica, ubicación o transmisión de video en vivo mientras limpia su dormitorio. ¿Crees que soy demasiado paranoico? Bueno, entonces déjame decirte que hay más posibilidades de que seas demasiado ignorante que yo demasiado paranoico. Por eso los proyectos comunitarios como GNU son cada vez más importantes en nuestra sociedad actual. ¡No es posible ser demasiado paranoico cuando se trata de Bitcoin! ¡Usted ha sido advertido!
¿Qué es la billetera bitcoin fuera de línea?
La gente tiende a comparar una billetera normal con una billetera bitcoin pensando que los bitcoins se almacenan de alguna manera localmente en su computadora de manera similar a como las monedas o billetes normales se almacenan en una billetera tangible real. No, las cosas no funcionan así y cuanto antes dejes de pensar así, ¡mejor! Los bitcoins no se almacenan en ningún lugar, ya que sólo hay un libro de contabilidad disponible públicamente sobre cuántos bitcoins pertenecen a cada dirección de bitcoin. Por lo tanto, bitcoin es nada menos que un registro ubicado en este libro de contabilidad público. Este libro de contabilidad público se llama blockchain y se clona entre miles de computadoras, también conocidas como mineros de bitcoin, en todo el mundo.
La pregunta que debería hacerse ahora es: "¿Cómo reclamo mis bitcoins y cómo manipulo la cadena de bloques de bitcoin?" Bueno, eso se hace con la billetera bitcoin. La billetera Bitcoin le permite ver cuántos bitcoins le pertenecen y así verificar su saldo; también le permite transferir bitcoins a alguna otra dirección de bitcoin, por lo tanto, cambiar/actualizar el registro de blockchain. Esto significa que nunca almacena nada localmente, solo lee los registros de blockchain para ver cuál es su saldo y, de manera similar, actualiza los registros de blockchain cuando realiza transacciones.
Ahora es el momento de discutir qué es una dirección bitcoin. La dirección bitcoin se utiliza para recibir fondos. En muchos casos, su billetera la genera en función de su frase de contraseña secreta. Es esencial comprender que la misma frase de contraseña secreta siempre generará el mismo conjunto de direcciones bitcoin. Es decir, si un usuario tiene una frase de contraseña escrita en papel y decide reinstalar la billetera actual o instalarla en otra computadora, esta frase de contraseña generará exactamente el mismo conjunto de direcciones de bitcoin. Por esta razón, es primordial mantener segura su frase de contraseña, ya que cualquier persona con su frase de contraseña puede generar sus direcciones públicas de bitcoin y reclamar sus bitcoins.
Dado que ahora entendemos que la misma frase de contraseña secreta siempre genera las direcciones hash o bitcoin correspondientes cada vez que se usa, también es igualmente importante darse cuenta de que para crear direcciones de bitcoin usando una billetera bitcoin, una frase de contraseña secreta no requiere que el usuario esté conectado. línea para tener acceso a Internet. Por lo tanto, una billetera bitcoin fuera de línea es una billetera bitcoin iniciada y utilizada fuera de línea, nunca utilizada para realizar transacciones de bitcoin y nunca conectada a Internet. Una vez que las direcciones de bitcoin se generaron y registraron fuera de línea usando la frase de contraseña secreta, la frase de contraseña se escribe de forma segura en una hoja de papel y luego se elimina toda la billetera del sistema, por lo que al usuario solo le queda un montón de direcciones de bitcoin y frase de contraseña. escrito en una hoja de papel. En consecuencia, la billetera fuera de línea es ahora la billetera bitcoin de papel.
Motivación
¿Por qué necesitaría crear una billetera fuera de línea? La billetera bitcoin en papel o sin conexión, si se hace correctamente, es probablemente la forma más segura para que los inversores almacenen sus bitcoins, dado que mantiene segura su frase de contraseña. La billetera bitcoin sin conexión no depende de sitios web, hardware, intercambios, bancos o software de terceros. Mientras la integridad de toda la cadena de bloques de bitcoin no se vea comprometida, sus bitcoins estarán seguros. Si la cadena de bloques de bitcoin se ve comprometida, entonces se “terminará el juego” para todos.
Si usted es un comerciante de criptomonedas, la billetera fuera de línea no tiene mucho sentido para usted a menos que no guarde todo su efectivo en un solo nido, lo cual es muy recomendable.
Guión
El personaje ficticio Natalie ha invertido en bitcoin. Compró ฿0,25 utilizando un intercambio de criptomonedas XYZ. Sus ฿0,25 ahora están disponibles en línea para cualquier persona con un nombre de usuario y contraseña correctos para XYZ Exchange como parte de su saldo de XYZ Exchange. Sin embargo, Natalie se dio cuenta de que tener ฿0,25 en línea representa un riesgo importante para su inversión. En primer lugar, el intercambio XYZ puede ser pirateado o simplemente desaparecer en un día sin dejar rastro. Es igualmente probable que su computadora sea pirateada y que le roben las credenciales de inicio de sesión para el intercambio XYZ. Si ocurre cualquiera de los escenarios mencionados anteriormente, su ฿0,25 desaparecerá para siempre.
Por este motivo, Natalie decide tomar el control de toda la situación. Crea una billetera fuera de línea usando una frase de contraseña. Una vez lista, utiliza una de las direcciones de bitcoin generadas para transferir sus ฿0,25 del intercambio XYZ a su dirección de bitcoin. Después de eso, retira la billetera digital bitcoin de su computadora y almacena de forma segura su contraseña escrita en una hoja de papel. A partir de ese momento, no tendrá que depender de la integridad de la central XYZ ni de su computadora portátil.
Procedimiento
Cree un sistema operativo base seguro e instale VirtualBox
Descargue y verifique la ISO de Debian/GNU Linux
Instalar Debian/GNU Linux como máquina virtual
Descargue, verifique e instale Electrum Bitcoin Wallet
Desactivar la red y el acceso a Internet
-
Iniciar billetera Bitcoin Electrum
Almacene frases de contraseña secretas y direcciones de bitcoins
Realice la prueba de recuperación de la billetera Electrum
Deshabilite la red de la máquina virtual en el momento del arranque
Exportar máquina virtual Electrum
Cifre y almacene la máquina virtual Electrum
Eliminar todos los rastros
Habilitar acceso a la red y a Internet
Transferir Bitcoins
papel en su mesa con su frase de contraseña inicial que va a almacenar en algún lugar de almacenamiento
direcciones a su billetera bitcoin que puede revelar públicamente
Máquina virtual VirtualBox exportada con su billetera bitcoin almacenada en algún medio externo como USB o M-Disk. Si es necesario, este archivo se puede importar a VirtualBox en cualquier momento para brindarle un acceso rápido a su billetera bitcoin.
Cree un sistema operativo base seguro e instale VirtualBox
Este paso es tu tarea. Al final de esta etapa, se espera que tengas VirtualBox instalado en el sistema operativo de tu elección. Es completamente posible utilizar esta guía con VirtualBox instalado sobre el sistema operativo MS Windows. Sin embargo, un hombre sabio no construye una casa sobre arena, así que consiga una computadora portátil o PC vieja, límpiela e instale GNU/Linux nuevo; cualquier distribución GNU/Linux servirá, ya sea Ubuntu, Debian o CentOS. Linux se ejecuta en cualquier hardware con requisitos mínimos; sin embargo, dado que ejecutaremos una máquina virtual sobre nuestro sistema operativo host, sería bueno tener al menos 4 GB de RAM disponibles. Además, esta guía está escrita para VirtualBox, un hipervisor gratuito y de código abierto; sin embargo, no dude en utilizar cualquier otro hipervisor de su preferencia como VMWare, KVM o XEN.
Descargue y verifique la ISO de Debian/GNU Linux
Ahora que tiene VirtualBox instalado, es hora de descargar Debian GNU/Linux, que se utilizará para crear una máquina virtual para nuestra billetera bitcoin fuera de línea Electrum. Busque la última versión de Debian GNU/Linux en https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/ y actualice los pasos a continuación para reflejar su versión descargada.
Los siguientes comandos descargarán la imagen ISO de Debian junto con el archivo de verificación MD5SUM y la firma:
$ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.3.0-amd64-netinst.iso
$ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/MD5SUMS
$ wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/MD5SUMS.sign
A menos que tenga una clave relevante que se utilizó para firmar todos los archivos descargados anteriormente:
$ gpg --verify MD5SUMS.sign
gpg: keybox '/home/lubos/.gnupg/pubring.kbx' created
gpg: assuming signed data in 'MD5SUMS'
gpg: Signature made Sun 10 Dec 2017 13:58:22 AEDT
gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg: Can't check signature: No public key
Si el caso anterior es su caso, importe la "Clave de firma de CD de Debian" con el siguiente comando:
$ gpg --keyserver keyring.debian.org --recv DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg: /home/lubos/.gnupg/trustdb.gpg: trustdb created
gpg: key DA87E80D6294BE9B: public key "Debian CD signing key " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
Una vez listo, confirme la validez del archivo MD5SUMS:
$ gpg --verify MD5SUMS.sign MD5SUMS
gpg: Signature made Sun 10 Dec 2017 13:58:22 AEDT
gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg: Good signature from "Debian CD signing key " [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B
Por último, verifique la integridad del debian-9.3.0-amd64-netinst.iso
descargado previamente. Asegúrese de modificar el siguiente comando con su versión descargada:
$ md5sum -c MD5SUMS 2> /dev/null | grep debian-9.3.0-amd64-netinst.iso
debian-9.3.0-amd64-netinst.iso: OK
Todo parece estar en orden.
Instalar Debian/GNU Linux como máquina virtual
En el siguiente paso instalaremos la máquina virtual Debian GNU/Linux utilizando el hipervisor VirtualBox. Las siguientes capturas de pantalla lo guiarán a través de todo el proceso:
Utilice la caja virtual y cree una nueva máquina virtual. Elija un nombre personalizado. Cualquier nombre servirá.
Dependiendo de su sistema host, seleccione una cantidad adecuada de RAM. Siéntase libre de bajar hasta 512 MB.
Cualquier tipo servirá. Sin embargo, para una mejor compatibilidad con otros hipervisores, elija VMDK.
No hay necesidad de volverse extravagante. 4,75 GB serán suficientes.
Una vez creada la máquina virtual, adjunte la imagen ISO de Debian GNU/Linux descargada previamente a su interfaz IDE de CDROM.
Ahora estamos listos para comenzar la instalación. El asistente de instalación se explica por sí mismo, aunque a continuación se muestran algunos pasos clave.
No es necesario tener un sistema multipartición. Instale todos los archivos en una sola partición.
Después de elegir la "Partición guiada", terminará con la siguiente tabla de particiones. Si sabe cómo, puede reducir la partición de intercambio a unos 200 MB, ya que no es necesario desperdiciar 1 GB en el intercambio. Sin embargo, el valor predeterminado también funcionará.
Para conservar algo de espacio en disco, anule la selección de todos los elementos y seleccione solo LXDE. Presione Continuar
para iniciar la instalación.
Asegúrate de instalar Grub. Diga
Al final de la instalación, instale Grub en un dispositivo de bloque /dev/sda
.
Todo listo. ¡Es hora de reiniciar!
Inicie sesión con sus credenciales de usuario ingresadas previamente.
Listo. Esta pregunta es irrelevante. Diga NO
y listo.
Descargue, verifique e instale Electrum Bitcoin Wallet
Esta sección describe cómo instalar Electrum Bitcoin Wallet. Sin embargo, si desea crear una billetera fuera de línea de Bitcoin Cash o Litecoin, en lugar de seguir las instrucciones a continuación, utilice nuestras guías sobre cómo instalar la billetera Bitcoin Cash y Litecoin en Linux. Asegúrese de no iniciar su billetera antes de leer la siguiente sección sobre cómo deshabilitar la red.
Usando la nueva máquina virtual Debian GNU/Linux instalada, es hora de descargar, verificar e instalar Electrum Bitcoin Wallet. Primero, instale los requisitos previos:
# apt install dirmng
Descargue la última versión y firma de Electrum. Al momento de escribir este artículo, Electrum 3.0.3 es la última versión disponible:
$ wget https://download.electrum.org/3.0.3/Electrum-3.0.3.tar.gz
$ wget https://download.electrum.org/3.0.3/Electrum-3.0.3.tar.gz.asc
Verifica tu descarga:
$ gpg --verify Electrum-3.0.3.tar.gz.asc Electrum-3.0.3.tar.gz
gpg: keybox '/home/btc/.gnupg/pubring.kbx' created
gpg: Signature made Tue 12 Dec 2017 17:06:09 AEDT
gpg: using RSA key 2BD5824B7F9470E6
gpg: Can't check signature: No public key
Si recibe el mensaje anterior sobre la falta de una clave pública, impórtelo:
$ gpg --keyserver pool.sks-keyservers.net --recv-keys 2BD5824B7F9470E6
gpg: /home/btc/.gnupg/trustdb.gpg: trustdb created
gpg: key 2BD5824B7F9470E6: public key "Thomas Voegtlin (https://electrum.org) " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
Asegúrese de que la clave que ha importado pertenezca a Thomas Voegtlin (https://electrum.org)
$ gpg --verify Electrum-3.0.3.tar.gz.asc Electrum-3.0.3.tar.gz
gpg: Signature made Tue 12 Dec 2017 17:06:09 AEDT
gpg: using RSA key 2BD5824B7F9470E6
gpg: Good signature from "Thomas Voegtlin (https://electrum.org) " [unknown]
gpg: aka "ThomasV " [unknown]
gpg: aka "Thomas Voegtlin " [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6
Una vez realizado el proceso de verificación, es hora de instalar Electrum Bitcoin Wallet. Los siguientes comandos deben ejecutarse con privilegios de root. Utilice el comando su
para cambiar al indicador raíz y ejecute los siguientes comandos desde el directorio donde descargó el código fuente de la billetera bitcoin de Electrum:
$ su
Password:
# apt-get install python3-setuptools python3-pyqt5 python3-pip
# pip3 install Electrum-3.0.3.tar.gz
La billetera bitcoin Electrum ya está instalada. Es importante asegurarse de no iniciarlo antes de desactivar la red en el siguiente paso, ya que si no lo hace, todo el tutorial no será válido.
Desactivar la red y el acceso a Internet
En esta etapa ya no necesitamos el acceso a Internet. Apague el interruptor inalámbrico de su computadora portátil, desconecte el cable de su PC y desconecte la red en su máquina virtual:
Intentar hacer ping al servidor DNS de Google debería ser una prueba suficiente de que su máquina virtual está desconectada.
Iniciar billetera Bitcoin Electrum
¡Está bien! Ahora estamos listos para generar nuestras nuevas direcciones bitcoin. Inicie la billetera bitcoin Electrum desde la terminal usando el comando electrum
y siga los pasos que se muestran a continuación:
$ electrum
¡Importante! ¡No utilice la frase de contraseña inicial utilizada en esta guía! Las palabras clave que se muestran a continuación se incluyen aquí solo como ejemplo y no deben usarse.
Cualquier nombre funcionará bien.
Escribe tu semilla en una hoja de papel. Nunca almacene sus palabras digitalmente en otra computadora. ¡Usa lápiz y papel! Si necesita una copia de seguridad, escríbala en dos hojas de papel. No revele sus palabras clave a nadie. ¡Sólo tus ojos!
En este paso, confirme sus palabras clave. Léalos de las notas en papel que creó anteriormente.
Siéntase libre de cifrar su billetera bitcoin Electrum. Este paso es opcional. Siempre y cuando no pierda las palabras clave iniciales generadas en los pasos anteriores, perder la contraseña de cifrado en este paso no es un desastre, ya que es solo una complicación.
Consulte la esquina inferior izquierda de la ventana de la aplicación de billetera bitcoin Electrum. No conectado
es exactamente lo que queremos. Presione VER->MOSTRAR DIRECCIONES
. Esto mostrará todas las direcciones de bitcoin generadas con su frase de contraseña. Dependiendo de cuántas direcciones necesite, copie una o todas las direcciones externamente. NO reescriba las direcciones manualmente usando un bolígrafo o el teclado de otra computadora, ya que es probable que cometa errores que le resultarán costosos. Aquí tendrás la tentación de conectarte a Internet y copiarlos y pegarlos en tu correo electrónico. ¡No hagas eso! En su lugar, genere un código QR para cada dirección que desee copiar y use su teléfono inteligente para escanearlos desde la pantalla y luego simplemente enviarlos a su correo electrónico.
Realice la prueba de recuperación de la billetera Electrum
Este paso es opcional pero muy recomendable, ya que confirmará una vez más sus palabras clave iniciales, sus direcciones de bitcoin y le enseñará cómo recuperar su billetera si surge la necesidad de acceder a su inversión en bitcoins. Aún desconectado de Internet, apaga tu billetera bitcoin Electrum y desde la línea de comando elimina su directorio de configuración:
$ rm -fr ~/.electrum/
A continuación, inicie nuevamente la billetera Electrum Bitcoin:
$ electrum
Todo el proceso de configuración de la billetera bitcoin Electrum después del reinicio. Sigue al asistente:
Ya tenemos una semilla. Continuar con el asistente. Al final, se le presentará el mismo conjunto de direcciones de bitcoin que ya almacenó externamente durante los pasos anteriores. ¡Tómate tu tiempo aquí! ¡Todos deben comprobarlo!
Deshabilite la red de la máquina virtual en el momento del arranque
Hemos terminado. Apague la aplicación de billetera bitcoin Electrum y apague su máquina virtual.
Exportar máquina virtual Electrum
Para un acceso rápido a nuestra billetera bitcoin podemos exportar nuestra máquina virtual para su uso posterior. Asegúrese de buscar una nueva versión de Electrum antes de usar su billetera. Simplemente actualícelo siguiendo la sección de instalación de esta guía y debería volver a funcionar en poco tiempo.
Usando VirtualBox, navegue hasta FILE->Export Appliance
y exporte toda la máquina virtual:
Cifre y almacene la máquina virtual Electrum
Guarde la máquina virtual exportada en cualquier medio que considere digno. No lo guarde en su computadora si su intención es conectar esta computadora a Internet. Utilice algún medio externo como una memoria USB o, mejor aún, guárdelo en un disco M. Si utiliza Linux como sistema operativo principal, también es posible cifrar el archivo completo con ccrypt
como se muestra a continuación en caso de que caiga en las manos equivocadas. Asegúrese de no olvidar su contraseña de cifrado:
$ ls -lh BTC_Wallet.ova
-rw------- 1 lubos lubos 1.6G Dec 21 14:29 BTC_Wallet.ova
Instale el paquete ccrypt
:
# apt install ccrypt
utilice ccrypt
para cifrar su máquina virtual exportada:
$ ccrypt BTC_Wallet.ova
Enter encryption key:
Enter encryption key: (repeat)
lubos@extreme:~/Documents$ ls -lh
total 1.6G
-rw------- 1 lubos lubos 1.6G Dec 21 14:29 BTC_Wallet.ova.cpt
Eliminar todos los rastros
Antes de conectar su PC/portátil a Internet, es hora de eliminar todos los rastros de su máquina virtual. Primero, elimine su máquina virtual exportada:
$ rm BTC_Wallet.ova.cpt
A continuación, elimine toda la máquina virtual con Eliminar todos los archivos
del hipervisor VirtualBox.
Habilitar acceso a la red y a Internet
Ahora que se eliminaron todos los archivos, no dude en conectarse a Internet.
Transferir Bitcoins
En esta etapa deberías tener lo siguiente:
Finalmente, está listo para transferir sus bitcoins desde el intercambio de bitcoins a cualquiera de sus nuevas direcciones de bitcoins generadas con esta guía.
Asegúrate de enviar bitcoins a la dirección correcta. Una vez que realice la transferencia, no use su billetera bitcoin para verificar el saldo, ya que esto inutilizará su billetera bitcoin fuera de línea y deberá comenzar todo el proceso de creación de la billetera bitcoin fuera de línea desde el principio. Basta con confirmar su saldo navegando en su navegador a https://blockchain.info/ y buscando su dirección bitcoin. ¡Eso es todo amigos! Mientras estás en las transferencias y sientes que esta guía fue útil y te ahorró algo de tiempo, eres más que bienvenido a invitarme a un café usando las direcciones a continuación.
Bitcoin: 1PyYJEVtxkokkYtLkRw9BA7Fr4xEAXJn3U
Litecoin: LXvDNUcdKuh3Svge358rNanXfXMKcPkxCo
Cualquier sugerencia o idea sobre este tutorial es bienvenida. Gracias