Warum verbinden sich 0.13.1 Core-Knoten nur mit Witness-Knoten (z. B. 0.13.1)?

Ich habe meinen Core 0.13.1-Knoten so konfiguriert, dass er sich mit 16 Knoten verbindet, und ausnahmslos sehe ich, dass er nur mit anderen 0.13.1-Knoten verbunden ist, obwohl diese Knoten laut Bitnodes-Bestenliste eine Minderheit bilden.

Warum ist die Auswahllogik so restriktiv?

Ich bemerke auch meinen 0.13.1-Knoten, der seit dem Upgrade eingehende Verbindungen als relativ überlastet in Bezug auf E/A akzeptiert.

Ich kann verstehen, dass diese Auswahllogik notwendig ist, sobald SegWit aktiviert wird, aber warum schon, da wir noch nicht wissen, ob SegWit aktiviert wird?

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

Ich glaube, ich hatte gestern ein paar andere Knoten mit meinem verbunden, aber ich hatte auch den Eindruck, dass es viel länger dauert, eingehende Verbindungen zu bekommen, und wenn mein Knoten hochfährt, hat er fast sofort nur 0.13.1 und 0.13. 99 Knoten sind damit verbunden. – Es scheint also wahrscheinlich, dass es eine starke bevorzugte Verbindung gibt, aber keine exklusive Verbindung zu 0.13.X-Clients.

Antworten (1)

Bitcoin Core 0.13.1 verwaltet vorzugsweise mindestens 4 ausgehende Peers , die NODE_WITNESSUnterstützung ankündigen, um eine Partitionierung zu vermeiden. Sie verbinden sich nicht nur mit diesen Knoten, mehr als 4 ausgehende Peers sind zufällig oder werden durch andere Peers verursacht, mit denen Sie sich kürzlich verbunden haben.

obwohl diese Knoten laut bitnodes Leaderboard eine Minderheit bilden.

Bitnodes zeigt nur Peers mit verfügbaren Listening Sockets an. Es gibt eine unbekannte, größere Anzahl von Knoten, die nicht auf einem öffentlichen Port lauschen und nicht Teil dieser Rangliste sein werden, sich aber mit Ihnen verbinden werden. Das bevorzugte Peering verstärkt diesen Effekt, ist aber absolut notwendig.

Pull 8949 könnte im Wortlaut oder im Code den Eindruck erwecken, dass es nur 4 sind, aber in Wirklichkeit sind es 100 %, da die 4 Verbindungen, die nicht auf 0.13.1 gezwungen werden, schließlich fallen gelassen und durch erzwungene 0.13.1-Knoten ersetzt werden da die Logik so ist, dass, sobald 4 Verbindungen erreicht sind, nur eine Verbindung zu anderen 0.13.1-Knoten hergestellt werden kann.
Das tut die Logik nicht.