I am hoping to better understand the difference between miner nodes and validator nodes and the decentralization risks (if any) posed by one party controlling X% of all validator nodes.
I have been making my way through some great resources on validation and miners here:
- https://bitcoin.org/en/bitcoin-core/features/validation
- https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch08.asciidoc
From what I understand, miner nodes do not have to have any of the blockchain downloaded, they can simply create hash attempts as fast as possible and report back to a ‘parent node/mining pool’ who can take the correct hash, form the block candidate, and propagate it to the rest of the network for verification and inclusion. There exists a risk of the 51% attack when a miner (or group of miners) controls the hash rate and is able to create a longer chain or proof of work.
Is there also a similar requirement for the distribution of validator nodes to be decentralized?
For example, if a given party controlled the majority (or even smaller percentage) of validator nodes, could they change their Bitcoin Core code to do any of the following and disrupt the network?
- Reject incoming mempool transactions based on their own implementation of an address block list
- Flood the mempool with faulty transactions and slow things down for all other node participants (ie remove the initial verification checks for transactions (https://github.com/bitcoin/bitcoin/blob/master/src/validation.cpp))
- Work in coordination with a miner to accept a mined transaction block that has invalid transactions
- Reject a valid block that a miner legitimately has created, causing the reward to go elsewhere
