Metcalfe’s law states that **the value of a network (V) is proportional to the square of the number of connected users of the system (NĀ²)**. In this article, I’ll develop a Bitcoin price prediction (V) in the year 2030 based on the average growth rate of the number of Bitcoin nodes (N).

## General Intuition Metcalfe’s Law

Metcalfe’s law states that the value of a network is proportional to the square of the number of connected users of the system (N^2). This law was initially formulated in the context of telecommunications networks by Robert Metcalfe, the inventor of Ethernet.

The intuition behind Metcalfe’s law is relatively straightforward:

**Value of Connections**: The value of a network to a user is proportional to the number of other users they can connect with. For example, a telephone is useless if you are the only one who has one, but becomes more valuable as more people get telephones.**Number of Connections**: The number of possible connections between users in a network increases quadratically with the number of users. Specifically, the number of possible connections between`N`

users is`N(N-1)/2`

, which is proportional to`N^2`

.

So, the idea is that as the number of users in a network increases, the number of possible connections between users increases quadratically, and therefore the value of the network also increases quadratically.

This intuition can be applied to various types of networks, including social networks, the internet, and even cryptocurrencies like Bitcoin. For example, the value of a social network like Facebook increases as more people join the network because each user can connect with more people. Similarly, the value of Bitcoin may increase as more people use it because it becomes more useful as a means of exchange.

## Why Does Metcalfe’s Law Apply to Bitcoin?

Metcalfe’s law can be applied to Bitcoin for several reasons:

**Network Effect**: Bitcoin, like other networks, benefits from the network effect. The more people, businesses, and institutions that use and accept Bitcoin, the more valuable it becomes as a medium of exchange. This is because each new user increases the number of potential transactions and, therefore, the utility of the network for all users.**Number of Connections**: The number of possible connections between users in the Bitcoin network increases with the number of users. As more people use Bitcoin, the number of potential transactions increases, which increases the utility and, therefore, the value of the network.**Decentralization**: Bitcoin is a decentralized network, meaning that it is not controlled by any single entity. This makes it more resilient and potentially more valuable as more nodes (computers running the Bitcoin software) join the network and contribute to its security and stability.**Historical Correlation**: Some studies have found a correlation between the market value of Bitcoin and the square of the number of active users or other network metrics. This suggests that Metcalfe’s law may be a useful model for estimating the value of Bitcoin.

## But Bitcoin is a Store of Value More Than a Medium of Exchange…

If you’re like me, you believe that currently Bitcoin is more a store of value than a medium of exchange. So does Metcalfe’s Law apply in the first place? I have put some thoughts into this.

When viewing Bitcoin as a store of value, Metcalfe’s Law can still be applied, but with a slightly different perspective.

**Network Security**: The security of the Bitcoin network is crucial for its role as a store of value. The more nodes and miners there are in the network, the more secure it is against attacks. This increased security enhances its value as a store of value. According to Metcalfe’s Law, the value of a network is proportional to the square of the number of connected users. In the context of Bitcoin as a store of value, this could be interpreted as the value of Bitcoin increasing with the square of the number of participants (nodes, miners, and users) in the network.**Liquidity**: For any asset to be a good store of value, it needs to be liquid, meaning it can be easily bought or sold. The more participants there are in the Bitcoin network, the more liquid it becomes, which enhances its value as a store of value.**Acceptance and Adoption**: The more widely accepted and used Bitcoin is, the more valuable it becomes as a store of value. This is because widespread acceptance and use increase the demand for Bitcoin, which in turn increases its value.**Trust**: Trust is a crucial factor for any store of value. The more participants there are in the Bitcoin network, the more trust is built in the network’s security and stability, which enhances its value as a store of value.

So, even when viewing Bitcoin as a store of value, Metcalfe’s Law can still be applied in the sense that the value of Bitcoin as a store of value increases with the square of the number of participants in the network.

## What Is “N” in Metcalfe’s Law for Bitcoin?

Getting the exact number of people participating in the Bitcoin network can be quite challenging due to the decentralized and pseudonymous nature of the network.

However, there are several proxies or indicators that you can use to estimate the number of participants:

**Number of Active Addresses**: This is the number of unique addresses that were active in the network (either as a sender or a receiver) during a certain period. This data can be obtained from various blockchain analytics platforms like CoinMetrics, Blockchain.com, or Bitinfocharts.**Number of Wallets**: This is the number of unique wallets that hold Bitcoin. This data can also be obtained from blockchain analytics platforms. However, it is important to note that one person can own multiple wallets, so this may not be a perfect measure of the number of participants.**Number of Transactions**: This is the number of transactions that occur on the Bitcoin network during a certain period. This data can be obtained from the same blockchain analytics platforms mentioned above.**Number of Nodes**: This is the number of nodes participating in the Bitcoin network. A node is a computer running the Bitcoin software that helps to maintain the network by validating transactions and blocks. This data can be obtained from websites like Bitnodes.**Number of Miners**: This is the number of miners participating in the Bitcoin network. Miners are nodes that validate and confirm transactions by solving complex mathematical problems. This data can be more difficult to obtain because many miners participate in mining pools, and the exact number of individual miners within a pool may not be publicly available.

None of these metrics are perfect proxies for the number of participants in the Bitcoin network, as one person can own multiple addresses, wallets, and nodes. Additionally, some addresses and wallets may be owned by exchanges or other institutions rather than individual participants.

The **number of wallets** is not a great metric for Metcalfe’s Law because most Bitcoiners own multiple wallets. At the same time, exchanges may have a small number of wallets for a huge number of Bitcoin holders.

There’s a strong argument, however, that the **number of nodes** captures the number of “hardcore Bitcoiners” best because there’s no incentive to run *multiple *nodes. Thus, this metric is a conservative measure of the network size. Also, the Blocksize wars have shown that the Bitcoin nodes are the true sources of decentralization in the Bitcoin network. Literally, the decentralization of the Bitcoin network is determined by the decentralization of Bitcoin nodes.

## How Many Bitcoin Nodes Are There?

Bitnodes.io estimates that there are 45,190 Bitcoin nodes in September 2023 and 16,279 reachable nodes:

Here’s the distribution of reachable nodes by country:

Another chart from another source measuring the number of Bitcoin nodes since 2015:

It shows a similar order of magnitude, so let’s take this as it goes back to 2015.

Here’s a table for the rough number of reachable nodes by year (in August) and Bitcoin price (in August):

Year | Number of Bitcoin Nodes | Bitcoin Price ($) |
---|---|---|

2015 | 6430 | 279 |

2016 | 5220 | 588 |

2017 | 7740 | 3341 |

2018 | 9370 | 7634 |

2019 | 9270 | 11476 |

2020 | 10070 | 11246 |

2021 | 12090 | 39178 |

2022 | 12920 | 23179 |

2023 | 16550 | 29043 |

š” **Recap**: Metcalfe’s Law states that the value of a network is proportional to the square of the number of connected users of the system (n^2).

Let’s apply this to your data.

We will use the number of Bitcoin nodes as a proxy for the number of users in the network. According to Metcalfe’s Law, the value of the Bitcoin network (which we will proxy with the Bitcoin price) should be proportional to the square of the number of nodes.

Here is a simple model using this data:

Year | Number of Bitcoin Nodes | Bitcoin Price ($) | Nodes Squared |
---|---|---|---|

2015 | 6430 | 279 | 41,316,900 |

2016 | 5220 | 588 | 27,264,400 |

2017 | 7740 | 3341 | 59,923,600 |

2018 | 9370 | 7634 | 87,796,900 |

2019 | 9270 | 11476 | 85,992,900 |

2020 | 10070 | 11246 | 101,407,600 |

2021 | 12090 | 39178 | 146,168,100 |

2022 | 12920 | 23179 | 166,886,400 |

2023 | 16550 | 29043 | 273,902,500 |

Now, you can plot the Bitcoin price against the number of nodes squared and fit a regression line to the data to see how well Metcalfe’s Law fits the data.

## Validating the Model

How did I create this chart?

Here is how you can do it in Python: First, install the libraries if you haven’t already by running `pip install pandas matplotlib scikit-learn`

in your terminal. Second, run the following Python script:

import pandas as pd import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression # Create a DataFrame with your data data = { 'Year': [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023], 'Nodes': [6430, 5220, 7740, 9370, 9270, 10070, 12090, 12920, 16550], 'Price': [279, 588, 3341, 7634, 11476, 11246, 39178, 23179, 29043] } df = pd.DataFrame(data) # Create a new column for the number of nodes squared df['Nodes Squared'] = df['Nodes'] ** 2 # Create a scatter plot of the data plt.scatter(df['Nodes Squared'], df['Price']) plt.xlabel('Nodes Squared') plt.ylabel('Bitcoin Price ($)') plt.title('Bitcoin Price vs Nodes Squared') plt.show() # Fit a linear regression model X = df[['Nodes Squared']] y = df['Price'] model = LinearRegression().fit(X, y) # Print the coefficients print('Intercept:', model.intercept_) print('Slope:', model.coef_[0]) # Predict the Bitcoin price using the model df['Predicted Price'] = model.predict(X) # Plot the actual vs predicted prices plt.scatter(df['Nodes Squared'], df['Price'], color='blue', label='Actual') plt.plot(df['Nodes Squared'], df['Predicted Price'], color='red', label='Predicted') plt.xlabel('Nodes Squared') plt.ylabel('Bitcoin Price ($)') plt.title('Actual vs Predicted Bitcoin Price') plt.legend() plt.show()

This script will create a **scatter plot of the Bitcoin price against the number of nodes squared, fit a linear regression model to the data, and then plot the actual vs predicted Bitcoin prices.**

The intercept and slope of the regression line will be printed in the console.

**Intercept**: `-1843.9665728454092 `

**Slope**: `0.00014390774052419503`

The script provided does both the scatter plot and the linear regression. The first plot is a scatter plot of the actual data, and the second plot includes both the scatter plot of the actual data and the predicted Bitcoin prices from the linear regression model (the red line).

The takeaway from the plot shows that the number of nodes squared (a proxy for the network size according to Metcalfe’s Law) explains the variation in Bitcoin prices. If the red line (predicted prices) fits closely with the blue dots (actual prices), it suggests that the model and Metcalfe’s Law are good at explaining the variation in Bitcoin prices.

For example, you can see that the 2021 Bitcoin price at $40,000 was flagged as “overvalued” by the model whereas today’s $27,000 price would be flagged as “undervalued” based on the real number of nodes.

## Bitcoin Price Formula Based on Metcalfe’s Law

The slope and intercept of the regression line will give you a mathematical model that you can use to predict Bitcoin prices based on the number of nodes squared.

In our simple case, the slope and intercept are:

**Intercept**: -1843.9665728454092**Slope**: 0.00014390774052419503

The formula would be:

`Bitcoin Price = 0.00014390774052419503 Ć NĀ² - 1843`

whereas N is the number of Bitcoin nodes according to this data.

## What’s Bitcoin’s Historic Growth Rate of N?

To analyze the node growth rates, you can compute the year-over-year growth rate in the number of nodes and then use that to project the number of nodes 5 years into the future. Then, you can use the projected number of nodes and your regression model to predict the Bitcoin price 5 years into the future.

Here are the year-over-year growth rates in the number of nodes from your data:

Year | Number of Bitcoin Nodes | YoY Growth Rate (%) |
---|---|---|

2015 | 6430 | – |

2016 | 5220 | -18.8 |

2017 | 7740 | 48.3 |

2018 | 9370 | 21.0 |

2019 | 9270 | -1.1 |

2020 | 10070 | 8.6 |

2021 | 12090 | 20.1 |

2022 | 12920 | 6.9 |

2023 | 16550 | 28.1 |

The average year-over-year growth rate from 2016 to 2023 is about 11.5%.

## Bitcoin to $500k in 2030? Yes. If We Grow the Number of Nodes (N) by 20% per Year!

Here is a Python script that will compute the year-over-year growth rates in the number of nodes, project the number of nodes 5 years into the future, and then use your regression model to predict the Bitcoin price 5 years into the future. It will also create a visualization of the actual and predicted Bitcoin prices.

import pandas as pd import matplotlib.pyplot as plt # Create a DataFrame with your data data = { 'Year': [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023], 'Nodes': [6430, 5220, 7740, 9370, 9270, 10070, 12090, 12920, 16550], 'Price': [279, 588, 3341, 7634, 11476, 11246, 39178, 23179, 29043] } df = pd.DataFrame(data) # Define the regression model parameters intercept = -1843.9665728454092 slope = 0.00014390774052419503 # Define the growth rates and years for prediction growth_rates = [0.05, 0.10, 0.15, 0.20] years = range(2024, 2031) # Create a plot plt.figure(figsize=(10, 6)) # Plot the actual data as small dots plt.scatter(df['Year'], df['Price'], color='black', s=10) # Plot the predicted model prices for 2015 to 2023 based on the real number of nodes model_price = [(slope * nodes ** 2 + intercept) for nodes in df['Nodes']] # plt.plot(df['Year'], model_price, 'k--', label='Model Predicted') # For each growth rate, project the number of nodes and predict the Bitcoin price for growth_rate in growth_rates: # Project the number of nodes projected_nodes = [df['Nodes'].iloc[-1] * (1 + growth_rate) ** (year - 2023) for year in years] # Predict the Bitcoin price projected_price = [(slope * nodes ** 2 + intercept) for nodes in projected_nodes] # Plot the predicted prices plt.plot(list(df['Year']) + list(years), model_price + projected_price, label=f'Predicted (Growth Rate: {growth_rate * 100}%)') # Label the end values plt.text(2030, projected_price[-1], f'${projected_price[-1]:,.0f}', verticalalignment='center') # Add labels and a legend plt.xlabel('Year') plt.ylabel('Bitcoin Price ($)') plt.yscale('log') plt.xlim(2014, 2032) plt.title('Actual vs Predicted Bitcoin Price') plt.legend() # Show the plot plt.show()

This script creates a line chart with the actual Bitcoin prices from 2015 to 2023 plotted as small dots, the predicted model prices for 2015 to 2023 based on the real number of nodes, and the predicted prices from 2024 to 2030 for different growth rates of the number of nodes. The y-axis is on a logarithmic scale.

## Want Exploding Prices? “Grow N” Says Metcalfe’s Law

The analysis clearly demonstrates a mathematical relationship between the number of Bitcoin nodes and its price, as predicted by Metcalfe’s Law. This relationship, quantified by a positive coefficient in the regression model, indicates that **as the number of nodes increases, the price of Bitcoin is predicted to increase quadratically.**

Therefore, if we want to see higher Bitcoin prices in the future, it is imperative to **focus on growing the number of nodes in the Bitcoin network**.

This calls for a collective effort from the Bitcoin community and stakeholders to encourage and facilitate the addition of more nodes to the network, thereby strengthening its security, decentralization, and, ultimately, its value.

Also, feel free to subscribe to our free email academy on exponential technologies by downloading our Python cheat sheets here:

You can reply to any of my emails (e.g., with your own analysis based on Metcalfe’s Law) to keep the conversation going. š

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.

To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.

His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.