Nodos e infraestructura

Cómo resolver problemas al sincronizar un nodo de Bitcoin

Cómo resolver problemas al sincronizar un nodo de Bitcoin

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

Sincronizar un nodo completo de Bitcoin es una parte fundamental de participar en la red y una de las más exigentes técnicamente. Esta guía explica qué factores afectan la sincronización, qué características del equipo importan y cómo han evolucionado las opciones para ejecutar un nodo.

Para sincronizar toda la blockchain de Bitcoin, el nodo descarga y valida todas las transacciones desde el bloque génesis. La tarea exige cada vez más recursos. En noviembre de 2026, los datos de los bloques ya sumaban unos 800 GB. Esta validación permite que cada participante verifique por su cuenta todo el historial de transacciones, sin confiar en terceros.

La velocidad de sincronización depende mucho del equipo. Hay tres cuellos de botella principales: la velocidad de lectura y escritura del disco, la RAM disponible y el ancho de banda. El disco suele ser el mayor obstáculo, sobre todo si usas un disco duro mecánico (HDD) en vez de una unidad de estado sólido (SSD). El nodo lee y escribe datos de la blockchain continuamente. Si el disco es lento, la sincronización puede tardar semanas en vez de días.

Tres paneles en fila. 1. Red: hay unos 800 GB de bloques por descargar. A 100 Mbit/s tarda unas 18 horas y a 1 Gbit/s, unas 2 horas. 2. Memoria: el nodo busca primero en la caché de memoria cada moneda que se gasta en un bloque. El ajuste dbcache fija el tamaño de esa caché. 3. Disco, destacado porque suele ser el más lento: el nodo lee del disco lo que no encuentra en memoria. Un SSD responde rápido y un disco duro mecánico tarda mucho más.
Tres factores marcan el ritmo de la sincronización y el disco suele ser el más lento. El nodo descarga cada bloque y busca cada moneda que se gasta en él. Primero la busca en memoria y luego en el disco. Un disco mecánico tiene que mover el brazo lector cada vez que el nodo no encuentra una moneda en la caché.

La RAM disponible condiciona cuántas transacciones sin confirmar puede gestionar el nodo con agilidad en el mempool y cuántos datos de uso frecuente puede guardar en caché. Con poca RAM, el nodo tiene que recurrir más al disco, lo que agrava el cuello de botella. Las computadoras actuales suelen traer suficiente RAM para un nodo básico, pero cada aumento de memoria aporta una mejora menor a la sincronización.

El ancho de banda importa, pero rara vez es el principal cuello de botella con una conexión de banda ancha rápida. La red de Bitcoin distribuye la carga entre varias conexiones entre pares y aprovecha bien el ancho de banda disponible. Aun así, una conexión más rápida ayuda con la descarga inicial de bloques (IBD). En noviembre de 2026 había unos 800 GB de bloques que descargar. Incluso al máximo de la conexión, eso lleva unas 18 horas a 100 Mbit/s y unas 2 horas a 1 Gbit/s. Las cabeceras, que se descargan primero, suman solo unos 78 MB.

Los equipos preconfigurados y los paquetes de software para nodos han resuelto muchos de estos problemas técnicos. Suelen combinar componentes bien elegidos con configuraciones de software más sencillas. Así, ejecutar un nodo propio resulta más accesible, un paso importante para descentralizar la infraestructura de Bitcoin.

Entre las opciones actuales están los nodos podados. Guardan solo una parte de la blockchain y siguen validándola por completo. Así necesitan mucho menos espacio y pueden sincronizarse más rápido en equipos con pocos recursos. Sin embargo, un nodo podado no puede enviar datos históricos de la blockchain a otros participantes. Por eso siguen siendo importantes los nodos completos de archivo.

Los problemas de sincronización han impulsado mejoras tanto en el hardware como en el software. Distintas implementaciones de nodos de Bitcoin han incorporado bases de datos optimizadas, mejores algoritmos de validación y mecanismos de caché más avanzados. Cada mejora reduce los recursos y la complejidad que exige ejecutar un nodo. Sigue pendiente el reto de ampliar la capacidad de la red sin perder la descentralización.

Varias líneas de trabajo podrían hacer más eficiente la sincronización. Los avances en almacenamiento de estado sólido, incluidas las unidades NVMe, siguen reduciendo los cuellos de botella de lectura y escritura. Algunas propuestas de mejora del protocolo y técnicas de optimización también podrían reducir el trabajo de cálculo que requieren la descarga inicial de bloques y su validación.

Para que Bitcoin siga siendo descentralizado, ejecutar un nodo debe estar al alcance de más personas. La comunidad busca soluciones que equilibren los requisitos técnicos y la facilidad de uso. A medida que mejore el equipo y se optimice el software, debería ser más fácil empezar a ejecutar un nodo de Bitcoin. Eso favorecería la participación y haría la red más resistente.

Cómo sincronizar un nodo completo de Bitcoin paso a paso

Esta guía explica cómo configurar y sincronizar desde cero un nodo de Bitcoin Core en Linux. Incluye la elección del equipo, la configuración y el seguimiento del progreso.

Paso 1. Elige el equipo adecuado. Como mínimo necesitas un SSD de 2 TB, NVMe si tu computadora lo admite, 8 GB de RAM y un procesador de cuatro núcleos. A fecha de noviembre de 2026, la blockchain de archivo ocupa unos 800 GB y crece entre 6 y 7 GB al mes, de modo que un disco de 1 TB se llena en alrededor de un año. Si tienes un presupuesto ajustado, una Raspberry Pi 5 con 8 GB de RAM y un SSD por USB 3 funciona y se sincroniza en unos dos a cuatro días. Una Pi 4 tarda más. Una computadora de escritorio moderna o un servidor pequeño, como un Intel NUC o un Dell OptiPlex usado, se sincroniza en uno o dos días con una unidad NVMe. Evita los discos mecánicos. La validación de la blockchain lee y escribe en muchos puntos del disco y con un HDD puede tardar semanas.

Paso 2. Instala Bitcoin Core. Descarga el binario, el archivo de sumas de verificación SHA256SUMS y el archivo de firmas SHA256SUMS.asc desde bitcoincore.org. Verifica el binario antes de confiar en él. La verificación solo sirve si antes importas las claves de quienes compilan el programa y en quienes has decidido confiar. De lo contrario, GPG indicará que la firma es válida, pero que la clave le resulta desconocida. Importa las claves de quienes compilan Bitcoin Core desde el repositorio bitcoin-core/guix.sigs. Son las claves con las que se firma cada versión. Clona el repositorio e importa todas las claves con git clone https://github.com/bitcoin-core/guix.sigs && gpg --import guix.sigs/builder-keys/*.gpg. Importa el conjunto completo en vez de copiar una sola huella a mano. Es fácil copiarla mal, etiquetarla mal o dejar que quede desactualizada. Con todas las claves, gpg --verify puede confirmar firmas válidas de varias personas conocidas. Verifica las firmas del archivo de sumas con gpg --verify SHA256SUMS.asc. Busca Good signature de una clave que hayas importado. Por último, comprueba el hash del binario con sha256sum --ignore-missing --check SHA256SUMS. Debe aparecer OK junto al nombre del archivo que descargaste. La opción --ignore-missing es importante porque SHA256SUMS incluye los binarios de todas las plataformas. Sin ella, verías muchas líneas FAILED/No such file para los archivos que no descargaste y podrías pasar por alto un fallo real o creer que tu binario está dañado. Extrae los archivos en /usr/local/bin/ y crea un usuario dedicado con sudo adduser --disabled-login bitcoin. (Comprobado en junio de 2026 con las instrucciones oficiales de bitcoincore.org/en/download.)

Dos comprobaciones antes de ejecutar Bitcoin Core. 1. ¿Firmaron la lista las personas en quienes confías? Las claves que importaste de guix.sigs pertenecen a quienes compilan el programa y firmaron SHA256SUMS, la lista de huellas. gpg --verify SHA256SUMS.asc debe mostrar Good signature, lo que indica que la lista es auténtica. 2. ¿Tu archivo coincide con el de la lista? sha256sum --ignore-missing --check SHA256SUMS compara la huella de tu descarga con la de SHA256SUMS. Debe mostrar OK. Ejecuta Bitcoin Core solo si pasan ambas comprobaciones.
Dos comprobaciones responden dos preguntas. La firma demuestra que las personas de confianza que compilaron el programa publicaron la lista de hashes. Si el hash coincide, tu archivo es el de la lista. Juntas, las comprobaciones demuestran que tienes la versión que firmaron.

Paso 3. Configura bitcoin.conf. Crea el archivo de configuración en ~/.bitcoin/bitcoin.conf con estos ajustes esenciales:

server=1
daemon=1
txindex=0
dbcache=4096
maxconnections=40
listen=1

El parámetro dbcache influye mucho en la velocidad de sincronización. Asígnale alrededor de la mitad de la RAM disponible, en megabytes. Durante la sincronización inicial, 4096 MB (4 GB) reducen mucho las lecturas y escrituras en disco, porque el nodo guarda en memoria una parte mayor del conjunto UTXO, la lista de monedas sin gastar. Al terminar, elimina la línea para recuperar el valor predeterminado. Desde Bitcoin Core 31.0, es de 1024 MiB en una computadora de 64 bits con al menos 4 GB de RAM y de 450 MiB en equipos con menos memoria. Usa un valor menor solo si otros programas necesitan la memoria. Si vas a ejecutar un nodo Lightning sobre Bitcoin Core, añade zmqpubrawblock=tcp://127.0.0.1:28332 y zmqpubrawtx=tcp://127.0.0.1:28333.

Dos gráficos muestran cuánta memoria usa la caché de monedas de un nodo al sincronizar el mismo tramo de bloques. Con dbcache=1024, el valor predeterminado en una computadora con 4 GB de RAM o más, la caché se llena tres veces. Cada vez, el nodo escribe los datos en el disco y vacía la caché. Con dbcache=4096, el valor que esta guía indica en bitcoin.conf, la caché solo se llena una vez en el mismo tramo. Después de cada vaciado, el nodo vuelve a leer del disco las monedas que se gastan en los bloques siguientes.
Con un dbcache mayor, la caché se llena menos veces. Cuando se llena, Bitcoin Core escribe los datos en el disco y la vacía. Para los bloques siguientes, tiene que volver a leer las monedas del disco. Si la vacía menos veces, hace menos lecturas lentas.

Paso 4. Inicia la descarga inicial de bloques. Ejecuta Bitcoin Core con bitcoind y sigue el progreso con bitcoin-cli getblockchaininfo. El campo verificationprogress estima cuánto has avanzado, de 0 a 1 (1,0 significa que el nodo está sincronizado). Durante la IBD, el nodo descarga todos los bloques desde enero de 2009 y valida cada transacción. Esta es la fase que más trabajo de cálculo exige. Revisa las lecturas y escrituras en disco con iostat -x 5 para encontrar cuellos de botella.

Paso 5. Sigue el progreso de la sincronización. Ejecuta bitcoin-cli getblockchaininfo | jq '.blocks, .headers, .verificationprogress'. El campo blocks muestra los bloques validados y headers, las cabeceras conocidas, que se descargan primero. El campo verificationprogress estima la proporción de transacciones que ya se han verificado. Avanza más despacio que el contador de bloques porque los más antiguos tenían menos transacciones. También puedes seguir el registro de depuración. Busca en ~/.bitcoin/debug.log mensajes como UpdateTip: new best= para saber a qué altura de bloque llegó el nodo.

Un nodo nuevo se sincroniza en dos fases. Primero descarga las cabeceras, una de 80 bytes por bloque, cerca de 78 MB en total. Al acabar, getblockchaininfo muestra headers 974 796. Luego descarga los bloques, unos 800 GB en total, y comprueba cada transacción. Las barras muestran cuántas transacciones contiene cada veinteavo de la cadena. Entre 2009 y 2012 hubo muy pocas. En años recientes hubo muchas más. A mitad de camino, blocks muestra 487 398, pero la mitad naranja de las barras representa menos de una quinta parte de todas las transacciones. Por eso verificationprogress solo indica alrededor de 0,17. Un 1 significa que el nodo está sincronizado.
Primero las cabeceras, después los bloques. Las cabeceras llegan primero y suman unos 78 MB. Los bloques suman unos 800 GB. verificationprogress cuenta transacciones, no bloques. Los primeros bloques tenían pocas transacciones, así que ese indicador va por detrás del contador de bloques durante casi toda la sincronización.

Paso 6. Configura la poda si la necesitas. Si tienes poco espacio en disco, activa la poda añadiendo prune=550 a bitcoin.conf (mínimo de 550 MB). Un nodo podado valida todo el historial de la blockchain al sincronizarse, pero solo guarda los bloques más recientes en el disco. Así reduce el espacio necesario a unos 15 GB: 550 MB de bloques recientes y la base de monedas sin gastar, que Bitcoin Core 32.1 estima en unos 14 GB. El nodo sigue validándolo todo. El inconveniente es que no puede enviar bloques antiguos a otros nodos ni admite txindex.

Dos barras de almacenamiento a la misma escala. Un nodo de archivo guarda todos los bloques desde 2009 y la base de monedas, unos 900 GB con Bitcoin Core 32.1. Un nodo podado con prune=550 comprueba los mismos bloques, elimina los antiguos y guarda unos 15 GB. Al ampliar esos 15 GB a escala, se ve que casi todo corresponde a la base de monedas, de unos 14 GB, que enumera todas las monedas sin gastar. Los últimos 550 MB de bloques ocupan una franja pequeña. Ambos nodos verifican cada bloque y transacción por su cuenta. Solo el de archivo puede enviar bloques antiguos a otros nodos y guardar un índice de transacciones (txindex).
Un nodo podado verifica lo mismo que uno de archivo. Elimina los bloques antiguos después de verificarlos. Por eso necesita unos 15 GB en vez de unos 900 GB. La mayor parte de esos 15 GB corresponde a la lista de monedas sin gastar. A cambio, ya no puede enviar bloques antiguos a otros nodos ni guardar un índice de transacciones.

Paso 7. Confirma que terminó la sincronización y refuerza la seguridad. Cuando blocks coincida con headers y verificationprogress marque 1 o un valor apenas inferior, el nodo estará sincronizado. Elimina la línea dbcache=4096 de bitcoin.conf para volver a la caché predeterminada de Bitcoin Core (1024 MiB en una computadora de 64 bits con al menos 4 GB de RAM). Reinicia el programa con bitcoin-cli stop y después bitcoind. Comprueba con bitcoin-cli getnetworkinfo que connections_out llega a 10, el número predeterminado de conexiones salientes a otros nodos. Activa el inicio automático con un archivo de servicio de systemd para que el nodo vuelva a arrancar tras reiniciar el equipo. Si quieres contribuir a la red aceptando conexiones, configura el firewall para permitir conexiones entrantes en el puerto 8333.

Advertencia. No interrumpas la sincronización terminando el proceso por la fuerza. Usa siempre bitcoin-cli stop para detener Bitcoin Core de forma segura. Un cierre incorrecto puede dañar la base de datos chainstate y obligarte a repetir toda la sincronización. Si el equipo se queda sin energía de repente, Bitcoin Core intentará recuperarse cuando se reinicie, pero eso suma horas a la sincronización.

Errores comunes que conviene evitar

Usar un HDD en vez de un SSD. Es la causa más común de las sincronizaciones que tardan demasiado. La base de datos UTXO de Bitcoin Core exige muchas lecturas y escrituras aleatorias que los discos mecánicos no pueden manejar bien. Lo ideal es un SSD NVMe, pero incluso un SSD SATA responde mucho mejor que un HDD. Si estás sincronizando con un HDD y la estimación es de entre 2 y 3 semanas, detén el proceso, compra un SSD y vuelve a empezar. Tardarás menos que si esperas.

Configurar un dbcache demasiado bajo durante la sincronización inicial. La caché dbcache predeterminada, desde Bitcoin Core 31.0, es de 1024 MiB en equipos de 64 bits con al menos 4 GB de RAM y de 450 MiB en los demás. Con ese valor, la caché se llena y el nodo la escribe en el disco muchas veces durante la primera sincronización. Cada moneda que deja de estar en memoria hay que leerla de nuevo del disco. Durante la IBD, si al equipo le sobra RAM, subir el valor a entre 2048 y 4096 MB puede acortar mucho la sincronización. Al terminar, elimina la línea para volver al valor predeterminado (paso 7).

Ejecutar Bitcoin Core en un equipo sin refrigeración suficiente. Validar la blockchain exige mucho al procesador. Muchas configuraciones de Raspberry Pi reducen su velocidad al sobrecalentarse bajo carga sostenida. Una carcasa con disipador pasivo o un ventilador evita esa pérdida de rendimiento y hace más previsible el tiempo de sincronización. Mide la temperatura del procesador con vcgencmd measure_temp en Raspberry Pi o con sensors en Linux de escritorio.

Sincronizar por Wi-Fi o con una conexión con límite de datos. La descarga inicial de bloques transfiere unos 800 GB de datos a fecha de noviembre de 2026. El Wi-Fi puede añadir latencia y pérdidas de paquetes, lo que ralentiza la comunicación con otros nodos. Usa Ethernet siempre que puedas. Si tu conexión tiene límite de datos, como al compartir internet desde el teléfono o con un plan limitado del proveedor, la IBD consumirá toda tu cuota y la superará.

No reservar suficiente espacio en disco. La blockchain crece entre 70 y 85 GB al año, alrededor de 6 a 7 GB al mes al ritmo de mediados de 2026. Un disco de 1 TB ya queda lleno en torno al 90 % cuando termina la sincronización, porque Bitcoin Core 32.1 calcula que necesita unos 900 GB. En un año tendrías que ampliar el espacio. Compra un disco de 2 TB. Si tienes poco espacio, la alternativa es activar la poda. Es un ajuste, no una limpieza que ejecutas de vez en cuando. Impide que funcionen Electrs y Fulcrum y, si más adelante la desactivas, tendrás que volver a descargar toda la blockchain.

Dos discos dibujados a escala. Bitcoin Core 32.1 calcula que necesita unos 900 GB. En un disco de 1 TB queda espacio para, como mucho, un año más de bloques, unos 80 GB. Los del segundo año ya no caben. En uno de 2 TB, esos mismos 900 GB dejan espacio para más de diez años si el crecimiento sigue en unos 80 GB al año. Un disco de 1 TB queda lleno en torno al 90 % el día que termina la sincronización.
Cuenta con un disco de 2 TB. Bitcoin Core 32.1 calcula que necesita unos 900 GB y los bloques crecen unos 80 GB al año. Por eso, un disco de 1 TB se llena en un año. Uno de 2 TB tiene espacio para más de diez años al ritmo actual.

Preguntas frecuentes

¿Cuánto tarda en sincronizarse un nodo completo de Bitcoin?

En una mini PC con SSD NVMe, 16 GB de RAM y banda ancha, la sincronización inicial tarda uno o dos días. En una Raspberry Pi 5 con SSD, unos dos a cuatro días. Una Pi 4 tarda más. En equipos antiguos con HDD, puede tardar entre 2 y 4 semanas o más. Lo que más influye es la velocidad del disco, seguida de la RAM disponible para dbcache.

¿Tengo que dejar mi nodo encendido 24/7?

No, pero es muy recomendable. Al volver a arrancar después de estar desconectado, el nodo se pone al día descargando y validando los bloques que le faltan. Si estuvo desconectado unas horas, tardará unos minutos en ponerse al día. Si pasó mucho tiempo desconectado, tardará más. Un nodo Lightning necesita estar activo 24/7 en la práctica. Para un nodo que solo valida, las interrupciones ocasionales son aceptables.

¿Qué diferencia hay entre un nodo de archivo y uno podado?

Ambos son nodos completos. Tanto el de archivo como el podado validan todas las transacciones del historial de la blockchain durante la sincronización inicial. La diferencia está en el almacenamiento. Un nodo de archivo guarda toda la blockchain, unos 800 GB de bloques a fecha de noviembre de 2026. Uno podado elimina los bloques antiguos después de validarlos y guarda solo los más recientes. Con prune=550 puede guardar apenas 550 MB de bloques y ocupar unos 15 GB en total con la base de monedas sin gastar. Los nodos de archivo pueden enviar bloques antiguos a otros nodos y admiten un índice de transacciones. Los podados carecen de esas funciones, pero ofrecen el mismo nivel de seguridad al verificar por tu cuenta.

¿Puedo sincronizar un nodo con datos de la blockchain de otra persona?

Técnicamente sí, si copias los directorios blocks/ y chainstate/ de otro nodo de confianza. Así evitas la descarga, pero tu nodo todavía tiene que volver a indexar y verificar los datos, a menos que decidas confiar en ellos sin verificarlos. El proyecto Bitcoin Core desaconseja este método por seguridad. El objetivo de ejecutar un nodo es verificar sin confiar en terceros. Si omites la validación, dependes de quien te dio los datos. Para la mayoría de las personas, una IBD completa en un SSD es lo bastante rápida como para prescindir de estos atajos.

¿Un nodo de Bitcoin consume mucha electricidad?

Una Raspberry Pi con SSD consume unos 5 a 10 vatios, un Intel NUC u otra mini PC similar consume entre 10 y 25 vatios, y una computadora de escritorio reutilizada, entre 30 y 80 vatios. Multiplica los vatios por 8,76 para obtener los kilovatios hora al año. A US$ 0,20 por kWh, la Pi cuesta entre US$ 9 y US$ 18 al año, la mini PC entre US$ 18 y US$ 44 y la computadora de escritorio entre US$ 53 y US$ 140, más o menos. Haz la cuenta con el precio que pagas por kWh. Tras la sincronización inicial, el uso del procesador cae mucho. Un nodo sincronizado se dedica sobre todo a esperar bloques y transacciones nuevos, lo que requiere muy poca potencia de cálculo.

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