Was sind Konsensregeln?
Konsensregeln sind die Regeln, nach denen Full Nodes entscheiden, ob eine Transaktion oder ein Block gültig ist.
Jeder Node führt diese Prüfungen selbstständig durch. Dabei wird nicht darüber abgestimmt, welche Daten akzeptiert werden. Stattdessen wendet jeder Node dieselben Regeln auf die empfangenen Blöcke und Transaktionen an.
Dadurch gelangen unabhängige Nodes zum selben Validierungsergebnis und bauen denselben Blockchain- und UTXO-Zustand auf.
Der Konsens entsteht somit nicht durch Abstimmung, sondern durch die Anwendung desselben Regelwerks.
Konsensregeln definieren die Bedingungen, die erfüllt sein müssen, damit ein Node Daten akzeptiert.
Sie bestimmen,
-
welche Transaktionen gültig sind,
-
welche Blöcke gültig sind,
-
und welcher Blockchain- und UTXO-Zustand daraus entsteht.
Verstößt ein Block oder eine Transaktion gegen eine Konsensregel, wird er von Full Nodes verworfen.
Damit alle Nodes dieselbe Blockchain akzeptieren, müssen sie dieselben Konsensregeln anwenden.
Sobald unterschiedliche Regeln zu unterschiedlichen Validierungsergebnissen führen, entsteht kein gemeinsamer Konsens mehr und das Netzwerk kann sich in mehrere Blockchains aufspalten.
Warum sind Konsensregeln wichtig?
Die Konsensregeln legen fest, was Bitcoin überhaupt ist.
Sie bestimmen:
- welche Coins existieren,
- welche Transaktionen gültig sind,
- wie neue Blöcke entstehen,
- und welche Blockchain ein Node akzeptiert.
Würden verschiedene Gruppen von Nodes unterschiedliche Konsensregeln anwenden, würden sie unterschiedliche Blockchains akzeptieren.
Änderungen an Konsensregeln sind daher besonders sensibel und werden über sogenannte Soft Forks eingeführt.
Weiterführend: Soft Forks
Wie Full Nodes diese Regeln konkret anwenden: Validation
Was macht einen Block oder eine Transaktion gültig?
Full Nodes bewerten Blöcke und Transaktionen nicht nach Vertrauen, Mehrheiten oder ihrer Herkunft.
Entscheidend ist ausschließlich, ob alle Konsensregeln erfüllt werden.
Dabei prüft ein Node zahlreiche Bedingungen. Dazu gehören unter anderem:
- die korrekte Struktur der Daten,
- die Gültigkeit von Signaturen,
- die Einhaltung der Script-Bedingungen,
- die Existenz und Verfügbarkeit referenzierter UTXOs,
- die korrekte Geldmengenerzeugung,
- sowie die Einhaltung der Proof-of-Work-Regeln.
Erst wenn alle relevanten Prüfungen erfolgreich sind, wird eine Transaktion oder ein Block als gültig akzeptiert.
Bereits ein einzelner Verstoß gegen die Konsensregeln genügt, damit ein Node die Daten verwirft.
Konsensregeln und Software
Nodes im Bitcoin-Netzwerk verwenden nicht zwangsläufig dieselbe Software.
Unterschiedliche Versionen, verschiedene Implementierungen oder unterschiedliche Betriebsmodi wie Archival Nodes und Pruned Nodes können miteinander kommunizieren und dieselbe Blockchain akzeptieren.
Entscheidend ist nicht die Software selbst, sondern ob dieselben Konsensregeln angewendet werden.
Die Software implementiert diese Regeln lediglich. Solange unterschiedliche Programme bei denselben Daten zum gleichen Validierungsergebnis gelangen, bleiben sie Teil desselben Konsenses.
In der Praxis verwenden die meisten Nodes heute Bitcoin Core.
Neue Versionen erweitern regelmäßig die Netzwerkkommunikation, verbessern die Performance oder verändern interne Speicherstrukturen.
Solche Änderungen beeinflussen den Konsens jedoch nicht zwangsläufig.
So können beispielsweise Bitcoin Core v25 und Bitcoin Core v28 trotz vieler technischer Unterschiede dieselbe Blockchain validieren und denselben Chainstate aufbauen.
Erst wenn sich die Regeln ändern, nach denen Blöcke oder Transaktionen als gültig bewertet werden, kann dies Auswirkungen auf den Konsens haben.
Was passiert bei unterschiedlichen Regeln?
Damit alle Nodes dieselbe Blockchain akzeptieren, müssen sie dieselben Konsensregeln anwenden.
Sobald unterschiedliche Regeln zu unterschiedlichen Validierungsergebnissen führen, entsteht kein gemeinsamer Konsens mehr.
Ein Block, der von einer Gruppe von Nodes als gültig betrachtet wird, kann von einer anderen Gruppe verworfen werden.
Ab diesem Zeitpunkt bauen die beteiligten Nodes unterschiedliche Blockchains und UTXO-Zustände auf.
Es entstehen voneinander unabhängige Konsensgruppen mit jeweils eigener Sicht auf den Zustand des Netzwerks.