Ich habe mir Dusk’s SA-Konsens angesehen und erwartet, dass der interessante Teil die Auswahl des Komitees ist. Am Ende habe ich mehr Augenmerk darauf gelegt, was passiert, nachdem ein Komitee ausgewählt wurde.
SA teilt den Konsens in die Validierung von Vorschlägen und in die Ratifizierung. Das wirkt wie eine technische Design-Entscheidung, bis ich es mit der Belohnungsstruktur und den Staking-Anforderungen verglichen habe. Das Netzwerk zahlt nicht einfach nur einen Validator für das Erstellen eines Blocks. Die Belohnungen werden auf das Validierungskomitee für den Block-Generator und das Ratifizierungskomitee aufgeteilt. Der Generator kann 70 % plus weitere 10 % erhalten, abhängig davon, wie viele Credits enthalten sind, während Validierung und Ratifizierung jeweils 5 % erhalten.
Das verändert, wie ich das Anreizmodell bewerte.
Das System zahlt effektiv mehreren Gruppen dafür, dass derselbe Block durch verschiedene Stufen der Übereinstimmung weitergeführt wird. Das ist wichtig, weil schnelles deterministisches Settling nur dann nützlich ist, wenn die Teilnahme zuverlässig bleibt. Ein Komiteemitglied, das wiederholt nicht teilnimmt, kann mit Soft Penalties belegt werden, während nachweisbar ungültiges Verhalten zu verbranntem Staking führen kann.
Dann gibt es noch die operative Seite, die leicht zu übersehen ist. Ein Provisioner benötigt mindestens 1.000 DUSK und muss die Infrastruktur online und synchronisiert halten. Die grundlegenden veröffentlichten Anforderungen sind überschaubar: 2 CPU-Kerne, 4 GB RAM, 50 GB Speicher und 10 Mbit/s Networking.
Also könnte die eigentliche Einschränkung nicht die reinen Hardwarekosten sein. Es ist die operative Disziplin.
Was ich interessant fand, ist, dass SA so entworfen zu sein scheint, die Kosten für die Einigung zu senken, statt einfach nur die Anzahl der Teilnehmer zu erhöhen. Zufällige Komitees verteilen die Verantwortung, während das Belohnungs- und Bestrafungssystem versucht, die Teilnahme verlässlich zu machen.
Damit geht es im Konsens weniger darum, wer Blöcke produziert, und mehr darum, ob genug unabhängige Operatoren konsequent auftauchen, wenn ihre Reihe ankommt.
#dusk $DUSK @Dusk