1

I used to think it is the miner who verify the transaction, but it turns out this is really a joint work by the miner and the full nodes; the miner broadcasts the newly discovered block, which contains transactions to the network of full nodes, but it is up to the full node to decide whether to accept them.

Then my question is, even if someone controls the majority of the hash rate, if he does not compromise majority of the full node, can the network simply reject to include the blocks that he broadcasts?

  • How would the network know which blocks to reject? The system uses mining power to agree on precisely this. – David Schwartz Jan 19 '18 at 10:49
1

51% of mining power would be more effective for attacking the system. if you have 51% of all full nodes, you can't do any attack with your nodes.

1

I used to think it is the miner who verify the transaction, but it turns out this is really a joint work by the miner and the full nodes; the miner broadcasts the newly discovered block, which contains transactions to the network of full nodes, but it is up to the full node to decide whether to accept them.

Miners' job is to produce blocks that the network (of fully validating nodes) finds acceptable. Their job is deciding which version of otherwise valid history is the one to accept. They do verify transactions - not because it is their job, but because they are incentivized to. If they didn't, they could be tricked into creating a block the network wouldn't accept, a monetary loss for them.

Then my question is, even if someone controls the majority of the hash rate, if he does not compromise majority of the full node, can the network simply reject to include the blocks that he broadcasts?

"Majority of full nodes" does not mean anything. Nodes don't have an identity, and they're not counted in any way. It's not like nodes will be persuaded by their peers to accept an invalid block if there are enough peers. No, fully validating nodes fully validate. They will accept any blockchain that satisfies all their rules - and among those, treat the one with the most amount of work as reality. But they will never accept invalid blocks, regardless of the amount of work, or how many of their peers accept it.

However, the big question of course how do you choose what rules to enforce. Or more practically, how do you choose what node software to run; there is no authority to declare what rules are the real ones - having that would just be moving the problem of centralization elsewhere. As a result, it is often said that this is decided by the "economic majority". This is a confusing term, as there is no majority (as in 51%) of anything involved here. It is a sociopolitical concept applying to humans and organizations, and not a technical term.

So to answer your question: the number of nodes is completely irrelevant. However, if most businesses and organizations involved in bitcoin would announce they're going to switch to different rules, perhaps you would be convinced to do the same.

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.