Nodos e infraestructura

Cómo resolver problemas de conexión en un nodo de Bitcoin

Una mano alinea un conector Ethernet con el puerto de red de un nodo doméstico durante una comprobación cuidadosa de la conexión.

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

Las conexiones estables y fiables entre nodos son uno de los pilares de la arquitectura de Bitcoin. Son esenciales para mantener la red descentralizada y garantizar la validez de las transacciones. Aquí examinamos las implicaciones técnicas de la conectividad de los nodos, su importancia para quienes participan en la red y el avance hacia la operación de nodos propios (en inglés) en el ecosistema de Bitcoin.

La arquitectura entre pares de Bitcoin se apoya en un sistema sólido de nodos interconectados que mantienen y verifican la blockchain entre todos. Cuando usas una billetera para interactuar con la red, esas conexiones son el puente hacia el resto del ecosistema de Bitcoin. Su estabilidad puede variar mucho según factores como tu ubicación, la calidad del servicio de internet y los nodos concretos a los que te conectes.

Los nodos públicos prestan un servicio valioso a la comunidad de Bitcoin, aunque tienen límites y posibles inconvenientes. Pueden sufrir interrupciones periódicas, restricciones de ancho de banda o conexiones inestables por la alta demanda. Si dependes de la infraestructura pública para tus operaciones con Bitcoin, conviene entender estos límites, porque los cortes intermitentes pueden afectar a la difusión y a la verificación de transacciones.

La dificultad de mantener conexiones estables entre nodos ha dado lugar a varias soluciones en el ecosistema de Bitcoin. Quienes desarrollan billeteras han incorporado funciones como la reconexión automática y la posibilidad de conectarse a varios nodos a la vez. Esa redundancia aumenta la fiabilidad. Estos ajustes reducen el efecto de los cortes temporales para los usuarios y mantienen los niveles de seguridad.

Operar tu propio nodo de Bitcoin es un paso importante para ganar soberanía y participar en la red. Entre las ventajas están una mayor privacidad (en inglés), una verificación de transacciones más fiable y una contribución directa a la descentralización. Los requisitos técnicos para operar un nodo son cada vez más accesibles. Han surgido varias soluciones listas para usar que simplifican el proceso a quienes carecen de conocimientos técnicos.

Las conexiones de un nodo sirven para algo más que difundir transacciones. Los nodos hacen cumplir las reglas de consenso de la red, validan transacciones y propagan bloques. Una conexión estable permite que cumplan esas funciones y contribuye al buen funcionamiento y la seguridad de la red Bitcoin. Si las conexiones se vuelven inestables, al nodo le puede costar seguir sincronizado con el estado actual de la blockchain.

La infraestructura de nodos ha avanzado mucho en los últimos años. Las mejoras se han centrado en conseguir conexiones más fiables, reducir los requisitos de hardware y simplificar la operación de un nodo (en inglés) para cualquier usuario. Ahora es más fácil que una persona participe de forma directa en la validación y la verificación de la red.

Las billeteras de Bitcoin actuales tienen funciones avanzadas para gestionar sus conexiones. Pueden elegir servidores de forma automática, vigilar la calidad de la conexión y recurrir a alternativas cuando fallan las conexiones principales. Estas funciones ayudan a que la billetera se use sin interrupciones y conservan las ventajas de seguridad y privacidad de una buena conexión a un nodo.

A medida que Bitcoin amplíe su capacidad, seguir desarrollando la infraestructura de nodos y los sistemas que gestionan sus conexiones tendrá un papel clave. Según crezca la red y aumente la adopción, mantener conexiones fiables entre nodos será cada vez más importante. Es probable que las mejoras se centren en aumentar la estabilidad, reducir los recursos necesarios y mejorar la experiencia tanto de quienes usan nodos públicos como de quienes operan uno propio.

La relación entre las billeteras y las conexiones de los nodos es un punto de encuentro clave entre facilidad de uso y seguridad. A medida que madure la tecnología, cabe esperar más avances en la gestión de conexiones, la operación de nodos y la fiabilidad de la red. Eso contribuirá a que Bitcoin sea más robusto y accesible, y conserve los principios de descentralización y soberanía del usuario que lo definen.

Guía paso a paso

Para diagnosticar y resolver problemas de conexión en un nodo de Bitcoin hace falta un método. Estos pasos ayudan a aislar y corregir los problemas más frecuentes, tanto si operas un nodo completo propio como si conectas una billetera a un servidor Electrum público o investigas fallos de conexión entre un nodo de Lightning y otros nodos.

Un recorrido de diagnóstico con tres comprobaciones. 1. Conexiones salientes, en el campo connections_out de getnetworkinfo. Si marca 0, no sale ninguna conexión. Comprueba primero la conexión a internet, luego Tor si bitcoin.conf tiene una línea proxy=, después los ajustes de bitcoin.conf del paso 5 y por último tu proveedor de internet, probando el modo solo Tor. Unas 10 conexiones indican que todo va bien. 2. Conexiones entrantes, connections_in. Un 0 suele ser normal. Un nodo en sincronización solo anuncia su dirección cuando termina. Si el puerto 8333 está cerrado, los otros nodos no pueden entrar. Para aceptarlos, abre el puerto en el router y en el cortafuegos. En cualquier caso, sigue adelante. 3. Si tu billetera aún indica «not connected» (sin conexión), el fallo está entre la billetera y el nodo. Comprueba el servidor Electrum y los ajustes de servidor y Tor de la billetera. Si no aparece ese mensaje, todo está conectado.
Dos cifras y una pregunta indican dónde está el fallo. Cero conexiones salientes sí indican un fallo. Cero entrantes suele ser normal. Si la billetera no se conecta y el nodo tiene pares, el problema está del lado de la billetera.

Paso 1: verifica la sincronización de tu nodo. Antes de buscar un fallo de conexión, comprueba que tu nodo esté sincronizado por completo con la blockchain. Ejecuta bitcoin-cli getblockchaininfo y compara la cifra de «blocks» con la altura de bloque actual en un explorador de bloques. Si el nodo sigue en la descarga inicial de bloques (IBD), el campo initialblockdownload indica true. En ese caso, es normal que haya pocas conexiones entrantes o ninguna. Bitcoin Core solo anuncia su dirección a otros nodos cuando acaba la sincronización. Las conexiones salientes deberían funcionar durante el proceso. Si el nodo no tiene ningún par, hay un problema que resolver.

Paso 2: comprueba las conexiones con otros nodos. Ejecuta bitcoin-cli getpeerinfo para listar todos los nodos conectados. Un nodo que funciona bien mantiene 10 conexiones salientes por defecto: 8 retransmiten transacciones y bloques, y 2 solo retransmiten bloques (el campo connection_type distingue unas de otras). Si la lista está vacía o solo muestra 1 o 2 nodos, es probable que al tuyo le cueste llegar a la red. Fíjate en el campo «addr» para ver si las direcciones de los nodos son IPv4, IPv6 o Tor (.onion). Así puedes identificar si el problema afecta a un protocolo concreto.

Paso 3: comprueba la conexión básica a la red. Comprueba que tu dispositivo tenga acceso a internet. Envía un ping a un servidor conocido o carga una página web. Si usas Tor, verifica que el servicio esté activo y que tu configuración torrc apunte al puerto correcto del proxy SOCKS (9050 por defecto). Prueba la conexión de Tor con curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip. El resultado debería incluir "IsTor":true.

Paso 4: revisa el cortafuegos y el reenvío de puertos. Bitcoin Core usa el puerto 8333 para las conexiones P2P de la red principal. Si quieres aceptar conexiones entrantes, que mejoran el estado de la red y aumentan tu número de conexiones, el router debe reenviar el puerto 8333 y el cortafuegos local debe permitir el tráfico por ese puerto. Desde la versión 30.0, Bitcoin Core también pide al router que abra el puerto mediante PCP o NAT-PMP. Esto solo funciona si el router admite uno de esos protocolos. Si solo tienes conexiones salientes, no hace falta reenviar puertos, pero el cortafuegos debe permitir conexiones TCP salientes. Compruébalo con sudo ufw status o sudo iptables -L.

Tu nodo a la izquierda, seguido de dos barreras, su cortafuegos y tu router, y otros nodos a la derecha. Conexiones salientes. Tu nodo se conecta a unos 10 nodos a través de ambas barreras sin tener que abrir nada. Conexiones entrantes, tres casos. Si el router no reenvía el puerto 8333, bloquea a los otros nodos. Si el router lo reenvía pero el cortafuegos lo bloquea, los otros nodos se detienen en el cortafuegos. Si ambas barreras están abiertas, se conectan a tu nodo, hasta 189 a la vez en Bitcoin Core 32.1. Para aceptar conexiones entrantes, reenvía el puerto TCP 8333 a tu nodo en el router. Bitcoin Core también se lo pide al router mediante PCP o NAT-PMP, algo que solo funciona si el router lo admite. Permite también las conexiones TCP entrantes por el puerto 8333 en el cortafuegos.
Las conexiones salientes no requieren abrir nada. Las entrantes necesitan que las dos barreras estén abiertas. Por eso un nodo detrás de un router cerrado se queda en unas 10 conexiones. Sigue siendo un nodo completo y puede verificar todos los bloques.

Paso 5: busca problemas de configuración en bitcoin.conf. Entre las causas habituales están maxconnections=0, que desactiva todas las conexiones automáticas entrantes y salientes (solo se pueden conectar los nodos añadidos con addnode), un proxy= incorrecto que apunta a una instancia de Tor que no está en ejecución, líneas connect= que limitan tu nodo a otros nodos concretos que podrían estar sin conexión y listen=0, que impide las conexiones entrantes. Revisa el archivo línea por línea y comenta los ajustes que no necesites de forma expresa.

Cuatro líneas de bitcoin.conf y sus efectos. maxconnections=0: sin conexiones salientes salvo a nodos añadidos con addnode, y ninguna entrante. proxy=127.0.0.1:9050 sin Tor en ejecución: todas las conexiones salientes fallan porque pasan por Tor y las entrantes están desactivadas salvo que añadas listen=1. connect=203.0.113.5 con ese nodo sin conexión: no hay conexiones salientes porque el nodo solo intenta conectarse a ese par, y las entrantes están desactivadas salvo que añadas listen=1. listen=0: las conexiones salientes funcionan normalmente, unas 10, y no hay conexiones entrantes. Para resolverlo, comenta las líneas que no necesites, reinicia y vuelve a consultar getnetworkinfo.
Una sola línea de bitcoin.conf puede cortar todas las conexiones. proxy= y connect= también desactivan las conexiones entrantes por defecto, incluso sin listen=0.

Paso 6: añade manualmente nodos fiables que conozcas. Si tu nodo no encuentra otros nodos con las semillas DNS o el protocolo de descubrimiento de pares, añade nodos de confianza manualmente con bitcoin-cli addnode "ip:port" add. Puedes encontrar direcciones de nodos fiables en listas que mantiene la comunidad o en un nodo secundario tuyo. Así evitas los bloqueos de DNS y facilitas las primeras conexiones en redes restrictivas.

Dónde encuentra Bitcoin Core a otros nodos, por orden. 1. Direcciones que ya conoce, en peers.dat. Otros nodos comparten las direcciones que conocen. Tu nodo las guarda en disco y las prueba primero. Si peers.dat está vacío o tu nodo sigue casi sin pares tras esperar un poco, recurre a la siguiente opción. 2. Semillas DNS. Son servidores que mantienen voluntarios y figuran en Bitcoin Core. Cada uno responde con los nodos que ha visto conectados. Si tu nodo sigue sin conocer ninguna dirección al cabo de 1 minuto, pasa a la siguiente opción. 3. Semillas fijas. Son direcciones de nodos integradas en Bitcoin Core que funcionan incluso si el DNS está bloqueado. Por separado, tu nodo siempre prueba los nodos que añadas con addnode, en cualquier momento y además de las conexiones automáticas (hasta 8 nodos añadidos). Si borras peers.dat, el nodo consulta las semillas DNS en cuestión de segundos si la búsqueda por DNS está activada, como ocurre por defecto. Un nodo en modo solo Tor (onlynet=onion) omite esa consulta y recurre a las semillas fijas. Si el DNS está bloqueado, las semillas fijas y addnode siguen funcionando.
Un nodo prueba primero las direcciones que tiene guardadas. Las semillas DNS y las fijas son opciones de reserva. Por eso, si borras peers.dat, un nodo con la configuración predeterminada consulta directamente las semillas DNS (en modo solo Tor, recurre a las semillas fijas). Por eso también resulta útil addnode cuando no se puede acceder a las semillas.

Paso 7: comprueba si hay interferencias de tu proveedor de internet o de la red. Algunos proveedores ralentizan o bloquean el tráfico P2P de Bitcoin en el puerto 8333. Para comprobarlo, cambia al modo solo Tor. Ese modo encapsula todo el tráfico en circuitos de Tor y evita el filtrado de puertos concretos. Cambiar el puerto de tu nodo con port= solo modifica dónde pueden encontrarlo otros nodos. Puede ayudar con las conexiones entrantes, pero tus conexiones salientes siguen usando el puerto de cada nodo de destino. Si la conectividad mejora enseguida con Tor, es probable que tu proveedor interfiera en el tráfico de Bitcoin en la red pública (clearnet).

Paso 8: vigila y mantén estable la conexión. Cuando resuelvas el fallo, configura una supervisión continua. Usa bitcoin-cli getnetworkinfo para comprobar periódicamente el número de conexiones o instala una herramienta de supervisión que te avise si la cifra de nodos baja de un límite. Para infraestructura crítica, como los nodos que prestan servicio a canales de Lightning, plantéate usar una tarea de cron que reinicie Bitcoin Core automáticamente si deja de responder.

Errores habituales que debes evitar

1. Reiniciar el nodo una y otra vez en lugar de diagnosticar el problema. Reiniciar Bitcoin Core corta todas las conexiones y hace que se conecte de nuevo a partir de las direcciones guardadas en peers.dat. Esto puede ocultar por un tiempo un problema persistente. Si tu nodo se desconecta una y otra vez, busca mensajes de error concretos en debug.log antes de reiniciar a ciegas. Ese registro suele revelar si las conexiones se rechazan, agotan el tiempo de espera o se cortan del otro lado.

2. Usar Bitcoin Core con una base de datos de pares desactualizada. El archivo peers.dat guarda direcciones conocidas de la red. Si migraste el directorio de datos desde otro entorno de red o desde una copia de seguridad antigua, quizá las direcciones guardadas estén desactualizadas o sean inaccesibles. Al borrar peers.dat, el nodo vuelve a consultar las semillas. Con la configuración predeterminada, consulta las semillas DNS en cuestión de segundos, lo que suele resolver los problemas de conexión inicial. Con dnsseed=0 o en modo solo Tor (onlynet=onion), la búsqueda por DNS está desactivada y el nodo recurre a sus semillas fijas integradas. Con connect=, el nodo solo intenta conectarse a los pares que indicaste. Por eso, en ese caso el archivo peers.dat no influye.

3. Confundir la conexión de la billetera con la del nodo. Si tu billetera indica «not connected» pero tu nodo Bitcoin Core está completamente sincronizado y tiene pares, el problema está en la conexión entre la billetera y el nodo, no entre el nodo y la red Bitcoin. Comprueba el proceso del servidor Electrum. Después de que Bitcoin Core se sincronice, el servidor puede tardar horas en construir su propio índice. Fulcrum, por ejemplo, rechaza las conexiones de billeteras hasta terminar. Comprueba por separado la configuración de servidor de la billetera y los ajustes del proxy Tor de la aplicación. Esos ajustes son distintos de los de la capa P2P del nodo.

Una cadena de izquierda a derecha. La aplicación de tu billetera, un servidor Electrum si lo usas, Bitcoin Core (tu nodo) y otros nodos de la red. Los dos primeros enlaces son la conexión de tu billetera, donde se origina el mensaje «not connected». Comprueba que el servidor Electrum esté en ejecución, que haya terminado de crear su índice, que la billetera tenga su dirección y puerto y que los ajustes de Tor de la billetera sean correctos. El último enlace es la conexión del nodo a la red y se comprueba con getnetworkinfo. Si el nodo tiene pares y la billetera indica «not connected», revisa el lado de la billetera.
«Not connected» en la billetera y un nodo sin pares son dos problemas distintos. Son conexiones diferentes y se comprueban por separado. Un servidor Electrum nuevo puede rechazar durante horas las conexiones de las billeteras mientras construye su índice.

4. Abrir el puerto 8333 en el router sin ajustar el cortafuegos. El reenvío por sí solo no basta si el cortafuegos local del servidor bloquea el tráfico entrante en ese puerto. A la inversa, abrirlo en el cortafuegos sin reenviarlo en el router tampoco permite conexiones entrantes desde internet. Ambas capas deben estar configuradas de forma coherente para que funcionen las conexiones entrantes.

5. Atribuir la falta de pares a vetos automáticos. Desde la versión 0.20.1 (2020), si otro nodo envía datos no válidos, Bitcoin Core lo desconecta y lo evita un tiempo en vez de vetarlo. A eso lo llama disuadir al par. La lista solo existe en memoria, así que un reinicio la borra y bitcoin-cli listbanned no la muestra. Los vetos de listbanned son los que añadiste con setban o los que añadió una herramienta que usas. Si las entradas te parecen erróneas o excesivas, bórralas con bitcoin-cli clearbanned.

Preguntas frecuentes

¿Por qué mi nodo muestra 10 conexiones y nunca más?

Diez es el número de conexiones salientes que Bitcoin Core establece por su cuenta: 8 retransmiten transacciones y bloques, y 2 solo retransmiten bloques. Antes de la versión 0.19, de noviembre de 2019, establecía 8. Puede que veas una o dos más durante un momento cuando prueba otros nodos. Las conexiones entrantes, de otros nodos hacia el tuyo, requieren que el puerto 8333 sea accesible desde internet. Eso implica reenviar el puerto en tu router y contar con una regla de cortafuegos que permita el tráfico entrante. Sin eso, tu nodo sigue a la escucha, pero no es accesible desde fuera y se queda en 10 conexiones salientes. Cuando se puede llegar a él, Bitcoin Core 32.1 acepta hasta 189 conexiones entrantes. Como máximo, la mitad pueden ser de nodos que retransmitan transacciones. El resto solo retransmite bloques. Así, el nodo funciona de forma segura. Aceptar conexiones entrantes mejora la descentralización, aunque no hace falta para el uso personal.

Mi nodo funcionaba bien y de repente perdió todos sus pares. ¿Qué pasó?

Si pierdes los pares de golpe, suele haber un cambio en la red. Puede que el router se haya reiniciado o que haya cambiado tu dirección IP pública. Cualquiera de las dos cosas interrumpe todas las conexiones abiertas, y el nodo debería volver a conectarse por sí solo en unos minutos. También puede haber habido un corte del proveedor de internet o, en modo solo Tor, un fallo del servicio Tor. Si el router perdió sus reglas de reenvío de puertos, el efecto es distinto. Solo pierdes las conexiones entrantes y tu nodo mantiene unas 10 salientes. Comprueba primero tu configuración de red. Luego busca mensajes de tiempo de espera agotado o errores de socket en debug.log de Bitcoin Core cerca del momento en que empezaron los cortes. Un archivo peers.dat dañado (el archivo con las direcciones de los pares guardadas) se manifiesta de otra manera. Bitcoin Core se detiene al arrancar con el error «Invalid or corrupt peers.dat». Si apartas ese archivo, Bitcoin Core puede arrancar con una lista nueva.

¿Es normal que mi nodo tarde días en sincronizarse después de un tiempo sin conexión?

Depende de cuánto tiempo estuvo tu nodo sin conexión y de las especificaciones del hardware. Por cada día sin conexión, tiene que descargar y validar unos 144 bloques. En noviembre de 2026 son unos 230 MB de datos, con bloques de unos 1,6 MB de media. Tras una semana sin conexión, un nodo tiene que procesar unos 1000 bloques (alrededor de 1,6 GB). Esto puede tardar desde minutos en un equipo rápido hasta horas en una Raspberry Pi con poca RAM. Si tarda mucho más de lo previsto, vigila lo que muestra debug.log para comprobar que el nodo está conectado a otros nodos y descarga bloques.

Barras a escala de los datos de bloques que un nodo descarga para ponerse al día. Un día sin conexión: unos 144 bloques y unos 230 MB. Una semana: unos 1000 bloques y alrededor de 1,6 GB. Un mes: unos 4300 bloques y unos 7 GB. La primera sincronización desde cero, de unos 800 GB, aparece recortada porque, a la misma escala, su barra mediría más de 100 veces lo que mide la de un mes. En noviembre de 2026, los bloques tienen unos 1,6 MB de media. Llega uno cada 10 minutos, más o menos. Si ponerse al día lleva días, comprueba que el nodo tenga pares y descargue bloques.
Una semana sin conexión equivale a unos 1,6 GB de bloques. Sincronizar desde cero lleva mucho más. Si ponerse al día lleva días, es probable que el nodo no esté descargando. Comprueba sus conexiones con otros nodos.

¿Debería usar una VPN en vez de Tor para proteger la privacidad de mi nodo?

Las VPN y Tor sirven para fines de privacidad distintos. Una VPN oculta tu tráfico de Bitcoin a tu proveedor de internet, pero traslada la confianza al proveedor de la VPN, que puede registrar tu dirección IP y los patrones de tráfico. Tor distribuye la confianza entre varios operadores de repetidores y ofrece más anonimato, aunque añade latencia. Para un nodo de Bitcoin se suele preferir Tor porque no tienes que confiar en un solo proveedor. Además, si todas las conexiones del nodo pasan por Tor, tu IP doméstica no aparece en las listas de pares de otros nodos. Aun así, Tor puede añadir latencia y afectar al rendimiento del enrutamiento en Lightning. Como solución intermedia, algunos operadores usan una VPN para el nodo de Lightning y Tor para el nodo de la capa base de Bitcoin.

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