What Is Bitcoin Core?
Table of Contents
- Bitcoin Core is the most popular software used to connect to the Bitcoin network and run a node.
- Bitcoin Core is open source software, meaning anyone can view, copy and propose upgrades.
- Changes to Bitcoin Core only occur with consensus from the network.
What Is Bitcoin?
Bitcoin is a network consisting of many members, called nodes, who follow the Bitcoin protocol and enforce its rules.
Bitcoin is also the software that each node runs in order to participate in the network. The main version of this software is called Bitcoin Core, and it powers almost all of the nodes on the Bitcoin network, allowing them to enforce the same ruleset and achieve consensus. You can check out the Bitcoin Core website at bitcoin.org.
What is Bitcoin Core?
Bitcoin Core is simply open source code. This means that anyone is able to view, comment, or propose changes to the code. Furthermore, anyone can change their copy of the code as they wish. You can examine the code on GitHub.
Who Runs Bitcoin Core?
Although anyone can propose changes, not all proposed code changes are integrated to Bitcoin Core. Instead, the community intensively reviews and discusses each proposed change and then decides to accept or reject the change. Anyone is able to participate in these discussions, and the decisions are settled by consensus, not by voting.
Once a change has received acceptance by the community, a few individuals who serve as maintainers of the code integrate the changes. These individuals are trusted by the community not to arbitrarily integrate code that has not been approved by the community.
If maintainers breach their trust, they will not compromise anyone’s existing node, and the old Bitcoin Core code can be easily restored by ignoring the malicious changes. Thus, the role of Bitcoin Core maintainer carries respect but very little power or influence.
Who Started Bitcoin Core?
Bitcoin Core is the original implementation of Bitcoin, and it was created by Satoshi Nakamoto in late 2008. Satoshi Nakamoto served as the original maintainer of Bitcoin Core until he disappeared in late 2010, and since then, a series of other individuals have taken over as maintainers. The role of maintainer is handed down on a voluntary basis, and if maintainers lose the trust of the community, they can be removed.
Who develops Bitcoin Core?
Bitcoin’s code has been fully functional since Bitcoin’s launch in 2009. However, as with any software project, there are bugs to be fixed and upgrades to be implemented.
Many individuals work on improving Bitcoin Core. These individuals are called Core developers, and there are no qualifications or restrictions to being a Core developer. Since Satoshi Nakamoto released the original version of Bitcoin, the number of developers has blossomed. At the time of writing, over 750 individuals have contributed to Bitcoin Core.
Core developers are not a centralized group of people. There is no leader or project manager who instructs developers on what to build or how. Instead, Core developers are individuals from across the world who each decide for themselves how they want to contribute to Bitcoin. In fact, some developers, including Satoshi Nakamoto, remain completely anonymous, allowing the merit of their ideas to be judged irrespective of their reputation or resume.
Does Bitcoin Core Control Bitcoin?
Bitcoin Core is open source code. Each node operator in the Bitcoin network chooses the version of Bitcoin they would like to run. This means that the Bitcoin Network is composed of tens of thousands of nodes who run dozens of different versions of the Bitcoin software.
Furthermore, when developers and maintainers make updates to Bitcoin Core, not every member of the Bitcoin network immediately integrates those changes. Many continue to run old software and ignore updates.
This system places control over the network firmly in the hands of node operators, not developers and maintainers. If developers integrate a change to Bitcoin Core, but very few Bitcoin nodes integrate those changes, the network will remain unaffected by the changes.
Additionally, Bitcoin Core is not the only software implementation of Bitcoin. Many other software packages are capable of joining and interacting with the Bitcoin Network. These different implementations interact with one another to form a single, cohesive network, similar to how different internet browsers such as Google Chrome, Firefox, and Safari all access the same internet despite their superficial differences.
Because Bitcoin Core’s code is open source, there are multiple implementations of Bitcoin’s code, written in different languages by different people and each with different design choices.
Nodes can run any of these different software implementations, but all Bitcoin implementations must agree on core features in order to maintain consensus. The entire Bitcoin network must agree on which rules determine the validity of transactions and blocks.
Although there are many different implementations, the original implementation, Bitcoin Core, is by far the most popular, and it is used as the reference implementation, meaning that all other Bitcoin implementations look to Bitcoin Core for guidance and standards.