Behind the dynamic scene of Bitcoin, there’s a foundational piece of engineering that keeps the ecosystem running: Bitcoin Core. This computer program is the backbone that keeps the Bitcoin system secure, operational, and decentralized.

In this article, we will delve into Bitcoin Core, explaining what it is, how it operates, and why it’s so pivotal for Bitcoin.

What is Bitcoin Core?

Bitcoin operates through a decentralized network of nodes that communicate and verify transactions. The code is open-source, meaning anyone can inspect, copy, and attempt to enhance it. Bitcoin Core, on the other hand, is a software — a computer program that connects the Bitcoin network together. While there are other software options available, Bitcoin Core is the most widely used, and it’s where most Bitcoin developers focus their efforts.

This is because Bitcoin Core is based on the original reference code created by none other than Satoshi Nakamoto in late 2008. Satoshi was the inaugural maintainer of Bitcoin until his departure in late 2010, after which various individuals took over the role. If you think about it, Satoshi was the first developer who stepped down from being a Core maintainer.

The software was initially released under the name “Bitcoin” but was later renamed “Bitcoin Core” to distinguish it from the Bitcoin network. For this reason, it’s also known as the Satoshi Client.

Anyone can join the discussions and decisions regarding the code. These decisions are settled by consensus, not by voting. That is, it’s not majority rule. Any significant foundational change requires near unanimous agreement across the network.

This is exactly why developers don’t hold power over the network. They can’t arbitrarily change the rules for their own benefit; it simply wouldn’t fly. The network of nodes won’t accept unknown and sudden changes.

Many critics argue that predominantly using Bitcoin Core centralizes the protocol, but this isn’t true.

People tend to default to Bitcoin Core in the absence of other more verified, tested, and secure software.

How Does Bitcoin Core Work?

Bitcoin Core is part of the Bitcoin network, which means it downloads, validates, and broadcasts transactions across the network. To do this, Bitcoin Core fetches the entire chain of Bitcoin blocks – the blockchain – which is a record of every transaction ever conducted on the network.

Bitcoin Core maintains a log of all Bitcoin transactions ever made since its inception. This log is termed the “blockchain.”

Now, you might ask, “Why do we need a record of all transactions?” The answer is simple: it’s what renders Bitcoin secure. Every transaction logged in the blockchain is verified by a network of computers globally.

This verification process ensures all transactions are genuine, and no one can double-spend the same Bitcoin. This is where Bitcoin Core truly stands out — it allows anyone to join this verification network, thereby bolstering the security and transparency of the Bitcoin system.

Who Maintains This Software?

The caretakers of Bitcoin Core are developers who dedicate part of their time to it.

There are maintainers — akin to stewards or guardians of the access keys that allow code modifications.

There are also other developers meticulously inspecting every code detail for bugs or suggesting improvements. These are extensively discussed on open platforms, such as GitHub, where everyone can track and participate.

Who Are the Maintainers?

Currently, there are four Bitcoin Core maintainers, each responsible for a specific facet of Bitcoin:

  • Michael Ford oversees the build system.
  • Hennadii Stepanov handles the network’s user interface.
  • Andrew Chow manages wallet programming.
  • Gloria Zhao writes and reviews the code governing Bitcoin transaction validation.

PGP Key

Maintainers possess a PGP (Pretty Good Privacy) key, allowing them to sign, encrypt, and decrypt information. Anybody can have a PGP key; it’s not exclusive to Bitcoin maintainers.

These keys reside in a file in the Bitcoin Core repository on GitHub. When someone becomes a maintainer, their key is added to the repository, and upon their departure, it’s removed.

But if anyone can have a PGP key and become a maintainer, what prevents malicious actors from adding their keys and wreaking havoc on the code?

The reason it doesn’t happen is that, like any change to the Bitcoin network, you must make a Pull Request, commonly known as PRs.

PRs let you notify others about changes you’ve pushed to a GitHub repository. Once a pull request is opened, you can converse and review potential modifications with collaborators and append follow-up commits before your changes merge into the base branch.

This mechanism is used for updates, bug fixes, and also for adding code maintainers.

Inside the World of Bitcoin Core Development

There are thousands of people looking after Bitcoin Core. Though only 4 developers are the official maintainers of Bitcoin, there are thousands more worldwide rigorously reviewing the Bitcoin code and being trained to do so.

In Brazil, for instance, we have Vinteum, a non-profit organization working hard to train more devs for Bitcoin and emphasizing open-source development.

On the Github platform, where devs put forth their update proposals and openly discuss topics, this green graph reveals a rising trend in contributions over the past 10 years.

Contributions Bitcoin Core

The peak was at the end of 2020, aligning with the onset of the latest bull run.

It’s intriguing to observe how price rallies attract new devs to contribute, increasing the volume of submissions on the graph, whereas bear markets tend to dampen the enthusiasm.

Price volatility seems to bring with it volatility in the eagerness of new devs to contribute to Bitcoin.

Pulse

On that same page, further down, you can see individual developer contribution volumes over time.

individual developer contribution

Clicking on “pulse” brings up a screen displaying all the latest updates and tweaks merged into the code. In May, for example, there were 77 adjustments made to the code, with 41 still in the queue for discussion and integration.

This all underscores the fact that devs have never stopped working, and it doesn’t look like they will any time soon. Since Satoshi Nakamoto released the original Bitcoin version, the number of developers has surged—thousands have contributed to Bitcoin Core.

Bitcoin is not centralized!

The lead developers are not a centralized group of individuals. There isn’t a single leader, CEO, or even a senior dev instructing on what to build or how to do it. Many remain entirely anonymous, ensuring that the merit of emerging ideas is based on skill rather than reputation or background.

Today, Bitcoin boasts about 1,000 software engineers actively contributing to the protocol. Assuming they would earn between $150k to $200k annually for similar roles in a company, that translates to around $200 million annually to sustain core devs and keep the Bitcoin code reviewed and refined.

Many devs volunteer their time without such compensation. However, it isn’t always feasible for everyone to do so.

Companies like Spiral, Chaincode Labs, and Brink are stepping up to raise funds to support these developers in their ongoing efforts.

This is a stark contrast to other protocols that conduct ICOs, pre-sell token quotas to investors, or secure VC funding by offering tokens to insiders before going public. This is how many companies secure funds to pay their devs.

But Bitcoin never went down this route because it’s not a company.

No ICOs, no pre-mining, no early investors, no pre-sales, and no foundation collecting funds or determining the next update through a roadmap.

Bitcoin is the antithesis of all this because it’s genuinely decentralized; it’s a protocol, not a business. It relies on contributions from individuals aligned with the mission of decentralization.

Understanding Bitcoin Core’s Role

What’s the Purpose of Bitcoin Core?

Bitcoin Core fulfills several functions:

  • Full Node: As a full node, Bitcoin Core enhances the security and decentralization of the Bitcoin network. It verifies every transaction and block, ensuring they adhere to Bitcoin’s rules. Anyone can run a Bitcoin node from their home computer—provided they meet some basic criteria, which we’ll detail below.
  • Wallet: Bitcoin Core comes with a Bitcoin wallet, allowing users to store, send, and receive bitcoins.
Bitcoin Core Wallet
  • Development Platform: Bitcoin Core also serves as a platform for devising new features and experiments that could eventually integrate into the Bitcoin protocol.

How to Run a Node with Bitcoin Core?

Running a node with Bitcoin Core is a way to actively participate in the Bitcoin network, contributing to its decentralization and security.

By running a node, you become a part of Bitcoin’s P2P network, verifying transactions and helping to maintain network consensus.

In this step-by-step guide, we will demonstrate how to run a node on your own computer.

To get started with Bitcoin Core:

  1. Download and Install Bitcoin Core: Visit the official Bitcoin Core website and download the version that matches your operating system. Follow the installation instructions to set up the software on your computer.
  2. Sync the Blockchain: After installation, launch Bitcoin Core. The program will initiate the synchronization of the blockchain, which may take some time depending on your internet connection speed. During this process, Bitcoin Core will download all past transactions and verify their validity.
  3. Configure Your Internet Connection: Ensure that you have a stable internet connection to allow your node to connect and interact with other nodes on the Bitcoin network. Typically, Bitcoin Core automatically configures the network connection, but you can adjust settings manually if necessary.
  4. Keep Your Node Updated: It’s essential to keep your Bitcoin Core node up to date with the latest software versions and security updates.
  5. Protect Your Private Keys: When running a node with Bitcoin Core, you also have an associated Bitcoin wallet. Make sure to secure your private keys, which are used to access and control your bitcoins.

Ensure you meet these minimum requirements

Attention! Before running a node with Bitcoin Core, it’s essential to ensure that your computer meets the minimum requirements necessary for optimal performance.

Minimum requirements may vary depending on the operating system and software version, but here are some important aspects to consider:

  • Desktop or laptop hardware running recent versions of Windows, Mac OS X, or Linux.
  • 7 gigabytes of free disk space, accessible at a minimum read/write speed of 100 MB/s.
  • 2 gigabytes of memory (RAM).
  • A broadband internet connection, with at least 400 kilobits (50 kilobytes) per second upload speeds.
  • Dedicate at least 6 hours per day for your full node to operate. (You can use your computer for other tasks simultaneously).

Conclusion

Bitcoin Core is an integral part of the Bitcoin ecosystem, ensuring its decentralization and security.

Whether you’re a regular user, a miner, or a developer, understanding how it functions can provide deeper insights into Bitcoin’s fundamental operations.

Share this blog post:
Written by
Author image
Carol Souza

Carol is one of the leading Bitcoin educators in Brazil. She has participated in Bitcoin and Lightning developer seminars at Chaincode (NY) and is a speaker at Bitcoin conferences worldwide.

Newsletter
Get all the latest posts delivered straight to your inbox.