¿Cómo reducir el espacio en disco necesario para la cadena de bloques completa?

Estoy buscando ejecutar bitcoind en una máquina virtual.

Sin embargo, el tamaño de Blockchain de las redes principales supera los 21 GB y sigue creciendo.

¿Hay alguna manera de comprimir esto o reducir la cantidad de espacio en disco necesario para la Blockchain completa?

en mayo de 2017 el espacio mínimo recomendado es de 125 GB.

Respuestas (3)

No, no existe una forma sencilla de reducir el requisito de espacio en disco. La cadena de bloques es del tamaño que es.

Hay varias formas propuestas para que bitcoind use menos espacio en disco (ver espacio en ), pero que yo sepa, ninguna de ellas se ha agregado aún a la distribución estándar.

Lo que puede hacer en su caso muy específico es incluir un enlace simbólico a una carpeta que reside fuera de su máquina virtual (es decir, una carpeta compartida con la máquina host). Entonces la cadena de bloques puede caber allí con mucho espacio.

Tenga en cuenta, sin embargo, que las personas han enviado firmas de virus a la cadena de bloques, por lo que si su host ejecuta Windows, tendrá que lidiar con eso y no con carpetas específicas en cuarentena.

mover los datos fuera de la máquina virtual no reduciría el espacio requerido, además, dos instancias de bitcoin no pueden acceder a la misma carpeta al mismo tiempo. Además, ninguna herramienta antivirus está bloqueando blockchain, ya se conoce e ignora.
¿eh? Reduciría el espacio en disco dentro de la máquina virtual. ¿No es ese su caso de uso?
Disminuye el espacio que necesita la máquina virtual, pero aún se necesita el espacio del disco físico incluso si no está conectado directamente a la máquina virtual, por lo que no ahorra espacio. Siempre se puede cambiar el tamaño de un disco vm, por lo que este no debería ser el problema.
Entonces, lo que está diciendo es que OP menciona una VM en la pregunta es absolutamente irrelevante; que es tan relevante como OP hablando de su peinado. ¿Es eso correcto? Al menos así es como estoy leyendo tu comentario.
Así es, no es relevante la máquina virtual, sino el espacio general del disco. Verá que la respuesta aceptada no tiene nada que ver con vm.

Actualmente no hay una solución integrada en Bitcoin Core. Creo que sería posible escribir un script que mueva periódicamente los archivos blkxxxx.dat a un sistema de archivos comprimido y reemplace los archivos originales con enlaces simbólicos. Estos archivos son grandes y se pueden comprimir razonablemente, por lo que puede ahorrar algunos GB de esta manera. Sin embargo, los otros archivos de la base de datos no son muy comprimibles.

Los grandes archivos blkxxxx.dat en realidad no son utilizados por Bitcoin Core, excepto para transmitir bloques antiguos a pares, volver a escanear la cadena de bloques para transacciones de billetera, manejar reorganizaciones y obtener bloques/transacciones arbitrarias a través de JSON-RPC. Cambiar Bitcoin Core para descartar estos datos sería bastante fácil, pero si todos hicieran esto, la red colapsaría, por lo que actualmente no es compatible. En el futuro, los nodos probablemente solo almacenarán un subconjunto aleatorio de estos datos (quizás unos pocos GB) y descartarán el resto.