Back to How to set up a Bitcoin Node

9. Ongoing Maintenance

Now that your Bitcoin node is up and running, there are a few things required to keep everything running smoothly. Ubuntu, Bitcoin Core and the other services you're running are all self hosted, open source software and it's your responsibility to keep them maintained and address any issues that come up.

There are plenty of resources out there to help you, but this is a paradigm shift for most people (me included) who are used to proprietary systems, automatic upgrades and customer service support. This is part of the trade off involved with self hosted software and an open, global monetary network like Bitcoin.

Here are the main maintenance tasks I've encountered:

1. Ubuntu Upgrades

Keeping your Ubuntu server up to date is important to protect against security vulnerabilities and maintain system stability. You need to check for and perform regular upgrades by running a few commands in your terminal, ideally on a weekly basis or as security patches are released.

For long-term support (LTS) versions, monitor for major releases every two years and plan migrations carefully to avoid disrupting your Bitcoin node.

Guides:

2. Bitcoin Core Upgrades

Bitcoin Core, the primary software for running a full node, requires periodic upgrades to incorporate bug fixes, security enhancements, and protocol improvements. Check for new releases on the official Bitcoin Core repository every few months or when notified via mailing lists. Following the Bitcoin Optech podcast and newsletter is a great way to keep in the loop about the next release.

A note about upgrading Bitcoin Core:

Bitcoin does not automatically push upgrades to your node, users being responsible for their own upgrades (or exercising the option not to upgrade) is one of the protection mechanisms of Bitcoin. Imagine if someone decided to double the supply of Bitcoin and wanted to push that code to all the nodes. How would we stop that? We would stop that by refusing to run that version of the software.

As a node runner, you only run the version of Bitcoin you want to, so if Bitcoin Core pushed some code that increased the supply of Bitcoin, all the node runners (as economic actors) would refuse to run it. As Open Source code, anyone can view and check the code, and anyone can fork and make another version of that code too.

This is part of the decentralization of Bitcoin that protects it, and as a node runner, you're part of this.

It's important to note there are other implementations of Bitcoin, the most well known one is called Bitcoin Knots, and is run by 20% of the network now. It is essentially a "fork" of Bitcoin Core, with some additional patches on top. It's beyond the scope of this guide, but as a node runner it's important for you to understand the different implementations and versions of the Bitcoin software available, and which one you want to run.

The important thing to remember is that you don't have to upgrade your node software if you don't want to, or don't support any of the changes in the update. There's a history of this in Bitcoin and the fact that's it's a decentralized network with over 24,000 independent nodes around the world running the software is one of the most important safeguards of Bitcoin. This is not like Microsoft or even a central bank, with one party in control of everything.

Guides & Resources:

Important Security Note

It's really important to verify the downloads of any software you're running, but Bitcoin Core is the most important software of all. Make sure you understand this verification steps, how to do it and that each version of software is verified and you're sure it's from the correct source.

The upgrades to Ubuntu and Bitcoin Core are the most important ones, but there will also be upgrades to the other services you're running too.

3. Upgrades to Other Services Such as Fulcrum Server, Mempool, and Tor

Supporting services like Fulcrum, Mempool and Tor also demand routine maintenance. One of the hardest things is to keep up to date with your updates and the more services you run the more updates you have to do.

A tip I received on this was to subscribe to the updates in a rss reader, but I haven't put this into practice yet, so what I do is keep listening to podcasts like Optech, Bitcoin Review, Rabbit Hole Recap and Bitcoin Brief and they usually mention them. 

Upgrading Fulcrum Server

To upgrade you need download the latest release from its GitHub repository and reinstall the new version into the same directory as the existing version and it will overwrite it. I've done this several times now following this process and it's worked smoothly each time.

Upgrading Mempool.space

These upgrades were a little trickier, as it's running in a Docker container on your server, so a slightly different process. I had a bit of trouble upgrading this so jumped on a call with Ketan and we worked it out (well he worked it out and I listened and nodded along like an idiot).

Upgrading Tor

The Tor upgrades were the easiest of the three, as Tor is installed by the apt package manager in Ubuntu, so you can check and make upgrades with the regular apt commands: sudo apt update && sudo apt upgrade tor.

These are the services I have to upgrade for the Bitcoin node, but you may have a few more services you need to maintain too, like your Sparrow wallet and the firmware on your Signing Device (like Coldcard).

Warning - Paradigm Shift ahead!

For some people, this may seem like a hassle, especially as we're used to all our services being managed and upgraded behind the scenes. This is part of the paradigm shift we need to make to move away from the walled gardens and proprietary systems where we need to ask permission each time we want to spend our own money. With Bitcoin, you don't have to ask anyone's permission but you do have to take responsibility to keep your software maintained and secure.

It sounds like a lot of work at the start, but once you get into a routine you'll learn how to upgrade these services and after a couple of times you'll be comfortable doing it. Remember, as long as your private keys are stored safely (and offline), none of your Bitcoin is at risk if any of these upgrades don't go to plan.