← New search

Other meanings of bitcoin

Cryptocurrency

Bitcoin Core

Bitcoin Core is the reference implementation of the Bitcoin protocol, the open-source software that defines the rules of the Bitcoin network and is used by the majority of full nodes. It is maintained by the Bitcoin Core project, a community of volunteer developers, and is the software that most Bitcoin users, miners, and businesses rely on to interact with the blockchain.

0.21.0
Latest stable release (as of early 2021)
Version
~10,000
Approximate number of reachable full nodes running Bitcoin Core (estimated)
Nodes
2009
Year of first release (as Bitcoin)
Year
C++
Primary programming language
Language
1

Overview and role

Bitcoin Core is the most widely used full-node implementation of the Bitcoin protocol, providing the canonical rules for validating transactions and blocks. It includes a full node, a wallet, and a miner, though the miner is largely disabled in modern versions. As the reference client, it is the software against which other implementations are tested for compatibility, ensuring that all nodes agree on the state of the blockchain.1

2

History and development

Bitcoin Core originated from the original Bitcoin client written by Satoshi Nakamoto, first released in 2009. After Nakamoto's departure, development was taken over by a group of contributors, with the project formally named "Bitcoin Core" in 2014 to distinguish it from the network itself. The project is maintained by a group of volunteer maintainers, with major releases occurring roughly every six to eight months. Notable contributors include Wladimir van der Laan, who served as lead maintainer for many years, and Pieter Wuille, who contributed to Segregated Witness and other key improvements.2

3

Key features and technical architecture

Bitcoin Core implements the full Bitcoin protocol, including transaction validation, block propagation, and the consensus rules. It uses a UTXO (unspent transaction output) model to track balances and employs a scripting language for transaction conditions. The software is written in C++ and uses the LevelDB database for storage. It also includes a wallet module that supports hierarchical deterministic (HD) wallets and SegWit addresses. The codebase is modular, with separate libraries for consensus, networking, and wallet functions.3

4

Consensus and governance

Bitcoin Core is not a formal governing body, but its code defines the consensus rules that all nodes must follow. Changes to these rules require broad community consensus, typically achieved through Bitcoin Improvement Proposals (BIPs). The development process is open and transparent, with discussions on mailing lists and GitHub. However, the project has faced criticism for its centralized decision-making, as a small group of maintainers has significant influence over which changes are merged.4

5

Security and reliability

Bitcoin Core is considered highly secure due to its extensive testing and peer review. The project has a formal security disclosure policy and has received funding from organizations like the MIT Media Lab and the Bitcoin Foundation for security audits. However, it is not immune to bugs; for example, the 2018 CVE-2018-17144 vulnerability allowed an attacker to cause a denial of service, but it was quickly patched. The software also includes features like checkpoints and assumevalid to speed up initial sync while maintaining security.5

6

Lesser-known aspects

Beyond its primary role, Bitcoin Core includes several lesser-known features. For instance, it has a built-in Tor support for privacy, and it can be run in "pruned mode" to save disk space. The software also includes a test suite with over 1000 unit tests and a regression test framework. Historically, Bitcoin Core was the first implementation to introduce the concept of "replace-by-fee" (RBF), which allows users to replace an unconfirmed transaction with a higher-fee one. Additionally, the project has a "BIP 9" version bits mechanism for deploying soft forks, which was used for SegWit activation. The codebase also contains a mini-upnp library for port mapping, and it supports multiple operating systems, including Windows, macOS, and Linux.6

Glossary

Full node
A computer that fully validates transactions and blocks according to the Bitcoin protocol rules.
UTXO
Unspent Transaction Output; the set of outputs that have not been spent, used to determine balances.
SegWit
Segregated Witness; a protocol upgrade that separates transaction signatures from the transaction data, increasing block capacity.
BIP
Bitcoin Improvement Proposal; a design document for introducing changes to Bitcoin.
Soft fork
A backward-compatible upgrade to the Bitcoin protocol that only tightens rules.

Bitcoin Core is the backbone of the Bitcoin network, ensuring consensus and security through open-source development.

Served from cache