What do the users want?
- faster mixes
- cheaper mixes
- no changes
- more money a user have, the more output it tolerates
- avoid coin bloat
- low minimum denomination
Coordinator gives out the largest possible denomination. This is the largest powers of 2 from the second largest input registered.
User decomposes its input sum to powers of two and those will be its outputs. The largest denomination must be considered by the user to this decomposition.
To make the system more user friendly, powers of two is starting at 1BTC and under 1BTC it'd be divisions by 2.
Why powers of 2? It's because this is what gives us the smallest number of denominations. ToDo: research more.
Any wallet aims to achieve a desired coin distribution in the wallet. ToDo: research more.
If inputs aren't merged, then the coin with the smallest anonset is selected.
If inputs are to be merged, then minimum hamming weight and for maximum graph disconnectedness.
Transaction fees are paid by chunking the smallest decomposition of outputs and split the remaining difference between equal outputs. -> Would this actually achieve nearly perfect flow of denomination from one mix to another?
With this we could make sure to only let in x coin with awesome low hamming weight to the mix for security reasons?
Coordination fees fees are paid with least anonymous coins.