Ich dachte früher, dass stak-gewichtete Auswahl im Grunde „mehr DUSK = mehr Chancen“ bedeutet. Aber die deterministische Losbildung von Dusk macht diese Beziehung viel spannender.
Ich bin in die Dokumentation zurückgegangen, weil der entscheidende Punkt nicht einfach ist, dass Stake eine Rolle spielt. Entscheidend ist, wie das Protokoll die Gewichtung eines Stakers in ein wiederholbares Auswahl-Ergebnis umwandelt.
Bei Succinct Attestation nutzt die Bildung von Komitees deterministische Losbildung. Ein Wert wird aus einem SHA3-256-Hash der Parameter einer Konsensrunde abgeleitet, und dieser Wert bestimmt, welche Provisioner zulässig sind. Dieselben Eingaben führen daher dazu, dass Knoten unabhängig voneinander zum gleichen Auswahlresultat gelangen.
Das erzeugt eine interessante technische Spannung: Zufälligkeit ist nützlich, um die Zugehörigkeit zu einem Komitee zu verteilen, aber der Konsens darf nicht davon abhängen, dass Knoten unterschiedliche Zufallsresultate erzeugen.
Das Design trennt diese Aspekte. Der Hash liefert die scheinbar unvorhersehbare Auswahl-Eingabe, während der deterministische Prozess sicherstellt, dass das Ergebnis unabhängig voneinander reproduzierbar ist. Das Stake-Gewicht beeinflusst dann den Auswahlprozess, statt dass ein Koordinator die Komiteemitglieder zuweist.
Die logische Kette ist einfach: Stake-Gewicht → gewichtete Zulässigkeit → deterministische, hashbasierte Auswahl → unabhängig verifizierbare Komiteemitgliedschaft.
Der Kompromiss ist, dass deterministische Auswahl nicht automatisch bedeutet, dass in jeder Runde perfekt gleichmäßig ausgewählt wird. Ein kleinerer Stake-Provisioner kann trotzdem ausgewählt werden, während ein größerer in einer bestimmten Runde fehlen kann; Fairness entsteht statistisch statt Block für Block.
Was mich dabei immer wieder beschäftigt ist: Wie sollten Komiteegröße und Stake-Verteilung so abgestimmt werden, dass diese probabilistische Fairness robust bleibt, wenn sich die Validator-Menge ändert?
@Dusk_Foundation $DUSK
#dusk
Ich bin in die Dokumentation zurückgegangen, weil der entscheidende Punkt nicht einfach ist, dass Stake eine Rolle spielt. Entscheidend ist, wie das Protokoll die Gewichtung eines Stakers in ein wiederholbares Auswahl-Ergebnis umwandelt.
Bei Succinct Attestation nutzt die Bildung von Komitees deterministische Losbildung. Ein Wert wird aus einem SHA3-256-Hash der Parameter einer Konsensrunde abgeleitet, und dieser Wert bestimmt, welche Provisioner zulässig sind. Dieselben Eingaben führen daher dazu, dass Knoten unabhängig voneinander zum gleichen Auswahlresultat gelangen.
Das erzeugt eine interessante technische Spannung: Zufälligkeit ist nützlich, um die Zugehörigkeit zu einem Komitee zu verteilen, aber der Konsens darf nicht davon abhängen, dass Knoten unterschiedliche Zufallsresultate erzeugen.
Das Design trennt diese Aspekte. Der Hash liefert die scheinbar unvorhersehbare Auswahl-Eingabe, während der deterministische Prozess sicherstellt, dass das Ergebnis unabhängig voneinander reproduzierbar ist. Das Stake-Gewicht beeinflusst dann den Auswahlprozess, statt dass ein Koordinator die Komiteemitglieder zuweist.
Die logische Kette ist einfach: Stake-Gewicht → gewichtete Zulässigkeit → deterministische, hashbasierte Auswahl → unabhängig verifizierbare Komiteemitgliedschaft.
Der Kompromiss ist, dass deterministische Auswahl nicht automatisch bedeutet, dass in jeder Runde perfekt gleichmäßig ausgewählt wird. Ein kleinerer Stake-Provisioner kann trotzdem ausgewählt werden, während ein größerer in einer bestimmten Runde fehlen kann; Fairness entsteht statistisch statt Block für Block.
Was mich dabei immer wieder beschäftigt ist: Wie sollten Komiteegröße und Stake-Verteilung so abgestimmt werden, dass diese probabilistische Fairness robust bleibt, wenn sich die Validator-Menge ändert?
@Dusk_Foundation $DUSK
#dusk