Montar un nodo de Bitcoin con Raspberry Pi [TUTORIAL]

Los nodos son uno de los elementos más importantes de la red de Bitcoin, incluso más importante que los propios mineros. Un nodo de Bitcoin almacena su propia copia de la blockchain, valida las transacciones y los bloques según las reglas de consenso definidas.

Actualmente, mientras redacto esta guía existen en la actualidad unos 2 millones de nodos en funcionamiento. Espero que cuando completes esta guía tengamos otro nuevo nodo de bitcoin.

¿Qué beneficios tiene un nodo de Bitcoin?

Como veo que muchos se interesan por lo mismo lo claro: Un nodo no aporta ningún beneficio ecónomico.

Si lo resumimos mucho, el beneficio que nos aporta tener nuestro propio nodo de bitcoin es tener total independencia en la red Bitcoin.

Si profundizamos un poco más veremos que esta independencia nos aporta principalmente lo siguiente:

  • Privacidad: Al ejecutar nuestro propio nodo de bitcoin somos totalmente independientes, no necesitamos de ningún tercero para transmitir nuestras transacciones o consultar nuestros saldos. Por lo tanto, absolutamente nadie sabe si estamos haciendo uso de la red Bitcoin o cuáles son nuestras claves públicas para ver nuestros saldos y movimientos.
  • Seguridad: Existe un concepto llamado PSBT (Partially signed bitcoin transactions) que nos permite crear transacciones sin firmar, para posteriormente ser firmadas por otra billetera desconectada de internet y una vez firmada la transacción ser transmitida a la red con nuestro propio nodo. En este proceso, al usar nuestras claves privadas para firmar la transacción siempre se ha hecho en un entorno sin salida a internet ganando seguridad.
  • Consenso: Al poseer nuestro propio nodo de Bitcoin podemos participar en las tomas de decisiones de la red aportando nuestro voto según como nos gustaría que evolucione la red.

¿Qué material necesito para montar un nodo de Bitcoin?

Como esta guía esta enfocada en montar un nodo de Bitcoin con una Raspberry Pi vamos a dejar una lista de materiales. Dejaré algunos enlaces que no quiere decir que sean los mejores precios, seguramente si investigáis y compráis aquí y allá bajaréis un poco el presupuesto. Estos son los componentes:

Raspberry Pi 4 (8GB): Yo para esta guía he usado una Raspberry Pi 4, ya que el otro modelo que tenía (RPi 2B) no tenía potencia suficiente y la Pi 4 es la que se recomienda desde la propia web de Umbrel. Entre la versión de 4GB y 8GB yo he escogido la versión de 8GB ya que los 4GB son el requisito mínimo y prefiero que vaya algo sobrada por si instalo otras cosas. Yo he comprado esta: Raspberry Placa Base PI 4 Modelo B / 8GB.

Caja para Raspberry Pi 4: La Raspberry Pi viene sin ninguna carcasa, por lo que deberemos ponerle alguna para protegerla. En mi caso he optado por una carcasa que a su vez hace de disipador y es la que voy a mostrar en esta guía. Si decides escoger otra carcasa, debes tener en cuenta que tiene que tener una buena refrigeración (recomiendo poner disipador + ventilador si lo permite la carcasa). Yo he usado esta caja Carcasa de disipador térmico Raspberry Pi 4 (versión sin ventilador).

Disco duro externo de al menos 1TB: La blockchain de Bitcoin no va a parar de crecer por lo que es mejor no tener un disco que vaya muy justo (500GB). Ahora bien, hay dos opciones con el disco duro, o bien comprar uno mecánico o bien comprar un SSD. Voy a resumir principalmente la diferencia entre ambos:

  • HDD: Son más baratos pero más lentos, con una conexión a internet decente tardarás aproximadamente unos 6-7 días en sincronizar toda la blockchain. La generación de los índices por primera vez también será más lenta, pero a partir de ahí apenas tendremos diferencias con el SSD. Este Toshiba Canvio Basics 1 TB sería buena opción en relación calidad-precio.
  • SSD: Son más caros pero más rápidos, con la misma conexión a internet que en el caso anterior tardaríamos 2-3 días en sincronizar la blockchain y la generación de los índices será bastante más rápida. Este Samsung PSSD T5 1TB igualmente sería buena opción en relación calidad-precio.

Tarjeta microSD de al menos 8GB: La tarjeta microSD es donde se grabará el sistema de Umbrel OS. Recomiendo usar una tarjeta decente, que sea Clase 10, U1 y A1 a ser posible. Yo estoy utilizando esta SanDisk Ultra Imaging microSDHC de 16 GB (yo preferido tener más espacio por si acabo instalando más cosas en la RPi).

Cable Ethernet: Es común que tengamos cables de estos por casa, ya que habitualmente vienen un par con el router u otros dispositivos, o bien si queremos conectarnos mediante WiFi también podemos ahorrarnoslo. En caso de que no tengáis el cable y queráis conectaros por cable os recomiendo este: Cable Ethernet CAT7 2M.

Adaptador de corriente: El adaptador de corriente es muy importante para un correcto funcionamiento de la Raspberry Pi. Se recomienda usar la fuente original de Raspberry Pi pero si no queremos comprarla, el cargador que usemos debe de ser de 5V y 3A como mínimo. Algo como esto: Fuente alimentación Raspberry Pi 4 5V 3A.

Montando nuestro nodo Bitcoin

Lo primero que vamos a hacer es montar la Raspberry Pi en la caja que hayamos escogido. Si has escogido la carcasa que hemos indicado en la lista del material, tendrás que tener en cuenta que la caja viene con unos adhesivos termoconductores que deberás colocar sobre los chips de la Raspberry. El resultado quedaría así:

Una vez colocados los adhesivos, simplemente colocamos la parte inferior y superior (solo tienen una posición posible para encajar) y la fijamos con los tornillos que nos vienen con la caja:

Una vez ya tenemos montada nuestra Raspberry Pi 4 con su caja disipadora es hora de preparar la tarjeta MicroSD con Umbrel OS, el sistema que nos va a permitir ejecutar fácilmente el nodo. Para hacer esto vamos a necesitar descargar dos archivos, por un lado el propio Umbrel OS y por otro un pequeño programa que nos va a ayudar a flashear este sistema en nuestra MicroSD y dejarlo listo para funcionar. Aquí os dejo los enlaces de descarga:

  • Umbrel OS: Podéis descargarlo desde este enlace. A la hora de redactar esta guía, la versión más actual es la v0.3.14 que es la ponemos en el enlace de descarga, pero es buena idea siempre comprobar si existe una versión más reciente. Podéis comprobar cuál es la última versión en este enlace.
  • Balena Etcher: Este programa es completamente gratis y nos va a permitir grabar correctamente Umbrel OS en nuestra microSD. Su instalación no tiene más complicación que dar un par de clicks a ‘siguiente’. Podemos descargarlo desde aquí.

Si ya tenemos todo descargado e instalado el siguiente paso es conectar la tarjeta microSD al ordenador mediante un adaptador o si tu ordenador dispone de un puerto para leer tarjetas MicroSD podéis usarlo. Una vez conectada la microSD a la tarjeta, ejecutamos el programa Balena Etcher.

Una vez abierto el programa, en el primer icono con forma de [+] debemos indicar donde esta el zip que hemos descargado antes de Umbrel OS. En el segundo icono con forma de disco duro debemos indicar cual es nuestra tarjeta MicroSD. Debería quedar algo parecido a esto:

Ahora simplemente nos quedará pulsar en flashear y comenzará el proceso, el cuál puede durar de 5 a 10 minutos. La pantalla sería la siguiente:

Una vez terminado, y antes de desconectar nuestra MicroSD del ordenador debemos plantearnos si queremos que nuestra Raspberry Pi se conecte con WiFi (en caso de que vuestro modelo tenga WiFi) o mediante cable. Si queremos que se conecte por cable, puedes saltarte la siguiente parte. Pero si quieres que se conecte por WiFi hay que crear un archivo con su configuración.

Si nos vamos a un explorador de archivos, veremos que tenemos una unidad llamada ‘Boot’, bien pues en la raíz de esta unidad debemos crear un fichero nuevo llamado ‘wpa_supplicant.conf’. En su interior debemos copiar y editar el siguiente código:

Código:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<Insert 2 letter ISO 3166-1 country code here>

network={
 ssid="<Name of your wireless LAN>"
 psk="<Password for your wireless LAN>"
}

En la tercera línea donde dice «<Insert 2 letter ISO 3166-1 country code here>», debemos sustituirlo por «ES» en caso de estar en España. Si estás en otro país puedes consultar el código en esta lista. Los otros dos campos que hay que editar creo que están claro, uno será el nombre de nuestra red wifi, por ejemplo, «WifiRoto2». El otro campo será la contraseña que tengamos en nuestro wifi. Aquí un ejemplo:

Código:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=ES

network={
 ssid="WifiRoto2"
 psk="288PassRoto2"
}

Ahora que ya tenemos nuestra MicroSD flasheada y lista para ejecutar Umbrel OS, solo nos queda desconectar la tarjeta de nuestro ordenador y conectarla a la Raspberry PI. Luego debemos coger el disco duro y conectarlo a uno de los USB de color azul (esto es muy importante, que sea en un USB azul). Si escogiste conectar la Raspberry Pi por cable, ahora es el momento de conectarla a nuestro router.

Ya con todas las conexiones hechas y nuestra tarjeta SD preparada, es hora de conectar el adaptador de corriente para que la Raspberry Pi arranque. Va a tardar aproximadamente unos 5 minutos en iniciarse completamente. Cuando este iniciado podremos acceder a nuestro nodo mediante cualquier navegador web accediendo a la url: http://umbrel.local.

Nota: Desde Android las direcciones «.local» no se resuelven correctamente y no funcionara. Para conectar desde un dispositivo Android deberemos hacerlo a través de la dirección IP.

Lo primero que vamos a ver es la pantalla de bienvenida, y nos pedirá el nombre que queremos usar en el nodo y la contraseña para protegerlo. A continuación nos dará la típica semilla de 24 palabras para poder restaurar nuestro nodo en caso de que le pasará algo (muy importante no perder estas 24 palabras y su orden). De esto no hemos hecho capturas debido a la simpleza del proceso.

Y ya tendríamos acceso al Dashboard de Umbrel y solo quedaría esperar a que se sincronice la blockchain para ver algo como esto:

NOTICIAS RELACIONADAS