¿Por qué los nodos centrales 0.13.1 se conectan solo a los nodos testigo (por ejemplo, 0.13.1)?

Tengo mi nodo Core 0.13.1 configurado para conectarse a 16 nodos, e invariablemente lo veo conectado solo a otros nodos 0.13.1, aunque, según la tabla de clasificación de bitnodes, estos nodos forman una minoría.

¿Por qué la lógica de selección es tan restrictiva?

También estoy notando mi nodo 0.13.1 que acepta la conexión entrante como E/S relativamente sobrecargada desde que se actualizó.

Puedo entender que esta lógica de selección sea necesaria una vez que SegWit se active, pero ¿por qué ya, dado que aún no sabemos si SegWit se activará?

Relacionado: https://github.com/bitcoin/bitcoin/issues/9072

Creo que tuve algunos otros nodos conectados al mío ayer, pero también tuve la impresión de que toma mucho más tiempo obtener conexiones entrantes y cuando mi nodo se inicia, casi de inmediato solo tiene 0.13.1 y 0.13. 99 nodos conectados a él. – Entonces, parece probable que haya una fuerte conexión preferencial, pero no una conexión exclusiva a clientes 0.13.X.

Respuestas (1)

Bitcoin Core 0.13.1 mantiene preferentemente al menos 4 pares salientes que anuncian NODE_WITNESSsoporte para evitar particiones. No solo se está conectando a estos nodos, más de 4 pares salientes es una coincidencia o se debe a que son otros pares a los que se conectó recientemente.

aunque, según la clasificación de bitnodes, estos nodos forman una minoría.

Bitnodes solo muestra pares con sockets de escucha disponibles. Existe un número mayor desconocido de nodos que no escuchan en un puerto público y no formarán parte de esa tabla de clasificación, pero se conectarán con usted. El peering preferencial está exacerbando ese efecto, pero es completamente necesario.

Pull 8949 puede dar la impresión en la redacción o en el código de que son solo 4, pero en realidad es 100% ya que las 4 conexiones que no están obligadas a ser 0.13.1 finalmente se descartan y se reemplazan con nodos 0.13.1 forzados. ya que la lógica es tal que una vez que se alcanzan 4 conexiones, solo puede conectarse a otros nodos 0.13.1.
Eso no es lo que hace la lógica.