Mimblewimble allows for a very simple coin shuffling protocol [1] with the following properties:
* Users submit self-spends throughout the day. No interaction needed for shuffling.
* Shuffling is performed at the end of the day by a set of mixnodes that cannot steal any coins.
* Invalid self-spends are automatically filtered out. No need to abort or restart the shuffling.
* As long as at least one mixnode is honest, then no one learns the input output links.
* The size of the shuffle is limited only by blocksize and could easily be over a thousand.
* Each shuffle only grows the chainsize by a constant, thanks to Mimblewimble cut-through.
We welcome review of the proposal.
[1]
https://forum.grin.mw/t/mimblewimble-coinswap-proposal