#dusk $DUSK @Dusk
Tumpukan lengkap Dusk dibangun secara modular. DuskDS adalah lapisan settlement dan ketersediaan data — ia menjalankan konsensus Succinct Attestation, menangani staking, dan menyimpan aset dasar DUSK. DuskEVM adalah lapisan eksekusi terpisah yang kompatibel dengan Solidity, dibangun di atas OP Stack (sebuah sequencer yang menjalankan op-geth, ditambah batcher yang mem-posting data transaksi kembali ke DuskDS sebagai blob), dan ia melakukan settlement kembali ke DuskDS, bukan mengandalkan keamanan independen miliknya sendiri. DuskVM adalah lingkungan eksekusi native lanjutan yang masih terus berkembang untuk kontrak Rust/WASM, ditujukan bagi aplikasi yang membutuhkan privasi native atau integrasi tingkat-protokol. Piecrust adalah runtime WASM (dibangun di atas Wasmer) yang awalnya tertanam di DuskDS dan kini sedang diekstrak menjadi DuskVM. Jaringan berjalan di Kadcast — protokol broadcast terstruktur bergaya Kademlia, bukan gossip acak.

Logika di balik arsitektur ini adalah bahwa "satu lingkungan eksekusi untuk semuanya" tidak bekerja dengan baik untuk sebuah chain yang harus sekaligus melayani komposabilitas ala DeFi dan penerbitan aset yang teregulasi. Alih-alih memaksa developer Solidity masuk ke lingkungan native Rust/WASM, atau memaksa aplikasi privasi native tunduk pada batasan EVM, settlement dan konsensus ditempatkan pada lapisan dasar yang sama sementara lingkungan eksekusi di atasnya mengkhusus. Kadcast juga mengikuti logika yang sama — broadcast terstruktur berarti bandwidth dan latensi yang lebih dapat diprediksi, yang lebih penting bagi chain yang mengklaim finalitas deterministik dibanding chain yang memperlakukan finalitas secara probabilistik.

Memisahkan eksekusi dari settlement juga berarti jaminan DuskEVM hanya sekuat jembatan dan mekanisme batching yang menghubungkannya kembali ke DuskDS. Saat DuskVM matang bersamaan dengan DuskEVM, jaringan akhirnya menjalankan tiga permukaan eksekusi di atas satu lapisan settlement. Apakah pemisahan ini benar-benar mengurangi gesekan integrasi bagi developer, atau hanya memindahkan kompleksitas dari "VM mana yang saya gunakan" menjadi "lapisan mana yang benar-benar menanggung jaminan saya"?