What scenario could a lack of bitcoin full-node cause problems in the network?

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?

B T

Posted 2017-12-23T23:15:29.017

Reputation: 1 134

Answers

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.

chytrik

Posted 2017-12-23T23:15:29.017

Reputation: 10 276

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 2017-12-24T21:18:52.187

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 2017-12-25T09:14:27.260

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 2017-12-25T10:44:35.007

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 2017-12-26T07:21:17.450

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 2017-12-26T07:29:10.127

"If there are only three nodes.. then it would take only two nodes to force a change." - Are you talking about miners? Full nodes can't force any kind of change without miner consent. And in the case of miners, number of nodes doesn't matter, only percentage of hash power.B T 2017-12-26T08:04:39.060

"Full nodes can't force any kind of change without miner consent." True, but if the majority of nodes start ignoring the miner's blocks as invalid, then the miners have incentive to play along with the rules enforced by the majority. The game theory becomes complicated, but ultimately it is important to understand: the job of the miner is not to define the rules. Rather, it is to secure the chain according to the rules of a given set of users (nodes). Miners are thus incentivized to secure the most economically popular chain. For more info on nodes enforcing rule changes: http://www.uasf.co/

chytrik 2017-12-26T09:04:12.770

"the miners have incentive to play along" - What incentive? Is the incentive that they're missing out on transactions that require the new rules? I think the consequences of what you're telling me are that it doesn't really matter whether or not you're running a full node or not, but it does matter what rules you're using to create transactions. Is this the case?B T 2017-12-26T23:35:39.993

The miner's incentive is: if the majority of economic activity is ignoring the miner's blocks, then the miners would see more profit creating blocks that serve the economic majority.chytrik 2017-12-27T03:52:00.060

Re: "..it doesn't matter whether you're running a full node or not, but it does matter what rules you're using to create transactions". For any transaction, a user must follow the network's rules to ensure the transaction is valid. By running a node, the user ensures that the network they are connected to is playing by the rules they want. If you are okay with someone else deciding what the rules are, then why not just use a system like Paypal? Bitcoin is about financial sovereignty, a trustless system of value.chytrik 2017-12-27T04:04:53.980

In another situation (where miners are the only nodes, which seems to be an idea you are considering), a colluding majority of miners would be able to force any change they desire onto the system. We expect any rational individual to act in self-interest, so we would expect this collusion to enforce changes that give the miners involved an advantage over other miners. So by allowing miners to act as 'decision-makers' instead of 'network-securers', we should expect they will change the system in ways which increase their profits (most likely, at the expense of users).chytrik 2017-12-27T04:13:29.457

"a user must follow the network's rules" - I don't think that's true. The user follows their own rules and connects to the network their desired rules dictate they connect to. How can a full node exercise power as part of the "economic majority" if they must follow "the network's" rules? Who is "the network" anyway except those nodes the user chooses to connect to?B T 2017-12-27T07:39:12.037

Let us continue this discussion in chat.

B T 2017-12-27T07:39:25.843