#dusk $DUSK @Dusk
A Dusk confidential transaction proof sits at roughly half a kilobyte. Doesn't matter if the underlying computation is a simple transfer or a multi-party settlement check with compliance logic baked in. Same size. That's the headline number, and it's the kind of stat that gets repeated without anyone asking what it's hiding.
The proof system behind it PLONK is a zk-SNARK built for constant-size proofs and verification time that grows sub-linearly with circuit complexity running over the BLS12-381 and JubJub curves with Kate commitments keeping those commitments constant-sized. The real design win isn't the proof size, it's the setup. Groth16 gets you a smaller proof, around 128 bytes, but needs a circuit-specific reference string, which limits how practical it is once you're deploying many different circuit types. PLONK's setup is reusable across circuits. For a chain trying to support many different confidential contract templates, that's the more important trade.
Here's the part that doesn't scale as gracefully: proving time. The original Plonk prover has time complexity that grows with the size of the circuit being proved. Verifiers stay light, but whoever generates the proof, wallet, node, doesn't. As XSC contracts add more settlement branches, compliance checks, multi-party logic, that circuit grows, and proving cost grows with it. At some point the economics start favoring dedicated proving infrastructure over local generation, which is a strange place for a privacy-first chain to end up.
Fee design has to eventually account for that shift, whoever ends up doing the heavy computation. Does Dusk's architecture stay decentralized once proving gets expensive enough to outsource?