<p>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.</p>
<p>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) .</p>
<p>You just need:</p>
<ul>
<li><p>Knowledge of the private key</p>
</li>
<li><p>Wallet's inputs</p>
</li>
<li><p>Knowledge of the recipient's address whom you want to send it to</p>
</li>
<li><p>Software or knowledge of how to craft the transaction and properly serialize it before signing</p>
</li>
</ul>
<p>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.</p>
<p>There are multiple different websites you could use to paste your signed UTXO to.</p>
<h3>Addressing the Node Issue</h3>
<p>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 <strong>someone's transaction(s)</strong>.</p>
<p>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.</p>
<h3>Concluding</h3>
<p>It seems that you're under the impression that you <strong>must</strong> run a full node in order to send a transaction autonomously and this is not the case.</p>
<p>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).</p>
<p>Doing this will ensure that your identity remains protected.</p>
<p>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.</p>

CC BY-SA 4.0
2021-07-11T19:37:10.173Z
I don't trust doing anything without a full node, see:
https://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
CC BY-SA 4.0
2021-07-11T23:23:11.410Z
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
CC BY-SA 4.0
2021-07-12T00:53:13.840Z
@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
CC BY-SA 4.0
2021-07-12T00:59:34.063Z
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
CC BY-SA 4.0
2021-08-22T20:34:45.423Z
@PieterWuille This is a fair point & I agree 100% when it comes to full validation. But imo, full validation only becomes relevant when you need the blockchain to confirm information / trigger other events (i.e., 'when John pays X,  e-mail him license key').

In OP's situation, it seems that they *only* are looking to send a TX and their *only* concern is in making sure that TX cannot be attached to **any** identifying info (assuming IP addresses included). [1/2]
librehash
CC BY-SA 4.0
2021-08-22T20:43:01.123Z
@PieterWuille To address your point about connecting to a trusted node via IP to IP, I don't disagree here, but this kind of brings me back full circle to my original thesis of "why go through the trouble?" 

Since TXs on BTC are crafted in a stateless manner (stateless = offline for anyone stumbling on this) - wouldn't it be more efficient (and perhaps more private) for OP to literally send his signed hash to that trusted node operator (via jabber / Tor, let's say), then have that trusted friend relay?
librehash
CC BY-SA 4.0
2021-08-22T20:47:10.553Z
@PeterWiulle (last note) - think its worth taking into account the burden of increasing complexity for OP if he were to pursue this strategy. He must now know how to (a) set up a full node (b) likely host on-premise [VPS provider can+will monitor traffic, so that's out] (c) tunnel TX directly to friend (d) may have to use an ipsec vpn like strongswan (or noise protocol client like wireguard) so that there's some level of auth. [to protect against MITM since IP address could be subject to MITM, spoofing, etc.]
librehash
CC BY-SA 4.0
2021-07-10T20:57:31.657Z
2021-07-10T20:57:31.657Z
librehash
<p>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).</p>
<p>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.</p>
<p>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</p>
<p>Which ideas do you have for this? plase let me know. Cheers</p>

CC BY-SA 4.0
2021-07-10T22:39:49.227Z
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
CC BY-SA 4.0
2021-07-12T00:48:30.860Z
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
CC BY-SA 4.0
2021-07-12T00:57:57.847Z
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
<bitcoin-core><transactions><wallet><linux>
How to use Bitcoin Core as a wallet without leaving no traces that used the wallet?
walamagic
# How to use Bitcoin Core as a wallet without leaving no traces that used the wallet?

(Asked by: username_0 on 2021-07-10)

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

**Tags:** bitcoin-core, transactions, wallet, linux

> **Comments:**
> **username_1**: There is no reason why you couldn't run Bitcoin Core in a Live CD environment. I've done so several times myself.  
> **username_0**: 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.  
> **username_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.  

---

## 1 answers

### Answer by username_2 on 2021-07-10. Score: 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.

> **Comments:**
> **username_0**: I don't trust doing anything without a full node, see: https://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.  
> **username_2**: Honestly @username_0 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.  
> **username_0**: @username_2 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.  
> **username_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.  
> **username_2**: @username_1 This is a fair point & I agree 100% when it comes to full validation. But imo, full validation only becomes relevant when you need the blockchain to confirm information / trigger other events (i.e., 'when John pays X,  e-mail him license key').  In OP's situation, it seems that they *only* are looking to send a TX and their *only* concern is in making sure that TX cannot be attached to **any** identifying info (assuming IP addresses included). [1/2]  
> **username_2**: @username_1 To address your point about connecting to a trusted node via IP to IP, I don't disagree here, but this kind of brings me back full circle to my original thesis of "why go through the trouble?"   Since TXs on BTC are crafted in a stateless manner (stateless = offline for anyone stumbling on this) - wouldn't it be more efficient (and perhaps more private) for OP to literally send his signed hash to that trusted node operator (via jabber / Tor, let's say), then have that trusted friend relay?  
> **username_2**: @PeterWiulle (last note) - think its worth taking into account the burden of increasing complexity for OP if he were to pursue this strategy. He must now know how to (a) set up a full node (b) likely host on-premise [VPS provider can+will monitor traffic, so that's out] (c) tunnel TX directly to friend (d) may have to use an ipsec vpn like strongswan (or noise protocol client like wireguard) so that there's some level of auth. [to protect against MITM since IP address could be subject to MITM, spoofing, etc.]  

---

