Network effects in Web 3

Network effects in Web 3

or what blockchains have to do with the golden ratio.

– Hey, you should sign up for this new app called whatsapp, we’ll text each other over 3G – Nuh… I am okay with text messages – Sure, your choice. But all of my friends are on whatsapp… – Argh… ok, you are the fourth person to tell me this. Sign me up, I will try

You probably have had a similar conversation in your life. This is network effects in action: the more people use a certain network (whatsapp in this case), the more potential utility this network has for an unregistered person, and thus that person is more likely to join the network.

Important for us is that the new user is converted by the potential utility they can harness from the network, and not by the network’s value. Put another way, for any user of whatsapp it really doesn’t matter how big is whatsapp’s marketcap, it only matters how many of the user’s friends are in the network.

Most networks in Web 2 work in this way. This post explores what happens with network effects in Web 3, and presents two mathematical models: a well-known model for network effects in Web 2, and a new model for network effects in Web 3.

Web 2 vs Web 3: the key difference

We use Ethereum blockchain as an example of a Web 3 network. Let’s explore user’s motivation for joining the Ethereum network, that is buying some ETH. First, because the user may find useful to be able to send and receive ETH and interact with smart contracts on the Ethereum blockchain, the user is drawn to the network by its utility. But in addition, the user also sees that — as the network grows — ETH’s price grows as well, capturing the value of the network. This additional financial incentive to join the network is the key difference between the dynamics of Web 3 compared to Web 2.

Web 2 network effects

Suppose NN is the total population, and y(t)y(t) is a time-dependent function of the number of participants in some Web 2 network. Let’s investigate the incremental growth of the networky(t+1)y(t)y(t+1)-y(t), that is the number of users that join the network in one unit of time. The overall pool of people that may join the network at this stage is Ny(t)N−y(t), while the probability of them joining is governed by the perceived utility of the network. Here we will make a reasonable assumption that the probability is roughly the proportion of friends of a person that are in the network already, which is y(t)/Ny(t)/N. As such, we obtain that y(t+1)y(t)=(Ny(t))y(t)/Ny(t+1)−y(t)=(N−y(t))⋅y(t)/N, and because the incremental growth of the network is really an estimate for the derivative, we arrive at the following differential equation describing the growth of the network in Web 2:


Standard methods to solve a quadratic ODE

(click to see the derivation)
dydt=(Ny)yNN(Ny)ydy=dt(1y+1Ny)dy=dt(1y+1Ny)dy=dtlnyln(Ny)=t+C1yNy=C2et,C2=eC1>0y(t)=NetC21+etC2y(t)=N1+Cet,C=1C2>0\begin{aligned} \frac{dy}{dt}&=\frac{(N-y) y}{N} \\ \frac{N}{(N-y) y} dy&=dt \\ \left(\tfrac{1}{y} + \tfrac{1}{N-y}\right) dy&=dt \\ \int \left(\tfrac{1}{y} + \tfrac{1}{N-y}\right) dy&= \int dt \\ \ln |y| - \ln|(N-y)|&= t + C_1 \\ \frac{y}{N-y}&=C_2 \cdot e^t, \qquad C_2=e^{C_1}>0\\ y(t)&=\frac{N e^t C_2}{1+e^t C_2} \\ y(t)&=\frac{N }{1+Ce^{-t}}, \qquad C=\frac{1}{C_2}>0 \end{aligned}

yield the following general form for a function of the number of participants in a Web 2 network:


y(t)=N1+etC,C=Ny(0)y(0)y(t)=\frac{N}{1+e^{-t}C}, \qquad C=\frac{N-y(0)}{y(0)}

This is the so called logistic function, which also appears in mathematical models of population growth, spreading of a virus, and many others. Its graph looks as follows:


This function grows exponentially for small tt (as long as etCe^{-t}C is much larger than 11). At some point this function stops its exponential behaviour, with the inflection point occuring exactly when y(t)=N/2y(t)=N/2. After that point the function asymptotically approaches the level NN. The fact that this function is well-suited for decsribing technological developments is not new.

Web 3 network effects

We start as before:  NN is the total population, y(t)y(t) is the number of participants in some Web 3 network at time tt, and we focus on the incremental difference y(t+1)y(t)y(t+1)-y(t). The overall pool of people that may join the network is still Ny(t)N−y(t). The first difference between Web 2 and Web 3 models occurs in the next step: the probability of people joining the network is governed not only by the perceived utility, but also by the perceived value of the network. To model this, we imagine that each person outside of a network gets hit by two thoughts: the first thougth is about the potential utility of the network (just as in the Web 2 case), and the second thought is about the potential value (this one is new to the Web 3 case). As in the Web 2 case, after the first thought around (Ny(t))y(t)N(N−y(t)) \cdot \frac{y(t)}{N} people join the network. After the second (new) thought, some of the people that were not convinced by the utility of the network are getting convinced by the value of the network. The number of the people not convinced after the first thought is (Ny(t))Ny(t)N(N−y(t)) \cdot \frac{N-y(t)}{N}, while the probability of convincing them is a quadratic expression y(t)2N2\frac{y(t)^2}{N^2}, which, according to Metcalfe’s law, represents the degree to which the network’s value fulfilled its potential (where 1 is full potential). As such, we obtain that after the second thought (Ny(t))Ny(t)Ny(t)2N2(N-y(t))\cdot \frac{N-y(t)}{N}\cdot \frac{y(t)^2}{N^2} people join the network. Combining the numbers of people joining the network after the first and the second thoughts, we obtain that the incremental growth at each step is:

y(t+1)y(t)=(Ny(t))y(t)N+(Ny(t))Ny(t)Ny(t)2N2y(t+1)-y(t)=(N−y(t)) \cdot \frac{y(t)}{N} + (N-y(t))\cdot \frac{N-y(t)}{N}\cdot \frac{y(t)^2}{N^2}

Just as before, the incremental growth of the network is really an estimate for the derivative, so we arrive at the following differential equation describing the growth of the network in Web 3:

y=(Ny)(yN+NyNy2N2)y'=(N-y)\cdot\left(\tfrac{y}{N} + \tfrac{N-y}{N}\cdot \tfrac{y^2}{N^2}\right)

After some simplification, this appears to be a fourth degree ODE:

y=N(yN2y2N2+y4N4)y'=N\left(\tfrac y N - \tfrac{2y^2}{N^2} + \tfrac{y^4}{N^4} \right)

The miraculous fact is that the fourth degree polynomial yN2y2N2+y4N4\frac y N - \frac{2y^2}{N^2} + \frac{y^4}{N^4} turns out to have the following 4 roots: 0, 1, α1=152\alpha_1=\frac{1-\sqrt5}{2}, α2=1+52\alpha_2=\frac{1+\sqrt5}{2} . Note that α2\alpha_2 is the famous golden ratio. Knowing these roots, it is easy to see that

1NyN(yN1)(yNα1)(yNα2)=1y+1Ny15(Nα2y)15(yα1N)\scriptsize \frac{1}{N \cdot \frac y N \cdot \left(\frac y N - 1\right) \left(\frac y N - \alpha_1\right) \left(\frac y N - \alpha_2 \right)}=\frac{1}{y}+\frac{1}{N-y} - \frac{1}{\sqrt5(N\alpha_2-y)}-\frac{1}{\sqrt5(y-\alpha_1N)}

which allows us to solve the differential equation,

(click to see the derivation)
dydt=N(yN2y2N2+y4N4)dydt=NyN(yN1)(yNα1)(yNα2)(1y+1Ny15(Nα2y)15(yα1N))dy=dt(1y+1Ny15(Nα2y)15(yα1N))dy=dtlnyln(Ny)(15lnNα2y)15lnyNα1=t+C1y(Nα2y)(Ny)(yα1N)=C3et,C3=eC1>0\begin{aligned} \frac{dy}{dt}&=N\left(\tfrac y N - 2 \tfrac{y^2}{N^2} + \tfrac{y^4}{N^4} \right) \\ \frac{dy}{dt}&=N \cdot \tfrac y N \cdot \left(\tfrac y N - 1\right) \left(\tfrac y N - \alpha_1\right) \left(\tfrac y N - \alpha_2 \right) \\ \bigg( \tfrac{1}{y}+\tfrac{1}{N-y} &- \tfrac{1}{\sqrt5(N\alpha_2-y)}-\tfrac{1}{\sqrt5(y-\alpha_1N)} \bigg) dy=dt \\ \int \Big( \tfrac{1}{y}+\tfrac{1}{N-y} &- \tfrac{1}{\sqrt5(N\alpha_2-y)}-\tfrac{1}{\sqrt5(y-\alpha_1N)} \Big) dy=\int dt \\ \ln |y| - \ln|(N-y)|&-(-\tfrac{1}{\sqrt5}\ln|N\alpha_2-y|) -\tfrac{1}{\sqrt5}\ln|y-N\alpha_1|= t + C_1 \\ \frac{y(N\alpha_2-y)}{(N-y)(y-\alpha_1N)}&=C_3 \cdot e^t, \qquad C_3=e^{C_1}>0\end{aligned}

yielding the following  general form for an equation of the number of participants in a Web 3 network:


y(Nα2y)(Ny)(yα1N)=Cet,C=y(0)(Nα2y(0))(Ny(0))(y(0)α1N)\frac{y(N\alpha_2-y)}{(N-y)(y-\alpha_1N)}=C \cdot e^t, \quad C=\frac{y(0)(N\alpha_2-y(0))}{(N-y(0))(y(0)-\alpha_1N)}

Note that, unlike function (1) above in the Web 2 case, expression (2) is an equation. While it is possible to solve it for yy (the equation is quadratic), the answer is not nice. Equation (2) though, despite not being a function, does allow to effectively compare the functions y(t)y(t) in Web 2 and Web 3.

Web 2 vs Web 3: model comparison

First, let’s denote by y2y_2 the Web 2 model function, and by y3y_3 the Web 3 model function; these are the ftwo unctions we obtained above. Let’s gather their respective equations together below:

y2Ny2=C2et\frac{y_2}{N-y_2}=C_2 \cdot e^t
y3(Nα2y3)(Ny3)(y3α1N)=C3et\frac{y_3(N\alpha_2-y_3)}{(N-y_3)(y_3-\alpha_1N)}=C_3 \cdot e^t

Since the above are families of equations (due to the constants), in order to compare y2y_2 and y3y_3 we need to pick “comparable” representatives from these families. It would be logical to take representatives with the same initial value, say y2(0)=y3(0)=N/1000y_2(0)=y_3(0)=N/1000, but this turns out to be incinvinient. Instead, let us suppose that the constants are equal: C2=C3C_2=C_3 (they determine and are determined by the inital values of course). Now let’s consider both equations as functions t(y)t(y), and see when the two graphs intersect:

y(Ny)=y(Nα2y)(Ny)(yα1N)    Nα2yyα1N=1    N(α1+α2)=2y\frac{y}{(N-y)}=\frac{y(N\alpha_2-y)}{(N-y)(y-\alpha_1N)} \implies \frac{N\alpha_2-y}{y-\alpha_1N}=1 \implies N(\alpha_1+\alpha_2)=2y

Recalling the values α1=152\alpha_1=\frac{1-\sqrt5}{2} and α2=1+52\alpha_2=\frac{1+\sqrt5}{2}, we obtain α1+α2=1\alpha_1+\alpha_2=1 and so

  • y=N2y=\frac N 2 is the level where the graphs of y2y_2 and y3y_3 intersect.

Moreover, it is easy to see that

  • Nα2yyα1N>1\frac{N\alpha_2-y}{y-\alpha_1N}>1 if y<N2y<\frac N 2, and also Nα2yyα1N>1\frac{N\alpha_2-y}{y-\alpha_1N}>1 if y>N2y>\frac N 2.

This determines how y3y_3 is positioned relative to y2y_2 below and above the y=N2y=\frac N 2. Summarizing everything in a concise picture, the two resulting graphs are depicted below.

We see that the network effects in Web 3 are more powerful.

(It is easy to numerically check that the graphs do look as above using this online graphing tool)

Closing thoughts

Web 3 is an extremely complex category of networks involving blockchains, smart contracts and tokens. I have simplified the story considerably, in order to better showcase the differences between Web 2 and Web 3, and also in order for the mathematical model to have a chance to work. As a result, this post has almost no real world applications. Nevertheless, I find it interesting that the difference between Web 2 and Web 3 network effects can be described mathematically in a succinct way. The presented simple framework also gives a glimpse to an uninitiated person for why Web 3 takes network effects to the next level.