Wenn das Dusk-Netzwerk startet, reicht es nicht aus, nur die Piecrust-Virtual Machine zu haben; es muss außerdem eine Gruppe von Genesis-Contracts bereitgestellt werden, die die grundlegendsten Operationen abwickeln. Abschnitt 6.2 des Whitepapers nennt sie "genesis contracts"; es handelt sich dabei um spezielle Smart Contracts, die bei der Initialisierung des Netzwerks bereitgestellt werden und für Kernfunktionen wie Transaktionsverifizierung, Staking-Mechanismen und die anfängliche Token-Verteilung zuständig sind. Das Whitepaper stellt zwei davon besonders vor.
Der erste ist der transfer contract (Übertragungsvertrag). Er verwaltet alle DUSK-Transfers und $DUSK übernimmt gleichzeitig den Abzug der Gasgebühren. Wenn eine Transaktion die Bereitstellung oder den Aufruf eines Smart Contracts enthält, ist ebenfalls der transfer contract zuständig — er prüft, ob die Transaktion den Regeln von Moonlight oder Phoenix entspricht, und zieht dann die entsprechenden Gasgebühren vom Guthaben des Absenders ab. Das Whitepaper bezeichnet ihn als den "Eingangspunkt in die Dusk-Blockchain"; alle Transaktionen müssen letztlich durch ihn hindurch.
Der zweite ist der stake contract (Staking-Vertrag). Er verwaltet den gesamten Lebenszyklus des Stakings: Er prüft, ob der vom Nutzer eingezahlte Betrag die Mindest-Staking-Schwelle erreicht, sperrt die Token und registriert den Nutzer als provisioner. Je mehr DUSK gestakt werden, desto höher ist die Wahrscheinlichkeit, vom DS-Algorithmus für die Teilnahme am Konsens ausgewählt zu werden. Der Vertrag verarbeitet auch Unstaking-Anfragen — nach Ablauf der Sperrfrist kann der Nutzer seine Token zurückerhalten, während gleichzeitig sichergestellt wird, dass Belohnungen korrekt ausgezahlt und Strafen korrekt abgezogen werden. Die in Punkt 1 erwähnte Schwelle von 1000 DUSK und die in Punkt 9 erwähnten Belohnungen und Strafen werden genau durch diesen Vertrag praktisch umgesetzt. @Dusk
Abschnitt 6.3 ergänzt zwei weitere "andere Verträge". Einer davon ist der license contract (Lizenzvertrag), der auf Basis des Citadel-Protokolls die Ausgabe und Verifizierung von Lizenzen im Netzwerk verwaltet, das Eigentum an jeder Lizenz, ihre Gültigkeit und ihr Ablaufdatum nachverfolgt und Widerrufe oder Verlängerungen bearbeitet. Der andere sind die Zedger contracts, die für jede Art von Wertpapier-Asset einen separaten Smart Contract instanziieren und Funktionen wie Minting, Burning, Dividenden und erzwungene Übertragungen bereitstellen; sie sind die konkrete Implementierung des in Punkt 7 beschriebenen Zedger-Protokolls.
Die Aufgabenverteilung dieser vier Verträge ist klar: Der transfer contract steuert den Fluss, der stake contract die Teilnahme am Konsens, der license contract die Berechtigungen und die Zedger contracts die Assets. Das bedeutet aber auch, dass Dusk in seinen Kernfunktionen stark von der Korrektheit dieser vier Verträge abhängt — falls einer davon einen Bug aufweist, betrifft das nicht nur eine einzelne Anwendung, sondern die grundlegenden Operationen des gesamten Netzwerks. #dusk
Der erste ist der transfer contract (Übertragungsvertrag). Er verwaltet alle DUSK-Transfers und $DUSK übernimmt gleichzeitig den Abzug der Gasgebühren. Wenn eine Transaktion die Bereitstellung oder den Aufruf eines Smart Contracts enthält, ist ebenfalls der transfer contract zuständig — er prüft, ob die Transaktion den Regeln von Moonlight oder Phoenix entspricht, und zieht dann die entsprechenden Gasgebühren vom Guthaben des Absenders ab. Das Whitepaper bezeichnet ihn als den "Eingangspunkt in die Dusk-Blockchain"; alle Transaktionen müssen letztlich durch ihn hindurch.
Der zweite ist der stake contract (Staking-Vertrag). Er verwaltet den gesamten Lebenszyklus des Stakings: Er prüft, ob der vom Nutzer eingezahlte Betrag die Mindest-Staking-Schwelle erreicht, sperrt die Token und registriert den Nutzer als provisioner. Je mehr DUSK gestakt werden, desto höher ist die Wahrscheinlichkeit, vom DS-Algorithmus für die Teilnahme am Konsens ausgewählt zu werden. Der Vertrag verarbeitet auch Unstaking-Anfragen — nach Ablauf der Sperrfrist kann der Nutzer seine Token zurückerhalten, während gleichzeitig sichergestellt wird, dass Belohnungen korrekt ausgezahlt und Strafen korrekt abgezogen werden. Die in Punkt 1 erwähnte Schwelle von 1000 DUSK und die in Punkt 9 erwähnten Belohnungen und Strafen werden genau durch diesen Vertrag praktisch umgesetzt. @Dusk
Abschnitt 6.3 ergänzt zwei weitere "andere Verträge". Einer davon ist der license contract (Lizenzvertrag), der auf Basis des Citadel-Protokolls die Ausgabe und Verifizierung von Lizenzen im Netzwerk verwaltet, das Eigentum an jeder Lizenz, ihre Gültigkeit und ihr Ablaufdatum nachverfolgt und Widerrufe oder Verlängerungen bearbeitet. Der andere sind die Zedger contracts, die für jede Art von Wertpapier-Asset einen separaten Smart Contract instanziieren und Funktionen wie Minting, Burning, Dividenden und erzwungene Übertragungen bereitstellen; sie sind die konkrete Implementierung des in Punkt 7 beschriebenen Zedger-Protokolls.
Die Aufgabenverteilung dieser vier Verträge ist klar: Der transfer contract steuert den Fluss, der stake contract die Teilnahme am Konsens, der license contract die Berechtigungen und die Zedger contracts die Assets. Das bedeutet aber auch, dass Dusk in seinen Kernfunktionen stark von der Korrektheit dieser vier Verträge abhängt — falls einer davon einen Bug aufweist, betrifft das nicht nur eine einzelne Anwendung, sondern die grundlegenden Operationen des gesamten Netzwerks. #dusk