ZeroLink
ZeroLink copied to clipboard
Dynamic Mix Denomination
When a user wants to mix coins we need a way to show what possible output denominations are available for other users to join the mixing.
Either set this on the server side or allow users to propose them.
For example: If Alice has 0.21 BTC that she wants to mix she could either select a mix from the server (which may show '0.1 BTC output pool', '0.2 BTC output pool' etc) or she may propose a pool somehow (maybe from the post-mix wallet?) - by proposing a 0.21 BTC pool that other users could then see and join if the wanted to.
If for example the following were submitted/proposed:
0.21 BTC 0.22 BTC 0.30 BTC
The server could create a mix where all outputs were 0.21 BTC if there was not already sufficient liquidity to cover the 3 proposals. So the users that had proposed the above could all join the 0.21 BTC mix with the seconds and third users getting change of 0.01 BTC and 0.1 BTC respectively to their pre-mix wallet.
For now it's just a tumbler configuration. This not only not needed to be figured out in implementation time, it's the tumbler operator who must decide.
However I was long thinking introducing some kind of dynamic denomination, something similar you proposed here, but that needs some thoughtful considerations, because this would come with some GUI challenges. The GUI wouldn't be able to estimate fees, number of rounds and time of mixing upfront. Luckily, it's just a server configuration, easy to change later.
At the beginning however we should start with a common denomination per mix and stick with it as long as we reach stable hundredish anonymity set.
Anyway it was a braindump, we'll need to think of it further.