Today I want to talk about a topic I have thought long and hard about. It is something that in the world of cryptocurrency people want to ignore and they want to believe can exist, but the truth is in its purest form it cannot exist ever. As the title of this post suggests I am referring to decentralization.
Satoshi knew from the early days that at some point centralization was going to take over bitcoin mining. How could it not? There is really no way to prevent it.
I anticipate there will never be more than 100K nodes, probably less. It will reach an equilibrium where it's not worth it for more nodes to join in. The rest will be lightweight clients, which could be millions.
At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN.
The problem with decentralization is that to keep something decentralized, you would need some central authority to prevent the decentralization from becoming corrupted. Online there is just no way.
Why can't decentralization exist online?
A person can easily change their IP address, their computer's MAC address, or pretty much anything about themselves to remain anonymous.
To prevent centralization, some sort of registry would need to exist that would verify each person involved in a decentralized organism only exists once. This is the real problem with mining.
There is simply no way to do prevent someone from running 10000 computers and mining from all of them. The more money one has, the bigger control they have over the ability to mine, and thus govern the future of a cryptocurrency.
We can't stop someone from having more than one cryptocurrency address, so we can't simply say "one address per miner" as one can make any number of addresses.
A centralized compromise
In the US each person has a single social security number, but this is not a global thing. Globally vast amounts of births happen that are completely unregistered.
Equally if a system did lookup ones social security number and assign one mining rig (computer developed specifically to mine) to one social security number then everyone loses their ability to remain even semi-anonymous with a decentralized system and again that decentralization completely revolves around a centralized database storing those social security numbers.
This problem is so great that most alternative technologies have completely given up even trying to be decentralized. For example if we look at many competing technologies, what we find is they have said things like "you must register as a miner" and "you must hold a specific number of coins to be a miner" and in some instances "we only allow a specific number of miners".
These types of solutions all create their own form of centralization - registries storing who can mine, only early adopters can mine, as coins become more valuable only wealthy people can mine, etc.
So the truth is there is no way to truly stop centralization of mining.
Is there a solution?
There are however things that can be done to make the practice a bit harder in my opinion.
We could build protocols that limit the number of solutions per minute that a single miner can submit. We can limit a miner to a single IP. Both of these things would drastically cut down on the ability to mine. That would mean each mining rig would need a unique IP. It would mean running virtual machines would require each virtual machine to have its own IP address.
I am not a blockchain programmer so I don't know how feasible these solutions really are, but if it is possible to implement such features I believe it would make the cost of mining operations considerably higher and harder thus reducing the ability to centralize mining.
Imagine if you have a warehouse of 2000 mining rigs. How expensive would it be for you to have 2000 separate unique IP's for each of those rigs. IP's within and of themselves are not overly expensive however each internet provider only has so many they can offer to their customers. This means one would have to make special deals with Internet Providers to obtain more, or it means they would have to be purchasing their own unique IP's thus adding to their expenses.
More importantly however it means it takes technical knowledge to be able to setup such systems. It wouldn't be as simple as buying a ton of rigs and running them from your provider without special deals and setups.
What this does is opens the door for everyday miners. It means anyone can begin to mine directly from their computers - as the limit of solutions per minute would make it so expensive hardware would not be needed. It would also "hopefully" mean one mining rig per internet connection.
Again these are just ideas I have that I don't really know if they would or would not work but I think something really has to change in the way of centralized mining.
Can centralized control ever stop bitcoin?
Bitcoin as it stands in my opinion, could relatively easily be closed down if central banks wanted to eliminate it entirely.
It would take a few top banks coming together, or a few governments or a combination of governments and banks coming together and buying a few billion dollars worth of equipment to take over the network.
Of course in doing so they would only eliminate bitcoin as a network as protocols such as DAG that have more control over who gets to mine and who doesn't would still be able to exist but the point is, these protocols are not decentralized. No matter how we want to view it, our money or the flow of our money is always controlled by someone else.
As I am not a blockchain developer perhaps this article is just utter nonsense and I am wasting my time even writing it up, but I think serious discussions about how to create a more decentralized mining protocol need to take place.
Worst case scenario nothing changes, or perhaps I get others sharing their thoughts for solutions. Best case scenario, some developers read this post and it sparks them to develop new protocols or make changes in existing protocols that will cut down on the ability to centralize.
As I said from the start, I am aware completely blocking centralization is not really an option so perhaps there is just no point in bothering - but hopefully someone will see my thoughts and ideas and decide its worth it to at least try.