Over the past couple of days, I redrew the Core Components for @Dusk , only then did I separate the names for DuskVM, DuskEVM, and DuskDS. At first I thought it was just “one chain compatible with two kinds of VMs,” but in practice the division is more like three layers: DuskDS handles consensus, finality, and data availability; DuskVM lets Rust/WASM contracts run directly on L1; and DuskEVM is an OP Stack–based EVM-equivalent execution environment, offloading settlement and data publishing to DuskDS.

This means developers aren’t simply choosing between two options blindly. If you already have Solidity contracts and rely on EVM wallets and tooling, going with DuskEVM will be cheaper; but if you need to directly touch L1 assets, Phoenix privacy model, zero-knowledge capabilities, or lower-level protocol control, then DuskVM is the native entry point. The two paths share the same settlement base, but that doesn’t mean their functionality and security assumptions are exactly the same.

I’m fairly wary of the claim that “EVM compatibility = the ecosystem automatically comes along.” Compatibility only lowers the deployment barrier; it can’t replace wallet connections, stable RPCs, indexers, liquidity, and real users. Conversely, emphasizing native Rust/ZK alone is also not enough—tools can be too rough, and developers won’t rewrite entire products just for technical purity.

So when I look at the technical progress of $DUSK , I’d break down the metrics: whether DuskEVM has third-party Solidity applications, whether DuskVM has unofficial contracts, and whether the paths that both settle into DuskDS are stable. If the #dusk moat holds, it should be “people who know the tools can come in, and when privacy is needed they can still go deeper,” not three brand-new terms piled together. Will you start by choosing compatibility, or by choosing native capabilities?