0

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?

2 Answers 2

1

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.

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.

3
  • 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
    Commented Dec 28, 2023 at 11:55
  • 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
    Commented Jan 16 at 5:43
  • I don't see how an attacker could alter my transactions. He can censor them, yes, alter no.
    – Neo
    Commented Jan 23 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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