0

Let's say the only full-nodes in the network were the mining nodes. If you joined the network as a full-node, what problems or attacks could happen in such a scenario? Also, what problems or attacks could happen to SPV clients that aren't already likely in the current network environment?

At what point are these problems or attacks likely to start happening in terms of number or percentage of the network's full nodes run by independent people/entities?

1 Answer 1

1

By running a full node, you ensure that your bitcoin transactions are valid and received by the network, and that your bitcoins are 'playing by the rules you want' (you implicitly agree to the rules of the code by running the node).

So if you are not running a node, you are depending on other nodes in the network to relay this information to you.

The less nodes that exist, the easier it would be for a majority of nodes to coordinate and change some rules, and so users that are not running their own nodes may then unknowingly have the rules changed on them.

13
  • Could you please elaborate on how a majority of nodes could coordinate to change some rules? Its not clear to me how that would happen.
    – B T
    Dec 24, 2017 at 21:18
  • The network's nodes explicitly define the rules of bitcoin. There are a few different situations that could be considered (soft forks vs hard forks, percentage of nodes that enforce the change, etc), but for example: a majority of nodes could implement a soft fork change to make the rule set more strict in some way. So as a user, it is in your best interest to run a node, thereby 'voting' on the rules you want to play by, so to speak.
    – chytrik
    Dec 25, 2017 at 9:14
  • If a majority of nodes implement a soft fork, your full node wouldn't be able to stop them. So I'm not sure that's really a relevant example. Isn't it always possible for the network to be sybil attacked by an adversary creating a ton of full-nodes? It seems like even if you could only connect to miners any node can still verify those miners are playing by the rules they accept, even if there are no other full nodes out there. I'm struggling to understand the importance of full nodes in the network.
    – B T
    Dec 25, 2017 at 10:44
  • You're correct, if a majority implement the change, your node would not be able to stop them. However, my point is this: Consider a network with 1,000 users. If there are only three nodes on the whole network, then it would take only two nodes to force a change. If the network had 1,000 nodes, then ~501 would be needed to force a change. Obviously, a situation where two users can make a decision for the entire network is less preferable than a situation where 501 users must coordinate and agree. It really comes down to this: do you want to have a voice in the rules your money plays by? Or not?
    – chytrik
    Dec 26, 2017 at 7:21
  • Re: sybil attacks: you could spin up a million nodes, but if they have no significant economic activity, then it would be of no importance to the rest of the network whether or not your sybil nodes consider the 'old rules' blocks valid or not. So more accurately, the economic majority of nodes is what is important, though admittedly this is a more difficult thing to measure than the absolute number of nodes.
    – chytrik
    Dec 26, 2017 at 7:29

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.