¿Qué son las semillas en el código fuente de bitcoin?

https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp

a partir de la línea 132, veo la función vSeeds.emplace_back("seed.bitcoin.")y junto a ellos hay nombres completos reales. ¿Qué hacen las semillas? ¿Para qué sirven estas líneas? ¿Cuál es el significado de esos nombres? ¿Alguien puede dar un detalle técnico por favor?

Respuestas (2)

Para que un nodo bitcoin inicie conexiones con otros nodos, primero necesita un nodo inicial. Un nodo semilla puede ser cualquier nodo (escucha) conectado a la red bitcoin. Una vez que el nodo se ha conectado al nodo semilla inicial, puede recuperar información sobre otros nodos en la red e iniciar conexiones con esos también.

Los nombres que ve en el código fuente son las URL de algunos de los desarrolladores centrales de bitcoin que alojan nodos semilla. Si no confía en estos locos cypherpunks, puede especificar su propio nodo semilla en su bitcoin.confbajo la opciónseednode=<your_seed_node>

así que cuando cree una nueva moneda, probablemente debería cambiar los enlaces o simplemente comentar las líneas correctamente
@turmuka probablemente!

Esos hosts son DNSseeds.

Cuando su nodo se inicia, si no puede conectarse con éxito a la red en 11 segundos, consultará los nombres de DNS que ejecutan los técnicos de la comunidad de Bitcoin y obtendrá una lista de los nodos que han funcionado recientemente.

El uso de DNS mejora un poco su privacidad, ya que el almacenamiento en caché de DNS puede evitar que el servidor de nombres del operador vea la solicitud y, si no se almacena en caché, por lo general no verán su dirección IP, sino la IP de sus ISP. resolución recursiva. (Por supuesto, el hecho de que omita su uso por completo si se puede conectar también mejora su privacidad).

Puede deshabilitar el uso de estos dnsseeds configurando -dnsseed=0.