Bitcoin

Warum segwit ein netzwerk innerhalb eines netzwerks erstellt

Bitcoin Warum segwit ein netzwerk innerhalb eines netzwerks erstellt

There Es gab viele gute Dinge, die über Core's kürzlich erschienene Version 0.3.1 beschrieben wurden und die Vorteile, die SegWit bieten konnte. Ein weniger öffentliches Feature ist jedoch, dass SegWit das Netzwerk partitioniert; ein 0. 13. 1 Knoten bevorzugt es, mit anderen 0. 13. 1 Knoten zu verbinden.

Das Starten eines Bitcoin-Knotens bedeutet, dass Sie sich mit einem Netzwerk anderer Knoten verbinden. Sie finden Ihre ersten Peers mit Hilfe eines öffentlichen DNS-Seeds, Sie verbinden sich mit ihnen, sie teilen Ihnen die Adressen anderer Peers mit, und Sie stellen eine Verbindung zu ihnen her. Nachdem Sie Ihre Freunde eingerichtet haben, können Sie die Blockchain von ihnen herunterladen und dabei helfen, Transaktionen im Netzwerk zu verteilen.

Normalerweise ist Ihr Knoten mit einer Vielzahl anderer Knoten befreundet; Knoten von jedem Land, alte Knoten, neue Knoten, Knoten, die verschiedene Implementierungen des Bitcoin-Protokolls ausführen, wie Kernknoten, BitcoinJ-Knoten, klassische Knoten, unbegrenzte Knoten und so weiter. In einer idealen Welt repräsentieren die Peers eines beliebigen Knotens mehr als 100 verschiedene Bitcoin-Implementierungen, die derzeit das Netzwerk bevölkern.

Der Knoten, der gelernt hat,

zu unterscheiden Aber diejenigen, die einen Knoten mit der letzten Version von Core, 0. 13. 1, gestartet haben, der das lang erwartete Netzwerk-Upgrade SegWit aktivieren kann, könnten eine Überraschung erleben; Der Knoten ändert sein Verbindungsverhalten. Es wird "antisozial" und bevorzugt Knoten wie sich selbst als gute Peers. Er akzeptiert eingehende Verbindungen von anderen Knoten, aber wenn er nach neuen Freunden sucht, akzeptiert er bevorzugt 0. 13. 1 Knoten für ausgehende Verbindungen.

Diese Funktion kann als eine Art Blacklisting anderer Knoten angesehen werden. Es scheint nicht nur aus ideologischer Sicht problematisch zu sein, dass alle Knoten gleich sind, sondern es besteht auch die Gefahr, das Netzwerk zu teilen, indem ein Netzwerk innerhalb eines Netzwerks aufgebaut wird. Da dies von niemandem gewünscht wird, würden Sie erwarten, dass es ernsthafte Gründe dafür gibt, warum sich die Knoten so verhalten. Und da sind.

Partition zur Verhinderung weiterer Partitionierung

Ein Punkt kann in den Versionshinweisen zu bitcoincore gefunden werden. org. Hier erklärt Core, dass SegWit als weiche Gabel einigen Risiken ausgesetzt ist. Ein Soft-Fork bedeutet, dass nicht jeder Knoten wie in einer Hard-Fork upgraden muss, aber die Upgrades jeder Mine sind freiwillig. Dies ist eines der stärksten Verkaufsargumente von SegWit. Es besteht jedoch das Risiko, wie Core erklärt, dass " ein schlecht behandeltes Upgrade dazu führen könnte, dass das System auf andere Weise versagt. "

Eine Möglichkeit, dieses Risiko zu vermeiden, ist der Aufbau eines Netzwerks im Netzwerk:

" Es wurde viel dafür getan, dass SegWit-fähige Peers einen stark verbundenen Teilgraphen des Bitcoin-P2P-Netzwerks bilden.Dies beinhaltet das Bereitstellen eines dedizierten Dienstbits für Zeugen-aktivierte Knoten und vorzugsweise das Verbinden mit solchen Knoten. "

Der genaue Grund wird nicht erklärt. Aber wenn wir zurückschauen, bis Anfang 2016, finden wir eine gute Erklärung von Peter Todd in der Entwickler-Mailing-Liste. "SegWit-Knoten können nicht von Nicht-SegWit-Knoten synchronisiert werden und trotzdem vollständig validiert werden", schreibt der Core-Entwickler. Der Grund ist, dass nur SegWit-Knoten die Signaturen von Transaktionen speichern und verifizieren; Damit ein vollständiger SegWit-Knoten synchronisiert werden kann, muss er mit anderen SegWit-Knoten verbunden sein. Todd fährt fort:

"Sobald die SegWit-Soft-Gabel aktiviert ist, müssen die vollständigen Knoten Zeugendaten verwenden. Dies stellt ein erhebliches Problem bei der Bereitstellung dar: Wenn die vollständige Knotenadressierung dem Einsatz von Minern entgegensteht, kann das SegWit-unterstützende P2P-Netzwerk partitionieren und den Konsens verlieren. "

SegWit als Soft-Fork birgt das Risiko, dass SegWit-Knoten Probleme haben, die Daten zu finden, die sie für die Synchronisierung mit dem Netzwerk benötigen. Um dieses Problem zu lösen, schlägt Todd vor, dass "Peers nur mit SegWit-Unterstützung eine Verbindung zu Peers herstellen. "Aus diesem Grund, erklärt er," hat die SegWit-Soft-Gabel Eigenschaften, die hard-forks im Hinblick auf die Notwendigkeit, Knoten in Bezug auf die P2P-Schicht zu verbessern, nicht unähnlich sind. "

Damit SegWit-Knoten ordnungsgemäß funktionieren, müssen sie mit anderen SegWit-Knoten verbunden sein. Während Peter Todd dies als Lösung gegen eine Partitionierung des Netzwerks vorgeschlagen hat, scheint es für sich eine Art von Partitionierung des Netzwerks zu sein. Zumindest macht es für Nicht-SegWit-Knoten schwieriger, sich mit dem Ausbau von SegWit mit dem Netzwerk zu verbinden.

Erste Downsides werden gemeldet

Momentan leiden nur Operatoren von 0. 13. 1 Knoten an diesem Feature. Während SegWit gerade nicht aktiviert ist, haben die Knoten bereits eine Präferenz gezeigt, sich fast ausschließlich mit anderen Knoten zu verbinden, wie die folgenden Bilder zeigen; Dies ist das Ergebnis des Neustarts des Knotens mit anderen Einstellungen und zeigt für die 0. 13. 1 Update, alle acht ausgehenden Verbindungen sind zu anderen 0. 13. 1 Knoten. Ein Nachteil besteht darin, dass diese begrenzte Vielfalt von ausgehenden Verbindungen die Verbindung zu Mining-Pools erschweren kann, was die Ausbreitung von Transaktionen verzögern kann.

Ein weiterer Nachteil ist, dass die Auslastung der Festplatte zunimmt. Mehrere Benutzer beklagten sich darüber, dass sie seit dem Update auf 0. 13. 1 "eine anhaltend höhere I / O-Rate für Disk-Lesevorgänge" und "plötzliche Spikes für IO-Auslastung" feststellen. "Als Core-Entwickler, Matt Corallo, erklärt," dies scheint, andere Knoten herunterladen die Kette von Ihnen, die Ihren Knoten aufgrund der bevorzugten Peering ausgewählt. "

Aufgrund dieser Nachteile schlug ein Entwickler vor," die Peer-Auswahl so zu regeln, dass noch Nicht-Zeugen-Peers damit verbunden sind. "Sein Vorschlag, die strenge Peer-Auswahl erst zu aktivieren, nachdem SegWit aktiviert wurde, wurde von Gregory Maxwell abgelehnt; "NACK. Dies hebt eine absichtliche Designentscheidung auf. Es ist nicht akzeptabel, dass sich die Netzwerktopologie plötzlich ändert, wenn SegWit aktiviert wird. "

Irgendwann könnte SegWit aggressiv Druck auf andere Knoten aufbringen, um auch zu aktualisieren.

Dieser Artikel wurde am 27. November 2016 aktualisiert.

Beliebte Beiträge

Lassen Sie Ihren Kommentar