Warum wurde mein Full Node letzte Nacht vom Netzwerk genommen?

Irgendeine Idee, was letzte Nacht passiert ist, was dazu geführt hat, dass mein vollständiger Knoten mit Nachrichten wie dieser fehlgeschlagen ist: (vollständiges Protokoll auf Anfrage erhältlich)

2017-09-25 21:15:59 Bitcoin-Version v0.15.0.1
...

2017-09-25 21:32:33 UpdateTip: new best=00000000000000000079fb649dd2c7e35978bd6d7922b8661c1e3ae597f24191 height=486858 version=0x20000002 log2_work=87.166038 tx=256852323 date='2017-09-25 03:51:56' progress=0.999233 cache=370.8MiB( 2762033txo) warning='2 der letzten 100 Blöcke haben eine unerwartete Version'
...
2017-09-26 13:32:19 Versionsmeldung erhalten: /bitcoin-seeder:0.01/: Version 60000, Blöcke=350000, us=108.196.200.233:8333, peer=2183
2017-09-26 13:32:52 Versionsmeldung empfangen: /Bitcoin ABC:0.14.4(EB8.0)/: Version 70015, Blöcke=489424, us=108.196.200.233:8333, Peer=2184
2017-09-26 13:32:55 FEHLER: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 000000000000000000639be19a0123a1c99d9fef89f0b8ac055a77f4ef86ae3b, schlechte Diffbits, falscher Arbeitsnachweis (Code 16)
2017-09-26 13:32:55 Fehlverhalten: 10.32.0.1:55716 peer=2184 (0 -> 100) BAN THRESHOLD ÜBERSCHRITTEN
2017-09-26 13:32:55 FEHLER: Ungültiger Header empfangen
2017-09-26 13:32:55 ProcessMessages (Header, 162003 Bytes) FAILED Peer = 2184
2017-09-26 13:32:55 Verbindung von 10.32.0.1:46684 abgebrochen (gesperrt)
2017-09-26 13:32:59 Verbindung von 10.32.0.1:47442 abgebrochen (gesperrt)
2017-09-26 13:33:00 Verbindung von 10.32.0.1:50695 abgebrochen (gesperrt)
2017-09-26 13:33:00 Verbindung von 10.32.0.1:49700 abgebrochen (gesperrt)
2017-09-26 13:33:02 Verbindung von 10.32.0.1:15754 abgebrochen (gesperrt)
2017-09-26 13:33:03 Verbindung von 10.32.0.1:47560 abgebrochen (gesperrt)
...
...

Zu diesem Zeitpunkt wurde mein Knoten von https://bitnodes.21.co/ als "down" angesehen. Heute scheint er wieder normal zu funktionieren.

Antworten (3)

Wie Nate Eldredge sagte, ist der Block, den Sie erhalten haben, ein Bitcoin Cash-Block, der für Bitcoin Core ungültig ist. Aus diesem Grund hat Ihr Knoten den Bitcoin Cash-Knoten gesperrt, der Ihnen den Block gesendet hat. Es scheint jedoch, als hätten Sie Ihren Knoten so eingerichtet, dass das Gateway als Proxy fungiert, anstatt die Verbindungen zu durchlaufen. Daher denkt Bitcoin Core, dass die Verbindung von Ihrem Gateway kam, anstatt von wo sie tatsächlich kam. Als Ihr Knoten den Bitcoin ABC-Knoten gesperrt hat, hat er Ihr Gateway gesperrt, da er dachte, dass dies der schlechte Knoten wäre. Dies hatte zur Folge, dass alles, was mit Ihnen verbunden war, gesperrt wurde, weil sie sich alle über dieses Gateway verbinden und das Gateway gesperrt wurde. Die Verbindungen sind heute wieder da, da die Sperre nur für 24 Stunden gilt.

Ich empfehle dringend, dass Sie sicherstellen, dass die Verbindungen ordnungsgemäß durchgereicht werden, damit dies in Zukunft nicht mehr passiert. Um sicherzustellen, dass sie weitergeleitet werden, wenn Sie getpeerinfodie IP-Adressen aller Knoten, mit denen Sie verbunden sind, verwenden (oder die Registerkarte „Peers“ des Debug-Fensters, wenn Sie die GUI verwenden), sollten sie nicht die IP-Adresse sein Ihres Gateways.

Ja, das scheint meine Situation richtig zu beschreiben. Danke! (Obwohl es kein Fehlkonfigurationsproblem ist - ich glaube, dass diese Netzwerk-Overlays genau so funktionieren. Ich werde ein bisschen weiter nachforschen, um zu versuchen, eine Problemumgehung zu finden.)

Peer 2184 ist offensichtlich ein Bitcoin Cash-Knoten ( Bitcoin ABC ist ein Bitcoin Cash-Client). Es hat Ihnen einen BCH-Block geschickt, den Sie zu Recht abgelehnt haben, weil er nicht in die BTC-Blockchain passt. Sie haben dann die Verbindung getrennt und Peer 2184 gesperrt, weil er Ihnen einen ungültigen BTC-Block gesendet hat, was wiederum verständlich ist. Es sieht so aus, als ob es ein paar Mal versucht hat, die Verbindung wiederherzustellen, vielleicht weil es nicht wusste, warum Sie die Verbindung getrennt hatten, und Sie sich weiterhin geweigert haben. Das scheint normal zu sein.

Interessanterweise hat dieser Knoten eine 10.* IP-Adresse, die für private Netzwerke reserviert ist. Entweder befindet sich diese Maschine in Ihrem (oder dem Ihrer Organisation) internen Netzwerk, oder etwas ist stark falsch konfiguriert.

Mir ist nicht klar, was dies damit zu tun hätte, dass Ihr Knoten als "down" angezeigt wird. Könnte es sein, dass Ihr Knoten einfach sein Verbindungslimit erreicht hat und deshalb die Probe von Bitnodes abgelehnt hat, obwohl er weiterhin mit anderen Knoten verbunden war? Haben Sie viel mehr Protokollmeldungen über das Trennen von anderen Knoten gesehen? Gab es eine ungewöhnlich lange Lücke zwischen dem Empfang neuer Blöcke (UpdateTip-Nachrichten)?

Die 10. Adresse liegt daran, dass sie in Docker in Kubernetes läuft, also ja in einem privaten Subnetz, ja hinter NAT. Aber ich habe eingehenden Port 8333 durch abgebildet.
Es ist seltsam, dass die Verbindungen von der Gateway-Adresse stammen? Ich habe die Sonde nach dem Neustart weiterhin fehlschlagen lassen, daher bin ich mir nicht sicher, wie es zu einer Verbindungsbegrenzung kommen könnte. Ich werde das überprüfen, wenn es wieder vorkommt. Ist es normal, 27344 gesperrte Verbindungen in 16 Stunden zu haben?
@bladedoyle: Ich weiß es nicht wirklich.
Es scheint, als hätten Sie es so eingerichtet, dass das Gateway als Proxy fungiert, anstatt die Verbindungen zu durchlaufen. Daher denkt Bitcoin Core, dass die Verbindung von Ihrem Gateway kam, anstatt von wo sie tatsächlich kam. Als Ihr Knoten den Bitcoin ABC-Knoten gesperrt hat, hat er Ihr Gateway gesperrt, da er dachte, dass dies der schlechte Knoten wäre. Dies hatte zur Folge, dass alles, was mit Ihnen verbunden war, gesperrt wurde, weil sie sich alle über dieses Gateway verbinden und das Gateway gesperrt wurde. Es ist heute in Ordnung, weil das Verbot nur für 24 Stunden gilt.
@AndrewChow: Ich wette, du hast Recht. Möchten Sie dies als weitere Antwort hinzufügen?
Ich werde es als Antwort hinzufügen.

Es sollte möglich sein, Ihr NAT so einzurichten, dass es ein Einweg-NAT ist. dh die Internetadressen sollten immer noch als ihre ursprünglichen Adressen angezeigt werden, aber 10.32.0.1 wird das Standard-Gateway sein. Auf diese Weise wird bei einer Sperrung nicht das Gateway selbst gesperrt, sondern die spezifische öffentliche IP-Adresse, die mit dem Bitcoin Cash-Knoten korreliert.