Dieser Angriff hilft nur bei BU. Dort kaann über Fake-Nodes ein falsches Bild über die aktuell gewünschte / aktzeptierte Blockgrösse transportiert und so eine Fehlentscheidung der Miner produziert werden.
Das verstehe ich nicht. Es ist doch egal, welche Seite die Blockweiterleitung verzögert - schließlich geht es ja bei deinem Patch darum, den Minern es schmackhaft zu machen, einen Client mit einer bestimmten Versionsnummer zu betreiben (also im Beispiel entweder ein Core mit Segwit-Versionsbit oder eine BU-Version) und durch eine hohe Akzeptanz weniger Orphans zu produzieren (bzw. besser andersherum: die "nicht gewünschte" Version produziert mehr Orphans). Egal wer den Angriff startet, die Gegenseite wird benachteiligt. Denke ich jedenfalls.
Wenn die Knoten und Miner einigermassen gleich verteilt wären, dann ist so ein System sinnlos. Ich bin davon ausgegangen, dass die Knoten überwiegend segwit wollen und die Miner das blockieren. Dann werden die Miner den Knoten folgen oder forken, während die Knoten niemals den non-segwit Minern folgen werden. Es wird nur derjenige Benachteiligt, der seine Vorstellung gegen eine massive Mehrheit der Knoten durchsetzen möchte.
Bei meinem Patchvorschlag ist es egal, da das Netz nicht tatsächlich grösser wird, wenn ein Miner plötzlich 10k Nodes in Betrieb nimmt. Dann verbreiten sich seine Blöcke zwar unter diesen 10k Nodes, was aber keine praktische Relevanz hat, den es wird trotzdem keine der "echten" Nodes diese Blöcke aktzeptieren.
Auch da stehe ich gerade auf dem Schlauch. Was unterscheidet die "Fake Nodes" (also die "politischen Nodes", die eine bestimmte Version benachteiligen möchten) von "echten Nodes"? Wenn das richtig gemacht wird (also die Nodes auf verschiedenen Rechenzentren weltweit verteilt) kann man die nicht von echten Nodes unterscheiden - sie werden sich also überall mit echten Nodes verbinden und somit beeinflussen, welche Blocks schneller weitergeleitet werden. Es sei denn, man könnte diese "politischen Nodes" erkennen und blacklisten, aber dann müsste man sie ja überwachen.
Man kann die Knoten nicht erkennen, darum geht es nicht. Ein Miner muss seinen Block zum Ziel bringen und das sind die Knoten der anderen Miner, die Knoten der Händler und die Knoten der Nutzer. Wenn diese anderen Knoten nun seine Blöcke benachteiligen, dann wird er diesem Ziel auch mit einer übermacht an eigenen Knoten nicht sehr viel näher kommen. Er kann die anderen Teilnehmer nicht dazu zwingen, seine Blöcke zu aktzeptieren und weiterzuleiten.
Nochmal - es geht nicht darum einen Miner auszusperren oder komplett zu blockieren, sondern lediglich darum einen kleinen statistischen Nachteil zu erzeugen, wenn ein Miner gegen die anderen Knoten(betreiber) die Weiterentwicklung blockiert.