Almost didn't check Dusk's changelogs tonight, figured there'd be nothing new since the big announcements already happened. Wrong. Buried in a release update:
a component called Crumbles, and it quietly solves a problem I didn't know Dusk had.
Piecrust is @Dusk Foundation WASM virtual machine, the thing that actually runs smart contracts once they're deployed. Every call and deploy gets metered in gas, same idea as any chain, spend too much computation, hit the limit, execution stops.
the part that got me is what happens after a contract runs: the VM needs to snapshot state so it can revert cleanly if something fails, without just re-executing the whole thing from scratch to check. Crumbles maps WASM memory directly onto virtual address space and tracks which pages actually changed, "dirty pages," instead of diffing the entire memory state every time.
sounds like plumbing nobody should care about. It's actually the difference between a contract failure being cheap and fast or expensive and slow, because re-execution and full diffing both cost real computation that someone, eventually, pays for in gas.
what I keep noticing is how much of Dusk's engineering effort goes into this unglamorous layer instead of the flashier privacy features everyone talks about.
$DUSK gas fees on both DuskVM and DuskEVM ultimately depend on decisions like this one. Does infrastructure this deep in the stack actually matter to adoption, or is it invisible right up until it breaks?#dusk $DUSK @Dusk
a component called Crumbles, and it quietly solves a problem I didn't know Dusk had.
Piecrust is @Dusk Foundation WASM virtual machine, the thing that actually runs smart contracts once they're deployed. Every call and deploy gets metered in gas, same idea as any chain, spend too much computation, hit the limit, execution stops.
the part that got me is what happens after a contract runs: the VM needs to snapshot state so it can revert cleanly if something fails, without just re-executing the whole thing from scratch to check. Crumbles maps WASM memory directly onto virtual address space and tracks which pages actually changed, "dirty pages," instead of diffing the entire memory state every time.
sounds like plumbing nobody should care about. It's actually the difference between a contract failure being cheap and fast or expensive and slow, because re-execution and full diffing both cost real computation that someone, eventually, pays for in gas.
what I keep noticing is how much of Dusk's engineering effort goes into this unglamorous layer instead of the flashier privacy features everyone talks about.
$DUSK gas fees on both DuskVM and DuskEVM ultimately depend on decisions like this one. Does infrastructure this deep in the stack actually matter to adoption, or is it invisible right up until it breaks?#dusk $DUSK @Dusk
