It's awkward that once my funds are mixed I have a load of UTXOs in Wasabi that I then need to move over to my hardware wallet. It's also difficult to do this without relinking your UTXOs. You need to move them one at a time, not consolidate them, do them all at random time intervals to avoid timing based attacks.
It's a pain and I think lots of users could easily shoot themselves in the foot and end up accidentally revealing too much data when sweeping their funds out.
It would be great if as soon as my required anonymity set is reached, the output address for the coinjoin is my hardware wallet address, not another internal Wasabi Wallet address. So I just leave Wasabi mixing with hot keys, and my hardware wallet automatically get's filled up >50 anon set UTXOs slowly over time.
My hardware wallet should not need to be available, plugged in, or require any interaction for this to work.
The solution I'd propose is:
I can now have my hardware wallet stored somewhere safe, send funds to Wasabi Wallet, as it mixes my Wasabi Wallet balance decreases and my hardware wallet balance increases.
If resulting anonymity set cannot be predicted before the coinjoin has completed, an extra coinjoin should be performed after the anonimty set is reached to send to the hardware wallet address. Users should be made aware of this when enabling this feature as it will mean extra fees.
This problem isn't specific to hardware wallets. It could apply to any wallet, by changing my proposed solution from "plug in hardware wallet" to "paste in xpub" would allow this same solution to work with pretty much all wallets in existence.
However that comes with its own problems with users incorrectly copying xpubs, different derivation schemes etc. While it would be nice for technical users, I feel like this might have the potential to cause a lot of problems and add support burden for the maintainers. For that reason I don't think it's a good idea to implement this.
Limiting to hardware wallet gives Wasabi Wallet much more control over extracting the xpub and means there are no address derivation confusion issues because the funds can always be accessed with the hardware wallet directly from Wasabi Wallet itself.
The difficulty of handling funds post-mix actually made me stop using Wasabi :(. Would love to see that implemented as well.
FYI there's a bit of discussion about it here: https://twitter.com/meeDamian/status/1092271823369060352?s=09
This is something that would be a great addition to wasabi. Similar to my ColdSend idea
This would be really useful
Related #1628 #2280
useful
Re the duplicate label, not sure this issue qualifies as a dupe of #1628 or #2280.
Those issues seem to be suggesting a way to automate sweeping post-mixed funds out of Wasabi in a new transaction. I'm proposing that the post-mixed funds are sent out of Wasabi directly from the last required coinjoin.
Solving the the same problem and definitely related but a different solution.
I agree,
Anyone mixing for the future while fees are low is shooting himself in the foot right now.
Either decreasing security of funds or setting himself up with a costly and time consuming burden of sending UXTOs back one by one, Even if you manage to automate the moving of UTXO one by one, if it's not done on a random timing and few people do it, it's almost as much a giveaway to an outsider than merging them out into one large UTXO
This should be prioritized.
Pre-mix anonset predictability
I don't think I've weve seen a final 0.1 with an anon-set lower than 20 even 50 in a while, a level I think most should be fine with.
For those who really want a fake anon-set of 100+ via double mixing we could allow them to coinjoin to HW once all their 0.1 have almost reached their desired anonset.
Anyone mixing for the future while fees are low is shooting himself in the foot right now.
Assuming that "anyone" is using a hardware wallet and that "anyone" is impatient and unskilled to move coins one by one. Where the second two assumptions are reasonable, but the first one I think is unreasonable. However it's not like any of us have data to back up our gut feelings.
This should be prioritized.
Its prerequisite, multi-wallet monitoring is prioritized and has been for months: https://github.com/zkSNACKs/WalletWasabi/issues/2359
After multi-wallet monitoring is implemented, this feature should be a piece of cake to add.
What I meant by "people mixing for the future" is those who have no need to mix at the moment. They are more likely to want the funds to end up in safer/long term storage.
Its prerequisite, multi-wallet monitoring is prioritized and has been for months: #2359
Just to clarify, by "multi-wallet monitoring" you mean the way Wasabi Wallet currently works it's just monitoring one xpub per wallet? Monitoring an entirely new xpub in a performant way as well as the default Wasabi Wallet xpub is not a simple addition right now?
After multi-wallet monitoring is implemented, this feature should be a piece of cake to add.
This is great to hear!
Monitoring an entirely new xpub in a performant way as well as the default Wasabi Wallet xpub is not a simple addition right now?
It only monitors the wallet that you click "load" and even then you can only click "load" once. I want it to keep monitoring all wallets on the same network at start. So we can get the keys from another wallet and and be 100% sure they're clean and they won't result in address reuse.
Ok, I understand.
So does this mean that this is a feature you're interested in supporting once you have the wallet monitoring code refactored?
I don't want to promise to personally implement it, there's just so many things to do, however I have a bunch of wallets and it's a pain to move money between them, so I have a strong motivation to do so.
Totally understand. Thanks for taking the time to explain your position and keep up the great work! 馃檶
https://docs.wasabiwallet.io/using-wasabi/ColdWasabi.html#mix-to-another-wallet
it's still not in the GUI, so I think we can keep this open a while longer...
Most helpful comment
I don't want to promise to personally implement it, there's just so many things to do, however I have a bunch of wallets and it's a pain to move money between them, so I have a strong motivation to do so.