Sind Nodes, die nicht auf Segwit upgraden, eigentlich Full Nodes?

Im Zuge meines Praktikums bei Chaincode Labs werde ich in den kommenden Wochen einige kleine Beiträge veröffentlichen und interessante Fragen aus dem Seminar nochmal darlegen.

Die Frage

Obwohl die Aktivierung von SEGWIT schon etwas zurückliegt (Blockzeit 481824, August 2017) möchte ich in diesem Artikel nochmal genauer darauf eingehen, ob eine Node, die nicht SEGWIT Regeln validiert noch eine “wirkliche” Full-Node ist.

Vorweg: Auf diese Frage gibt es nicht “die richtige Antwort” (wie in so vielen Fragen in Bitcoin), was man auch an der Umfrage in der 21-Community erkennen kann.

Umfrage

Schauen wir uns mal die Definition einer Full-Node auf bitcoin.org an:

Eine Full Node ist ein Programm, das Transaktionen und Blöcke vollständig validiert. Fast alle Full Nodes helfen dem Netzwerk auch, indem sie Transaktionen und Blöcke von anderen Full Nodes annehmen, diese validieren und sie dann an weitere Full Nodes weiterleiten.

Was davon macht jetzt noch eine Non-Segwit Nodes?

Für Legacy Transaktionen erfüllt die Node alle oben genannten Punkte. Bei Segwit Transaktionen gilt es jetzt mehrere Dinge zu beachten.

  1. Non-Segwit Full Nodes (Bitcoin-Core Software) empfangen keine Segwit Transaktionen solange diese in keinem Block gemined wurden, also noch nicht Teil der Blockchain sind.
  2. Beinhalten jetzt geschürfte Blocks Segwit Transaktionen, können diese zwar von Non-Segwit Nodes weitergeleitet werden, Segwit Nodes werden diese aber verwerfen weil die sogenannten Witness Daten fehlen.
  3. Es ergibt sich im laufe der Zeit folgende Netzwerk-Topologie, mit dem FIBRE-Netzwerk in der Mitte, den Segwit Full-Nodes als tragende Struktur des P2P-Netzwerks und den Non-Segwit Full Nodes als umschließenden Rand auch Leacher-Nodes genannt.
Unterschied zwischen Non Segwit und Segwit Nodes

Ob man jetzt die Non-Segwit Node nach den oben genannten Kriterien doch als Full-Node bezeichnet hängt mit dem Blickwinkel zusammen.

Aus der Sicht der Non-Segwit Full Node werden keine Consenus-Regeln gebrochen, alle Transaktionen sind valide. Alle Segwit Transaktionen sind für die Full-Node sogenannte “Anyone can spend” UTXO’s also keine Standardtransaktionen, aber diese interessieren die Node auch nicht. Jeder in Bitcoin entscheidet selbst was für ihn Bitcoin ist und wenn er kein Interesse hat auf den neuen besseren Standard zu wechseln, ist es noch immer ihm überlassen.

Im Gegensatz dazu kann man das ganze auch aus der Sicht des Netzwerks betrachten. Die Non-Segwit Full-Node validiert nicht alle Transaktionen. Wenn man sich dann noch vor Augen führt das mittlerweile fast ~77% der Transaktionen Segwit Transaktionen sind (Segwit Adoption), werden nur ~33% Prozent der Transaktionen validiert. Somit muss man den zeitlichen Faktor der Transition zu Segwit berücksichtigen. War es am Anfang sicherlich ok nicht gleich Segwit zu “enforcen”, sollte man, wenn man das Netzwerk unterstützen möchte, sicherlich eine Segwit Full Node laufen lassen.

Diese ganze Thematik wird uns im Zuge der Taproot-Aktivierung bzw. jedem weiteren Softfork immer wieder beschäftigen.

Spende uns:

Wenn dir dieser oder einer unserer anderen Beiträge gefallen hat, würden wir uns über eine kleine Spende freuen:

Schreibe einen Kommentar