121 / 691IBD

Descarga inicial de bloques

IBD es la primera sincronización de un nodo nuevo con la historia de Bitcoin. Incluye obtener datos, validar bloques y construir el estado de salidas no gastadas, más allá de transferir archivos.

IBD es más que descargar archivos. Un Full Node construye un conjunto UTXO validado desde la historia; las comprobaciones de scripts antiguos dependen también de assumevalid.

El nodo descubre direcciones de pares y sincroniza cabeceras. Una cabecera enlaza la historia y contiene Proof of Work, pero no demuestra por sí sola la validez de todas las transacciones del bloque. [Bitcoin Developer Guide — Initial Block Download] [Satoshi Nakamoto — Bitcoin whitepaper]

El trabajo acumulado identifica una rama candidata para validar. Ni la mayor cantidad de cabeceras ni la afirmación de un par sustituyen el trabajo y las comprobaciones completas. [Bitcoin Developer Guide — Initial Block Download] [Bitcoin Core — validation] [Satoshi Nakamoto — Bitcoin whitepaper]

Los bloques pueden descargarse en paralelo desde varios pares. Conectarlos a la cadena válida respeta el estado previo: las salidas no pueden comprobarse sin la historia necesaria. [Bitcoin Developer Guide — Initial Block Download] [Bitcoin Core — validation]

Un Full Node comprueba estructura, Merkle root, reglas de gasto y límites de emisión, entre otras cosas. Las reglas de consenso se aplican según altura y activaciones; las cabeceras no son validación completa. [Bitcoin Core — validation] [Bitcoin Core — chainstate]

Al conectar bloques se eliminan salidas gastadas y se añaden nuevas UTXO. La base representa posibilidades actuales de gasto, no todas las transacciones históricas ni un registro de saldos por dirección. [Bitcoin Core — validation] [Bitcoin Core — chainstate]

Bajo condiciones de historia conocida suficientemente profunda, assumevalid puede omitir controles de scripts antiguos. No acepta cualquier historia sin comprobar; assumevalid=0 desactiva esta optimización. [Bitcoin Core — validation]

La poda elimina archivos de bloques antiguos tras procesarlos, conservando el conjunto UTXO y metadatos necesarios. Ahorra almacenamiento permanente, no obtener y procesar la historia durante IBD ordinario. [Bitcoin Core — validation] [Bitcoin Core — chainstate]

Bitcoin Core v29.0 usa antigüedad de la punta, trabajo mínimo y estado de carga; al terminar, el indicador no vuelve a true en ese proceso. Es una heurística operativa, no prueba de la última punta global. [Bitcoin Core — validation] [Bitcoin Core — getblockchaininfo]

La duración depende de CPU, memoria, disco, red y pares disponibles. verificationprogress de getblockchaininfo estima trabajo de verificación, no una fecha de finalización ni solo la fracción de bytes descargados. [Bitcoin Developer Guide — Initial Block Download] [Bitcoin Core — getblockchaininfo]

AssumeUTXO puede usar una instantánea UTXO compatible para operar antes en la punta. La historia se valida en segundo plano y se compara el resultado con la instantánea; ser utilizable antes no implica validación histórica completa. [Bitcoin Core — validation] [Bitcoin Core — AssumeUTXO design]

Para obtener la imagen más completa, lee esta entrada junto con Nodo podado, AssumeUTXO, Propagación de bloques, Retransmisión compacta. También enlazan con esta entrada Nodo podado, AssumeUTXO.

DOC · 001Bitcoin Developer Guide — Initial Block DownloadDocumentaciónDOC · 002Bitcoin Core — validationDocumentaciónDOC · 003Bitcoin Core — chainstateDocumentaciónDOC · 004Bitcoin Core — AssumeUTXO designDocumentaciónDOC · 005Bitcoin Core — getblockchaininfoDocumentaciónDOC · 006Satoshi Nakamoto — Bitcoin whitepaperFuente primaria
Fuentes primero · No es asesoramiento financiero