Nodos e infraestructura

Buenas prácticas para configurar un nodo completo de Bitcoin

Un nodo compacto, una unidad externa y cables bien recogidos en una instalación doméstica ordenada.

Esta guía es una traducción del original en inglés, que es el texto de referencia. Leer en inglés

Ejecutar un nodo completo (en inglés) de Bitcoin es una de las formas más directas de participar en la arquitectura descentralizada de la red. Este análisis examina los detalles técnicos, las dificultades y las buenas prácticas para instalar y mantener nodos completos de Bitcoin y su papel en la seguridad y la resistencia de la red.

La descentralización de Bitcoin se apoya en su red de nodos completos, cada uno de los cuales descarga y comprueba cada bloque por su cuenta. Estos nodos sostienen la red. Verifican las transacciones y los bloques de forma independiente y hacen cumplir las reglas de consenso del protocolo. Si quieres contribuir a la solidez de la red, debes entender los requisitos técnicos y las dificultades habituales al montar un nodo.

El hardware es decisivo para el buen funcionamiento del nodo. A fecha de noviembre de 2026, los bloques de la blockchain de Bitcoin ocupan unos 800 GB y suman unos 80 GB más al año. Por eso conviene elegir bien el almacenamiento. Las unidades de estado sólido (SSD) son la opción preferida porque leen y escriben más rápido y son más fiables que los discos duros tradicionales. El rendimiento del nodo puede variar mucho según el SSD, en particular por su tipo de interfaz, su resistencia al desgaste y sus requisitos de alimentación.

Dos unidades de 2 TB dibujadas a escala, a fecha de noviembre de 2026. Un nodo de archivo (prune=0, el valor predeterminado) conserva todos los bloques desde 2009, 779 GB, y los datos que Bitcoin Core guarda con ellos. En total son unos 900 GB y quedan unos 1100 GB libres, espacio para años a un ritmo de unos 80 GB al año. Un nodo podado (prune=550) descarga y comprueba los mismos bloques, pero luego borra los antiguos. Conserva entre 15 y 20 GB, aproximadamente, con los bloques más recientes y la lista de monedas sin gastar. Ambos nodos comprueban cada bloque por su cuenta. Solo el nodo de archivo puede servir bloques antiguos a nodos nuevos y funcionar con Electrs o Fulcrum. Compra un SSD de 2 TB. La poda ahorra espacio en disco, pero exige la misma descarga de 800 GB.
La poda ahorra espacio, pero exige el mismo trabajo. Un nodo podado comprueba todos los bloques igual que uno de archivo y luego borra los antiguos. Los servicios que necesiten esos bloques más adelante, como un servidor Electrum, no funcionarán. Guarda todos los bloques en un SSD de 2 TB.

La gestión de los recursos del sistema también es fundamental. La descarga inicial de bloques (IBD), conocida como sincronización de la blockchain, exige mucho al almacenamiento y al procesador. Hay que gestionar bien las lecturas y escrituras en disco, el ancho de banda y el uso de memoria. Las implementaciones modernas deben equilibrar estos recursos y mantener el sistema estable durante toda la sincronización.

La conexión y la configuración de red plantean sus propios retos. El reenvío de puertos, los ajustes del cortafuegos y los límites de ancho de banda determinan si otros nodos pueden llegar al tuyo y cuántos datos sube. Si aceptas conexiones entrantes, otros nodos pueden descargar bloques del tuyo. En cualquier caso, durante tu primera sincronización tu nodo descarga los bloques por sus conexiones salientes.

La compatibilidad y la optimización del sistema operativo influyen mucho en la estabilidad del nodo. Cada sistema operativo asigna recursos, administra el sistema de archivos y gestiona los procesos a su manera, lo que puede afectar al rendimiento. Los sistemas basados en Linux, sobre todo las distribuciones pensadas para ejecutar nodos, suelen ser más estables y aprovechar mejor los recursos que los sistemas de propósito general.

Gestionar las bases de datos de Bitcoin Core es una de las partes complejas de operar un nodo. El software mantiene varias bases de datos, entre ellas el estado de la blockchain (el conjunto de UTXO, es decir, la lista de monedas sin gastar), el índice de bloques y, si lo activas, un índice de transacciones. Si se corrompen estas bases de datos, la sincronización puede fallar y el sistema puede bloquearse. Para resolver problemas del nodo, es esencial saber mantener las bases de datos, volver a indexarlas y recuperarlas.

La seguridad va más allá de reforzar el sistema. Quienes operan un nodo deben tener en cuenta la seguridad física, la seguridad de red y la protección frente a distintos vectores de ataque. Eso incluye preparar copias de seguridad, supervisar los recursos del sistema y mantener actualizado el software para corregir vulnerabilidades.

Operar nodos completos plantea retos y oportunidades de cara al futuro. A medida que crece la blockchain, cobra más importancia aprovechar el almacenamiento y contar con opciones de poda. Los avances del hardware, sobre todo en almacenamiento y capacidad de cálculo, influirán en lo accesible que resulte operar un nodo completo para la mayoría de las personas.

Las implementaciones de nodos siguen evolucionando. Hay proyectos que estudian otras estructuras de bases de datos, métodos de sincronización más rápidos y medidas de seguridad mejores para que operar un nodo sea más eficiente y accesible. Combinar nodos de la red Lightning (en inglés) con nodos completos tradicionales también plantea nuevas decisiones sobre el reparto de recursos y la arquitectura del sistema.

Mantener una red sólida de nodos completos es fundamental. Juntos, estos nodos aseguran la descentralización de la red, hacen cumplir las reglas de consenso y prestan servicios esenciales al ecosistema de Bitcoin. A medida que crece la red, cada persona que opera un nodo desempeña un papel cada vez más importante en mantener esa infraestructura.

En resumen, para operar bien un nodo completo de Bitcoin necesitas entender los distintos componentes técnicos y cómo interactúan. Desde la elección del hardware hasta la configuración del sistema, cada aspecto exige atención y mantenimiento. A medida que evoluciona la red Bitcoin, quienes operan nodos deben seguir al día con las buenas prácticas y las tecnologías nuevas al tiempo que contribuyen a la descentralización y la seguridad de la red.

Guía paso a paso

Montar un nodo completo de Bitcoin requiere preparar el hardware, el software y la red. Estos pasos cubren desde elegir el hardware hasta tener el nodo en funcionamiento y bien conectado.

  1. Elige el hardware adecuado

    Elige un equipo dedicado con al menos 4 GB de RAM (8 GB para que la IBD tarde menos), un procesador de varios núcleos de la última década y un SSD de 2 TB. A fecha de noviembre de 2026, un nodo de archivo sincronizado ocupa unos 900 GB y crece unos 80 GB al año. Una unidad NVMe dentro del equipo es la opción más rápida. Nunca guardes la blockchain en un disco duro ni en una tarjeta microSD. Para un presupuesto ajustado, una Raspberry Pi 5 con 8 GB de RAM y un SSD por USB 3 sirve, aunque un PC compacto rinde bastante mejor.

  2. Instala un sistema operativo basado en Linux

    Ubuntu Server LTS y Debian Stable son opciones fiables para operar el nodo. Instala el sistema operativo con los paquetes mínimos para reducir la superficie de ataque. Si el equipo también va a guardar datos de una billetera, cifra todo el disco con LUKS durante la instalación. Crea un usuario distinto de root con permisos de sudo para la administración diaria y deshabilita el inicio de sesión por SSH como root.

  3. Descarga y verifica Bitcoin Core

    Descarga la versión más reciente de Bitcoin Core de bitcoincore.org. Verifica la descarga con las firmas PGP y las sumas de comprobación SHA256, como se indica en el proceso de verificación del software. Descomprime el paquete de binarios y copia los ejecutables en /usr/local/bin/ o instala el software desde el paquete disponible. Comprueba la instalación con bitcoind --version.

  4. Configura bitcoin.conf

    Crea el archivo de configuración en ~/.bitcoin/bitcoin.conf. Incluye server=1 para habilitar RPC y listen=1 para aceptar conexiones entrantes. Usa dbcache=4096 para acelerar la IBD y ajusta el valor a la RAM disponible. Usa maxuploadtarget=5000 para intentar mantener las subidas por debajo de unos 5000 MiB cada 24 horas. Si tienes espacio suficiente, usa prune=0 para un nodo completo de archivo. Si el espacio es limitado, usa prune=550 para un nodo podado.

  5. Configura el acceso de red y el reenvío de puertos

    Abre el puerto TCP 8333 en tu router y reenvíalo a la dirección IP local del nodo. En el propio nodo, configura el cortafuegos con ufw allow 8333/tcp y ufw allow ssh. Asigna al nodo una IP estática en tu red local mediante una reserva DHCP en los ajustes del router. Cuando el nodo se haya sincronizado y lleve un tiempo en funcionamiento, comprueba que otros nodos puedan conectarse. bitcoin-cli getnetworkinfo debería mostrar un valor de connections_in mayor que 0.

  6. Inicia la descarga inicial de bloques

    Inicia bitcoind con bitcoind -daemon. Supervisa el progreso con bitcoin-cli getblockchaininfo y comprueba el campo verificationprogress. La IBD suele tardar uno o dos días en un mini-PC con una unidad NVMe rápida, y de dos a cuatro días en una Raspberry Pi 5, según el hardware y la velocidad de internet. Durante ese tiempo, el nodo consume bastante CPU, ancho de banda y capacidad de lectura y escritura en disco. Evita ejecutar otras aplicaciones que consuman muchos recursos en el mismo equipo durante la IBD.

  7. Configura bitcoind como servicio del sistema

    Crea un archivo de servicio de systemd en /etc/systemd/system/bitcoind.service para que el nodo arranque automáticamente al iniciar el equipo y vuelva a iniciarse tras un fallo. Define límites de recursos y de descriptores de archivo (LimitNOFILE=32768), y el usuario y grupo correctos. Habilita el servicio con systemctl enable bitcoind y gestiónalo con los comandos habituales de systemd.

  8. Supervisa el nodo y haz el mantenimiento

    Comprueba con frecuencia el estado del nodo con bitcoin-cli getnetworkinfo y bitcoin-cli getpeerinfo. Vigila el uso del disco porque la blockchain crece unos 80 GB al año. Configura la rotación del registro para el archivo debug.log. Para planificar las actualizaciones de Bitcoin Core, suscríbete a los anuncios de nuevas versiones y repite el proceso de verificación con cada actualización.

Las cinco líneas del paso 4 en ~/.bitcoin/bitcoin.conf y lo que hace cada una en Bitcoin Core 32.1. server=1 permite que bitcoin-cli y las aplicaciones le envíen comandos. En bitcoind ya está activado y bitcoin-qt necesita esa línea. listen=1 acepta conexiones entrantes en el puerto 8333. Está activado por defecto y, al escribirlo aquí, sigue activado aunque añadas proxy= para Tor, que de otro modo desactivaría las conexiones entrantes. dbcache=4096 asigna 4 GB de RAM a la caché de monedas durante la primera sincronización. Úsalo solo con 8 GB de RAM o más. El valor predeterminado es 1024 MiB. maxuploadtarget=5000 intenta que las subidas no superen los 5000 MiB diarios. Es un objetivo y el valor predeterminado 0 significa que no hay límite. prune=0 conserva todos los bloques y es el valor predeterminado. prune=550 elimina los bloques antiguos después de comprobarlos. Solo dbcache y maxuploadtarget cambian un valor predeterminado. Después de editar el archivo, reinicia bitcoind, porque solo lo lee al arrancar.
En el bitcoin.conf del paso 4, solo dos líneas cambian algo en bitcoind sin otros ajustes. Las otras tres repiten los valores predeterminados. Si más adelante añades proxy= para Tor, borra listen=1 porque esa línea hace que tu nodo siga aceptando conexiones en la dirección de tu casa. Reduce dbcache cuando termine la primera sincronización.

Errores comunes que conviene evitar

Usar un disco duro en lugar de un SSD

Los discos duros mecánicos tradicionales no siguen el ritmo de las lecturas y escrituras aleatorias que requieren la sincronización de la blockchain y el funcionamiento normal del nodo. En un disco duro, la IBD tarda semanas en vez de días y, después, la validación de bloques sigue siendo lenta. La diferencia de precio entre un disco duro y un SSD de 2 TB ya no justifica la pérdida de rendimiento. Usa siempre un SSD, preferiblemente con interfaz NVMe.

Asignar un valor de dbcache demasiado bajo durante la sincronización inicial

Desde Bitcoin Core 31.0, dbcache tiene un valor predeterminado de 1024 MiB en equipos de 64 bits con al menos 4 GB de RAM (450 MiB en el resto). Sigue siendo poco para la sincronización inicial. Cada vez que se llena la caché, Bitcoin Core tiene que escribirla en disco, y su documentación advierte de que un dbcache menor hace que la primera sincronización tarde mucho más. Si tu equipo tiene 8 GB de RAM o más, usa dbcache=4096 durante la primera sincronización. Así se mantiene en memoria mucha más parte del conjunto de UTXO, la lista de monedas sin gastar con la que se comprueba cada transacción nueva. De este modo, el nodo escribe en disco con mucha menos frecuencia. Cuando termine la IBD, puedes reducir este valor para ahorrar memoria.

Dejar el puerto 8333 sin configurar para conexiones entrantes

Un nodo que solo establece conexiones salientes (con un límite predeterminado de 10 nodos) contribuye menos a la red que uno que también acepta conexiones entrantes. Bitcoin Core 32.1 admite por defecto 200 conexiones en total, de las cuales hasta 189 pueden ser entrantes. Muchas personas omiten el reenvío de puertos. Su nodo se beneficia de la red, pero aporta muy poco. Comprueba el número de conexiones de tu nodo con bitcoin-cli getconnectioncount. Una vez sincronizado, confirma que le lleguen conexiones entrantes. El campo connections_in de bitcoin-cli getnetworkinfo debe ser mayor que 0.

Dos filas, cada una con tu nodo, tu router y los otros nodos de la red. Cada flecha sale del nodo que abre la conexión. Cuando la conexión está abierta, los datos fluyen en ambos sentidos. Con el puerto 8333 cerrado, tu nodo establece 10 conexiones salientes a través del router, y el router bloquea las conexiones que inician otros nodos. Si reenvías el puerto 8333 a tu nodo, a esas mismas 10 conexiones salientes se suman hasta 189 entrantes (Bitcoin Core 32.1 permite 200 en total por defecto). Abrir el puerto ayuda a otros nodos a sincronizarse desde el tuyo. En ambos casos, durante tu primera sincronización tu nodo descarga por sus 10 conexiones salientes.
El puerto 8333 determina si otros nodos pueden conectarse al tuyo. Si está cerrado, tu nodo establece de todos modos sus 10 conexiones salientes. Si reenvías el puerto, otros nodos pueden conectarse y descargar bloques del tuyo. Si el router admite PCP o NAT-PMP, Bitcoin Core le pide que abra el puerto automáticamente. Si no, reenvíalo a mano, como en el paso 5.

Ejecutar el nodo sin un SAI (UPS) ni un procedimiento de apagado seguro

Un corte repentino de luz mientras el nodo valida bloques o escribe en disco puede corromper las bases de datos chainstate o el índice de bloques. Para recuperarte tienes que volver a indexar todo, lo que puede tardar muchas horas. Un sistema de alimentación ininterrumpida básico, con supervisión por USB, permite que el equipo se apague de forma segura durante un corte. Como alternativa, configura el nodo en un equipo con batería auxiliar y scripts de apagado automático.

Descuidar las actualizaciones de Bitcoin Core

Las versiones antiguas de Bitcoin Core exponen tu nodo a vulnerabilidades conocidas y dejan fuera mejoras de rendimiento. Cada versión incluye correcciones de errores, parches de seguridad y mejoras de eficiencia. Comprueba qué versión ejecuta tu nodo con bitcoin-cli getnetworkinfo (campo subversion) y compárala con la versión más reciente. Planifica actualizar en las primeras semanas tras cada lanzamiento y sigue el proceso completo de verificación con cada descarga.

Preguntas frecuentes

¿Cuánto ancho de banda consume un nodo completo de Bitcoin al mes?

Según bitcoin.org, una vez sincronizado, un nodo descarga unos 20 GB al mes. Es habitual que los nodos completos con conexiones rápidas suban 200 GB o más al mes. Buena parte son bloques antiguos que envían a nodos en su primera sincronización. La primera sincronización descarga unos 800 GB una sola vez, a fecha de noviembre de 2026. Puedes limitar las subidas con el ajuste maxuploadtarget de bitcoin.conf. Un valor de 5000 intenta mantenerlas por debajo de unos 5 GB al día (5000 MiB). Se trata de un objetivo flexible. Cuando el nodo se acerca a él, deja de servir bloques de más de una semana, pero sigue retransmitiendo bloques nuevos y transacciones.

Barras a escala. La primera sincronización descarga unos 800 GB una sola vez (noviembre de 2026). Después, un nodo descarga unos 20 GB al mes. Los nodos con conexiones rápidas suelen subir 200 GB o más al mes. Buena parte de ese tráfico son bloques antiguos enviados a nodos que hacen su primera sincronización (cifras de bitcoin.org). Debajo se muestra qué hace maxuploadtarget=5000 a medida que se acumulan las subidas en el periodo de 24 horas en curso. El nodo sirve cualquier bloque hasta que se acerca a 5000 MiB (5,2 GB). Entonces rechaza las solicitudes de bloques de más de una semana, pero sigue enviando bloques nuevos y transacciones. Es un objetivo diario, no un límite estricto.
La mayor parte del tráfico de un nodo es de subida y puedes fijarle un objetivo diario. maxuploadtarget reduce una parte importante del tráfico, los bloques antiguos que envías a nodos nuevos, mientras tu nodo sigue retransmitiendo bloques nuevos y transacciones.

¿Puedo ejecutar un nodo completo de Bitcoin en una Raspberry Pi?

Sí. Elige una Raspberry Pi 5 con 8 GB de RAM y un SSD de 2 TB, conectado por USB 3 o en una placa de expansión NVMe. Nunca uses la tarjeta microSD para la blockchain. Una Pi 4 también puede ejecutar un nodo. Umbrel dice que sirve para hacer pruebas, pero recomienda la Pi 5 porque las unidades USB pueden hacer fallar una Pi 4. RaspiBlitz ya tampoco recomienda la Pi 4. La primera sincronización tarda entre dos y cuatro días en una Pi 5, aproximadamente, y más en una Pi 4. Las plataformas para nodos como Umbrel y RaspiBlitz simplifican la configuración en Raspberry Pi.

¿Qué es un nodo podado y sigue validando todas las transacciones?

Un nodo podado descarga y valida todo el historial de la blockchain, pero descarta los datos de los bloques antiguos después de procesarlos. Solo conserva los bloques más recientes y el conjunto completo de UTXO. Con prune=550 (el mínimo, en MiB), el nodo conserva solo unos 550 MB de datos de bloques. Los nodos podados validan por completo cada transacción y cada bloque y ofrecen las mismas garantías de seguridad que los nodos de archivo. El inconveniente es que no pueden servir bloques históricos a otros nodos durante su IBD.

¿Cómo sé si mi nodo terminó de sincronizarse?

Ejecuta bitcoin-cli getblockchaininfo y comprueba dos campos. verificationprogress debería mostrar 1 (o un valor apenas inferior durante un momento, al llegar un bloque nuevo) y initialblockdownload debería mostrar false. También puedes comparar el campo blocks con la altura actual que muestra un explorador de bloques como mempool.space. Una vez sincronizado, el nodo recibe y valida los bloques nuevos en tiempo real, normalmente a los pocos segundos de que se propaguen por la red.

Dos salidas de bitcoin-cli getblockchaininfo del 7 de noviembre de 2026, con la blockchain en el bloque 974,973. Durante la sincronización, blocks marca 487,486, por detrás de headers, que marca 974,973, porque el nodo descarga primero las cabeceras. verificationprogress marca 0.175 porque, aunque ya se ha comprobado la mitad de los bloques, los más recientes contienen la mayoría de las transacciones. initialblockdownload muestra true, porque la primera sincronización sigue en curso. Una vez sincronizado, blocks y headers coinciden en 974,973. verificationprogress llega a 1, o queda un poco por debajo durante un momento cuando llega un bloque nuevo. initialblockdownload muestra false, porque ha terminado la primera sincronización. Compara entonces blocks con la altura más reciente en un explorador de bloques.
Dos campos te dicen que la primera sincronización ha terminado. verificationprogress llega a 1 e initialblockdownload pasa a false. verificationprogress cuenta transacciones comprobadas, no bloques. Como los primeros bloques están casi vacíos, el valor se mantiene bajo al principio.

¿Debería ejecutar Bitcoin Core con Tor para tener más privacidad?

Ejecutar Bitcoin Core por Tor evita que tu proveedor de internet y quienes observen la red sepan que operas un nodo Bitcoin. Para configurar Tor, instala su servicio y añade proxy=127.0.0.1:9050 a bitcoin.conf. Con un proxy, Bitcoin Core deja de aceptar conexiones entrantes. La línea listen=1 del paso 4 las vuelve a habilitar. Bórrala. De lo contrario, tu nodo sigue aceptando conexiones en el puerto 8333 de la IP de tu casa. Si quieres usar solo Tor, añade onlynet=onion y dnsseed=0. Ten en cuenta que un nodo que solo use Tor puede tardar más en sincronizarse y conectarse con menos nodos. Combinar conexiones por internet abierto y Tor ofrece un equilibrio entre privacidad y rendimiento.

Recursos relacionados

Forma parte de nuestro curso de Bitcoin:Este tema se explica en Cómo configurar tu nodo de Bitcoin paso a paso, del curso Red Lightning y nodos de Bitcoin.
Categoría: Nodos e infraestructura
← Volver a los cursos