Pages:
Author

Topic: How to merge many small balances into one with no harm to privacy? (Read 405 times)

legendary
Activity: 2268
Merit: 18771
There's not really a point in doing this unless many other people join with many small transactions too.
What could work in this case is for someone to set up a service for consolidating small inputs similar to Peter Todd's Dust-B-Gone, but instead of sending all the dust to the miners, it consolidates all the inputs and returns them to their owners (minus a small fee). Each user would sign a transaction including all their outputs to be consolidated using SIGHASH_NONE and SIGHASH_ANYONECANPAY, and submit this transaction along with a return address to a service. Once 5, 10, 20, whatever users had submitted their transactions, the service would combine them all together and consolidate all those funds in to one address, pass it through ChipMixer or coinjoin to increase privacy, and then send the consolidated amounts back to each individual user.

It does mean you have to trust your coins to a centralized service, and of course your privacy is not protected from the service itself, however.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Let's say that each UTXO holds 0.001 BTC, in that case he would need 100 times that amount to meet the conditions to partake in a CoinJoin.
That would still link all addresses together. There's not really a point in doing this unless many other people join with many small transactions too.
legendary
Activity: 2730
Merit: 7065
You can use Wasabi wallet for CoinJoin which charges 0.003% as fee.
Wasabi's fees are OK, the only problem is that a CoinJoin round has a minimum amount that each user needs to deposit to be part of it. If my memory serves me right, that sum is 0.1 BTC. OP said that he has several addresses that contain less than 0.001 BTC. Let's say that each UTXO holds 0.001 BTC, in that case he would need 100 times that amount to meet the conditions to partake in a CoinJoin. I am not ruling out the possibility that he could have that many UTXO's, but I find it unlikely. 
hero member
Activity: 1246
Merit: 708
That's what I meant.

I don't have much to do with programming, but I hope this solution will appear anytime soon Wink

Maybe electrum will integrate it? Hmm have to suggest it to them on github.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
@LoyceV maybe there are some scripts or so to replace LN addres everytime by new ?
I haven't seen it. Each time you want a new address, you have to create a new LN-wallet inside the BlueWallet app.
BlueWallet is Open Source, so if you really want you can create it.
hero member
Activity: 1246
Merit: 708
Thanks @bitmover,
I've managed to figure it out, but I hope your manual will help other!

@hosseinimr93 your tip is excellent!

@LoyceV maybe there are some scripts or so to replace LN addres everytime by new ?
legendary
Activity: 2380
Merit: 5213
To add to what stated by bitmover in the post above:

For sending the remaining balance to a certain address, you can insert "!" instead of an amount.
Assuming you have 1 BTC and you want to send 0.1 BTC to address A and the remaining balance to address B, fill the "Pay to" box as follows.

Code:
Address A, 0.1
Address B, !

In this way, Address A will receive 0.1 BTC and address B will receive 0.9 BTC - fee.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Or should I copy address from bluewallet and set it as second output (instead of change address in my wallet)

You need to send to a second output.

In electrum you will need to use click Tools > Pay to Many



After you click Pay to Many you can add more than 1 output. Then you will can add the second output with the remaining balance of your UTXOs and add the LN wallet address.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Even better: you can prevent small change outputs by sending the change to a LN-wallet directly.
Could you tell me if there is any automated solution to achieve this?
I don't think that's really possible, especially if you want to use a new address for each transaction.

Quote
Or should I copy address from bluewallet and set it as second output (instead of change address in my wallet)
That works Smiley

They may at some point start charging a fee for this, because of the fees they have to pay to consolidate their inputs. Phoenix Wallet for instance charges a small (0.1%) fee already, but that wallet is non-custodial so I'm not sure how traceable the LN-funds would be.
hero member
Activity: 1246
Merit: 708
Even better: you can prevent small change outputs by sending the change to a LN-wallet directly.

Could you tell me if there is any automated solution to achieve this?

Or should I copy address from bluewallet and set it as second output (instead of change address in my wallet)
legendary
Activity: 2268
Merit: 18771
he is going to send all the funds to one address which may be new and not connected to any of the KYC verified accounts
It will absolutely be connected.

Let's say I withdraw from a fully KYCed exchange account in to address A. I also have some bitcoin from a casino in address B. I have some bitcoin in address C, which is change from when I made a large purchase. I have some bitcoin in address D, which came from someone I was trading with. I have some bitcoin in address E, which is change from when I deposited a large amount of bitcoin to my cold storage address Z.

If I send the coins in A, B, C, D, and E, all to a new address in a single transaction, then the other parties from all those transactions will be able to identify me as the owner of all those coins and a participant in all those transactions. I don't want a random trader knowing how much I have in cold storage. I don't want the merchant I bought from to know how much my gambling winnings are. I certainly don't want an exchange with my KYC to link all those transactions, and how much bitcoin I am spending and holding, to my real name and address.
member
Activity: 1204
Merit: 38
Because by combining all those outputs which are left over from previous transactions together in a single transaction, he links all his previous transactions together as belonging to the same person. These transactions could be anything from buying a coffee, to buying a car, to depositing to an exchange where he has completed KYC, to depositing coins to his long term cold storage. If you wouldn't publish your credit card history on Facebook, then you don't really want to link your entire bitcoin transaction history together for anyone to see either.
It seems the user concerned more about the fee than his privacy and since he is talking about consolidation he is going to send all the funds to one address which may be new and not connected to any of the KYC verified accounts but still, the amount will be known. I will not be worrying unless I am buying a lambo with BTC which I consolidated. Grin

Thanks for letting me know about the multiple deposits to the same session at Chipmixer which I never knew.
legendary
Activity: 2268
Merit: 18771
Actually the minimum chip size is 0.001BTC and OP already mentioned that he want to consolidate funds lesser than the minimum size so it is not possible for him to use Chipmixer unless he consolidated it.
He actually could, but it wouldn't really help with his privacy in this case. Although the minimum chip size is 0.001 BTC as you say, you can still deposit multiple smaller amounts than this to ChipMixer and receive chips of the total amount you deposit in a single session. For example, if you sent 0.0015 BTC in two transactions, you would receive three 0.001 BTC chips. However, since you have to send all your deposits to the same address, and there is no way to use a voucher to carry smaller than the minimum chip size over between sessions, then he would still be sending all his tiny inputs to the same address which would not help the privacy of his consolidation.

@OP why do you consider sending all the small transactions to one address can be harmful to your privacy? If it is your wallet and you are sending it from your addresses then it is not going to be creating any issues right?!
Because by combining all those outputs which are left over from previous transactions together in a single transaction, he links all his previous transactions together as belonging to the same person. These transactions could be anything from buying a coffee, to buying a car, to depositing to an exchange where he has completed KYC, to depositing coins to his long term cold storage. If you wouldn't publish your credit card history on Facebook, then you don't really want to link your entire bitcoin transaction history together for anyone to see either.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
@OP why do you consider sending all the small transactions to one address can be harmful to your privacy?
You don't want your local pizza shop to know you also bought a jet the other day, right?
member
Activity: 1204
Merit: 38

You can use Chipmixer which is free to use, you can decide to pay any amount you want.
Actually the minimum chip size is 0.001BTC and OP already mentioned that he want to consolidate funds lesser than the minimum size so it is not possible for him to use Chipmixer unless he consolidated it.


@OP why do you consider sending all the small transactions to one address can be harmful to your privacy? If it is your wallet and you are sending it from your addresses then it is not going to be creating any issues right?!

Or I am understanding anything wrong here!
full member
Activity: 1008
Merit: 139
★Bitvest.io★ Play Plinko or Invest!
Your sugestion to use LN is good, thanks. Just have to find reliable operators
I've used BlueWallet (Android) for amounts up to a few mBTC at a time at most.

Same here. I only used BlueWallet for LN transactions and had no issues.
It never occurred to me to use an LN wallet to consolidate small balances, though. Thank you for the idea.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Your sugestion to use LN is good, thanks. Just have to find reliable operators
I've used BlueWallet (Android) for amounts up to a few mBTC at a time at most.

Update: you can easily make a new LN-wallet inside the app, and each new wallet gets it's own dedicated deposit address.

It never occurred to me to use an LN wallet to consolidate small balances, though. Thank you for the idea.
Even better: you can prevent small change outputs by sending the change to a LN-wallet directly.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
Nope. It's not a protocol implementation. I think you can probably integrate it on top of Bitcoin Core though.

Electrum have something similar with feature called "Use multiple change addresses" & "Enable output value rounding"
I was going to suggest something like this. But I was thinking that doing a CoinJoin with yourself is unnecessary, making the transaction larger than needed and creating more UTXOs (perhaps bigger but still more than necessary) to be consolidated in the future. It doesn't exactly break the connection or obfuscate it, I'd say that having a CoinJoin with multiple entities would probably be more useful.

It does give some extra privacy but doubt it helps that much.
hero member
Activity: 1246
Merit: 708
So I think I can try to merge it now, but how to do it better to not harm my privacy?
[...]those to another one of your addresses (with a low fee).
Another alternative would be to actually use them for payments, or send them one-by-one to a (custodial) Bitcoin Lightning Network wallet. The wallet provider will know which addresses belong to you, so it depends on who you're trying to hide it from.

With payments is certain problem.. payment usually needs to be performed quickly, and this will lead to too much relative fee, however it coule be solution for  some of addresses.

Your sugestion to use LN is good, thanks. Just have to find reliable operators
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
...
You can use Chipmixer which is free to use, you can decide to pay any amount you want. You can use Wasabi wallet for CoinJoin which charges 0.003% as fee.

The actual fee is 0.003% multiplied by total participant of each CoinJoin round. The default CoinJoin option have 50 participant (could be more or less on reality), which means the fee is about 0.15% (which is still low compared with most mixer).

Nope. It's not a protocol implementation. I think you can probably integrate it on top of Bitcoin Core though.

Electrum have something similar with feature called "Use multiple change addresses" & "Enable output value rounding"
Pages:
Jump to: