Cointime

Download App
iOS & Android

When do Bitcoin Node Operators Upgrade?

From Jameson Lopp

An analysis of historical Bitcoin Core node versions to examine the updating behavior of node operators over the years.

Recently, when compiling the metrics for my Annual Bitcoin Report, I came across this 8 year chart of historical user agent counts for reachable nodes. It's interesting to see the patterns of how node operators update their nodes, since it's a rough measure of how responsive these operators are and how much they're paying attention to new node releases.

However, as you can see, the chart isn't particularly granular for releases more than 2 years ago. So I reached out to Addy at Bitnodes to see if he could provide me with the raw data for a deeper analysis. Thankfully, he did!

Why Should We Care?

While we often talk about how Bitcoin is a very stable protocol and you can run really old versions of Bitcoin clients and still reach consensus with the rest of the network, the flip side of that is the fact that software isn't perfect and developers are constantly improving it. If you read the Bitcoin Core documentation regarding their software lifecycle, it goes like this:

  • 2 major releases per year
  • minor releases that backport important bug fixes from recent major releases
  • bug fixes will only be backported to the past 18 months of releases

As such, it's not considered safe to run Bitcoin Core releases that are more than 18 months old, as they may have unpatched vulnerabilities. If a significant number of nodes are running very old, unpatched software, it could pose a systemic risk to the network. Why not patch releases that are 18+ months old? Because it requires more maintenance resources to do so and the project maintainers are already quite busy. If someone wants to volunteer to backport patches and maintain older releases, feel free to step up!

However, it's a fundamental aspect of Bitcoin's security model that node software does NOT automatically update. Auto-updates would create a single point of failure that could cause a malicious update to quickly spread to a supermajority of nodes on the network. As such, manual action must be taken by node operators to keep their node software up to date. This creates a point of friction and means that node operators must maintain some awareness of project development.

Methodology

I wrote this script to sift though the decade of weekly snapshot data.

There's a ton of noise in the raw data. One reason for this is that it's possible for anyone who knows what they're doing to set their own User Agent string. For example, my Statoshi nodes present their user agent as "Statoshi" rather than "Satoshi" like the Bitcoin Core project does. There were nearly 200 unique user agents in the data set, such as...

bcoin Bitclassic Bitcoin Bitcoin ABC bitcoin-php bitcoin-ruby bitprim Blockcore blockd BTC-2MB BTCC btcd btcwire BTCXChange.ro Classic Cornell-Falcon-Network Gocoin JavaBitcoin libbitcoin Multicoin PseudoNode Satoshi Satoshi-UASF-Segwit Statoshi TestClient.0.0.1 thebitcoin.foundation

It's clear there are many different node implementations - though many of them are not even fully validating nodes, but are rather just minimal lightweight clients. After some consideration, I decided to only focus on looking at Bitcoin Core nodes. Why?

  • Over 90% of Bitcoin nodes run Core
  • None of the other node implementations have consistent release schedules
  • There were a variety of "fork" clients during 2015 - 2018 that further mess with the regular cadence of node lifecycles

Results

After reviewing the visualized data, I chose to break it up into 3 distinct charts.

  1. Major version releases, years 2015 - 2020
  2. Minor version releases, years 2015 - 2020
  3. Major version releases, 2020 - present

Why no charts for older releases? Bitnodes' data history begins on June 7 2014; Bitcoin Core 0.9 was released March 2014 and 0.10 was released Feb 2015. As such, we can't see the entire node deployment lifecycle of releases prior to Bitcoin Core 0.10.

Let's begin with the behavior exhibited by node operators running major releases from 2015 to 2020.

What strikes me from this chart is that it looks like:

  • In 2015, 2016, and 2017 most of these node operators are updating their software twice a year, with each new major release.
  • In 2018 more node operators are slowing down and only updating their node annually

What if we look at nodes running minor release versions?

When looking at the lifecycle of nodes that are updated to minor releases, unsurprisingly it looks like their node operators are updating even more frequently; often more than every 6 months. This makes sense, as minor releases tend to be published between major releases.

What happens when we look at releases from 2021 to present? Node update frequency appears to be decelerating. This is easy to tell if you focus on the peak node counts of each version. Note that the peak counts in both of the previous charts were always less than 6 months after the actual release date, but now the peaks are more in the 6 to 9 month range.

Also, note that the peak node counts are 150% - 200% the peaks in previous charts. Can these phenomona be explained?

I suspect that the increase in lag time for node operators to update is the same reason of why we see node counts higher in recent years: the rise in user friendly plug and play node hardware and software. And at least some of that adoption is a result of people running Lightning Network nodes, which generally requires also running a Bitcoin node. That is: there are a higher number of less technical node operators now and they aren't quite as enthusiastic about updating the software on their node machines.

How Long are Bitcoin Core Releases in Widespread Use?

As noted earlier, the Bitcoin Core release lifecycle only really recommends running a given release for 18 months before it should be considered past end-of-life. But it's not possible to force anyone to update their node software - there's a very long tail of outdated client software still in operation. How long is it taking for 95% of the nodes running a given release version to update to a different version? I ran the numbers:

Note that this chart ends with the 0.20 release from 2020 because none of the releases after that have seen 95% of their (peak count) nodes upgraded. We can see that before July 2018 it generally took 1 year for 95% of node operators to update their software. But after 2018 it doubled to 2 years. And it's entirely possible that we're now in an era of it taking 3 years for 95% of node operators to update!

Recommendations

While we shouldn't change nodes to auto-update their software since it would greatly weaken Bitcoin's security model, I do suspect we can improve the awareness of node operators.

  1. It would be great if Bitcoin Core and full stack projects that make it easy for folks to run Bitcoin Core nodes prompt the user to sign up for the Bitcoin Core Announcement List when they install the software.
  2. Plug and play node software should explore alternative notification methods to warn users that their software is out of date. I suspect that few hobbyist node operators are logging into their node dashboards and thus they could easily miss UI notifications. For example, it would be neat if you could set a nostr npub as the node's "admin contact" on setup and the node could effectively send you software update notifications that would get pushed to your phone.
  3. I'd like to see more warning / initial setup documentation from node software that informs users about best practices and ongoing maintenance responsibilities.

Bitcoin is a constantly evolving adversarial environment: node operators should be aware that they should not just "set it and forget it" if they want to retain a strong security posture. Running a node to validate your funds against the rules of the network is the path to financial sovereignty, but it also means that you're taking on the same responsibilities as a server administrator!

Comments

All Comments

Recommended for you

  • Vitalik: Ethereum Foundation is Not the Central Manager of the ETH Ecosystem, Future Development Will Shift to 'Small and Long-term' Approach

    On May 25, Ethereum founder Vitalik shared his views on the future development direction of the Ethereum Foundation in a post on the X platform. He emphasized that this is just his personal opinion. The board does not consist solely of him, and he does not have more special powers than other board members. Aya Miyaguchi is leading most of the execution work for this transformation, while his own involvement is more focused on technical issues. The board is currently expanding, and his influence within the organization will continue to decline in the future, which, frankly, is what he hopes to see. By 2025, the Ethereum Foundation has made significant improvements in its execution capabilities. Many issues have been resolved, and the foundation continues to benefit from greater efficiency and a stronger focus on specific goals. However, as these issues were addressed, he began to care more about another concern: he often sees people saying, 'Vitalik has always talked about Ethereum needing to be decentralized, having privacy, and becoming a shelter technology, but why do the actions of the Ethereum Foundation not reflect these ideals?' Of course, there are those who hold completely different views. Some do not feel there is a crisis at all, but rather believe that the Ethereum Foundation has finally begun to take execution and business development seriously, and the next focus should be to continue along this path faster and stronger. Vitalik believes that this difference essentially reflects varying sensitivities to different types of criticism, and he is more easily hurt by criticisms regarding deviations from values. Vitalik stated that the Ethereum Foundation should not be 'the center of Ethereum,' but rather 'a node with clear responsibilities, existing alongside other nodes.' In the past, they have always said this, but many people in the ecosystem, including some within the foundation, hoped the foundation would become a true center. Now, they are taking concrete actions to ensure the foundation becomes the latter. This is particularly important because the Ethereum Foundation is essentially a resource-limited and organizationally limited entity. The foundation currently holds only about 0.16% of all ETH, which is even lower than many large ETH holders; whereas many other blockchain projects' 'central foundations' typically control 10%-50% of their tokens. The current Ethereum Foundation has decided to use its remaining resources to pursue 'long-term viability' rather than continuous expansion (which also means they will sell less ETH). The foundation will focus on those things that are crucial for Ethereum to become a censorship-resistant, control-resistant, open, private, and secure system, but that no one else would do if the foundation does not. This means they must make difficult choices. Some projects and individuals they highly respect may no longer belong to the foundation's system in the future. In fact, if they want important tasks to attract external capital, it may be necessary to keep some talented individuals, influential public figures, and those who share the mission and CROPS philosophy outside the foundation. This also means that the Ethereum Foundation will take a clearer and more principled stance on a cultural level.

  • ETH Surpasses $2100

    Market data shows that ETH has surpassed $2100, currently priced at $2101.04, with a 24-hour increase of 1.9%. The market is experiencing significant volatility, so please ensure proper risk management.

  • U.S. Officials: Agreement with Iran Expected Not to Be Signed on Sunday, Some Issues Remain

    On May 24, Axios reported, citing a U.S. official, that Iran's Supreme Leader has approved the overall framework of the agreement. There are some important statements for us and some significant wording for Iran. It is expected that the agreement with Iran will not be signed on Sunday, as there are still some issues that need to be resolved. The current status of the Iranian regime is progressing slowly, and completing the necessary approvals will take a few days.

  • ETH Falls Below $2100

    Market data shows that ETH has fallen below $2100, currently priced at $2096.81, with a 24-hour increase of 2.47%. The market is experiencing significant volatility, so please ensure proper risk management.

  • PAYS Officially Launches on Nivex, Surges 100% on Debut

    At 15:18 on May 24, 2026, PAYS officially launched on the Nivex exchange and opened for trading globally.

  • U.S. Secretary of State: Announcement on Agreement with Iran Possible Later Sunday

    On May 24, U.S. Secretary of State Rubio stated that an announcement regarding an agreement with Iran may be made later on Sunday.

  • BTC Surpasses $77,000

    Market data shows that BTC has surpassed $77,000, currently priced at $77,073.6, with a 24-hour increase of 1.32%. The market is experiencing significant volatility, so please ensure proper risk management.

  • Trump: Calls with Multiple World Leaders, Iran Agreement Nearly Finalized

    On May 24, Trump stated on social media that he had "very good calls" in the Oval Office with leaders from Saudi Arabia, the UAE, Qatar, Pakistan, Turkey, Egypt, Jordan, Bahrain, and others regarding Iran and a peace memorandum. Trump claimed that the agreement has been largely negotiated and is pending finalization by the U.S., Iran, and other relevant countries. Additionally, his call with Israeli Prime Minister Netanyahu was also "very smooth." The final details of the agreement are under discussion and will be announced soon. Trump specifically noted that, in addition to several aspects of the agreement, the Strait of Hormuz will be opened.

  • BTC Surpasses $76,000

    Market data shows that BTC has surpassed $76,000, currently priced at $76,001.27, with a 24-hour increase of 0.05%. The market is experiencing significant volatility, so please ensure proper risk management.

  • US and Iran Expected to Announce Final Peace Agreement Within 24 Hours

    On May 24, according to the Washington Times citing sources close to the negotiations, the United States and Iran are expected to announce the finalization of a peace agreement within 24 hours after negotiating representatives approved a draft agreement to end all combat on the front lines. The agreement still awaits final approval from both governments.