#dusk $DUSK @Dusk Vor ein paar Tagen habe ich versucht, Dusk-Node zu starten. Nachdem ich das node-installer-Tool installiert hatte, habe ich den Startbefehl eingegeben – und kurz bevor ich Enter gedrückt habe, blieb meine Hand einen Moment in der Luft stehen. Es war nicht die Angst vor Bedienfehlern, sondern eher die Sorge, dass es wieder so läuft wie in den letzten paar Versuchen: Die Logs rollen ein paar Zeilen weiter und dann hängt das Ganze, und später stellt sich heraus, dass Dokumentation und Code nicht zueinander passen.
Nach dem Start begannen rusk-Logs zu laufen. Validation und Ratification wechseln sich in zwei Phasen ab. Zuerst kommt Validation: Eine Gruppe von Gremiumsmitgliedern prüft die Gültigkeit der Kandidatenblöcke. Danach folgt Ratification: Eine andere Gruppe bestätigt die Ergebnisse der Validierung und legt schließlich den Block endgültig fest. In den Logs ist jede Runde mit Round- und Iteration-Nummern gekennzeichnet, und der Blockintervall ist stabil. Ich habe mehr als zehn Minuten auf den Bildschirm gestarrt: Die Blockhöhe ist durchgehend gestiegen, ohne Unterbrechung. Die dunkle „Rolling-die-Hälfte-und-dann-stürzt-es-ab“-Erinnerung aus früheren Tests auf anderen Testnetzen war hier zumindest nicht wieder da.
Danach habe ich im rusk-Repository gestöbert. 8025 Commits, die CI-Pipeline läuft mit clippy plus nightly tests, und das Team hat sogar selbst ein cargo-dusk-analyzer für statische Analyse geschrieben. In den Deploy-Tools dsk-deploy-cli ist mir noch ein Detail aufgefallen: Phoenix und Moonlight sind getrennte Befehlszeilen-Parameter. Auf derselben Kette werden dadurch zwei Arten von Transaktionspfaden jeweils unabhängig aufgerufen. Ich bin auf ein Issue gestoßen, in dem Gas-Daten gepostet waren: Ein Moonlight-Transfer liegt bei etwa 80.000 Gas, aber vom Moonlight-Transfer zum Phoenix-Transfer braucht man 25,56 Millionen Gas – also das 300-fache. Das ist die realen Rechenkosten, die ZK-Proofs verursachen.
Dann habe ich auch die Netzwerkebene geprüft: Kadcast ist die offizielle Rust-Implementierung, und alle 107 Repositories sind in Rust. Das plonk-Repository hat 872 Commits, auch das wurde vom Team selbst geschrieben – nicht so, dass man einfach eine bestehende Library nimmt und ein bisschen anpasst und dann damit loslegt.
Als Nächstes habe ich die Hintergründe von NPEX recherchiert. Die AFM-regulierte niederländische Börse hält MTF-, Broker- und ECSP-Lizenzen und verwaltet Vermögenswerte im Wert von 300 Millionen Euro. Die Shortlist von Dusk Trade ist bereits geöffnet – sie bauen also tatsächlich eine RWA-Handelsplattform.
Seit 2018 bis heute, sieben Jahre lang: 8025 Commits, 107 Repositories, alles in Rust. Diese Art von Ingenieursdisziplin – da kann ich wirklich nur meinen Hut ziehen.
Nach dem Start begannen rusk-Logs zu laufen. Validation und Ratification wechseln sich in zwei Phasen ab. Zuerst kommt Validation: Eine Gruppe von Gremiumsmitgliedern prüft die Gültigkeit der Kandidatenblöcke. Danach folgt Ratification: Eine andere Gruppe bestätigt die Ergebnisse der Validierung und legt schließlich den Block endgültig fest. In den Logs ist jede Runde mit Round- und Iteration-Nummern gekennzeichnet, und der Blockintervall ist stabil. Ich habe mehr als zehn Minuten auf den Bildschirm gestarrt: Die Blockhöhe ist durchgehend gestiegen, ohne Unterbrechung. Die dunkle „Rolling-die-Hälfte-und-dann-stürzt-es-ab“-Erinnerung aus früheren Tests auf anderen Testnetzen war hier zumindest nicht wieder da.
Danach habe ich im rusk-Repository gestöbert. 8025 Commits, die CI-Pipeline läuft mit clippy plus nightly tests, und das Team hat sogar selbst ein cargo-dusk-analyzer für statische Analyse geschrieben. In den Deploy-Tools dsk-deploy-cli ist mir noch ein Detail aufgefallen: Phoenix und Moonlight sind getrennte Befehlszeilen-Parameter. Auf derselben Kette werden dadurch zwei Arten von Transaktionspfaden jeweils unabhängig aufgerufen. Ich bin auf ein Issue gestoßen, in dem Gas-Daten gepostet waren: Ein Moonlight-Transfer liegt bei etwa 80.000 Gas, aber vom Moonlight-Transfer zum Phoenix-Transfer braucht man 25,56 Millionen Gas – also das 300-fache. Das ist die realen Rechenkosten, die ZK-Proofs verursachen.
Dann habe ich auch die Netzwerkebene geprüft: Kadcast ist die offizielle Rust-Implementierung, und alle 107 Repositories sind in Rust. Das plonk-Repository hat 872 Commits, auch das wurde vom Team selbst geschrieben – nicht so, dass man einfach eine bestehende Library nimmt und ein bisschen anpasst und dann damit loslegt.
Als Nächstes habe ich die Hintergründe von NPEX recherchiert. Die AFM-regulierte niederländische Börse hält MTF-, Broker- und ECSP-Lizenzen und verwaltet Vermögenswerte im Wert von 300 Millionen Euro. Die Shortlist von Dusk Trade ist bereits geöffnet – sie bauen also tatsächlich eine RWA-Handelsplattform.
Seit 2018 bis heute, sieben Jahre lang: 8025 Commits, 107 Repositories, alles in Rust. Diese Art von Ingenieursdisziplin – da kann ich wirklich nur meinen Hut ziehen.
