Lehnen Sie eine gültige Transaktion ab oder verweigern Sie deren Weiterleitung

Wie viel Kontrolle hat ein Node unter dem Bitcoin-Protokoll darüber, wie eine Transaktion behandelt wird, sobald sie eingegangen ist? Kann ein Node eine gültige Transaktion ablehnen? Kann ein Knoten sich weigern, eine gültige Transaktion an benachbarte Knoten weiterzuleiten, oder wird die Transaktion nach der Validierung automatisch weitergeleitet? Wenn nicht automatisch weitergeleitet, warum nicht? Warum einem Knoten die Möglichkeit geben, zu kontrollieren, ob eine gültige Transaktion weitergeleitet wird oder nicht?

Wie stellen Sie sich die Durchsetzung einer Anforderung zur Weiterleitung von Transaktionen vor?

Antworten (3)

Knoten sind am Ende des Tages nur Software.

Die Bitcoin Core-Software leitet standardmäßig gültige Transaktionen automatisch weiter, sofern sie die Minrelayfee erfüllen.

Es wäre jedoch ziemlich trivial, die Software so zu modifizieren, dass sie nur weiterleitet, wenn bestimmte andere Regeln erfüllt sind. Sie könnten dies problemlos tun, ohne den Rest der Knotenfunktionalität zu beeinträchtigen.

Normalerweise sendet der Knoten, der ein tx sendet, es an mehrere Peers. Selbst wenn einige Peers zusätzliche Relay-Regeln erzwingen, wird die Transaktion von denjenigen weitergesendet, die dies nicht tun.

Wie viel Kontrolle hat ein Node unter dem Bitcoin-Protokoll darüber, wie eine Transaktion behandelt wird, sobald sie eingegangen ist?

Schauen Sie im Quellcode nach.

Kann ein Knoten eine gültige Transaktion ablehnen?

Der Knoten hat das Recht/die Fähigkeit, alles zu ignorieren :)

Kann ein Knoten sich weigern, eine gültige Transaktion an benachbarte Knoten weiterzuleiten

Ja, kann es. Node kann alles tun, was im Algorithmus codiert ist

oder wird die Transaktion nach der Validierung automatisch weitergeleitet?

Die meisten Kunden tun es.

Wenn nicht automatisch weitergeleitet, warum nicht?

Warum ja? Im dezentralisierten System wird niemand dafür strafen

Warum einem Knoten die Möglichkeit geben, zu kontrollieren, ob eine gültige Transaktion weitergeleitet wird oder nicht?

Warum nicht? Das Vorhandensein einer solchen Option ist besser als das Fehlen. Das gibt uns mehr Freiheit – zu tun oder nicht zu tun

Wenn Sie die Standard-Knotensoftware ausführen, können Sie davon ausgehen, dass sie alle gültigen Transaktionen weiterleitet. Ein (edit: nicht nur) konfigurierbarer Parameter (in Bitcoin Core) ist die Minrelayfee. Sie können sich also dafür entscheiden, Transaktionen nicht weiterzuleiten, wenn die Gebühren zu niedrig sind. Dies dient der Vermeidung von Spam.

Wenn Sie nach anderen Parametern (z. B. Blacklist-Adressen) filtern möchten, wäre dies einfach durch Modifizieren der Software möglich, da es sich um Open Source handelt. Dies wäre schwer zu erkennen, wenn ein Knoten dies tut, und es hätte keine großen Auswirkungen auf das Netzwerk, es sei denn, eine große Mehrheit der Knoten würde damit beginnen. Trotzdem werden die Bootstrap-Knoten dies nicht tun, und ein solcher Angriff wäre nicht durchführbar.

Es gibt einen zweiten konfigurierbaren Parameter-blocksonly