How Is Bitcoin Updated Nowadays
Bitcoin was originally planned as an open source program. Anyone can take part in its development (of course, if he or she is sufficiently experienced in this matter). As a concept, Bitcoin has a number of properties that make it unique:
- It is homogeneous. There are no special types of nodes or any privileged participants. All cases when nodes have some additional abilities, like mining or support for light nodes, are simply a full set of node functions. It's not a full node that has additional rights. It's a light node that partially refuses them.
- It is decentralized. This property comes from the previous one: since there are no privileged participants in the network, the central node also does not exist.
- It is fair. The rules are known to all network members, and if someone decides to break them, the rest will check the actions of this member. Therefore, cheating here is almost impossible. The only way to do this is to take advantage of imperfections the rules have.
As a software, Bitcoin makes things more complicated. Although the majority of nodes use the Bitcoin Core client, some nodes opt for other programs, which makes some processes more complicated as a result:
- Updates. Obviously a single source of software is better than several when it comes to updates. We might take Internet browsers and their plugins support as an example. If your favorite browser has a slow update process, it may take some time to receive the same functionality.
- Blocks and transaction standards. The most striking example is the improvement of SegWit. This update was introduced to improve scalability and transaction time. If there is a node with an outdated wallet that doesn't recognize a new standard, it may be even cut off from the blockchain.
- Fork problems. Each new update is executed as a fork. As the number of new wallets increases, the number of blocks created in accordance with updated rules rise too. In certain circumstances, this may lead to a fork and the community will get separated.
Let's talk in more detail about updates in the Bitcoin Core client.
Updates In Bitcoin Core
Bitcoin Core is the most popular wallet software in the Bitcoin environment. It is used by over 96% of all nodes as of March 2019. It has its own versatile website with the webpage used to record all updates. A brief look at this page shows the following:
- Updates are signed with quadruple numeration. The last fourth number is rarely used though. In fact, starting from August 2016 when 0.13.0 was released, there is only one update with four numbers — 0.17.0.1.
- Updates can be of different sizes. For example, the 0.17.1 version is presented as a small update, while 0.17.0 is considered the big one.
- Updates are released as soon as they are ready, there are no strict time intervals.
Every single update consists of several parts, which are:
- Update download links; usually from several sources.
- A brief description with a link to the GitHub bugtracker.
- Some details about the update process if necessary.
- Warnings about possible problems.
- Compatibility issues and known problems.
- An extended list of changes.
There is enough information to understand changes an update contains. All of them are explained as thoroughly as possible. Moreover, some of them are results of BIP implementations. Thus, they have a link to a particular BIP page that provides the list of people who participated in the update production.
The Bitcoin Core client is the most popular choice for participants of the Bitcoin environment, and there are many reasons for this. After examining the approach chosen by the developers to update the client, we can conclude that this policy definitely contributed to the growing popularity of this software.