1. An introduction to setting up a Node
- What is a Bitcoin Node?
- How many nodes are on the Bitcoin network?
- Why run a Bitcoin Node?
- What's involved in running a Bitcoin Node?
- Why I decided to run a Bitcoin Node
Have you been in Bitcoin for a few years and are thinking about running a node? Or perhaps you've been running packaged node and want to take the next step on the sovereignty ladder? Here's a guide to setting up and running your own Bitcoin node from scratch, using off-the-shelf components and open-source software.
Right from my early days in Bitcoin, I always wanted to run my own node. The idea of being an active participant in an open global monetary network always resonated with me and the idea of doing that using Free and Open Source software and off the shelf components fascinated me. So I decided to give it a go, and share my experiences for other Bitcoiners.
This is not my first node, before starting this project I already ran a node, my first node was a Raspiblitz node, running on a Rasperry Pi 4. This was an excellent option for my first node, it's a slight hybrid between a fully packaged node and running it yourself directly on the server, so you see a bit of both worlds.
This was my primary Bitcoin node for about 2 years, and I used it for all my transactions. But as time passed, my 1TB hard drive started getting full and when it reached 90% capacity it prompted me to set up a replacement and for this one I wanted to do it myself using Linux, and source all the components locally off the shelf.
Once I understood some basics of Bitcoin, the idea of a global monetary network, available to anyone on the planet with internet access, all operating on Free Open Source Software and readily available commodity hardware fascinated me. And I wanted to be part of it.
Why did I write this guide? Simple—because I want to demystify the process for others. Running a Bitcoin node isn't just for tech wizards. It's something anyone with a bit of patience, motivation and curiosity can achieve. It doesn't involve programming or software engineering skills and there are lots of resources and support along the way.
Setting up and running your own node was a great learning experience and very rewarding, I learnt so much about how Bitcoin works and tons of new skills. Once you're running your own node you'll never go back to using someone else's node, you're now a real part of the Bitcoin network, validating transactions and blocks, and contributing to the network's decentralized security. There is no second best to running your own node.
Who is this guide for?
If you've been in Bitcoin for a few years and are itching to get hands on and take your knowledge to the next level by running your own node, this is for you. If you want to learn some technical skills or you're serious about protecting your privacy and supporting the network, this guide is your go-to.
But this guide isn't for everyone. If you're just starting out with Bitcoin, there are other foundational concepts you should grasp first like understanding the "why" of Bitcoin, the difference between Bitcoin and the other crypto currencies and the importance of holding your own keys. Those things should come before running a node.
If this is for your first node and don't have any technical experience, you may want to look at one of the good packaged nodes available, like Start 9 or Umbrel. If you want to learn how to run a Linux server and work in the command line, then read on.
What is a Bitcoin Node?
So, what exactly is a Bitcoin node? Let's break it down. A Bitcoin node is a dedicated computer that fully participates in the Bitcoin network. It validates and propagates transactions and blocks, playing an important role as one of the nearly 25,000 "peers" on the Bitcoin network. Think of nodes as Bitcoin's "always on" auditors, every full node validates every block and transaction in Bitcoin's history using the Bitcoin software and rejects any transaction that breaks the consensus rules. The nodes are what gives Bitcoin it's decentralization and security, and anyone can run a node using the Free Open Source Bitcoin software.
Now, here's a common misconception: a Bitcoin node isn't a miner. While miners are crucial for adding new blocks to the blockchain, nodes are about verifying and propagating those blocks. They're the unsung heroes of the network.
When it comes to types of nodes, there are a few to consider:
- Full Node: This is the most comprehensive type. It downloads the entire blockchain from the Genisis Block, validates every transaction, and ensures the network's rules are followed. It's like having the full library of Bitcoin history at your fingertips.
- Pruned Node: If you're a bit storage-conscious, a pruned node might be your friend. It still validates transactions but only keeps the most recent blocks, trimming the storage requirements significantly.
- Lightning Node: For those looking to dive into the Lightning Network, this is your go-to. It allows for faster, off-chain transactions, enhancing the usability of Bitcoin for everyday use. Before you run a Lightning Node you need to run a Bitcoin Node, so learn that first.
This guide covers setting up a full node and involves downloading the the entire Bitcoin transaction history from the first block mined by Satoshi Nakamoto in 2009.
How many nodes are on the Bitcoin Network?
As for the stats, the Bitcoin network is a global phenomenon. At the time of writing, there are over 24,000 reachable nodes worldwide, with significant contributions from regions like North America, Europe, and increasingly, Asia. This decentralized network is a testament to Bitcoin's resilience and global adoption.
In New Zealand, we can see 38 reachable nodes on the Network.
In all likelihood there are a lot more nodes than the reported numbers here as the 24,000 total lists only those nodes configured to "listen" and accept inbound connections from other nodes. Some node operators choose to configure their node not to accept inbound connections for privacy, security and bandwidth reasons.
The Bitnodes website shows the total number of nodes on the network, including those that don't accept inbound connections, currently around 70,000 nodes.
Why Run a Bitcoin Node?
Sovereignty and Privacy
By running a Bitcoin node and connecting to it from your wallet, you gain full control over your transactions without relying on third parties. This sovereignty allows you to verify your own transactions and maintain your own private copy of the ledger, ensuring your financial privacy.
Decentralization
Nodes are integral to Bitcoin's decentralized structure. Each node contributes to the network's resilience, making it harder for any single entity to manipulate or control the system.
Security
Nodes play a crucial role in validating transactions and blocks, enhancing the network's security. The presence of thousands of nodes makes it more almost impossible for malicious actors to compromise the system.
Education
Running a node provides hands-on experience, offering insights into Bitcoin's technology and network mechanics. This practical knowledge is invaluable for understanding the inner workings of Bitcoin.
What's Involved in Running a Node?
Resource Requirements
Running a Bitcoin node requires a decent computer with sufficient storage, processing power, and bandwidth. The exact requirements can vary depending on the type of node and its configuration but in this exercise I used a Dell Optiplex 9020 Micro PC with 16GB RAM and installed a new 2TB External SSD.
Motivation, patience and willingness to learn
While running a node is a technical process, if you're motivated, patient and willing to learn it's totally possible. There are lots of resources and support available to help you too, one of the best things I found about working in these Open Source projects is the amount of support random strangers gave me in message groups and forums.
Considerations and Community
- Technical Knowledge: You don't need to be a technical expert to set up and run a node, but experience and confidence with computers is essential. You'll be working in the command line and installing packages from Github, so you have to be comfortable with that.
- Security Practices: Best practices for securing a node are crucial, including regular software updates and robust access controls.
- Community Support: Engaging with online communities can offer valuable tips, troubleshooting advice, and a sense of camaraderie among node operators.
My Background and Reasons for Running a Node
On my journey in Bitcoin, I recognized early on the importance of running a node to fully participate in the network and maintain control over my transactions. This, along with holding your own keys, I believe is a minimum standard for serious Bitcoiners.
I don't come from a deep technical background—I'm not a developer or software engineer, and I had never used command-line tools before diving into this. But what I learnt is that running a node is accessible even without extensive technical skills.
My experience with Bitcoin nodes began over three years ago when I started running a Raspiblitz node. Since then, I've expanded my knowledge by setting up a Bitcoin Core & LND node on an Ubuntu Linux server, a setup I've maintained for the past two years. This hands-on experience with different configurations has provided me with valuable insights and credibility in guiding others through the process.
My motivations for running a node are twofold: first, to ensure I am in control of my interactions with the Bitcoin network without relying on third parties. Second, to gain a deeper understanding of the technical and network aspects of Bitcoin. These reasons highlight the practical and educational benefits of running a node, emphasizing personal empowerment and continuous learning.
In summary, my journey from a novice to a node runner underscores the accessibility of running a Bitcoin node and the tangible benefits it brings. Whether for privacy, education, or contributing to the network's resilience, running a node is a rewarding endeavor that makes you a real participant in the Bitcoin network.
Who This Guide Is For
This guide is for Bitcoiners who want to take the next step in their sovereignty journey. You don't need to be a programmer, but you should be comfortable with technology platforms, ready to roll your sleeves up and get into some details and willing to learn command-line basics.
If you're afraid of the command line and are happy with someone else holding your Bitcoin keys (meaning they control your money), then stop reading now, these are not the Droids you're looking for.