1

Imagine, a datacenter network running full nodes & no user running a full node.

Would that be unsafe? If no, why do bitcoin users run a full node? If yes, why don't bitcoin users run a full node?

2 Answers 2

1

Would that be unsafe?

In practice, no. There are some theoretical attack scenarios that are extremely unlikely (if not impossible) to happen in practice, and I am not aware of any successful attacks on users running light wallets such as Electrum or Ledger, because it would take more than 51% SHA-256D mining power to fabricate a proof that would convince a light wallet of some alternate reality - but the alternate reality would create a hard-fork with no market value so the attacker would lose a huge amount of money just to convince his target.

These wallets may be "light" as in not running a node but they do not have to trust the server (the server runs a node that feeds the required data to wallets), because the server produces a cryptographic proof of your TX(es) inclusion into a blockchain with the highest work.

From the Bitcoin whitepaper (the below is copied from markdown version found here):

Simplified Payment Verification

It is possible to verify payments without running a full network node. A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.

SPV

As such, the verification is reliable as long as honest nodes control the network, but is more vulnerable if the network is overpowered by an attacker. While network nodes can verify transactions for themselves, the simplified method can be fooled by an attacker's fabricated transactions for as long as the attacker can continue to overpower the network. One strategy to protect against this would be to accept alerts from network nodes when they detect an invalid block, prompting the user's software to download the full block and alerted transactions to confirm the inconsistency. Businesses that receive frequent payments will probably still want to run their own nodes for more independent security and quicker verification.

2
  • Any reference to the theoretical attack scenarios? What are vulnerabilities of SPV, if any?
    – skang404
    Nov 23, 2022 at 17:42
  • Here's a succinct scenario: bitcoin.stackexchange.com/a/52956/137501 The client can't verify consensus rules, he trusts that the hashrate which mined the block headers did that already but he can mitigate by verifying header hashes externally from multiple sources, like block explorers. That's really the only attack scenario AFAIK. There's another disadvantage - privacy. You have to get the TX from somewhere, and the server can log your queries/IP. Most popular light wallet protocol is Electrum, here's more on it: electrumx-spesmilo.readthedocs.io/en/latest/protocol.html Nov 24, 2022 at 9:41
0

Imagine, a datacenter network running full nodes & no user running a full node. Would that be unsafe? If no, why do bitcoin users run a full node? If yes, why don't bitcoin users run a full node?

Yes, it will be unsafe. Bitcoin users do run full nodes but not everyone. Its not possible to convince or force anyone. Benefits of running a bitcoin node are shared regularly and its easier to run a node now compared to a few years back.

1
  • Historically, have there been any losses/attacks? Why is this unsafe?
    – skang404
    Oct 15, 2022 at 18:46

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.