122 / 736PRUNE

Pruned Node

Un nodo completo con un archivo de bloques más pequeño

Puedes verificar Bitcoin por tu cuenta sin conservar toda su historia en el disco. Un Pruned Node procesa los bloques antiguos y después puede eliminarlos, manteniendo el estado necesario para comprobar nuevos pagos.

Un Pruned Node es un Full Node que comprueba las reglas de Bitcoin por sí mismo, pero no guarda todos los bloques antiguos para siempre. Ahorra espacio a cambio de un acceso más limitado al historial. No resta bitcoins de tu saldo ni sustituye una copia de seguridad de la cartera.

Ana quiere usar Bitcoin sin depender de un servidor ajeno para saber si los pagos son válidos. Pero su ordenador no tiene espacio para un archivo completo de bloques, los conjuntos de transacciones confirmadas. Un Pruned Node puede servirle. Durante el Initial Block Download habitual, la primera sincronización del nodo, descarga y verifica el historial en orden, y luego elimina archivos antiguos ya procesados. No necesita tener toda la historia en el disco a la vez, aunque sí debe recorrerla durante esa sincronización. [2] [5]

Pruning consiste en eliminar datos antiguos de forma controlada. Bitcoin Core retira los archivos de bloques que cumplen las condiciones y sus datos undo, que permiten deshacer los cambios de un bloque. Es como apartar documentos de trabajo antiguos después de incorporarlos a un registro actualizado. Desaparecen las copias locales de los documentos, pero se mantienen los efectos de los pagos válidos. Otros nodos pueden seguir guardando esos mismos bloques. [3] [7]

El conjunto UTXO contiene las salidas de transacciones que todavía no se han gastado. Cada salida indica una cantidad y las condiciones para gastarla. El nodo actualiza ese conjunto y así detecta, por ejemplo, un intento de gastar una salida ya gastada. También conserva un índice de bloques con sus cabeceras, registros breves que enlazan los bloques. El conjunto UTXO no es una lista de cuentas ni el historial de todos los pagos. [2] [6]

La red puede seguir brevemente dos ramas válidas y después continuar por otra rama con más trabajo acumulado. Ese cambio se llama reorganización. El trabajo acumulado mide la dificultad de encontrar bloques válidos, reflejada en su Proof of Work, la prueba de trabajo computacional. El nodo necesita revertir los efectos de algunos bloques, por lo que conserva una reserva de bloques recientes y datos undo. Si debe retroceder más allá de lo conservado, puede necesitar recuperar datos o reconstruir el estado. Un límite de disco no convierte los pagos antiguos en absolutamente irreversibles. [5] [7]

El objetivo del pruning automático en Bitcoin Core se aplica a los archivos de bloques y undo, no a toda la carpeta de datos del nodo. Las bases de datos, las carteras y otros archivos también ocupan espacio. Se eliminan archivos completos y hay que respetar la reserva necesaria, de modo que el objetivo no es un techo rígido. Deja espacio para estos elementos al planificar el disco: el límite del archivo histórico no es el tamaño total del nodo. [1] [4] [7]

Full en Full Node se refiere a comprobar las reglas de forma independiente, no a guardar cada bloque para siempre. Un nodo de archivo y uno con pruning, con la misma configuración de validación, rechazan los mismos bloques inválidos. El pruning por sí solo no desactiva comprobaciones. Una firma digital acredita la autorización de un pago mediante una clave privada, un valor numérico secreto, sin revelar esa clave. Por ejemplo, assumevalid permite omitir parte de la verificación histórica de firmas bajo ciertas condiciones y es un ajuste distinto. Puede aplicarse a ambos tipos de nodo, con independencia del tamaño del disco. [5] [6]

El nodo de Ana sigue recibiendo y comprobando nuevas transacciones y los bloques disponibles, y puede retransmitirlos. No puede enviar un bloque antiguo cuyo archivo ya eliminó. Por eso los nodos que conservan archivos completos también son importantes para los recién iniciados. Un Pruned Node no está desconectado ni es una simple cartera ligera que confía en verificaciones ajenas; su servicio de datos históricos es más limitado. [10]

Más adelante Ana restaura una cartera que utilizó años atrás. Una cartera es una aplicación o un dispositivo para recibir y enviar bitcoin. Para encontrar sus transacciones, el programa vuelve a recorrer los bloques correspondientes; es lo que se llama rescan. Si faltan localmente, importar una clave o un descriptor, que describe cómo se forman las direcciones y las condiciones de gasto, no los recupera. Puede ser necesario obtener de nuevo el historial. Que no aparezca un pago antiguo en pantalla no significa por sí solo que los bitcoins se hayan perdido. [8] [9]

También importan las aplicaciones conectadas al nodo. Un explorador de todo el historial necesita datos distintos de una cartera que sigue pagos nuevos. Por ejemplo, Bitcoin Core v29.0 no permite combinar pruning con txindex, un índice auxiliar para localizar transacciones en los bloques guardados. Eso no prohíbe todos los índices. Comprueba los requisitos de tu aplicación antes de elegir el modo; ampliar el límite después no recrea los archivos borrados. [1]

Un Pruned Node resulta útil para verificar Bitcoin por tu cuenta sin consultar constantemente todo el archivo. No elimina la descarga inicial habitual del historial; AssumeUTXO utiliza otro mecanismo para que el nodo sea utilizable antes. Y ni los bloques ni el conjunto UTXO respaldan las claves privadas que autorizan el gasto. La copia de seguridad de la cartera y un procedimiento de recuperación comprobado siguen siendo necesarios, tenga el archivo el tamaño que tenga. [2] [9]

Para obtener la imagen más completa, lee esta entrada junto con Initial Block Download, AssumeUTXO, Block Propagation, vByte, Bitcoin, Bitcoin Core. También enlazan con esta entrada Initial Block Download, AssumeUTXO, Utreexo, Compact Block Filters.

DOC · 001Bitcoin Core v29.0 — pruning configurationDocumentación DOC · 002Bitcoin Core 0.11 release notesDocumentación DOC · 003Bitcoin Core — prune blockchain RPCDocumentación DOC · 004Bitcoin Core — getblockchaininfoDocumentación DOC · 005Bitcoin Core — validationDocumentación DOC · 006Bitcoin Developer Guide — Block ChainDocumentación DOC · 007Bitcoin Core v29.0 — Block file storageDocumentación DOC · 008Bitcoin Core v29.0 — rescanblockchainDocumentación DOC · 009Bitcoin Core v29.0 — Wallet imports and backupDocumentación DOC · 010Bitcoin Core v29.0 — Network block servingDocumentación
Revisado: Fuentes primero · No es asesoramiento financiero