Bitcoin Core development and improvements
Bitcoin Core development started with version 0.1.0. This is considered the first implementation of the Bitcoin software created by Satoshi Nakamoto. It was only available for Windows. In version 0.2.0, support for Linux systems was introduced for the first time and later MacOS.
Nakamoto participated in the development and improvement of Bitcoin Core until version 0.3.19 in 2010, then abandoned the project, leaving it in the hands of Gavin Andresen. It was Andresen who later, in 2014, gave the project to Wladimir J.van der Laan and other major developers.
In version 0.3.20 the testnet testing network. And from version 0.5.0 of 2011 it started to be called Bitcoin-QT. This referring to an implementation based on the MIT licensed Qt4 graphical interface library. It was developed by the developer Wladimir Van der Laan and provides a friendly interface to Bitcoin code. All in order to make its use easier, friendlier and more intuitive for users not familiar with programming.
Later, in version 0.9.0, the software recovered the name of Bitcoin Core, and in it, transaction fees were reduced as a measure to encourage the completion of microtransactions.
Leaving OpenSSL behind and improving capabilities
In its early days, Bitcoin Core used OpenSSL for many crypto operations. However, this started to change in 2015 due to bugs discovered in OpenSSL. Among the security flaws was one that allowed an attacker to read the memory of a server and obtain private keys. Another bug detected is that OpenSSL uses a "weak" font for random numbers, and the Bitcoin Core developers decided to create their own font. For those reasons, OpenSSL was removed from the Bitcoin Core source code.
In version 0.11.2, developers incorporated a feature into the network, where certain future conditions could be established to prevent the expense of some transactions. Then with version 0.12.1 the functionality of allowing multiple soft forks simultaneously.
Almost close to 100 collaborators worked on version 0.13.0, where they introduced more than ten significant changes. For 2016, the soft fork was activated CheckSequenceVerify. In that same year the soft fork of followed as an improvement to transaction malleability and the space of the blocks without changing their size.
In 2018, version 0.16.0 was released, which allowed the use of a native address format for SegWit, also called an address format. bech32, which was originally developed by Peter wuille y Greg Maxwell.
The risks of centralization
As we have said, Bitcoin Core is the quintessential Bitcoin client. It is not just any client, it is the most used. On the Bitnodes website it may look As the Satoshi client (that's what Bitcoin Core is called internally), it is the client of over 95% of all nodes connected to the network.
This has a positive part: all the nodes speak a very homogeneous protocol. However, this also has a negative and potentially horrible side for some detractors: the control capacity that the developers of that client have.
Although a client is nothing more than a program that implements the Bitcoin protocol, it must be understood that the protocol alone does nothing, requires the program to execute it. For this reason, this program has control over which parts of the protocol to implement and which not, for example what BIPs to integrate.
Although it is true that it is an open source program, which we can see its code and even propose changes, only a small group of programmers has the control so that those changes enter the program. A small and closed group, which is constantly tempted with offers from multinationals and governments. After all, open source software does not give money directly, and they must live on something, corporations and governments know this and have the ability to fool with what is necessary, putting these programmers on the payroll and lobbying them as a lobby to direct the functionalities in one way or another. Just like in politics with representatives.
In this situation, being the client par excellence and seeing how complicated it is to create a new client where committed and anonymous developers without the ability to be corrupted maintain the code, some developers chose to do a hard fork Bitcoin.
The centralization problem is something real, a problem that Bitcoin seeks to solve, but without a doubt there are still many opportunities for improvement that exist around Bitcoin and this concept.