‘Centralisation’/’decentralisation’ has become one of the major buzzwords within the bitcoin space. That is not to say that it is an unimportant concept. In a system that is supposed to be fundamentally decentralised, centralisation and the factors that can affect it are key to understanding its security model. So what do we mean by ‘centralisation’? Well, ‘centralisation’ tends to have quite a nebulous meaning within the bitcoin space. When someone says that things need to be more ‘decentralised’ or that something is causing ‘centralisation’, people can be talking past each other. In this article, I would like to discuss the different meanings of the words ‘Centralisation’/’decentralisation’ that are being used within the community and look a little deeper into the importance of understanding why and how it is important.
The General Concept of ‘Decentralisation’
The general meaning of ‘decentralisation’ is in reference to a power structure (power in terms of control, not electricity). A decentralised security model relies on the fact that no one entity holds the majority of the power in the system. This is the inverse of traditional power structures which tend to be centralised. For example in governments you will normally have one leader, a president or prime minister, that is able to make top-down decisions about the running of the country. i.e. the power is centralised at the top of the hierarchy. Another example would be the CEO of a company is able to make top-down decisions that the rest of the company needs to follow. In general, in a decentralised system, you would aim to have power spread relatively evenly across as many entities as possible so that no one single entity or small group of entities can make a decision that is dictated to the rest of the system.
The Relevance to Bitcoin
Bitcoin’s security model relies on the fact that no one entity controls the majority of power. More specifically it relies on the fact that no individual miner controls the majority of the hashing power. If a miner or cartel of miners control a majority share of hashing power then they can attack the network by selling bitcoins and then causing a reorg of the blockchain so that they get their bitcoins back but also get to keep what they sold the bitcoins for. For this reason, a certain amount of decentralisation is needed.
Miner centralisation describes how centralised/decentralised the miner network is. i.e. how evenly spread out the hash power is over how many different miners or pools. Contrary to how this data point is commonly brought up, this is not binary. Miners are not either centralised or decentralised. It is a scale. On one end of the scale there is every single human on the planet acting as an individual miner with an exactly equal share in hash power, and on the other end of the scale, there is one single miner with the entire network hash power. Both of these scenarios are essentially impossible, but somewhere on this scale, the actual state of the bitcoin network will lie, and this position changes over time.
In the early years of bitcoin, the network was (in terms of miners) more decentralised because all miners were mining using normal desktop computers and laptops. This is because the software had not yet been developed to be able to mine on GPUs. Then later on after this software was developed, the network almost completely switched over GPU mining. When this happened, in a way the network became more centralised in terms of mining, because a GPU mining is less accessible than CPU mining. After that came the ability to mine on custom hardware. First in the form of FPGA mining machines and then ASIC mining machines. This limited the accessibility of mining even further. While anyone is still free to mine bitcoin using any kind of computational device, including CPUs, GPUs, FPGAs and ASICs (or even a pen and paper and a brain), it is not practical or profitable without some sizeable investment and access to very low cost or free electricity. This has therefore increased the barriers to entry into mining bitcoin even further and therefore increased centralisation further.
There are unlikely to be any further revolutions in bitcoin mining technology like when it went from CPU to GPU, or GPU to FPGA. This means that there will only be evolutions in technology (e.g. going from 16 nanometer ASICs to 7nm ), therefore the mining landscape in terms of technology is unlikely to change much in the future. This means that, for the foreseeable future at least, mining centralisation is unlikely to get significantly worse in terms of mining technology. In fact, there are arguments that bitcoin mining may become commoditised in the future when the technology improvements slow down, due to the fact you can use the heat generated in doing the proof-of-work. Miners could be put into peoples homes as a way of generating free/low-cost heat.
There are other factors that can have some effect on miner centralisation. The price of electricity is a key factor that will determine the localisation of miners. Miners are unlikely to mine in areas of the world where the cost of electricity is high. For example mining in Germany where the cost per kilowatt-hour is roughly $0.30 is unlikely to be competitive against mining in Iceland or China where the cost per kilowatt-hour is $0.05 or less. This is because the miners’ main concern is the profit they are making (or not making) and the cost of electricity is a major factor in this. Therefore they will tend to centralise in areas with cheap or free electricity.
Another factor in miner centralisation is the speed at which miners are able to propagate blocks across the network, and more specifically, to other miners. When a miner has performed proof-of-work and has found a block, they want to tell the network they have found a block as quickly as possible. This is because another miner may have also found a block at roughly the same time. If the other miner can tell the majority of the miners and network before the other miner does, then their block will be built upon. If they do not then they will lose out on the reward. Also, the more time it takes the block to propagate the more time the network is mining for nothing as a block has already been found.
A miner who is able to propagate blocks faster, therefore, has a slight edge over a miner who can only propagate blocks more slowly (all things being equal). This means that miners who are more well connected are therefore more likely to have an edge of miners who are more poorly connected (all things being equal). This creates a centralisation pressure to become more closely connected with other miners.
This centralisation pressure from block propagation has largely been made a moot point thanks to most of the miners using the relay network and thin blocks/compact blocks.
Full Node Resources
Miners/mining pools are by definition a bitcoin full node. If the resources required to run a full node increase then this could push out smaller miners who are not able to afford the cost of running this node. For example the cost of hard drive space, memory, internet bandwidth. In reality, this centralisation pressure is likely to be minor compared to the other centralisation pressures.
Non-mining Node Centralisation
This meaning of ‘centralisation’ is typically meant in the context of the number of nodes in the network. i.e. if the number of nodes in the network is decreasing then the network is centralising. In my opinion, this is a poorly understood concept in bitcoin and there is a lot of misinformation about this. I would recommend reading my article Understanding Bitcoin — Validity is in the Eye of the Beholder to get a more in-depth understanding of the significance and difference between mining and non-mining nodes. Non-mining full nodes do not secure the network beyond providing a large number of backups of the blockchain so that other nodes can sync and validate the blockchain. Non-mining full nodes operated by economic entities such exchanges and other businesses do provide significant value to the network but not security.
Bitcoin currently has around 6000 nodes that allow both incoming and outgoing connections. The significant majority of these are non-mining full nodes.
There is a worry within one sub-section of the bitcoin community that increasing the resource requirements of running a full node will decrease the number full nodes in the network, and that therefore this is a reason to limit the number of transactions that can happen over a given period of time i.e. by limiting the block size limit. There is a counter-argument to this that states that; by increasing the number of transactions that can happen on the network over a given period of time, the network will be able to accommodate a larger number of network participants. This will, therefore, lead to an increase in the number of people willing to run a full node, thereby counteracting the negative effects of the increased resource requirements. There is also a second counter-argument to the belief that the block size limit should remain small, and that is that technology improves and comes down in cost over time, especially the cost to perform computations. This means that if the network is allowed to grow inline with technological growth then there will be zero centralisation pressure on the non-mining full nodes.
Economic centralisation is, unfortunately, a poorly understood concept within the bitcoin community. This was touched on in the previous paragraph in the argument that says the block size limit should be increased to allow a larger number of network participants. Part of bitcoin’s security and incentive model are based on the fact that bitcoin’s network participants are incentivised to support the network in whatever way they can. This means that the more network participants the bitcoin economy has the stronger and more secure the network becomes. Every network participant is incentivised to support and promote bitcoin. For example, if a politician in Spain becomes a network participant of bitcoin then he is more likely to protect bitcoin within the Spanish political system. If twitter integrates bitcoin payments then it becomes a network participant and will work towards pushing for bitcoin adoption. Every extra network participant that the network gains becomes an agent of the network. This the reason why bitcoin is said to the first DAO (Decentralised Autonomous Organisation). Every network participant gains incentives that align in a way that make them support and promote the network.
Conversely, every network participant the network loses, the more the network centralises down to fewer entities who support its interests. This means that the best thing for the network to do is to grow. The larger it grows the more entities it has defending it.
Development is when the software development of the network has become centralised to a small group of people. As with all things in the bitcoin ecosystem, development of new bitcoin software, especially the software that affects the protocol, should be as decentralised as possible. This means that no one person/small group of people should be able to dictate what does or does not get put into the software. This is to reduce the risk of development becoming controlled by a malicious entity. In the same way that open source development is beneficial to security because of the increased number of eyes looking over the code, decentralised development in bitcoin is beneficial to increase the amount of input to make sure the software development is done in the interest of as many parties as possible.
Bitcoin software development is not like standard software development (for example the development of Linux operating systems). This is because the network should try to all agree on the same protocol. If one set of miners disagree on the protocol rules to another set of miners then they split from each other and will be mining a separate blockchain on separate networks. This is bad for the network effect of bitcoin and causes confusion in the economy. For this reason, miners should generally run software that uses the same protocol as other miners unless they have a very good reason not to.
In bitcoin software development it means that developers will tend to submit software features that do not alter the protocol unless there is a very good reason for it. This is because if anything less than a significant majority of the network implements the new protocol, there will be a network split. Miners are not incentivised to split the network unless they feel it is the best path forward though.
It is important that protocol development remain decentralised so that anyone can offer code to the network and so that code/features do not have to come from an authority.
Currently, Bitcoin suffers from the significant centralisation of development. This is because development has been centralised to a group of people called ‘Core’. Core act as an authority on software development within the bitcoin community. They have a power structure where a small number of individuals are able to allow/disallow software. They are actively hostile to other development efforts outside of their own and wish to consolidate power by pressuring the economy into funneling all development effort through their own development process.
This could be fixed by having multiple development teams which each hold a share of power/influence and miners can take which code they consider to be best for the system.
Why is Decentralisation Important?
Decentralisation is a means not an end. It is a tool that can be used to achieve a certain goal. The goal is not decentralisation for decentralisations sake. I bitcoin decentralisation of the network is used as a tool so that no central authority can make top-down changes. There a number of reasons for this, one of them being that money is something that every person on the planet must use. Being such a fundamental part of our society is considered (by the bitcoin community) that the rules of money should not be chosen by a small and unelected few people, but rather should be agreed upon and influenced by the economy itself (an article discussing the power dynamic in bitcoin is to come). This leads to more fairness in the system as the economy will tend to influence the system that benefits the participants. This is not guaranteed in a top-down centralised system found in the legacy banking world. The other reason decentralisation is used as a tool in bitcoin is for the security model. The security model in bitcoin functions in a way that as long as no individual miner holds a majority share of the network hash power, then they unable to attack the system.
The levels of (de)centralisation of different facets of the network is clearly a complex and poorly understood subject. The fact that decentralisation is a tool and not the goal, means that we can adjust how we use the tool to improve our chances of achieving the goal. The goal of bitcoin is to become a world currency that everyone in the world can use directly and securely to participate in a modern global economy. Decentralisation is one of the tools that is used to achieve this goal.
Hopefully, I have provided a clearer picture of the different meanings of ‘(de)centralisation’ and how it affects the network. Different types of centralisation have different scales of impact on the network and this is an area of research that is currently lacking. This is something I may pursue in another article, where I will try to explore things with a more analytical methodology.
If you can think of any other types of centralisation that i missed, let me know in a comment below.
(This is part of my ‘Understanding Bitcoin’ series of articles. Find links to other parts of this series below)