Tu nodo Bitcoin con Raspberry Pi en Argentina

Una guía para elegir los componentes y no morir en el intento.

CabildoBTC
9 min readFeb 16, 2021
Nodos Bitcoin

(Si todavía no sabés porque es importante ejecutar tu propio nodo, te recomiendo empezar por este podcast de @lunaticoin)

¿Por qué un nodo Bitcoin en una Raspberry?

Aunque casi cualquier equipo de computación de 10 años para acá puede ejecutar un nodo Bitcoin, este artículo te explica cómo hacerlo utilizando una Raspberry Pi, ya que ofrece muchas ventajas:

· El equipamiento es accesible y por ahora bastante sencillo de conseguir en Argentina

· El consumo del conjunto es muy muy bajo, con un máximo de menos de 20 Watts. Esto parece un detalle, pero cuando se trata de un equipo que idealmente funcionará 24x7, es importante.

· Con el setup correcto, es totalmente silencioso y ocupa muy poco lugar.

· En general la configuración y mantenimiento puede realizarse a través de una interfaz web. No hace falta conectar pantallas, teclado o mouse.

· Hay distribuciones de Linux totalmente preconfiguradas para correr un Nodo en una Pi. Algunas de las más conocidas son Raspiblitz, Umbrel o Node.

· La mayoría de las distribuciones no solo permiten ejecutar Bitcoin core, también tienen servidores Electum, Lightning o el hoy indispensable servicio TOR completamente configurado.

¿Qué necesitamos para empezar?

· La Raspberry Pi

· El disipador de calor

· Un disco para almacenamiento

· Adaptador SSD o NVMe a USB

· Tarjeta microSD para el Sistema Operativo

· Fuente de alimentación

· Conexión a internet

· Elegir la distribución

· Paciencia (bastante)

· ¿Cuánto me va a costar tener mi nodo?

· ¿Puedo pedir ayuda para empezar?

La Raspberry Pi

Raspberry Pi 4B

Aunque puede ejecutarse un nodo a partir del modelo Pi 3, si vas a comprar hardware nuevo te recomiendo utilizar el modelo Raspberry Pi 4B.

La Pi 4 viene en versiones de 2, 4 u 8 Gb de RAM, pero sólo te recomiendo las versiones de 4 y 8GB. En particular si tenés pensado ejecutar varias aplicaciones (Lightining, electrum server, Spectrum, etc) y además contar con margen para el futuro, vale la pena pagar la diferencia de precio y comprar el modelo de 8Gb.

Si elegís el modelo de 4Gb, asegúrate de que sea la revisión de hardware 1.2 o superior ya que la 1.1 tenía algunos problemas en el puerto USB C. En este enlace vas a encontrar una guía para diferenciarlas.

Conclusión: Comprá la Pi 4B de 8Gb de RAM y si no te alcanza, el modelo de 4GB

El disipador de calor

Cuando está en funcionamiento con mucha carga de trabajo y sobre todo cuando realiza la descarga inicial de la blockchain (IBD) la Pi se puede calentar mucho mucho. El límite de temperatura es de 85 °C, pero cuando supera los 60 °C el sistema comienza a funcionar a menor velocidad como protección.

Por eso lo ideal es mantenerla lo más fría posible para obtener la máxima performance por el mayor período de tiempo.

La opción más económica son los kits de disipadores que van sobre el procesador, memoria y chip controlador de USB/Ethernet, pero para el caso de un nodo pueden no ser suficientes.

Te recomiendo utilizar los gabinetes disipadores, que están optimizados para refrigeración. En este caso, vas a encontrar modelos que utilizan coolers (ventiladores) y aquellos que realizan una disipación pasiva.

Aunque los que utilizan coolers son más eficientes, tiene el problema del ruido que generan y que muchas veces los motores son de mala calidad y pueden trabarse. Si tenés el equipo a la vista para controlarlo y no te molesta el ruido, podés utilizarlos con confianza.

Sin embargo, con un buen disipador pasivo y garantizando buena circulación de aire, aún a máxima carga, la Pi no debería exceder los 55/60 °C, que nos da un margen de seguridad importante. Algo así hace un excelente trabajo:

El sitio oficial de Raspberry recomienda colocar la Pi en forma vertical para favorecer la ventilación. No es mala idea hacerles caso y sobre todo tratá de evitar apoyarla en una superficie lisa, ya que disminuye la circulación de aire.

Conclusión: Un disipador pasivo de buena calidad es suficiente. Si la tenés a la vista y no molesta el ruido, una con cooler va a mantener tu Pi bien fría.

Un disco para almacenamiento

Acá hay cuatro cuestiones para tener en cuenta:

· El tipo de tecnología de almacenamiento: Se pueden utilizar los HD tradicionales, (almacenamiento magnético) o de estado sólido (SSD, con interfaces SATA/M.2 y NVMe). Para ejecutar un nodo te recomiendo los de estado sólido ya que va a hacer que se realice mucho más rápido la descarga de la blockchain y las consultas posteriores. Además, no los afectan las vibraciones, consumen menos corriente y son totalmente silenciosos.

· La interfaz: Los HD y SSD tienen interface Sata, mientras que los NVMe utilizan el bus PCIe. En todos los casos la velocidad va a exceder la capacidad del puerto USB 3.0 de la Pi, pero es algo para tener en cuenta al elegir el adaptador. Una alternativa que simplifica las cosas es comprar un disco externo, que ya vienen con adaptador y en muchos casos soportan alimentación externa.

· El consumo eléctrico: Este es un aspecto clave si vamos a utilizar un adaptador a USB sin alimentación externa. En este caso no vas a poder utilizar en forma confiable un HD convencional, pero incluso con un disco SSD puede ser problemático. Los más recomendados en los foros por su bajo consumo de pico son el Sandisk Plus y Crucial MX500. En algunos foros recomiendan el WD Blue que es bastante más económico (no pude probarlo todavía.

· La capacidad: al momento de escribir este artículo (febrero de 2021) la blockchain completa ocupa unos 380Gb. Si a eso le sumamos algunos archivos adicionales y espacio que requieren otros servicios para funcionar, estamos muy cerca de los 500Gb. Por ello la capacidad mínima recomendada para ejecutar un nodo completo es de 1TB

Nota: también se puede ejecutar un nodo “podado” y en ese caso el almacenamiento requerido es menor, pero tu nodo ya no será un “ciudadano completo” de la red Bitcoin.

Conclusión: Usá un SSD de al menos 1Tb y de las marcas Sandisk Plus o Crucial MX500

Adaptador SSD o NVMe a USB

Adaptador SATA a USB

Como la Pi no tiene puertos SATA ni NVMe, es necesario utilizar un adaptador para conectar el disco al puerto USB.

Es fundamental que el adaptador sea tipo USB 3.0 y que soporte el protocolo UASP, sino las transferencias de datos van a ser muy lentas.

En Argentina se puede conseguir la marca Orico, que en lo personal me funcionaron bien.

Una causa de problemas es el tipo de chip que utiliza el adaptador ya que algunos no son compatibles. Los basados en integrados ASMedia y JMicron parecen funcionar bien. Si ya tenés el sistema en marcha con el adaptador conectado, accediendo a tu Pi por SSH podés verifcarlo con el comando “lsusb”)

No tengo experiencia de primera mano con adaptadores NVMe a USB, pero en los foros dicen que se puede utilizar sin inconvenientes.

El cable que conecta el adaptador con el puerto USB puede causar inconvenientes. No me ha ocurrido, pero es un punto para considerar. De poder elegir, utilizar cables de máxima calidad y la menor longitud posible.

Conclusión: Busca un adaptador USB 3.0 que soporte UASP y un cable corto de buena calidad

Tarjeta micro SD para el Sistema Operativo

Si bien el disco de almacenamiento guarda la blockchain, el sistema operativo que ejecuta el nodo corre desde una tarjeta Micro SD instalada en la Pi

MicroSD Raspberry

En principio, cualquier Micro SD de 16Gb o más debería funcionar, sin embargo, para uso permanente es conveniente utilizar una de “uso pesado”. El modelo más recomendado en todos los foros es la Samsung Pro Endurance pero es difícil de conseguir. Buenas alternativas son la SanDisk Extreme Pro, Samsung EVO Select y SanDisk High Endurance.

Para la carga de la distribución que elijas de nodo, vas a necesitar una PC o Mac y poder utilizar la tarjeta ahí. Muchas notebooks vienen con lectora de tarjetas incorporada o si no podés conseguir uno a USB

Conclusión: Samsung Pro Endurance de 32Gb

Fuente de alimentación

Llegamos a la figurita difícil. La Raspberry Pi 4B se alimenta a través de un puerto USB C y la fuente de alimentación debe ser capaz de entregar 5 volts y al menos 3 Amperes.

En principio cualquier cargador de celular que cumpla esas condiciones parecería poder funcionar, pero en la práctica casi nunca son capaces de sostener la potencia requerida para largos períodos de funcionamiento a máximo consumo, tanto por deficiencias en la electrónica como por el uso de cables largos y de mala calidad.

Lo más notable es que el problema de alimentación no suele manifestarse de forma inequívoca, sino que empiezan a aparecer errores en los procesos de escritura al disco, corrupción de archivos, reinicios espontáneos, etc.

Si está dentro de tus posibilidades, la fuente que hay que usar es la oficial de Raspberry o como excelentes alternativas la Argon o Canakit. Lamentablemente no pude conseguirlas en Argentina. Si alguien sabe de algún proveedor local, les agradecería lo compartieran en los comentarios.

Si te es imposible obtenerlas, algunas fuentes genéricas suelen funcionar. Es cuestión de probar. Eso si, asegurate siempre que el cable USB que va de la fuente a la Pi sea de la máxima calidad posible. Los que vienen con los celulares de marcas reconocidas y soportan carga rápida son buenas opciones.

Conclusión: Si podés, fuente oficial Raspberry, Argon o Canakit, sino a probar…

Conexión a internet

Cualquier servicio de banda ancha sirve, pero hay que tener presente que los primeros días vamos a descargar casi 400Gb de información. Si el proveedor que tienen contratado tiene una limitación en la cantidad de datos a utilizar, podría derivar en cortes de suministros o cargos adicionales.

Si bien algunas distribuciones permiten utilizar el WiFi de la Pi, no es recomendable hacerlo. Un cable ethernet para conectarse al router es siempre la mejor opción

Las configuraciones por defecto de las distribuciones de los nodos tratan de obtener la IP por DHCP. En algunos casos podría ser necesario realizar la asignación en forma manual.

Conclusión: Un servicio de banda ancha y conexión por cable al Router

Elegir una distribución

En el genial sitio de estudiobitcoin hay, entre muchísimos recursos indispensables, una excelente guía con la mayoría de las opciones de nodos Bitcoin, incluido un apartado específico para las Raspberry.

Las distintas opciones tienen pros y contras, ¡te toca a vos elegir!

Paciencia

Sobre todo si sos del interior, conseguir las partes suele ser laborioso. Después es necesario armar, poner en marcha y finalmente esperar varios días hasta que se completa la descarga de la blockchain.

Este proceso te da la oportunidad de testear tu equipamiento, ver cómo funciona el proceso y tratar de aprender en el camino.

Al final, no importa si te convertís en un maestro de la LN, armás un procesador de pagos con BTCPay Server o verificás transacciones en tu propio explorador de bloques. Tu nodo te convierte en un participante activo, soberano, con voz y voto en la red Bitcoin.

¿Cuánto cuesta armar un nodo con una Raspberry Pi?

Es una pregunta difícil de contestar en Argentina y presiento que esto va a envejecer muy mal, pero a la fecha de publicación de este artículo, éstos son los valores de referencia para los componentes que recomiendo:

Raspberry Pi 4B 8Gb: $ 14.500

Disipador pasivo de aluminio: $2.000

Disco SSD 1Tb: $ 18.000

Adaptador SATA a USB: $ 1.800

MicroSD 32Gb: $ 3.500

Fuente original: $ 3.500 (2x lo que cuesta en dólares afuera)

Total: $ 43.300, (unos u$s 290 al cambio actual de $150 por dólar)

Se puede abaratar un poco utilizando una Pi de 4 Gb, un SSD más económico o una MicroSD de menor calidad. Depende de las posibilidades de cada uno.

¿Puedo pedirte ayuda para empezar?

Para averiguar costos, configuraciones o simplemente intercambiar conocimientos y experiencias, podés contactarme por acá:

Telegram: @CabildoBTC

Twitter: CabildoBTC

--

--

CabildoBTC

Ayudo a usar la tecnología para resovler problemas. Puede fallar.