翻 Dusk 的 offizielle Dokumentation: Da gibt es einen Satz, den ich zweimal gelesen habe, bis es mir klar wurde: Die Ausführungsebene von DuskEVM basiert auf einer OP-Stack-Architektur – der Sequencer läuft op-geth und führt EVM-Transaktionen aus, der Batcher veröffentlicht die Transaktionsdaten als Blob in DuskDS, und der Proposer veröffentlicht anschließend die Zustandszusagen und verweist dabei auf diese bereits ausgeführten Batches. Kurz gesagt: DuskEVM ist im Kern ein Layer 2, und DuskDS (der eigene L1-Abrechnungslayer von Dusk) ist die Grundlage für Datenverfügbarkeit und die endgültige Abrechnung.
Diese Architekturentscheidung ist ziemlich clever. Die native Smart-Contract-Umgebung von Dusk ist DuskVM, die auf der Piecrust-Toolchain läuft – einer WASM-VM, die in Rust geschrieben ist. Sie richtet sich an Entwickler, die direkt Rust/WASM verwenden wollen, Protokoll-Assets und ZK-Fähigkeiten nutzen möchten. DuskEVM hingegen richtet sich an Teams, die den bestehenden Solidity-Toolchain nutzen wollen und keine neuen Dinge lernen möchten. Zwei Beine statt alle zum Sprachwechsel zu zwingen. Piecrust entwickelt in den letzten Versionen außerdem noch Speicher-64-Support weiter und hat den Unterbau-Runner von wasmer auf wasmtime umgestellt – alles, um den Weg für größere Mengen an Contract-Zuständen und bessere Ausführungsleistung zu ebnen.
Wirklich zum Nachdenken anregend ist jedoch die Gebührenstruktur: Auf DuskEVM müssen Transaktionen zwei Gebühren zahlen – eine für die L2-Ausführung im Stil von EIP-1559, und eine weitere für die Datenverfügbarkeit, also dafür, dass die Batch-Daten in DuskDS veröffentlicht werden. Das bedeutet: Die tatsächliche Durchsatzrate und die Kosten von DuskEVM werden letztlich immer noch durch die Datenverfügbarkeits-Kapazität dieser L1-Leitung von DuskDS begrenzt – selbst wenn die L2-Ausführung noch so schnell ist, wenn der Abrechnungs- bzw. Zustellungslayer unten blockiert, kommt man nicht weiter. Das ist im Grunde derselbe Unterschied wie bei den meisten „L2, die DA über Ethereum nutzen“-Public-Chains – nur dass Ethereum hier durch die eigene L1 von Dusk ersetzt wird.
Für Entwickler, die vorhaben, auf DuskEVM Contracts zu deployen, ist diese Architekturlücke kein unwichtiges Hintergrundwissen – sie bestimmt direkt in deinem Gas-Kostenmodell, ob die DA-Gebühr am Ende ein größeres Kostenstück ausmacht als die Ausführungsgebühr, insbesondere bei High-Frequency- und datenintensiven Finanzanwendungen.
@Dusk $DUSK #dusk
Diese Architekturentscheidung ist ziemlich clever. Die native Smart-Contract-Umgebung von Dusk ist DuskVM, die auf der Piecrust-Toolchain läuft – einer WASM-VM, die in Rust geschrieben ist. Sie richtet sich an Entwickler, die direkt Rust/WASM verwenden wollen, Protokoll-Assets und ZK-Fähigkeiten nutzen möchten. DuskEVM hingegen richtet sich an Teams, die den bestehenden Solidity-Toolchain nutzen wollen und keine neuen Dinge lernen möchten. Zwei Beine statt alle zum Sprachwechsel zu zwingen. Piecrust entwickelt in den letzten Versionen außerdem noch Speicher-64-Support weiter und hat den Unterbau-Runner von wasmer auf wasmtime umgestellt – alles, um den Weg für größere Mengen an Contract-Zuständen und bessere Ausführungsleistung zu ebnen.
Wirklich zum Nachdenken anregend ist jedoch die Gebührenstruktur: Auf DuskEVM müssen Transaktionen zwei Gebühren zahlen – eine für die L2-Ausführung im Stil von EIP-1559, und eine weitere für die Datenverfügbarkeit, also dafür, dass die Batch-Daten in DuskDS veröffentlicht werden. Das bedeutet: Die tatsächliche Durchsatzrate und die Kosten von DuskEVM werden letztlich immer noch durch die Datenverfügbarkeits-Kapazität dieser L1-Leitung von DuskDS begrenzt – selbst wenn die L2-Ausführung noch so schnell ist, wenn der Abrechnungs- bzw. Zustellungslayer unten blockiert, kommt man nicht weiter. Das ist im Grunde derselbe Unterschied wie bei den meisten „L2, die DA über Ethereum nutzen“-Public-Chains – nur dass Ethereum hier durch die eigene L1 von Dusk ersetzt wird.
Für Entwickler, die vorhaben, auf DuskEVM Contracts zu deployen, ist diese Architekturlücke kein unwichtiges Hintergrundwissen – sie bestimmt direkt in deinem Gas-Kostenmodell, ob die DA-Gebühr am Ende ein größeres Kostenstück ausmacht als die Ausführungsgebühr, insbesondere bei High-Frequency- und datenintensiven Finanzanwendungen.
@Dusk $DUSK #dusk