You can make a coinjoin much more private than that. Wasabi improves the "all inputs and outputs are identical" structure of Whirlpool to allow private input consolidation within coinjoins, arbitrary amount payments, and elimination of non private change: https://mempool.space/tx/87d32a8756a5e3a3a366614994db1d6751205f81ad962e5382314f0fa613865f

Reply to this note

Please Login to reply.

Discussion

Tradeoffs to the elimination of non-private change

https://github.com/zkSNACKs/WalletWasabi/issues/10462

I saw this problem since the first version of wasabi 2.0.

A coinjoin must be deterministic.

If it's fully deterministic using "greedy" amount decomposition every time, then an attacker could use that determinism as well to anticipate which values you claim as outputs (but not their specific addresses), which is why there's added client randomness. There's definitely still room for optimization though.