Im Letzter Mempool -ArtikelIch habe die verschiedenen Arten von Relay -Richtlinienfiltern durchgesehen, warum sie existieren, und die Anreize, die letztendlich entscheiden, wie effektiv jede Filterklasse ist, die Bestätigung verschiedener Transaktionenklassen zu verhindern. In diesem Stück werde ich die Dynamik des Relaisnetzwerks betrachten, wenn einige Knoten im Netzwerk im Vergleich zu anderen Knoten unterschiedliche Relais -Richtlinien ausführen.
Alles andere ist gleich, wenn Knoten im Netzwerk homogene Relaisrichtlinien in ihren Mempoolen ausführen, sollten sich alle Transaktionen über das gesamte Netzwerk über das gesamte Netzwerk ausbreiten, da sie den minimalen Feeres zahlen, der erforderlich ist, um nicht aus dem Mempool eines Knotens in Zeiten großer Transaktionsrückstände aus dem Mempool vertrieben zu werden. Dies ändert sich, wenn verschiedene Knoten im Netzwerk heterogene Richtlinien ausführen.
Der Bitcoin Relay Network arbeitet mit besten Anstrengungen mit einer sogenannten Hochwasserarchitektur. Dies bedeutet, dass eine Transaktion, die von einem Knoten empfangen wird, an jeden anderen Knoten weitergeleitet wird, mit Ausnahme dessen, von dem sie die Transaktion erhalten hat. Dies ist eine sehr ineffiziente Netzwerkarchitektur, aber im Kontext eines dezentralen Systems bietet sie ein hohes Maß an Garantie dafür, dass die Transaktion letztendlich ihr beabsichtigtes Ziel, die Bergleute, erreichen wird.
Die Einführung von Filtern in die Relay -Richtlinie eines Knotens zur Einschränkung der Weitergabe ansonsten gültiger Transaktionen in der Theorie führt zu Reibung für die Ausbreitung dieser Transaktion und verschlechtert die Zuverlässigkeit der Fähigkeit des Netzwerks, diese Funktion auszuführen. In der Praxis sind die Dinge nicht so einfach.
Wie viel Reibung verhindert die Ausbreitung
Schauen wir uns ein vereinfachtes Beispiel für verschiedene Netzwerkknotenzusammensetzungen an. In den folgenden Grafiken repräsentieren blaue Knoten diejenigen, die die Wille Propagieren Sie eine beliebige Klasse von Konsensgültigen Transaktionen, und rote Knoten stellen die dar, die es tun werden nicht diese Transaktionen verbreiten. Die kollektive Reihe von Bergleuten wird im Zentrum als einfache Darstellung bezeichnet, wo die Transaktionen letztendlich ihre Transaktionen landen möchten, um schließlich in der Blockchain zu bestätigen.
Dies ist ein Modell des Netzwerks, in dem die Knoten sich weigerten, diese Transaktionen zu verbreiten, eine klare Minderheit. Wie Sie deutlich sehen können, hat jeder Knoten im Netzwerk, der sie akzeptiert, einen klaren Weg, um sie an die Bergleute weiterzugeben. Die beiden Knoten, die versuchen, die Transaktionen -Ausbreitung im Netzwerk einzuschränken, haben keinen Einfluss auf den eventuellen Empfang durch Bergleuteknoten.

In diesem Diagramm können Sie sehen, dass fast die Hälfte des Beispielnetzwerks Filterrichtlinien für diese Transaktionsklasse einführt. Trotzdem wird nur ein Teil des Netzwerks, der diese Transaktionen ausbreitet, von einem Weg zu den Bergleuten abgeschnitten. Der Rest der Knoten filtert nicht noch einen klaren Weg zu den Bergleuten. Dies hat ein gewisses Maß an Reibung für eine Untergruppe von Benutzern eingeführt, aber die anderen können diese Transaktionen immer noch frei ausbreiten.
Selbst für die Benutzer, die durch Filterknoten betroffen sind, ist nur eine einzige Verbindung zum Rest der Netzwerkknoten erforderlich, die nicht von Bergleuten (oder einer direkten Verbindung zu einem Bergmann) abgeschnitten sind, damit diese Reibung entfernt wird. Wenn das Real Relay -Netzwerk eine ähnliche Komposition wie dieses Beispiel haben würde, würde es nur eine einzige neue Verbindung benötigen, um das Problem zu lindern.

In diesem Szenario verbreitet nur eine winzige Minderheit des Netzwerks diese Transaktionen tatsächlich. Der Rest des Netzwerks beteiligt sich an Filterrichtlinien, um ihre Ausbreitung zu verhindern. Selbst in diesem Fall haben die Knoten, die nicht filtern, noch einen klaren Weg, um sie an Bergleute zu verbreiten.
Es ist nur diese winzige Minderheit nicht-filterierender Knoten erforderlich, um ihre eventuelle Ausbreitung an Bergleute zu gewährleisten. Bevorzugte Peering -Logik, dh Funktionalität, um sicherzustellen, dass Ihr Knoten Peers bevorzugt, die dieselbe Softwareversion oder Relay -Richtlinien implementieren. Diese Arten von Lösungen können garantieren, dass Kollegen, die etwas an andere ausbreiten, sich nicht finden und Verbindungen untereinander im gesamten Netzwerk aufrechterhalten.
Die tolerante Minderheit
Wie Sie sich diese verschiedenen Beispiele ansehen können, selbst angesichts einer überwältigenden Mehrheit des öffentlichen Netzwerks, das eine bestimmte Klasse von Transaktionen filtert, ist alles, was sie erfolgreich über das Netzwerk an Miner ausbreiten, eine kleine Minderheit des Netzwerks, um sie zu verbreiten und weiterzugeben.
Diese Knoten werden im Wesentlichen durch den technischen Mechanismus ein „Unterwerk“ innerhalb des größeren Öffentlichkeitsrelaisnetzwerks erstellen, um sicherzustellen, dass es praktikable Pfade von Benutzern gibt, die sich mit diesen Arten von Transaktionen an die Bergleute befassen, die bereit sind, sie in ihre Blöcke aufzunehmen.
Es gibt im Wesentlichen nichts, was getan werden kann, um dieser Dynamik entgegenzuwirken, außer um einen Sybil -Angriff gegen all diese Knoten auszuüben, und Sybil -Angriffe benötigen nur eine einzige ehrliche Verbindung, um vollständig besiegt zu werden. Ein ehrlicher Knoten, der eine sehr große Anzahl von Verbindungen zu anderen Knoten im Netzwerk herstellt, kann die Kosten eines solchen Sybil -Angriffs exorbitant erhöhen. Je mehr Verbindungen es herstellt, desto mehr Sybil -Knoten müssen gedreht werden, um alle seine Verbindungsschlitze zu konsumieren.
Was ist, wenn es keine Minderheit gibt?
Was ist, wenn es keine tolerante Minderheit gibt? Was wird in diesem Fall mit dieser Transaktionenklasse geschehen?

Wenn Benutzer sie immer noch erledigen und Gebühren an Bergleute für sie zahlen möchten, werden sie bestätigt. Bergleute richten einfach eine API ein. Die Rolle der Bergleute besteht darin, Transaktionen zu bestätigen, und der Grund, warum sie dies tun, besteht darin, den Gewinn zu maximieren. Bergleute sind keine selbstlosen Einheiten oder moralisch oder ideologisch motiviert, sie sind ein Geschäft. Sie existieren, um Geld zu verdienen.
Wenn Benutzer vorhanden sind, die bereit sind, ihnen Geld für eine bestimmte Art von Transaktion zu bezahlen, und das gesamte PR -Netzwerk verweigert, diese Transaktionen an Bergleute zu verbreiten, um sie in Blöcke aufzunehmen, erstellen die Bergarbeiter einen weiteren Weg, um diese Transaktionen an sie zu senden.
Es ist einfach der rationale Schritt, um als Gewinnmotiv -Schauspieler zu machen, wenn es Kunden gibt, die Ihnen Geld bezahlen möchten.
Relaisrichtlinie ist kein Ersatz für den Konsens
Letztendlich kann die Relay -Richtlinie Transaktionen nicht erfolgreich zensieren, wenn sie einen Konsens gültig sind, Benutzer bereit sind, für sie zu bezahlen, und Bergleute haben keine mildernden Umstände, um die Gebühren abzulehnen, die Benutzer bereit sind, zu zahlen (z. B. die Schadensschäden oder Schäden an Knoten im Netzwerk, z.
Wenn eine Klasse von Transaktionen von Bitcoin -Benutzern und Knotenbetreibern wirklich als unerwünscht angesehen wird, gibt es keine Lösung, um zu verhindern, dass sie in der Blockchain nicht bestätigt werden, die eine Konsensänderung durchführen, um sie ungültig zu machen.
Wenn es möglich wäre, einfach zu verhindern, dass Transaktionen durch Filterrichtlinien im Relaisnetz filteren, wäre Bitcoin keine zenserresistente.

