So here’s the deal. If you’ve got this old wallet.dat from like 2013 that hasn’t seen any action in ages and now you're looking to move some coins while keeping things private, what’s the best approach?
First off, I need to compile the latest Bitcoin Core so I can update this ancient wallet to the new format, fingers crossed the developers didn’t mess things up too badly.
Then, using Coin Control, I’ll pick the coins I want to transfer and create the transaction. Last time I did this, you had to input commands in the console, but now there’s this PSBT file thing. Does that mean I can just make this file, transfer it to my other online laptop, and then broadcast the transaction there without leaking my private keys?
Also, I gotta figure out how to use some mixing service because otherwise, privacy is pretty much non-existent. Gotta use Tor or a VPN too when broadcasting for that extra layer of privacy. And I need to ensure the mixing service doesn’t put me at risk of dealing with tainted coins. Because if I get some of those, pay someone, and then they try to cash out on a centralized exchange and it turns out those coins are dirty, I could be in hot water. Plus, if I paid in a way that ties back to me, like renting an airBNB, then I’m really in trouble.
Honestly, this is a ton of work with so many ways it could all go sideways, from downloading the software to compiling it.
Best way to transfer coins privately using an old Bitcoin Core wallet on a secure laptop?
19 replies 176 views
You can add the address in question as watched addresses in an online wallet, then from that online wallet you can create a PSBT to spend the coins.
The PSBT can be brought to an offline computer, which has the private keys but no copy of the blockchain... and it can sign it. Once signed, you can bring the result back online and transmit it. (Ideally over TOR).
I think there is GUI support for PSBT now but I've only used it from the console myself now-- someone else will have to chime in there. But I don't think you should be too afraid to use the console/command-line. It looks a little more intimidating but its really the same steps and its usually easier to search for help about a text interface.
I know several people who use a procedure like this without trouble.
You could practice doing it via testnet, which uses all the same software.
As far as breaking the connection on your coins-- that's a harder question. You'd like to break the link to protect your identity, but the problem is that in doing so you might accidentally end up with coins whose history appears connected to something dubious and thereby attract attention to yourself that you wanted to avoid.
As far as wallet compatibility goes, fortunately there is no danger from the wallet: keep your original copy safe. The worst that happens is that things don't work and you have some bug to report.
In any case, the biggest risk with any kind of manual transaction processing is accidentally turning your coins into fees usually due to a failure to understand that input coins that don't get given an output are implicitly fees. Segwit and taproot outputs require the signer to sign the fees-- making things closer to fool proof, but your txouts are obviously not going to be segwit due to the age, so you should be sure to triple check that the amount of outputs adds up to the amount of the inputs minus the fees you intend. If you don't understand this warning do not transmit a manually created transaction until you do understand it.
The nice thing about a manual transaction flow is that you'll have the untransmitted transaction 'in hand' to review for as long as you want before you transmit it (or even bring it online). You could show it to a friend or family member, or sleep on it to review the next day-- and I know people who do both of these things.
I suspect that one reason that there is a lack of tutorials is that publishing your coin handling practices is not ideal from a security perspective. But I hope my post gives you confidence in that the general idea you have is correct and is in use by people, and if you put some effort into implementing it you will eventually be successful.
gmaxwell's post is pretty much all you need, but I 'd like to add emphasis on the quoted text, as it has saved me in the past.
Anything you do, when you mess with wallets and core, just make sure to do it on duplicate of the original wallet. Or, in simpler terms, backup your wallet before doing anything.
You 've posted this argument in the past.
I respect your opinion, but I will repeat again, that just like you 'd never ask anyone who paid you in cash how they received the bank notes, you wouldn't also ask how they received the bitcoins.
There is no such thing as tainted bitcoins, it's pure non-sense and it's Bitcoin's worst enemy as of today.
I 'll do something I really don't like, I 'll quote myself
Yes. I have already used the QT client successfully for creating and signing a PSBT. My main reason for this is the hope that the QT client will just do the right thing. For someone with little knowledge (like me), this is perhaps the best option. I don't know. In any case, the workflow (creating => signing => brodcasting) in the QT Client is very clear, as far as I can tell.
Thanks. The thing about manually crafting the transaction with the console command is that I will probably screw up in the process somewhere. I think it's safer if I use Coin Control and simply click on coins I want to move. Im assuming I will be able to use PSBT with Coin Control window. I have not tested this yet, but im assuming that once you click on the make PSBT thing, you will be prompted with something and in this step you could use the Coin Control window hopefully, and if I understood correctly I will have to add enough that the transaction covers the fee. Last time I made a transaction with Core, it used to let you select an address where it would pick coins to cover the fee. So this process should all be available to do but to generate the PSBT file. If someone could confirm this? I will do with testnet first.
Of course another security measure is moving the PSBT file. How would one move this file safely? USB could be tampered with. Maybe in a rewritable CD? sounds like it would lower this risk.
About anonymizing the coins, like you said, it is a problem since I don't see how to do this properly. It is clear to me that you want to break the trace of your coins. Let's say you have here a public address and receive coins. Then you pay to someone, they are able to search this address and now they know it was you, but if you mix, you could received tainted coins... so im not sure what are you supposed to do here. This is why I have never been confident using BTC for payments, and just hold it. But at some point you want to spend it, it's just that it doesn't seem that great privacy wise.
It is not only me making this argument, gmaxwell pointed to this as well:
Yes, If I pay someone to buy something from a p2p website, they are not going to ask, we will just do the transaction, and the product is sent or we meet in person and exchange the product for the bitcoin, or even paying an airBNB, or some other product. The problem here starts when this person sends the bitcoin that you send them in some sort of service that is using a coin analytics software, and then suppose that you mixed the coins and send it to them. Now they deposit this bitcoin in the service (like an exchange) and they get it blocked and asked about it, and they point to you as the person that sent this bitcoin to them. This is obviously a problem for you now, if they know who you are, which they will specially when you are hiring a service where you already let your dox like renting a place, paying for an hotel room and so on. And this is a permanent record on the blockchain, it's not like it expires after some years like with banking. So given this context, I decided to basically not use Bitcoin beyond store of value feature, as I haven't seen a solution to this yet.
So when you create the PSBT file, does it let you using Coin Control and choose an address for the fee as well? I also feel more confident with GUI and hope that it's not screwing up behind the curtain. I know we should expert users and learn the GUI, but I think I would end up typing something bad and choose the wrong address, or send a bunch of money when I wanted to send less or something like that.
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#6Apr 23, 2022, 05:29 PM
Use different wallets for different purposes. If the address is publicly known, keep it away from your main stash. If you buy a coffee, don't pay with a 1000BTC input. If you buy a jet, you can use the large input.
You could convert a small part of your coins to a privacy coin, and pay with that. AirBNB comes very close to real life, I wouldn't mix that with crypto. But for servers it's fine.
Food for thought: if you don't trust your VPN provider with your data, you shouldn't use them in the first place.
There's not much to choose from. You enter the Bitcoin amount and the destination address. The client takes care of everything else. It also calculates the appropriate fee, although you can overwrite this value with your own.
You can then view the PSBT file with the corresponding command lines and try to understand it before you broadcast it.
Back then you just used one wallet.dat. I don't see why you would different wallets when you can just create different addresses. The problem is, if you simply move 0.1 BTC from an address with 1000 BTC in order to have this 0.1 BTC to spend from, while for a simple p2p transaction this would at least give you an additional layer of protection since technically you are not seen as an owner of 1000 BTC anymore but 0.1 BTC, it is still a problem if:
1) You run out of this 0.1 BTC and need more BTC, which you would send from the 1000 BTC address into a new address. If you were to pay this same person or service, they would see it's a bit strange this 1000 BTC address is the same one again previous to your address. It proves nothing but it would indeed be not ideal.
2) The main problem: Once they deposit your coins in an exchange, the chain analytics software can go several steps before your transaction, so if the person or service knows who you are, they would point to you as the most immediate step to these coins.
If you are limited to anonymous online payments, then the use cases are extremely limited, and it would be for digital stuff, like an VPN subscription, or perhaps cloud storage, and I cannot even find a decent cloud storage service that accepts BTC without doxing.
I just would like to be able to pay for stuff, without this constant paranoid feel of not knowing if you are paying with "tainted coins", which is a thing no matter how much some want to deny this, because once again, if you or someone else deposits coins in a service using these "automatic audit" analysis tools, you can end up in trouble even tho you did nothing wrong, and good luck with that.
Well I was expecting to be able to use Coin Control for the PSBT, if you cant' then I don't see how do I select the addresses I want to send from. The documentation here isn't too user friendly. This looks like it lacks GUI support.
https://github.com/bitcoin/bitcoin/blob/master/doc/psbt.md
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#9Apr 23, 2022, 08:10 PM
It's for convenience. Of course you can manually separate all your inputs and always use coin control, but that means you're one slip-up away from compromising your privacy on-chain.
If you own 1000 BTC in a single address, and that's the only input you own, then indeed, it's going to be difficult to spend part of it without compromising your privacy. If you're in this situation it's too late, but how realisic is this (in your case)?
You are unwillingly playing their game (I 'll say "they" and I 'll mean governments, politicians, banks etc). Let me explain why.
You want to have "clean" coins (I don't agree with the term but let's call them this way).
Their ultimate goal, is to sustain Bitcoin's usage into ETFs and KYC exchanges, so they can indirectly control it.
So anything you do, apart from ETFs and KYC exchanges would give you "tainted" coins.
It's a nightmare, so I repeat, don't fall into this trap. It's super exhaustive and I 'm telling you it's not worth the effort.
Just follow one of the following:
1. Buy from KYC exchanges and be absolutely transparent with it.
2. Buy from non-KYC, do some coinjoins and some wallet hops to confuse chain-analysis platforms.
If you do the (2) and also believe the "tainted" coins narrative, you 'll go insane!
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#11Apr 24, 2022, 04:39 AM
"Taint" is like a religion: it only exists if you believe it exists. And there's strong pressure from others to convince you.
FWIW, some merchant which respect privacy is less likely to check whether deposited coin is "tainted" or using payment gateway which automatically check deposited coin.
For this approach, i wonder whether some chain analysis service these days simply mark all involved coin/TX as malicious or risky.
Exactly my point.
"Taint" is their way to control Bitcoin, by making people believe their coins are illegal.
Therefore, I suggest everyone who is afraid, to spend some time to do things transparently.
It's better to own Bitcoin in cold storage, than to be afraid of their bullshit and not hold bitcoin at all.
My opinion is that we shouldn't even care about what they do.
When we use any type of currency, we 're just owning the currency until we exchange it to buy something.
So, for this little time, we shouldn't be feeling guilty.
For example, let's say that the European Central Bank decides to create 1 banknote worth 50 euros.
This banknote has a unique identifier and so, from the day it is produced, it is uniquely identified among all the other banknotes.
This banknote now travels around the world, changing hands, being used to buy ordinary staff (cigarettes, beverages, PC parts etc.)
After changing 50 different hands, it goes to a drug dealer for selling cocaine.
Now, it immediately goes to me.
I am then spending it to buy coca-cola from the local market and the merchant is a secret agent who identifies the banknote is used for illegal purposes.
I am prosecuted.
I 've nothing to do with any of that, I am ok, I am free.
Wrong?
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#14Apr 24, 2022, 12:12 PM
The funny part is: almost every banknote has at some point been used for illegal activities. The only reason governments don't care, is because that would destroy the confidence in their fragile fiat money. And for the exact same reason they do the opposite for Bitcoin.
You're not wrong. But would you rather spend your Bitcoin on merchant who discriminate incoming Bitcoin (usually also with little explanation/transparency) or merchant who doesn't do that?
I get your point, so my answer is that, as long as they accept it, I don't care if they discriminate my coins.
But if they don't accept it, then yes, I 'd rather choose merchants that do. In fact, I am obliged to do so.
The thing is, if merchants choose to believe what the governments say and start filtering coins, then we 've lost. All of us.
Let's say you've been earning coins from signature campaigns for years and now these amounts are on the 6 figures and you want to spend some of it in things because otherwise is just an useless number on a screen.
The moment you want to spend these coins, you have a problem if some of them are blacklisted in some of these chain analysis programs, and most services have or will have these services in place by law eventually, which means you have all that money stuck doing nothing, unless you want to spend it on cheap stuff where it could be purchased anonymously online and only on p2p purchases basically. So this limits all that money to basically irrelevance since most people already has fiat to spend on these small purchases and paying with a bill is easier and more private than having your transaction in a blockchain record for life.
So the point here is, it doesn't matter what you believe or don't. The moment your coins enter in contact with those chain analysis programs and you are unlucky to be holding some of them and they know who you are, you have a problem. You can believe taxes are theft, or that these blacklisting programs are bullshit and unfair which I agree, but that doesn't matter because the consequences are not desirable, so you want to be aware of these things. As it stands Bitcoin implies this risk when paying for things. Yes you also have the risk of owning counterfeit fake bills, but when you pay it doesn't get automatically analyzed through a permanent database. Even bank transactions expire after 5 years in most countries. So in this context, it doesn't feel that comfortable paying for things unless the coins you have come from basically a regulated exchange, which limits the Bitcoin economy. The conclusion is that right now Bitcoin is a great way to store money as it the price improves your purchasing power but actually using it to pay for things involves a lot of friction that most will avoid if there is an alternative.
But, what I am saying above, is that since the only way for them to control Bitcoin is to apply unfair legislation, they can use the media you refer to in order to block every satoshi that you own.
It doesn't matter where it comes from, but since it's not bought from their whitelisted exchanges, then it's illegal for them.
I do believe that, but I suggested doing things transparently if it suits you most.
It depends on many things (the country you live in, your age, your financial goals and current situation), but you can just declare the bitcoin you own and the bitcoin you earn and you 'll gain your missing peace of mind.
Again, I never suggested and never will suggest to avoid taxes or break the law.
That's exactly what they wanna do. That's exactly what they want to make us believe. And, to be honest, although I disagree, I can respect that it worries you, because their brain-washing abilities are top-notch and nobody can deny that.
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#19Apr 25, 2022, 08:10 PM
I pay taxes because of peace of mind. I think OP is talking about 2 different things: good privacy, and being able to spend 6 figures. Those two aren't compatible, you can only have one of the two (legally).
The biggest problem is that most people don't have a clear mindset about who their "enemy" is. Who they want to hide from.
Is it really a huge problem for them that the online shop ABC won't accept their payment?
Or is it that the government's agencies will link the Bitcoin to them and see that they haven't paid taxes and catch them.
Because for me it's clearly the fear of the latter.
Related topics
- Bitcoin and Monero Privacy in a Dystopian World 19
- Is it possible to trace Coinjoin transactions? Debunking Bitcoin privacy misconceptions 19
- Protecting a Bitcoin node from TOR / Eclipse attacks 13
- US offers $625,000 for tracking Bitcoin, Monero, and Lightning users 19
- EU plans to ban anonymous crypto accounts and privacy coins by 2027 13
- Ways to Conceal Your Bitcoin Transactions (Without CoinJoin) 19