Fragen zum Netzwerkkonsensus

  1. Jede Fullnode prüft eingehende Transaktionen (SIG inkl. UTXO). Diese Prüfung, die jede Fullnode separat durchführt, muss also zum gleichen Ergebnis kommen. Es gibt entweder ein True oder ein False für diese Transaktion. Ist das korrekt? Es können keine unterschiedlichen Ansichten entstehen, da das Prüfscript für alle gleich ist. Ist das korrekt?

  2. Wenn ein gelöster Block online gestellt wird, dann prüfen alle anderen Fullnodes die Gültigkeit des neuen Blocks. Auch hier kann es nur ein true oder false geben. Das Prüfscript ist für alle gleich, wodurch auch hier keine abweichende Wahrheit entstehen kann.

Eine abweichende Meinung bzw. alternative Wahrheit kann nur dann entstehen, wenn ein Miner mind. 51% der Rechenleistung des Netzwerkes einnehmen würde und dieser durch eine dann mögliche bösartige Attacke versuchen würde einen längeren alternativen Blochchainstrang unbemerkt schneller zu erstellen und diesen dann online stellt. Ist das korrekt?

Diese Fragenhaben für mich das Ziel die letzten Lücken zum Gesamtverständnis zu schliessen.

Es gibt keine Vorschrift, die dich zwingt, dieselbe Node-Software wie alle anderen zu verwenden.

Ja, sollte sie, wenn sie konform mit der Mehrheit anderer Nodes gehen möchte.

Wenn die Nodes dieselben Konsensregeln durchsetzen und dieselbe Sicht vom Zustand der Blockchain und Mempool haben, dann im Prinzip: ja.
Wenn Nodes im Konsens mit der Mehrheit anderer Nodes sein möchten, dann auch: ja.

Sollte so sein, wenn Nodes nicht riskieren wollen, von anderen Nodes ausgeschlossen zu werden, wenn sie sich nicht regelkonform verhalten und ggf. dadurch falsche Transaktionen weiterleiten.

Sollten sie tun, denn es ist im Interesse aller ehrlichen Nodes, hier keine Fehleinschätzungen zuzulassen. Wichtig ist auch, den korrekten Umfang des UTXO-Sets und des eigenen Mempools zu haben. Beides muss mit jedem neu publizierten Block abgeglichen und entsprechend angepasst werden, um Fehler zu vermeiden und somit vom Ausschluß durch andere Nodes bedroht zu sein.

Dafür gibt es keinen Zwang, aber es gibt auch keinen Vorteil, hiervon abzuweichen.

Ich würde das nicht zwingend im Zusammenhang sehen. Definiere bitte „abweichende Meinung“ oder „alternative Wahrheit“. Auch mit mehr als der Hälfte der Hashleistung des Netzwerkes kannst du keine anderen Regeln durchsetzen. Du kannst lediglich andere Transaktionen temporär zensieren und Double spend ausschließlich deiner eigenen Transaktionen durchführen. Mehr nicht. Wobei? Doch… du kannst das Vertrauen ins Netzwerk erschüttern und sehr wahrscheinlich den Kurs in den Keller treiben: davon profitiert man idR aber nicht, insbesondere nicht im Zusammenhang mit den utopischen Investitionen, die für eine Mehrheitskontrolle der Hashleistung nötig wären.
Ich bezweifele ganz stark, daß man mit sowas nachhaltig profitieren kann. Ehrlich währt am längsten.

Übrigens ist nicht zwingend die längste Kette „die Wahrheit“, sondern die Kette mit der größten akkumulierten Arbeit/Hashleistung, die konforme Nodes als gültige Kette betrachten.

Es ist übrigens durchaus normal, wenn für kurze Zeit Teile des Bitcoin-Netzwerk unterschiedlicher Meinung sind, wie es z.B. bei den temporären „Forks“ der Blockchain immer mal wieder passiert.
Siehe auch https://fork.observer
Es gibt schließlich keine zentrale entscheidende Instanz, sondern nur vertrauenslose dezentrale individuelle Nodes und Miner, die auf „wundersame“ Art und Weise durch PoW und gemeinsam anerkannter Konsensregeln zu einer einzigen gemeinsamen Blockchain kommen.

1 „Gefällt mir“