El cambio se ha fusionado en master, pero los operadores deben reconstruir el índice opcional para capturar el ahorro de espacio y planificar otra reconstrucción después de una degradación.
itcoin Core ha fusionado un rediseño de su índice de transacciones opcional que redujo aproximadamente 40 GB de la base de datos en una prueba en la red principal de un contribuidor. Los operadores que usan -txindex conservan sus índices existentes durante una actualización; capturar el ahorro completo requiere recrear la base de datos.
La solicitud de extracción n.º 35531, fusionada en la rama principal (master) de Bitcoin Core el 15 de agosto, redujo el txindex de red principal reconstruido del autor de unos 66 GB a 26 GB. La reducción aproximada del 61% se limita a este índice opcional. La cadena de bloques de Bitcoin y el resto del directorio de datos de un nodo permanecen fuera de la medición.
El código se integra aguas arriba. Los binarios estables siguen un proceso de liberación separado, y el índice de lanzamientos de Bitcoin Core deja la primera versión que contiene el cambio sin especificar. Los operadores necesitarán las notas de migración para la versión que lo incluya.
El rediseño almacena una clave de búsqueda mucho más corta: un prefijo de cinco bytes derivado de un SipHash con sal, seguido de un sufijo de seis bytes que codifica la secuencia de bloques y el desplazamiento de la transacción. El ID completo de la transacción todavía se comprueba antes de que Bitcoin Core devuelva una coincidencia.
Ese paso de verificación protege contra colisiones creadas por el prefijo más corto. Bitcoin Core recorre las entradas que comparten el prefijo, localiza bloques candidatos mediante su índice de bloques, lee las transacciones candidatas desde el disco y compara sus ID completos. El resumen técnico de Bitcoin Optech describió las colisiones como trabajo adicional de lectura y verificación, y las comprobaciones de ID completo evitan coincidencias falsas de transacciones.
El rendimiento se mantuvo estable en la prueba del autor. Las búsquedas tardaron aproximadamente 0,2 milisegundos. La reconstrucción en la red principal terminó en 1 hora 19 minutos frente a 1 hora 50 minutos con el formato anterior. El hardware, el almacenamiento, la altura de la cadena y la versión del software pueden cambiar todos esos resultados.
Las bases de datos txindex existentes siguen siendo legibles después de una actualización, evitando una reconstrucción forzada e inmediata. También conservan su huella heredada más grande, así que para lograr el ahorro de 40 GB del benchmark completo se requiere recrear el índice.
Una degradación posterior conlleva un segundo costo de migración. El fragmento de notas de la versión fusionada de Bitcoin Core indica que las versiones anteriores no pueden leer entradas escritas en el formato compacto. Volver a una versión anterior después de reconstruirlo desencadenaría otra reconstrucción de txindex en el formato antiguo.
El beneficio para el operador es sustancial dentro de su alcance limitado: un índice opcional mucho más pequeño y una reconstrucción más rápida en la prueba del contribuidor. Capturarlo requiere una recreación planificada de la base de datos, además de otra reconstrucción si llegara a ser necesario un retroceso.
Las notas específicas de la versión deben controlar la recreación exacta y el procedimiento de degradación una vez que el cambio alcance un binario estable de Bitcoin Core.
