Eine schneidende (slashing-) Regel wird nicht allein dadurch vollständig definiert, wie viel Einsatz (Stake) sie bestrafen kann. Sie wird auch dadurch definiert, wann diese Bestrafung den Zustand (State) trifft.

Boreas hat dies im Dusk-Mainnet geändert. Seit dem Deployment vom 10. Juni 2026 werden nach Boreas bei der Blockverarbeitung ausstehende Slashes vor der normalen Transaktionsausführung angewendet. Dusk sagt, dass damit ein Fall innerhalb desselben Blocks geschlossen wird, in dem der Einsatz hätte geändert werden können, bevor der Slash angewendet wurde.

Diese Reihenfolge ist wichtig, weil beide Aktionen um denselben Zustand konkurrieren. Stell dir vor, ein Provisioner hat bereits einen Slash ausgelöst, während eine Transaktion im selben Block auch seinen Einsatz ändert. Wenn die Transaktion zuerst ausgeführt wird, könnte die Durchsetzung einen anderen Einsatz-Zustand sehen als den, der bestand, als die Strafe als ausstehend (pending) markiert wurde. Boreas gibt der Strafe Priorität.

Das verändert, wie ich die Verantwortlichkeit bei Proof-of-Stake (PoS) lese. „Ungültiges Verhalten kann Einsatz verbrennen“ ist nur die Richtlinie. Das Sicherheitsversprechen benötigt außerdem eine Ausführungsregel, die den Einsatz strafbar macht, bevor gewöhnliche Transaktionen ihn mutieren können. Dusk’s aktueller Leitfaden zum Slashing bestätigt, dass harte Strafen die Berechtigung aussetzen und einen Teil des Einsatzes eines Provisioners verbrennen können.

Dusk behält für Pre-Boreas-Blöcke bei der historischen Wiedergabe die alte Reihenfolge bei, sodass die Änderung nicht „Geschichte umschreibt“; sie definiert die aktive Regel ab der Fork-Grenze.

Für Provisioner ist die praktische Annahme einfach: Die zeitliche Reihenfolge von Transaktionen innerhalb desselben Blocks sollte nicht als Möglichkeit behandelt werden, der Durchsetzung des ausstehenden Konsenses zu entkommen.

Ein überraschend großer Teil der Blockchain-Sicherheit kann in Regeln wie dieser stecken: nicht nur welche Übergänge erlaubt sind, sondern welcher gewinnt, wenn zwei gültige Zustandsänderungen aufeinandertreffen.

@Dusk $DUSK #dusk $PUMP $TUT