NanoFusion is a pretty neat project that attempts to add an additional layer of privacy by implementing a trustless mixing protocol.
I am investigating more about it. The github repo has not been updated since 2021, so I’m not sure about what the current status is.
According to the github project, step (1) of the trustless mixing algorithm is the following:
- create an account that can only send funds if all the parties sign the send transaction.
If anyone understands how that is done without sharing private keys, please let me know because I’m having a hard time understanding that.
Another doubt that I have is: how is it possible to pre-sign the Mix -> Out transactions if the hashes of the blocks to be signed are only known after the mixer signs the receive blocks?
Oh, I just realized, if you layer mixing so each participant has more than one address, you can also obfuscate total balances / transaction amounts. the more layers, the more obfuscation, but more accounts and transactions would be needed. and you would have to do this on the receiving end and the future send, or the risk of correlating accounts increases.
Yeah. And if there is a unique sum of inputs that equals a unique sum of outputs, those accounts can be correlated. So it is a probably good idea to split several inputs and outputs into equal amounts.