An Overview of Bitcoin Nodes and How to Run a Full Bitcoin Node
What is a Bitcoin Node?
A Bitcoin node is a device that runs the Bitcoin program. It connects to other computers running the Bitcoin program to create a network.
A Bitcoin full node contains a complete copy of the Bitcoin Blockchain and all the transactions contained in it since inception. These nodes are vital to the decentralization of the network and communicate with each other to propagate and verify transactions. A blockchain relies on nodes to ensure the chronological record of valid transactions and help maintain the security and integrity of the network.
Most Bitcoin users actually don’t run a full node (though we encourage them to). They instead are constructing transactions and sending them to someone else’s node to proliferate their transaction to the network. For example, if you send a Bitcoin transaction from centralized exchange such as Coinbase, you are sending transactions through Coinbase’s Bitcoin full node.
If you use a Bitcoin wallet such as Ledger, and send a transaction using Ledger Live, you are using Ledger’s Bitcoin full node.
Different types of nodes
Each Full Node can be further classified as Super Nodes (Listening Nodes) and/or Mining Nodes. Depending on the number of incoming and outgoing connections a full node has, it can also be referred to as a super node or listening node. Listening nodes are nodes that are publicly visible and connect with any node that decides to establish a connection with them. Non-listening nodes are usually run behind a firewall and are hidden.
As for Mining Nodes, we won’t go into the full technical details of Bitcoin Mining, but Mining Nodes are nodes with the capability of building blocks of transactions to add to the blockchain and get rewarded in bitcoin for this work.
Mining nodes take transactions from the Bitcoin mempool, compile them in blocks, and solve a puzzle. After these blocks are created, they are sent over the network to full nodes which validate them and add them to the blockchain.
Light nodes are communication endpoints that do not store the full blockchain. They only store the block headers, and do not store transactions. They can, however, assess whether a transaction belongs to a block requesting a proof and the block header. Light nodes connect to full nodes to get information about its transactions of interest. Several Bitcoin wallets are non-custodial light nodes.
How Many Bitcoin Full Nodes exist?
As of March 1st 2022: the total number of *pubic* listening nodes hit 15,000 and the estimated number of full nodes (listening and non-listening) is about 48,000
You can check on total public nodes here: https://bitnodes.io/
Why should I run a full node?
Reasons to run a full node:
Secure the network: As mentioned above running a full node strengthens the network. It helps enforce the Bitcoin rules, and helps prevent foul transactions. Further, the more copies of the full bitcoin blockchain that exist, the more decentralized and censorship resistant Bitcoin is.
Privacy: Anything outside of running a full node is reliant on a third party in some way. For example, if a light node wants to receive transactions to go to an address it’s wallet, it has to speak to a full node. The light node is asking for specific information about the transaction it is interested in, and it is giving information about the address. This is essentially a privacy leak.
Governance: Running a full node essentially gives you a vote in the Bitcoin protocol. Updates to Bitcoin core happen through bitcoin improvement proposals. Some of these upgrades can be consensus-critical, meaning bitcoin can fork (soft-fork or hard-fork). In the event of a fork you can choose which chain you support based on which version of the bitcoin software your node is running.
Transaction data: Running a full bitcoin node gives you direct access to transaction data. This can allow you to not only monitor your own transactions but analyze Bitcoin transactions across the network. This may also be useful if you are a trader.
How to run a Bitcoin Node:
One of the ethos of the Bitcoin community is to ensure that full nodes remain affordable in order to promote decentralization. As a result, the Bitcoin community made a conscious effort to ensure its blockchain size doesn’t increase faster than hardware can keep up. With that being said, there are minimal requirements to run a Bitcoin Node.
Many users opt to run a full node on a Rasperry Pi (this is preferred), but it can also be run on a laptop or desktop running Windows, Mac OS X or Linux. (We will discuss different Rasperry Pi setups; there are also several plug and play nodes)
While you can run Bitcoin Core on your regular computer, it isn’t ideal. This is because you will have to leave your computer on 24/7. If the computer turns off, you will have to wait for the software to sync up the next time you turn it on. If you don’t mind leaving the computer on at all times the minimal requirements are:
Desktop or laptop hardware running recent versions of Windows, Mac OS X, or Linux; or a Rasperry Pi 4 with other OS
500gb of free disk space (Bitcoin Core Version 22.0 release was 400GB of data, you will need room for a further 5-10GB per month), Disk space should ideally be a Solid State Drive SSD.
2GB of memory (RAM), 4GB or more is preferred
A broadband Internet connection with upload speeds of at least 400 kilobits (50 kilobytes) per second
An unmetered connection, a connection with high upload limits, or a connection you regularly monitor to ensure it doesn’t exceed its upload limits. It’s common for full nodes on high-speed connections to use 200GB in uploads or more a month. Download usage is around 20GB/month, plus around an additional 100GB the first time you start your node.
Raspberry Pi Setups:
There are several different node setups using a Rasperry Pi 4 as its core. These setups often host different operating systems, apps and serve as a private server. As mentioned above, this is the preferred method to run your own node. You can either build them yourselves and run open source Operating Systems such as Umbrel or MyNode or you can buy a plug & play node. These operating systems also provide an easy to use and intuitive interface for interacting with Bitcoin. Note: these operating systems require slightly more storage space than mentioned above (usually 1TB SSD).
Umbrel is a popular free and open source Operating System that allows you to run your own personal server with a Bitcoin and Lightning node in your home. You can also add self-hosted open source apps such as Nextcloud and Matrix. Running your own server is additionally powerful as it allows you to fully control your data. For Free.
It’s important to note that we often deal with intermediaries on the internet that offer “free services” in exchange for your data. Running your own server, just as running your own Bitcoin node cuts your reliance on third parties.
To build your own Umbrel Server it is recommended to use the following Hardware:
Raspberry Pi4 (with atleast 4GB of RAM) (Note at the time of this writing there has been Supply Chain issues with Rasperry Pis and they have been difficult to come by)
To put these together I recommend watching this video:
myNode has a free and a premium software meant to be run on a dedicated device that provides access to Bitcoin and Lightning. myNode provides a helpful, web-based user interface to help everyone
Hardware requirements for running a myNode are the same as Umbrel above.
A start to finish guide on setting up a myNode can be followed here:
Plug and Plays Bitcoin Full Nodes:
There are a few plug and play machines that come with everything you need already assembled and installed to start up a Full Bitcoin Node. While Plug and play nodes are a fast way to get a full node, they are certainly more expensive than building one yourself.
The Bitcoin Machine:
The Bitcoin Machine is a sleek plug and play node with Umbrel OS installed on it. However, processing times have been around 30 days from their website:
Embassy is a plug-and-play private server that offers one-click installation to Bitcoin Core, as well as several other open-source services. This is powerful as it allows you to combine your Bitcoin full node with services such as lightning, Matrix, Bitwarden, BTCPay etc.
You can also build your own node with the specs and install EmbassyOS
Check out their site for cost and specs (and special SureSats Discount): https://store.start9.com/discount/SURESATS
Other Plug and Play Nodes include:
Full nodes are vital to the Bitcoin Network. They greatly improve your privacy and give you more self-sovereignty. After learning about Self-custody, the next step in your Bitcoin journey should be to try to run your full node. There are several plug and play nodes, however, you may find building your own node to be a lot less complicated than you might have previously thought and of course cheaper!