Freunde rennen Dusk Validatoren durch die Verifikation und fragen mich, ob es als böswillige Absicht gilt, wenn man wegen durchgehender verpasster Blockproduktion bestraft wird. Anfangs dachte ich: Bestrafung ist Bestrafung, Ende. Bei Cosmos wird man für doppelte Signaturen direkt in den Darkroom gesteckt – da gibt es nichts zu diskutieren.

Später habe ich die Slashing-Mechanismen von Dusk nachgelesen und gemerkt, dass es zwei Arten gibt. Soft Slashing, die „weiche“ Bestrafung, ist für nicht-böswillige Verfehlungen gedacht, zum Beispiel wenn ein Knoten bei der Blockproduktion ausfällt, nicht innerhalb des Zeitfensters broadcastet oder ähnliches passiert – keine bösartigen Absichten, sondern Betriebs-/Wartungsprobleme. Die Strafe zieht bei jeder aufeinanderfolgenden Verfehlung N-mal 10% von den gestakten Token ab; N ist die Anzahl der aufeinanderfolgenden Verfehlungen. Gleichzeitig entfernt man den Knoten aus dem Konsens für N Epochs. Epoch ist die Konsensperiode von Dusk; am Ende jeder Runde wird die Validatorenmenge rotiert. Das abgezogene DUSK wird nicht vernichtet: Es wird aus dem aktiven Staking-Konto umgebucht, der Knoten kann es sich selbst wieder zurückholen.

Hard Slashing, die „harte“ Bestrafung, ist für böswilliges Verhalten gedacht. Es werden ungültige Blöcke erzeugt: 10% des Stakes werden abgezogen und vernichtet. Bei doppelten Votes oder doppelter Blockproduktion: 20% werden abgezogen und vernichtet. Die Vernichtung ist wirklich weg – es wird nicht erst gesperrt und später zurückgegeben.

Ich habe nicht verstanden, warum man das in zwei Kategorien aufteilt. Erst später, als ich in den Dokumenten den Abschnitt zur Nachvollziehbarkeit (Rechenschaftspflicht) gelesen habe, wurde es klar. Wenn ein Knoten nur wegen Netzwerkfluktuationen einen Block verpasst, wird er immer wieder erneut hart bestraft. Dann werden Validatoren den Knoten auf den teuersten Wolken-Services unterbringen, die Betriebskosten steigen und die Dezentralisierung wird paradoxerweise schlechter. Soft Slashing sorgt dafür, dass unzuverlässige Knoten aus dem aktiven Set herausgedrückt werden, bietet aber eine Chance zur Wiederherstellung: Man bekommt pro Verstoß einen kleinen Abzug, sodass ehrliche Operatoren nicht gleich ruiniert werden.

Wirklich verändert hat meine Einschätzung die Einstellung für N. Je mehr aufeinanderfolgende Verfehlungen, desto stärker der Abzug und desto länger die Sperr-/Entfernungszeit. Beim ersten Ausfall: 10% Abzug und Entfernung von 1 Epoch. Beim zweiten Mal: 20% Abzug und Entfernung von 2 Epochs. Das erzeugt exponentiellen Druck: Der Knoten stabilisiert sich entweder wieder oder verlässt automatisch das System. Hard Slashing ist für eindeutig böswilliges Verhalten gedacht: Einmal vernichten, keine Wiederherstellungsphase.

Vergleiche das mit Polkadot. Auch bei Polkadot wird Slashing in Stufen umgesetzt, aber die Strafquoten sind feiner abgestuft – von 0,1% bis 100% – und die Strafen werden an den/die Melder verteilt. Das Dusk-Setup ist einfacher: entweder Versehen oder böswillig, die Quote ist fest, und bei Soft/Hard Slashing gibt es keine Belohnung für das Anzeigen. Der Vorteil ist, dass Validatoren die Kosten für Fehlverhalten besser vorhersagen können und nicht wegen zu komplexer Regeln davor zurückschrecken, einen Knoten zu betreiben.

Nachdem er das gehört hatte, sagte mein Freund: Diesmal hat er Soft Slashing akzeptiert – bei uns zu Hause ist das Netzwerk für eine halbe Stunde ausgefallen. Ich verstehe jetzt auch besser, warum Dusk die Mechanismen so klar trennt. Ohne abgestufte Bestrafung werden ehrliche Knoten und Knoten mit böswilligem Verhalten gleich behandelt #dusk $DUSK @Dusk