While not known by most people, Bitcoin Core is the heartbeat that powers the entire Bitcoin Network. It has been developed and worked on by thousands of hugely talented software engineers and stands as the sole protector of your bitcoin assets. No other software program is like it so today we’re going to explore what it is, how to use it and what it does.
What Is Bitcoin Core?
Bitcoin Core is the open source software that runs the Bitcoin Network. It performs many functions from enforcing network rules, downloading, validating and sharing blocks to being a Bitcoin Wallet. It is not owned or controlled by any single one person, company or entity and was first built and released by Satoshi Nakamoto in 2009.
Bitcoin Core Vs Bitcoin
To help make this a bit clearer, you should be aware that there are three different parts that make up the whole Bitcoin system:
- The Bitcoin Network: This is the physical peer to peer network made up of all the nodes (computers) that communicate to each other all around the world.
- The bitcoin Cryptocurrency: This is the actual cryptocurrency or “coin” of the Bitcoin Network, which is called bitcoin (BTC). Note it has a lower case “b”.
- The Bitcoin Blockchain: This is the ledger or database that contains the entire history of all Bitcoin transactions right back to 2009.
Bitcoin Core is the software that runs on all Bitcoin Nodes in the Bitcoin Network. It’s also the software that enforces all the consensus rules of the network, stores the Blockchain and forwards on confirmed blocks and transactions between each node. It’s what protects your money and helps keep account of what funds are allowed and what aren’t.
- Multi-platform: Supports Windows, Mac, Linux, ARM, RISC-V and more
- Fully Contained: Is a wallet and its own full node all in one
- FOSS: All code is free under the MIT license and Open Source on the GitHub here
- Reviewed: Bitcoin Core is perhaps the most well audited code ever made
- Simple UI: Clear UI that also allows for some more advanced options
- Standardized: Adheres to community standards and supports a wide array of tech
- Single & Multisig: Supports Multisig Wallets with common script types
- Fee Control: Set your Transaction Fees manually or use multiple different guides
- Coin Control: Tag, edit, export and import coin labels to ensure you know what’s what
- Import/Export: Excellent and broad support for exporting and importing of other wallets
- PSBT: Supports partially signed transactions for Airgap Wallets
- Watch Only Wallets: Configure it with your xPub and have a watch only wallet
Who Runs Or Owns Bitcoin Core?
No one. Bitcoin Core is truly decentralized software in that there is no single developer or company that owns or runs it. Anyone can propose changes to Bitcoin Core and the community will then review and discuss these suggested changes, often for multiple years.
There is a full, formal process for these improvements called the Bitcoin Improvement Process or BIP and many hundreds of suggestions have been proposed over the years. These include everything from security upgrades to new features like Segregated Witness and new types of addresses.
Who Controls Bitcoin?
When software gets updated it’s common for users to be forced to download and install it. Sometimes this happens automatically without any option to stop it, however with Bitcoin Core, each user has full control over what version they run.
There’s also a very large emphasis on ensuring that new versions are fully backwards compatible with older versions of the software. At any given time, the Bitcoin network is composed of tens of thousands of nodes all running different versions of Bitcoin Core.
While developers are free to build and release new versions of Bitcoin Core, the control over whether it gets installed and used is fully in the hands of the node operators not the developers. This distribution of control (between the node operators, developers and also miners) ensures that each has to seek consensus with the others in order for a change to fully be accepted and rolled out to the network.
Installing & Setting Up Bitcoin Core
While we don’t recommend Bitcoin Core be used as your primary wallet, it can still be a great cheap way to run a Full Node without having to buy extra hardware. To install it simply go to https://bitcoincore.org (note the “.org” not “.com”) and download the files for your operating system.
There is a full guide available here which includes verifying the files hash and signature as well as installing it and explaining some of the basic default settings.
Instead we recommend you Connect Sparrow Wallet To Bitcoin Core as this way you get all the benefits of a full node backed wallet, but with the excellent user interface and feature set of Sparrow Wallet.
Bitcoin Core Graphical User Interface
Bitcoin Core’s main function is to operate as a full node, enforce the networks rules and relay information to other full nodes. However the software itself has a number of other features available such as Bitcoin QT which is the GUI for Bitcoin Core itself and the embedded wallet too.
Just like with any other Bitcoin wallet, Bitcoin Core has support for things like QR codes, generating a new address, sending and receiving transactions, creating private and public keys and more. It’s a fully functional Bitcoin wallet that’s also had its code reviewed likely by hundreds of thousands of people for bugs and security issues making it very safe.
While it has advanced features such as Coin Control, most people don’t usually use the wallet part of Bitcoin Core as due to it’s extremely cautious and long development cycle, it doesn’t have the latest and most up to date features. Its interface is also quite rudimentary and it has no support for mobile operating systems either.
Initial Block Download (IBD)
Once you’ve installed Bitcoin Core you will need to go through a one time Initial Block Download or IBD process. This is where the software downloads the entire Bitcoin Blockchain, one block at a time, and validates each and every transaction right back to the very first Genesis Block back in 2009. The Bitcoin Blockchain is currently about 585 GB.
As you can imagine, this takes quite a bit of storage space, bandwidth, processing power and time. The faster your Internet connection, CPU and storage is, the faster this process will be. A Raspberry Pi 4 8 GB with a SSD and 100 Mbps Internet connection should complete it in around 2-3 days. An old laptop or desktop with a SSD should do it in less than a day or so.
Bitcoin Daemon & RPC Server
Another important part of Bitcoin Core is its headless daemon “bitcoind”. This is just a program that runs in the background without any “head” or front facing GUI allowing for users to interact with it via the command line.
Why would someone want to do this? Well they could write scripts that use the command line to access all the data contained inside the blockchain. From transaction data to other various stats there’s a wealth of information available. They can also use the Remote Procedure Call (RPC) protocol to connect to it and use it as their own private full node.
Mining With Bitcoin Core
Bitcoin Nodes used to be the same as Bitcoin Miners in the early days of Bitcoin and you could mine bitcoins on a laptop CPU using Bitcoin Core. As time went on and the hash rate of the network increased, it took more and more processing power to have any reasonable chance of creating a valid block.
Eventually even the most powerful CPU wasn’t enough and mining moved to GPUs and then to ASICs. These are custom built chips that perform the SHA 256 hashing algorithm incredibly efficiently. It’s these ASICs that are what we today call Bitcoin miners. At their heart, they still run a version of Bitcoin Core, however they don’t have full copies of the Blockchain on them.
Bitcoin Core originally had the software built in to mine bitcoin, however this was removed in 2016 when it became clear that ASIC miners had made CPU based mining obsolete. As such, in order to mine bitcoin now you need to use special hardware and join a mining pool using their software not Bitcoin Core.
Is Bitcoin Core Real Or Fake?
Real. Bitcoin Core is the software that runs the Bitcoin Network. It was originally created by Satoshi Nakamoto and has since been maintained, upgraded and reviewed by hundreds of developers around the world. Do be aware of fake or scam versions though and ensure you only use the official Bitcoin website: https://bitcoin.org
Who Maintains Bitcoin Core?
Bitcoin Core is maintained by hundreds of developers. They contribute their time either freely or are paid by grants and donations from various people and companies around the world. No single person, developer or company controls Bitcoin Core.
Can You Still Mine With Bitcoin Core?
No. While Bitcoin Core was originally implemented with the software to mine bitcoin, it was removed in 2016 when it became clear that ASIC miners had made CPU based mining obsolete.
What Is The Difference Between Bitcoin And Bitcoin Core?
The Bitcoin Network is the physical network made up of all the nodes (computers) that communicate to each other all around the world. The actual cryptocurrency or “coin” of the Bitcoin Network is also called bitcoin and has a lower case “b”. In contrast Bitcoin Core is the software that all nodes on the Bitcoin Network run.
What Does Bitcoin Core Software Do?
Bitcoin Core is the software that all Bitcoin Nodes on the Bitcoin Network run. It’s responsible for connecting to other nodes, sending, receiving and verifying blocks and the transactions inside them. It also enforces the rules of the Bitcoin Network and has a fully functional Bitcoin wallet built into it that you can use to send and receive bitcoin.
Is Bitcoin Core Free?
Yes. Bitcoin Core is fully open source software (FOSS) under the MIT license and you should never pay to use it. If someone is trying to make you pay for Bitcoin Core it’s highly likely they are a scammer or someone trying to steal your bitcoin. Only use software from https://bitcoin.org.