Wie viel Mitbestimmung hat eine Node? - Problem der Softfork

Hallo zusammen,

ich bin sonst eher stiller Mitleser. Heute habe ich insbesondere an die technisch versierten Bitcoiner unter euch eine Frage (weiter unten) die sich auf das BIP 119 bezieht. Ich konnte dazu im Forum nichts finden.

Kurzer Background: Aus den vielen Videos von Roman und einiges an Literatur war mein Verständnis im Wesentlichen so, dass man sich mit dem Betrieb einer eigenen Node klar für ein Regelwerk entscheidet. Daher habe ich direkt in der ersten Woche meine eigene Node aufgesetzt, um alles ab dem ersten Satoshi selbst zu verwalten und nachvollziehen zu können (in 2021).

Gäbe es ein Update mit nicht rückwärts-kompatible Änderungen, kann man sich durch die Node für das bestehende oder das neue Regelwerk entscheiden (=Hardfork wie z.B. während der Blocksize Wars).

Wäre das Update kompatibel zum bisherigen Netzwerk - sprich handelt es sich um optionale Funktionen (z.B. Segwit oder Taproot) - handelt es sich um einen Softfork. Auch hier kann ich die eigenen Regeln mit den zusätzlichen Optionen erweitern oder eben auch nicht. In beiden Fällen bleibt man im gleichen Netzwerk.
Soweit mein Verständnis bisher - falls bis hierhin ein Denkfehler meinerseits herrscht, dann gebt mir hier gern ein Feedback :slight_smile:

Nun zum aktuellen Problem:
Beim BIP 119 handelt es sich um einen Softfork-Vorschlag. Nach meinem Verständnis liegt das Stimmrecht zur Implementierung vollständig bei den Minern, da diese ausschlaggebend sind um das Update zu integrieren. (Ich weiß das der Prozess noch nicht festgelegt ist, da es ja bislang nur ein Vorschlag ist. Ausschlaggebend wären hier aber die Miner, da es für diese keine Option sondern zwingend erforderlich wäre und deshalb eine bedeutende Mehrheit zustimmen müsste)

Meine Frage:
Gehe ich recht in der Annahme, dass die Nodes hier eigentlich keinen Einfluss haben, da sie im Netzwerk verbleiben, egal ob sie das Update unterstützen oder nicht, weil es sich um einen Softfork handelt?

Dennoch wären für den Fall des Whitelistings (Coins mit bestimmten Bedingungen für zukünftige Auszahlungen, die von einer Entität aufgestellt werden können) alle im Netzwerk betroffen und nicht nur Nodes, die mit dem Update einverstanden wären.

Daher sehe ich nun eine nicht unerhebliche Gefahr, dass ein Softfork enormen Schaden anrichten könnte - und die Nodes so gar nichts dagegen machen könnten, sofern man die Miner überzeugt bekommt.
Natürlich haben die Miner ein enormes Interesse, dass sie das Netzwerk nicht schwächen - doch auf diese Art würde ja niemand aus dem Netzwerk gedrängt werden.

Ich bin auf den Gedanken anhand des folgenden Blogposts gekommen:

Das dürfte - neben der Art wie schnell das umgesetzt und der Review-Prozess möglichst gering gehalten werden soll - wohl auch einer der Hauptgründe für das scharfe Echo auf den Vorschlag von Jeremy Rubin sein.
An diesem Punkt hat auch Roman im ersten Video zum BIP 119 möglicherweise eine Fehleinschätzung preisgegeben (ab 11:05 Dieses Update könnte BITCOIN zerstören! BIP 119 - Update um jeden Preis? - YouTube). Denn wenn ein Softfork Auswirkungen auf alle hat, ist es eben unerheblich ob ich mit der eigenen Node upgedatet habe oder nicht.

Ich freue mich auf euer Feedback und Ergänzungen.

Sorry für die Länge, aber es ist halt ein ziemlich kompliziertes Thema.

Habe gerade nicht viel Zeit, um detailliert zu antworten, aber darüber wurde auf Twitter auch schon diskutiert.

1 „Gefällt mir“

Danke dir schon mal für den Link (auch wenn ich Twitter gar nicht nutze, schau ich da mal rein :wink: ).

PS: Ich möchte nicht, dass der eine Satz oben falsch verstanden wird: Ohne Roman und das Blocktrainer Team hätte ich wohl noch keine Node und wüsste deutlich weniger zu diversen Sachverhalten bzgl. Bitcoin (vielleicht war es ja auch keine Fehleinschätzung von Roman, je nachdem was das Resultat ist…).

Daher ein dickes Danke an Roman und das gesamte Team :smiling_face_with_three_hearts: für eure tolle, unermüdliche Arbeit!!!

Nein, das liegt es sowieso nie. Dass Miner irgendwelche Entscheidungen treffen ist grundsätzlich falsch.

Das Netzwerk entscheidet. Was macht ein Netzwerk aus? Nutzer.

Als direktes Gegenbeispiel: Segwit (BIP148) wurde 2017 mit einer UASF (User Activated Soft Fork) aktiviert. Damals hatten die Miner überhaupt keine Lust auf Segwit, da unter anderem ein Shortcut im Mining geschlossen wurde. Wenn du The Blocksize War gelesen hast sollte dir das bekannt vorkommen. :slight_smile:

Die Miner haben bei einer Soft Fork die gegen ihren Willen aktiviert wird nur eine Möglichkeit: Transaktionen entsprechend ablehnen und nicht in ihre Blöcke schreiben. Das funktioniert aber nur sehr eingeschränkt und schon gar nicht langfristig, da auf Gebühren verzichtet werden würde und dem Netzwerk geschadet wird, was schlussendlich die Miner am härtesten trifft.

Du musst dir generell klar machen wie Konsens im Bitcoin Netzwerk funktioniert. Es wird nirgends „abgestimmt“ oder „entschieden“.

Die Richtung wird bestimmt von Nutzern, also der ökonomischen Aktivität im Netzwerk. (Mit Nutzer meine ich automatisch auch Nodes – eine Node ohne Nutzer hat keinen Wert).

Zu BIP119 und CTV empfehle ich den Ausschnitt von Antonopoulos im Livestream:

Ich muss mich damit auch noch ausführlicher beschäftigen bevor ich da was gescheites zu sagen kann.

Ich habe es selbst noch nicht gesehen, aber es gab sehr viel Kritik zu den Aussagen von Andreas, weil die teilweise wohl nicht ganz korrekt sind.

1 „Gefällt mir“

Lieber sutterseba,

danke für dein Feedback und das Video (hatte nur eine kurze Zusammenfassung von ca. 7 Min. davon gesehen).

Korrigiere mich, wenn ich das bisher falsch verstanden habe. Klar ist es nicht wie bei einer Wahl, wo man ein Kreuzchen setzt - aber mit der Installation einer aktualisierten Software (mit geänderten Regeln oder neuen Funktionen) entscheidet sich ein Node Nutzer doch auch für ein bestimmtes Regelwerk - und stimmt damit letztlich ab.
Bei den Minern gibt es so etwas wie direkte Abstimmungen (Antonopoulos nutzt selbst das Wort „vote“ → 18:28), wie bei Taproot z.B. (4 Monats-Periode, um ihre Bereitschaft Taproot zu implementieren, anzuzeigen). Für die Zukunft zeigt er ja auch auf, dass es wahrscheinlich die direkte Option in der Node sogar geben wird/könnte (~Min 35)

Dein Gegenbeispiel bezieht sich auf einen anderen Prozess zur Konsensfindung als er für BIP119 vorgeschlagen wurde. Bei Segwit haben die Nutzer einen Anreiz gegeben, das Update zu bringen - welcher sich natürlich monetär für die Miner auswirkt und sie damit ein Interesse haben es zu unterstützen. Da erscheint es mir, als ob die Miner wenig Einfluss hätten (weil sie sonst aus dem Markt gedrängt werden) → da haben also die Nutzer bestimmt, wie du ja auch meintest.

Wäre das beim Speedy Trial Verfahren denn vergleichbar?
Was wäre wenn sich die Miner dafür entscheiden, aber 30% der Nutzer/Nodes das Update nicht wollen (und dann halt auch nicht nutzen)?
Die Miner können z.B. Blöcke ablehnen (auch wenn das einen wirtschaftlichen Nachteil bedeutet) - wie können sich die Nutzer denn gegen einen Soft Fork wehren, außer die zusätzlichen Funktionen nicht zu implementieren? Es entsteht ja eben kein direkter ökonomischer Nachteil, wenn die optionalen Funktionalitäten nicht genutzt werden. Blöd nur, wenn sie später einmal Auswirkungen haben sollten.

Mir geht es im Wesentlichen darum zu verstehen, ob es Vorgehensweisen für Soft Forks gibt, welche gegen den Nutzerwillen eingeführt werden können (zumindest von einem kritischen Prozentsatz an Nutzern >10%).
Ich bin guter Dinge, das die Core Maintainer und Experten in dem Umfeld sehr behutsam vorgehen - was ihre Reaktionen auch zeigen. Dennoch würde ich hier gern mehr nachvollziehen können.

Ich sehe das auch mit Blick auf die Adoption skeptisch.

  1. Könnte das Zusammenspiel von verschiedenen Funktionalitäten Auswirkungen haben, die wir noch gar nicht absehen können (und dann Bitcoins non-fungible machen z.B.).
  2. Weil die Komplexität immer weiter zunimmt - und es für einen Großteil der Nutzer schwieriger nachzuvollziehen ist. Das bietet Angriffsfläche für Menschen die spezifische Absichten haben. „Don’t trust - verify“ funktioniert nicht mehr, wenn man zum Verständnis von Bitcoin kontinuierlich studieren muss - oder aber abstimmen kann, ohne die Konsequenzen zu verstehen.