Samourai-Wallet / samourai-wallet-android

Bitcoin Wallet strongly focused on privacy when transacting on the bitcoin network
https://samouraiwallet.com
The Unlicense
634 stars 238 forks source link

Feature Suggestion - Stonewall Sweep #441

Open 21m opened 2 years ago

21m commented 2 years ago

Problem:

Wallet Sweep features are clear on chain

Use-case:

The other day I was moving all my coins to a new seed as the old one got compromised (not the topic of this issue) for a fault of my own. When sweeping the old Samourai wallet (and any other wallet for that matter that I know of) I noticed that sweeping a wallet, as to be expected, creates one single transaction that spends everything towards 1 single address + the mining fee. (potentially one can add Ricochet but doesn't change the fact that the first tx was a full spend).

This type of transaction is very clear on chain and can be used as part of heuristics to determine ownership and coins moving.

Suggestion

mix the features of Batch Send + Stonewall + Sweep.

Batch send by itself could solve the problem as I can a) generate multiple addresses in the new wallet and insert them into samourai but b) I need to manually calculate how much each address needs to get plus the fee (which is dynamic based on the size of the final tx in bytes) and that becomes pretty annoying unless I want to sacrifice some satoshis or eventually use the Sweep feature.

Stonewall Sweep

So if there was a way to use the Sweep feature with n addresses (say some 3 or 4 addresses), and let Samourai construct this transaction in a matter similar Stonewall for n-1 addresses and the rest(what would've been change in Stonewall) goes to the nth address that would pollute the chain even more and make Wallet Sweep a more private experience.