1

Google says

As of now, there are roughly 12,130 public nodes running on the Bitcoin network.

So in a nearby small city, there are 70,000 people. If 1 household is assumed to have 3 people on average, there are 23,333 households.

Does that mean if each household runs a Bitcoin node using a US$5000 PC and provides some "fake data", now these 23,333 nodes become the majority and can alter the Bitcoin blockchain any way it wants to?

P.S. Maybe "fake data" is too vague. How about: it is not all fake data, but just 1 fake entry that says, "transfer 10 BTC from address 1 to address 2?"

1

2 Answers 2

5

The blockchain is not determined by a majority vote and does not necessarily change if a significant portion of nodes claim an alternative chain is the main chain. Rather the main chain is determined by each node independently, and all nodes arrive at the same conclusion independently because they all are following the same set of rules.

So even if an attacker were able to have more nodes than honest nodes, and those nodes were broadcasting an alternate chain, all of the blocks in that chain would still have to pass validation by the honest nodes before those honest nodes will accept those blocks. This means that all transactions must be valid, the proof of work for every block must be valid, etc. That alternative chain must be valid for it to be accepted by other nodes, regardless of how many malicious nodes claim that it is the main chain.

If the alternative chain contained "fake data" that is invalid, then the entire chain would be rejected as invalid and no honest node would accept it. If the alternative chain is fully valid, and if it has more cumulative work than what honest nodes currently consider to be the main chain, then the honest nodes would switch to that alternative chain.

2
  • I have tried transferring 0.1 BTC from my Exodus, Coinbase Pro to Crypto.com and it took 1 hour or perhaps even close to 2 hours. It said it needed 3 or 6 confirmations or something. So I guess it does not mean 3 or 6 confirmations from 3 or 6 nodes, but rather, it check hundreds of random computers and consider it 1 confirmation... and so it hits hundreds of computer and they all land on the "bad guys", the probability is really small. If it lands on one "honest guy", then the confirmation is not established and considered invalid. Is that how we can understand it? Jan 18, 2022 at 9:07
  • 1
    No. Confirmations is the number of blocks into the blockchain you must go to find the transaction that contains your transaction. 1 confirmation means that the latest block in the chain contains your transaction. 2 confirmations means that the 2nd most recent block contains it. 3 means the 3rd most recent, and so on. Confirmations is not related to nodes verifying your transaction. Of course a transaction can only be confirmed (has at least one confirmation) if the block that includes it is valid.
    – Andrew Chow
    Jan 18, 2022 at 17:18
-1

What you are describing is an eclipse attack -- if the city ran enough nodes with the "faulty" blockchain they could make a node connecting to the network believe that that blockchain was the reality. This chain however would differ in the hashes that it contains so clients would reject it.

There are checkpoint hashes within that are hard-coded into clients: Which blocks get to be checkpoints?

The "fake data" you describe would be easy to disambiguate from a higher proof of work chain (which cannot be faked no matter how many computers you have because it requires a tremendous number of hashes that have accumulated from all the miners over many years).

4
  • 2
    An eclipse attack is surrounding a victim node with only attacker nodes, so that it cannot learn about the true chain. Just spinning up more nodes is not nearly enough for that. As long as the victim has any connection to the honest network, even just a single one, they'll learn about the true chain and switch over. Jan 17, 2022 at 2:35
  • what if it is not all fake data, but just 1 fake entry that says, "transfer 10 BTC from address 1 to address 2?" Jan 17, 2022 at 2:42
  • 4
    Any invalid transaction would be detected by an honest node and that chain would be discarded
    – meshcollider
    Jan 17, 2022 at 3:27
  • You're linking to another question where the answer is "none", which directly contradicts what you're saying. There are no checkpoints.
    – Jannes
    Jan 17, 2022 at 14:16

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.