Get started
Get started
This may seem like a simple question at first glance, but it is quite complex. As you know, Bitcoin was created by Satoshi Nakamoto in 2009. It is a peer-to-peer electronic money system that operates without any central authority. But today, who maintains and improves the Bitcoin code? Is there only one software for Bitcoin? What are the powers of each actor (miners, developers, nodes...)? We explain everything you need to know about governance and power within the Bitcoin system in this article.
If you want to decide who controls Bitcoin, you must first know what you mean by “Bitcoin.” To do this, I suggest that you start by differentiating between two different concepts: the Bitcoin protocol and node software.
What is called “Bitcoin” is generally the electronic money system. It is a protocol that specifies rules. It is represented, in concrete terms, by nodes that form a network. This system does not specifically have a code. It's simply a set of big unspoken rules imposed by the consensus of users through their nodes.
On the other hand, those who have computer code, and which can therefore be developed, maintained and modified, are rather Bitcoin node software. They are independent implementations of the Bitcoin protocol, which can connect to the rest of the network.
The best known and most used to date is the software Bitcoin Core. It is often mistaken for the Bitcoin protocol itself. However, it represents only one of the implementations of this protocol. Other well-known software programs include BTCSuite, Bcoin, or even Bitcoin Knots (Bitcoin LJR), an implementation designed by the famous developer Luke Dashjr.
This software is used by network computers to connect to other nodes, validate transactions and blocks according to protocol rules, and propagate transactions and blocks across the network.
To summarize, let's say that the Bitcoin protocol defines the main tacit rules of the system, in line with the ideas of Satoshi Nakamoto. It is an intangible thing. Nodes, on the other hand, are computers that run this protocol. To do this, they can use software that implements these rules. There are various clients of this type, the most widely used one is called “Bitcoin Core.”
➤ Discover what a Bitcoin node is.
Bitcoin Core is the third software in the history of the Bitcoin protocol. The first client was the one created by Satoshi Nakamoto. Some identify Bitcoind as the second customer in history.
Bitcoin Core is the reference open-source software for the Bitcoin system, and is the main implementation of the protocol to date. Originally known as “Bitcoin QT”, it is in line with the original code of Satoshi Nakamoto and introduced a graphical user interface called “QT”. Since version 0.5, Bitcoin Core has been delivered directly with Bitcoind. This software, while being a full node client, also includes an integrated wallet. It is developed and maintained by a large group of volunteer contributors.
To date, Bitcoin Core is predominant within the nodes of the Bitcoin network. It is installed on more than 98% of them.
Source July 2023: https://luke.dashjr.org/programs/bitcoin/files/charts/software.html
It is important to understand that there are then implementations of Bitcoin Core itself. For example, if you install the software Umbrel To set up your own node, it will be a Bitcoin Core client that will run within it.
Although theoretically, Bitcoin Core is only an implementation of the Bitcoin protocol, due to its dominance, in practice, it is he who shapes and defines the protocol itself. This centralization around a single ultra-majority customer is also often criticized.
Bitcoin Core is an open project. It relies on a community of open-source developers with many regular contributors. Among the people who are developing the Bitcoin Core client, two important roles should be separated: maintainers And the contributors.
Maintainers are the ones who are responsible for the project. They are responsible for moderating on The Bitcoin Core GitHub repository and the establishment of the schedule for the release of new versions. They are mainly responsible for leading the fusion of “pull requests” proposed by contributors. In other words, once a proposed code change has passed the various stages of validation, it is these maintainers who take on the great responsibility of merging the new code with the Bitcoin Core software. Before proceeding with this merge, the maintainers check whether the code respects the fundamental principles of the project, if it has reached the minimum standards required to be included, and they also judge the general consensus of the contributors about this change.
Currently, only four maintainers remain on Bitcoin Core: Hennadii Stepanov, Michael Ford, Andrew Chow, and Gloria Zhao.
In the past, there was also a primary maintainer role. This person was responsible for leading the project. The role of main maintainer was naturally taken on by Satoshi Nakamoto until he left at the beginning of 2011. Subsequently, Gavin Andresen, having already contributed alongside Satoshi, took over as head of the software until the beginning of 2014. From that date, Wladimir J. van der Laan took on this role until February 2023. Since then, there have been no main maintainers for the project.
Contributors, on the other hand, are the people who will write code for Bitcoin Core, but also review and test change requests. Anyone is free to contribute to the software. To do this, after developing the code, it must be submitted to the community via a pull request. It is then peer reviewed, discussed, and tested. The process is naturally rigorous and long before reaching the stage of a possible merger.
As the project indicates on Her contribution page, beyond writing code, Bitcoin Core now mostly needs people to review and test the code of other contributors. This work is painstaking and often overlooked, but it is nevertheless essential to ensure a healthy development process.
Even though the maintainers and contributors of Bitcoin Core have undeniable power over the Bitcoin protocol, it is the users who ultimately have the last word.
By running your own Bitcoin node, you are free to choose which code to run. If you do not agree with a change made on the Bitcoin Core client, nothing prevents you from not implementing it, or simply from changing the node software.
Obviously, in fact, some Core developers have some form of power over the system, since thanks to their experience, they have the ability to influence the operators of full nodes. But again, developers produce code, but they don't have the ability to force it to run.
Minors are often included in the process of updating protocol rules. When the implementation of a Soft Fork is launched, they are often asked to report their approval for this change. However, this report should not be interpreted as a vote for governance.
Indeed, the very point of the Soft Fork is to add additional restrictions. This is called the principle of backwards compatibility. This way, full nodes that don't update can still stay connected to the main chain. But on the side of minors, the way it works is different. Even in the case of Soft Fork, there may be a split in the chain if a sufficient portion of minors refuse to apply the update. So as part of a healthy activation that is consensus within the community, we ask minors to signal their approval beforehand, in order to pass the Soft Fork cleanly, without friction.
In practice, the power of miners on the Bitcoin network is quite limited. Unlike users, the role of the minor is not to have principles. It is an industrial activity whose objective is to make a profit. It is even the first condition for their survival, since like any business, they must be able to meet their responsibilities, otherwise they will naturally go bankrupt. The industrial miner must necessarily have a source of income and this source consists of the bitcoins he earns by finding a valid block. If the miner finds himself publishing blocks on a chain that is not in use, then the bitcoins he produces will have no value, and he will slowly move towards bankruptcy.
Due to the industrial nature of mining activity, it is therefore very complex for these actors to enter into a balance of power over the governance of the Bitcoin protocol against users. They don't really have an incentive to do it. The famous adage” The hand that gives is above the hand that receives. ” therefore also applies in the context of Bitcoin governance.
In the end, it is therefore the users who control Bitcoin. First of all, they do it by valuing the units in circulation. If you place your savings in Bitcoin (BTC) on a certain chain, then you are voting for the Bitcoin protocol, which imposes certain rules, in proportion to the economic value that you are able to provide. Obviously, a person who owns a few satoshis does not have the same economic weight as an exchange.
However, valuation is not enough. You also need to be able to choose the rules you want to defend. These rules are imposed by the code, and the code is executed on the nodes. It is therefore absolutely essential to own and use your own complete node. In this way, we can choose the consensus rules that we apply for our transactions, and therefore pay the miners accordingly on the chain that we have chosen. The concept of the economic majority of nodes takes on its full importance here.
It is essential to properly separate the Bitcoin protocol, which is just a set of unspoken rules, and the software that implements it. Among these, the Bitcoin Core client is the ultra-majority on the Bitcoin network, since it represents more than 98% of the nodes. Thanks to its predominant position, Bitcoin Core is in fact the software that guides how the Bitcoin protocol evolves.
Bitcoin Core is developed and maintained by a large group of open-source contributors. However, their power is limited, since they cannot in any way control the code that is executed independently by each node operator.
Moreover, the industrial nature of mining activity means that miners will generally spontaneously follow the economic majority of nodes.
We were therefore able to determine that, in the end, it is the users who control Bitcoin thanks to the economic value they commit to certain rules, which are themselves imposed thanks to their full nodes.
In a future article, we will see concretely how users can impose changes. To do this, we will study the mechanisms of Soft Fork and Hard Fork, as well as the different methods of activating updates that can be used on Bitcoin. Subscribe to our free newsletter to make sure you don't miss out on future articles!
➤ Learn more about the usefulness of running your own Bitcoin node.
Resources: