1

is it possible to open a wallet file, do transactions and anything you need, then backup the file inside a veracrypt container, move this file elsewhere outside of the drive running the full node and delete the unencrypted wallet.dat as well as the veracrypt container after moving it via shred or some other wipe option to really delete the files, and then make it impossible to know that this node was used to transact and make it appear as just an empty node in case that someone gained access to the node? (for instance, a government that passes a law that says running a node incriminates you as a potential Bitcoin holder that didn't pay taxes or what have you, which I think will happen in the future).

Anyway, the idea is to not leave any traces that you used the node to actually hold and transact any BTC but just as someone that altruistically supports the network but technically does not hold any, in case an attacker got in your house and saw you running the node.

I was considering using a Tails Live CD session. Install Bitcoin Core there eachtime one needs to transact or create new addresses, and since everything runs on the RAM, it would leave no traces, but im not sure if this is possible. Of course before shutting down the session the wallet.dat would go inside a veracrypt container and moved elsewhere

Which ideas do you have for this? plase let me know. Cheers

3
  • 3
    There is no reason why you couldn't run Bitcoin Core in a Live CD environment. I've done so several times myself. – Pieter Wuille Jul 10 at 22:39
  • Which distro would you recommend? Does it work on Tails? it makes sense for this goal of not leaving traces. The problem would be that you would need to build the binaries every single time unless you trusted built binaries to save time but there you are already compromising security. – walamagic Jul 12 at 0:48
  • 1
    It will work on any Linux distribution from the last few years. The Bitcoin Core release binaries only depend on the GNU C library version 2.17 or later, released in 2012. – Pieter Wuille Jul 12 at 0:57
0

Not entirely sure how to answer this question since I'm not sure what you're trying to achieve. But from what I'm reading, it looks like you're trying to send Bitcoin in a manner which is untraceable on your system.

If that is the case, then you don't need to run a full node. Transactions are stateless, so as long as you have the necessary information as well as software and/or libraries, you can craft the transaction entirely offline (on an airgapped computer) .

You just need:

  • Knowledge of the private key

  • Wallet's inputs

  • Knowledge of the recipient's address whom you want to send it to

  • Software or knowledge of how to craft the transaction and properly serialize it before signing

Once you've done those things, you can send your transaction through to any node to broadcast it. The decentralized nature of the network makes it inherently difficult for someone to trace exactly which point your transaction entered into the network.

There are multiple different websites you could use to paste your signed UTXO to.

Addressing the Node Issue

Whether you use your node or not, it will still be used by the network to relay transactions. This is how Bitcoin's network works. So whether they are your transactions or not, your node will be relaying someone's transaction(s).

From what I understand, node discovery is ephemeral to a certain extent - so once you 'tear down' your node, so to speak, peers will cease gossiping about the existence of said node because it is no longer a discoverable peer.

Concluding

It seems that you're under the impression that you must run a full node in order to send a transaction autonomously and this is not the case.

In fact, in my opinion, if you're really looking to send transactions through to the network in a manner that does not reveal that you ever transacted with Bitcoin, you would be best off crafting your transaction offline entirely, then finding a site somewhere that allows you to broadcast the transaction through their node (preferably via API if possible).

Doing this will ensure that your identity remains protected.

If running a full node is mandatory for you though for some reason, there's really no way to do so in a particularly private manner since the purpose of running a node is to be discoverable by the network and assist in relaying information to the rest of the peers around you.

5
  • Are you sure there is no way to run full node in a private manner? – Prayank Jul 10 at 22:11
  • I don't trust doing anything without a full node, see: en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes So given that I need a full node, I want to know how one would hide any activity done on the online computer with the full node that has to do with the wallet, because you need the watch-only wallet in the online computer, to create the PSBT. If someone gained access to the computer hosting the full node they would see you are doing transactions even if they cannot find the private keys = increasingly tyrannical governments can incriminate you for hiding money. – walamagic Jul 11 at 19:37
  • Honestly @walamagic generally I agree with you, but int his case, this person seems to be solely concerned with crafting a transaction and that's it. Also they don't want anyone to be able to detect that they are running a full node. So for these reasons, I think it would be counter-intuitive to run a full node as there would at least be evidence that the full node was used to relay at least some transactions. – librehash Jul 11 at 23:23
  • @librehash Yeah thats why im trying to find a way to broadcast transaction without leaving any traces. One would just need to argument that you altruistically support the network but do not engage in transactions and its on their end to prove otherwise. At this point it would be your task to leave no traces and hide wallets. Of course the nightmare begins again when you realize Bitcoin Core can't let you spawn wallets with 12 words so now you have to hide a wallet.dat file somewhere. I must decide what is best. – walamagic Jul 12 at 0:53
  • 1
    I disagree with the notion that a full node necessarily means being discoverable or assisting with relaying information. The point is full validation - the rest is a service to the network you participate in or not. You can run Bitcoin Core with -connect=IP with IP the IP address of any other node you have some level of trust in for example, and it won't make any other connections. This even works over Tor. – Pieter Wuille Jul 12 at 0:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.