It would be nice to have somewhere in the code where you could at least block based on names, block ocminer* and then they would have to change it, and then
it would be another block....
What would that accomplish?
Besides. We can be jealous, but not mad at whoever is dominating the hash rate. We're all in it to make $$. So unless some1 is a dirty communist, let others profit. Their investment is MUCH larger than most.
So is their potential loss if things don't work out.
Yeah, this is the part that a lot of people don't realize. There surely are people who make fantastic profits in crypto, but they also take on significant risk, and devote significant time/talent. And in the end, large farms increase the hashrate, help the security of networks, and cause the token to become more scarce, making the token more valuable and validating the network's goals by putting time, effort, and capital behind investing in it.
At the same time, it's always unnerving when one party is known to control the majority of a network's hashrate.
People who talk about ways to "block"
(ha) certain individuals from participating are looking for short-term, hackish solutions. Playing whack-a-mole with actors on the network only adds centralization
and forces those actors underground. If we had a way to reject blocks labeled by "ocminer*"... who makes that decision? How is that enforced? Is it a client update? That'll cause a hard-fork because it changes the consensus rules the network is enforcing (clients who don't update will accept ocminer* blocks, clients who update won't accept them, so the clients who accept the update will be on a different blockchain). If clients are already built to allow enforcement of these rules, then someone has to have the authority to "tell" the network to do this. Is it the developer, who sends a signed message to the network which says "block blocks from ocminer*"? Is it distributed voting (which would be near-useless if a party controls the majority of the network's consensus anyhow)?
And even assuming we could enforce a rule like this without issue, the individual or group making the ocminer* blocks would just switch to another name. Or more likely, they would switch to several, apparently-unconnected names to evade detection.
Here is a grossly-incomplete list of design considerations of a
permissionless, decentralized, distributed, trustless blockchain:
1. There is no reliable way to determine whether an individual or party is or is not active on the network at any particular time (other individuals could be working on their behalf to perform a proof-of-liveliness, etc.)
2. There is no reliable way to determine whether multiple nodes are controlled by a single individual
3. There is no reliable way for the network to block IPs, geographical areas, OSes, etc.
4. There is no reliable way to limit an individual or party to only one node
5. There is no reliable way to limit an individual or party to only one network identity (like an address)
6. There is no reliable way to limit an individual or party to a certain hashrate
7. There is no reliable way to determine whether a particular network identity is owned by the same individual or party as another particular network identity
Note that all of the above
are possible if you're willing to sacrifice decentralization, trustlessness, permissionless, etc.
Also, that doesn't mean that there aren't ways to encourage certain behavior, just no way to require/enforce it. In general, it's much easier to encourage a party *to* do something than to *not* do it.