Posted on Leave a comment

Generar claves privadas en Bitcoin de forma segura y barata

private public keys

Había empezado a escribir este post cuando buceando por Internet me he topado con varias páginas de bitcoiners que ya habían escrito sobre la generación de claves utilizando la herramienta BIP39 de Ian Coleman más el sistema Tails, así que me voy a limitar a poner los enlaces y a especificar los pasos a grandes rasgos.

Recursos

Operativa

  1. Descargar Tails, verificar la firma y copiarlo en un USB. Descargamos la versión 4.7
wget https://mirrors.ukfast.co.uk/sites/tails.boum.org/tails/stable/tails-amd64-4.7/tails-amd64-4.7.img

Verificar la imagen

https://tails.boum.org/install/linux/usb-download/index.en.html#command-line

Copiar la imagen

dd if=tails-amd64-4.7.img of=/dev/sda bs=16M oflag=direct status=progress
  1. Arrancar el ordenador desde el USB de Tails y configurar el acceso a Internet.
  1. Descargar el fichero bip39-standalone.html de https://github.com/iancoleman/bip39/releases

Para la versión 0.4.3 el comando sería este:

wget https://github.com/iancoleman/bip39/releases/download/0.4.3/bip39-standalone.html -O /home/amnesia/Tor\ Browser\bip39-standalone.html
  1. Eliminar la conexión a Internet de Tails.
  1. Ejecutar bip39-standalone.html desde Tor-browser. 
tor-browser /home/amnesia/Tor\ Browser\bip39-standalone.html
  1. En la página cargada en el navegador generar las 24 palabras. Se puede añadir entropía para tener una mayor seguridad.
  1. Generar la passphrase con 6 palabras aleatorias de la lista Long Diceware Wordlist 

Salvar en sitio seguro

  • La lista de las 24 palabras de la semilla → Mi recomendación es hacerlo en una o varias placas de metal. Referencias Metal Bitcoin Seed Storage Reviews también podría valer una simple chapa de acero inoxidable.
  • Las 6 palabras de la passphrase → Guardarlas en una o varias placas de metal, distintas de las anteriores queremos almacenar la semilla y la passphrase en sitios distintos.
  • Derived Addresses → Son nuestras direcciones públicas donde tendremos que ingresar los fondos.
  • BIP32 Derivation Path → Este valor puede ser útil en un futuro al querer recuperar las claves privadas en un wallet.
  • Account Extended Public Key → Clave a partir de la cual podemos extraer todas nuestras claves públicas.
  • BIP32 Extended Public Key (XPUB) → Clave en formato BIP32 para extraer todas nuestras claves públicas.

El artículo en traducido al Inglés está en “Generate private keys in Bitcoin safely and cheaply