Compartir Bitcoin Blockchain por BitTorrent

Estos días me he encontrado de nuevo con la tediosa tarea de tener que descargar de nuevo la cadena de bloques por completo. Debido al reciente problema de seguridad relacionado con la biblioteca upnp, la desactivé y la cadena de bloques parecía simplemente estar atascada. Una vez activada se notaba que iba más rápido, pero no demasiado.

A partir de ahí me planteé si sería factible compartirla por BitTorrent. Busqué y vi que hasta la versión 0.10 de Bitcoin Core el propio cliente descargaba gran parte de la cadena por BitTorrent (el famoso bootstrap.dat). Pero esto ya no es así en las versiones posteriores.

También vi que ya hay un proyecto dedicado a esto aquí. Pero no sé hasta que punto podríamos fiarnos de una cadena de bloques no descargada exclusivamente y directamente de Bitcoin Core. ¿Es posible verificar la autenticidad de una cadena de bloques descargada por vías “no oficiales”?

Por otro lado, tampoco me gusta que hayan escogido RAR para empaquetar la cadena, mejor usar cualquier otro estándar abierto.

En suma, pensé que tal vez podría ser interesante impulsar desde la comunidad un Torrent para compartir la cadena de bloques. Lo pongo aquí para ver el interés, viabilidad, dudas, preocupaciones…

Un punto importante para mí es el de la autenticidad de la cadena de bloques.

La pregunta que yo tengo es, si la compartimos por forobits, y hacemos un mirror. Este podría estar actualizado o cada vez que se quiera actualizar, si tiene que hacer un archivo nuevo?

Tiene que ser un archivo nuevo, pero podemos sacar una version cada mes aproximadamente, hacer un magnet y listo, a subir.

yo tengo un nodo actualizado, se puede intentar sacar la cadena de ahi y la meto en un torrent.

He investigado un poco, pero no he podido hacer pruebas. Por lo que he visto la cadena de bloques se organiza en ficheros blkXXXXXX.dat que tienen un tamaño de 128 o 129 MiB por fichero. Salvo el primero que es de 1.6GiB. En principio podríamos compartir toda la cadena de bloques y luego ir publicando los magnets/torrents subsiguientes sólo con cada blkXXXXX.dat nuevo o grupos de ellos.

Como ya digo, no he podido hacer pruebas para ver qué pasa si, por ejemplo, inicio una instancia de Bitcoin Core habiendo quitado varios de los últimos blkXXXXX.dat. Así que esa parte del debate creo que habrá que posponerla hasta ver si es posible realmente.

Para mí lo más importante es cómo otorgarle más confianza a nuestra copia, he pensado en firmarla con gpg. Tal vez como copia oficial de forobits o algo similar. Así cualquiera podría estar seguro de que como mínimo, la copia es nuestra. A partir de ahí, ya es cuestión de que confíen en esta comunidad.

Estaría bien eso. Lo que tenemos que ver es cuáles son los ficheros y directorios mínimos necesarios para poner a funcionar un Bitcoin Core sin que descargue casi toda la cadena.

Por otro lado, no es que no me fie de ti. Sino que me planteo cómo hacer para darle más credibilidad a nuestra copia de la cadena. ¿Sabes si hay sumas md5, sha-1 o similar publicadas de estos blk*.dat?

Entiendo que se podrian o se deberian hacer de los dat que vayamos a subir. lo mejor es subir la estructura de carpetas completa, sin comprimirla.

yo lo que tengo es un nodo bitcoinxt sobre un ubuntu. La blockchain la tengo en una carpeta que crea tanto bitcoin core como bitcoinxt que se llama /.bitcoin

Esta seria la estructura.

Dentro de la carpeta blocks estan todos los blk*.dat junto con los rev*.dat.

Nodo de Bitcoin XT? Se ha caído un mito. :sleepy:

Ya lo siento :joy: :joy: De todas formas la cadena de bloques es la misma para cualquier wallet. por eso pienso que es buena iniciativa.

No sigo por no ensuciar el hilo, hay uno de core vs XT. Allí podrás ver las perlas del troyano XT

1 me gusta

Sí, creo que con compartir el contenido de ese directorio bastaría. Me queda por ver si son necesarios los rev*.dat.

Ahora mismo busco ese hilo. Mi opinión es totalmente contraria a la tuya.

Me quedan 43 semanas por sincronizar. Voy por el bloque 337406. Estoy seguro que teniendo la cadena entera para descargar por BitTorrent, ya estaría funcionando…

¡Vamos a necesitar voluntarios que compartan para aumentar lo más posible la velocidad de descarga!

Estoy en ello, en cuanto pueda pongo enlace. son 57 gigas aprox…

Muchas gracias.

Estoy descargando también el RAR ese de los holandeses, así podré ver también si tus ficheros, los de ellos y los que estoy descargando tienen las mismas firmas md5, sha1, sha256…

Tengo un problema con el blk00050.dat que no lo puedo sacar de la carpeta de la blockchain…

¿Qué error o problema tienes?

pues parece que tengo varios problemas. el primero que no se porque pero ese archivo no me lo copia completo. Puede que este corrupto o algo asi pero la blockchain funciona perfectamente.

Despues he dejado por la noche creando el torrent y ha fallado. empiezo de nuevo a ver si hay suerte ahora.

Prueba cerrando el wallet, quizás es por que lo esta utilizando.

cerrado esta, no se si es porque tengo mal el disco duro… @johnlu si tienes el blk me lo puedes pasar porfa??