<blockquote>
<p>I mean, I am still signing my transactions with my private key. Sure, the public node could just not broadcast my transactions or even show incorrect balances to me but it cannot fake or alter my transactions.</p>
</blockquote>
<p>This is all correct.</p>
<blockquote>
<p>Do I see something wrong here?</p>
</blockquote>
<p>No, but I think you're missing that only you being able to sign transactions over your coins is just a small aspect of using the currency.</p>
<p>If you trust another party to determine your balances/payments/coins, they can make you believe you were paid while you weren't. If that happens, your transactions (which indeed, only you can sign) will be spending non-existing coins.</p>

CC BY-SA 4.0
2023-12-28T16:01:26.483Z
2023-12-28T16:01:26.483Z
Pieter Wuille
<p>Public nodes can potentially link your IP address to your Bitcoin addresses. This might not be a significant issue for everyone, but for those who prioritize privacy, running your own node helps in keeping your transactions more private.
When you connect to a public node, you are trusting that node to provide accurate information about the state of the Bitcoin blockchain. While most public nodes are run by reputable individuals or organizations, there is a level of trust involved. A malicious public node could, as you mentioned, selectively choose not to broadcast your transactions or provide incorrect information.
If the network connection between your wallet and the public node is compromised, it could potentially be exploited. Running your own node locally can reduce the attack surface.</p>

CC BY-SA 4.0
2023-12-28T11:55:51.960Z
Thank you for your comment. Could you elaborate how a compromised connection between me and the public node can be exploited? Aside from the mentioned censoring and providing incorrect blockchain state data, I don't see other potential attack vectors. As long as I sign my transactions with my private key, worst case is that they are not broadcasted.
Neo
CC BY-SA 4.0
2024-01-16T05:43:06.340Z
If an attacker can intercept the communication between your wallet and the public node, they might attempt to alter your transactions or gain information about your wallet's activity. And Potential exposure of your IP address, Manipulation through the setup of fake nodes, Analysis of metadata revealing patterns in your wallet activity, etc. many users may not encounter such issues with reputable public nodes.
Mani T
CC BY-SA 4.0
2024-01-23T18:39:04.440Z
I don't see how an attacker could alter my transactions. He can censor them, yes, alter no.
Neo
CC BY-SA 4.0
2023-12-28T09:44:35.830Z
2023-12-28T09:44:35.830Z
Mani T
<p>I have been wondering about the security of using public bitcoin nodes with your wallet. E.g. sparrow wallet offers three connection options (public nodes, your own bitcoin core node or a private electrum server with bitcoin core) and the docs recommend to use your own bitcoin node / electrum server if you are storing larger sums.</p>
<p>I see the point that using your own node offers more privacy (which in turn can offer security in the sense that no one knows your addresses which could make you a target), however, I don't see how using a public server is inherently less secure from a cryptographic standpoint.</p>
<p>I mean, I am still signing my transactions with my private key. Sure, the public node could just not broadcast my transactions or even show incorrect balances to me but it cannot fake or alter my transactions.</p>
<p>Do I see something wrong here? Would be curious to hear in what way a public node could be problematic from a security standpoint. Is there some detailed guide explaining the possible attack vectors that a private node mitigates?</p>

<wallet><security><full-node>
Security Of Public Bitcoin Nodes / Servers
Neo
# Security Of Public Bitcoin Nodes / Servers

(Asked by: username_0 on 2023-12-28)

I have been wondering about the security of using public bitcoin nodes with your wallet. E.g. sparrow wallet offers three connection options (public nodes, your own bitcoin core node or a private electrum server with bitcoin core) and the docs recommend to use your own bitcoin node / electrum server if you are storing larger sums.

I see the point that using your own node offers more privacy (which in turn can offer security in the sense that no one knows your addresses which could make you a target), however, I don't see how using a public server is inherently less secure from a cryptographic standpoint.

I mean, I am still signing my transactions with my private key. Sure, the public node could just not broadcast my transactions or even show incorrect balances to me but it cannot fake or alter my transactions.

Do I see something wrong here? Would be curious to hear in what way a public node could be problematic from a security standpoint. Is there some detailed guide explaining the possible attack vectors that a private node mitigates?

**Tags:** wallet, security, full-node


---

## 2 answers

### Answer by username_1 on 2023-12-28. Score: 1 | Accepted answer

> I mean, I am still signing my transactions with my private key. Sure, the public node could just not broadcast my transactions or even show incorrect balances to me but it cannot fake or alter my transactions.

This is all correct.

> Do I see something wrong here?

No, but I think you're missing that only you being able to sign transactions over your coins is just a small aspect of using the currency.

If you trust another party to determine your balances/payments/coins, they can make you believe you were paid while you weren't. If that happens, your transactions (which indeed, only you can sign) will be spending non-existing coins.


---

### Answer by username_2 on 2023-12-28. Score: 0

Public nodes can potentially link your IP address to your Bitcoin addresses. This might not be a significant issue for everyone, but for those who prioritize privacy, running your own node helps in keeping your transactions more private.
When you connect to a public node, you are trusting that node to provide accurate information about the state of the Bitcoin blockchain. While most public nodes are run by reputable individuals or organizations, there is a level of trust involved. A malicious public node could, as you mentioned, selectively choose not to broadcast your transactions or provide incorrect information.
If the network connection between your wallet and the public node is compromised, it could potentially be exploited. Running your own node locally can reduce the attack surface.

> **Comments:**
> **username_0**: Thank you for your comment. Could you elaborate how a compromised connection between me and the public node can be exploited? Aside from the mentioned censoring and providing incorrect blockchain state data, I don't see other potential attack vectors. As long as I sign my transactions with my private key, worst case is that they are not broadcasted.  
> **username_2**: If an attacker can intercept the communication between your wallet and the public node, they might attempt to alter your transactions or gain information about your wallet's activity. And Potential exposure of your IP address, Manipulation through the setup of fake nodes, Analysis of metadata revealing patterns in your wallet activity, etc. many users may not encounter such issues with reputable public nodes.  
> **username_0**: I don't see how an attacker could alter my transactions. He can censor them, yes, alter no.  

---

