70 % der Knoten akzeptieren Bloom-Filter trotz DoS-Angriffsvektor?

Könnte jemand erklären, warum so viele Bitcoin-Knoten Bloom-Filterung zulassen, wenn man bedenkt, dass DoS-Angriffe für solche Knoten existieren [1] , [2] ?

Laut bitnodes.21.co haben derzeit 3879 Knoten von insgesamt 5515 Bitcoin-Knoten die Bloom-Filterung aktiviert.

Werden diese DoS-Attacken durch die Bloom-Filterung nicht verschlimmert, wie hier von Mike Hearn dokumentiert? Ich zitiere:

So können Sie ganz einfach genau denselben DoS-Angriff auslösen, indem Sie einfach immer wieder regelmäßige getdata-Anfragen auf großen Blöcken verwenden. Sie brauchen keine Bloom-Filterung. Wenn Sie die Blöcke nicht tatsächlich herunterladen möchten, ACKen Sie die Pakete einfach nicht mit TCP ACK und dann nach ein paar Sekunden mit FIN .... die Daten wurden alle geladen und befinden sich in den Sendepuffern.

Selbst wenn ich den Angriff verfeinere und einen Weg finde, jemandem tatsächlich den Dienst zu verweigern, müsste der Fix auch für reguläre nicht gefilterte Blockabrufe gelten, die nicht deaktiviert werden können.

Ja, nach dem Lesen von Hearns Kommentaren sieht es so aus, als ob das zugrunde liegende Problem die Tatsache ist, dass ein Client in der Lage ist, einen Bitcoin-Knoten anzufordern, ernsthafte Arbeit zu leisten, indem er getdata-Anforderungen sendet. Der DoS-Vektor steckt also nicht wirklich im Bloom-Filter-Code, sondern vielmehr in der Tatsache, dass Bitcoin-Knoten anonyme Verbindungen zulassen, um sie dazu zu bringen, wiederholt große Arbeitslasten zu erzeugen. Ich habe keine Ahnung, ob jemand dieses zugrunde liegende Problem behoben hat.
Vielen Dank! Ich glaube nicht, dass es reparabel ist: Neue Knoten, die beitreten, müssen getdataAnfragen an alte Knoten senden, um die Blockchain herunterzuladen.
Kein Problem. Vielen Dank, dass Sie die Frage gestellt haben, da sie mich über ein potenzielles Problem informierte, das mir nicht bewusst war. Es scheint mir, dass dies behoben werden könnte, indem einfach die Geschwindigkeit begrenzt wird, mit der getdata-Anforderungen verarbeitet werden, aber vielleicht gibt es Komplexitäten, die ich nicht verstehe. Hearn sagt, dass Sie getdata-Anfragen immer wieder senden, also würde ich denken, dass der Knoten hier eine defensive Logik haben sollte.

Antworten (1)

Ich denke also, die Antwort lautet: "Ja, Knoten akzeptieren Bloom-Filter, da das Filtern bestehende DoS-Angriffe weder verschlimmert noch neue DoS-Angriffe einführt."