fengling.eth
Disassortative mixing due to reciprocal links
← Back

Public blockchains · Physica A 2026

Disassortative mixing in a decentralized social network due to reciprocal links

Yuxuan Zhang, Ling Feng

Institute of High Performance Computing, A*STAR Singapore · Department of Physics, National University of Singapore

Social networks are usually assortative: popular users tend to be linked to other popular users. On Farcaster, a social network built on the Ethereum blockchain, we found the opposite. Every directed degree correlation is negative, and stays negative while the network grows. Following the network’s growth link by link, we built a model of how it forms, calibrated on the data, and found the cause: when someone follows you, there is a fair chance you follow back. The same follow-backs make it much easier for information to go viral.

The claim

Reciprocal follow-backs turn a growing follow network disassortative, and they lower the threshold for information to spread through it.

In our growth model, removing follow-backs gives degree correlations of mixed sign; with the follow-back probability measured on Farcaster (rˉp≈0.13\bar r_p\approx0.13 on average) all four are negative, as in the data. More reciprocity also lowers the critical transmissibility TcT_c of directed bond percolation.

0 · Context

Who links to whom: degree correlations in social networks

A network’s assortativity tells whether its well-connected nodes tend to link to other well-connected nodes (assortative, a positive coefficient) or to poorly connected ones (disassortative, a negative coefficient). Social networks are known to be assortative, in part because users with similar numbers of contacts tend to connect. The sign matters beyond description: degree correlations are tied to how well a network holds together and how easily something spreads on it.

In a follow network every link has a direction, from the follower to the followee, so each user has two degrees: the in-degree kink_{in} (followers) and the out-degree koutk_{out} (accounts followed). Correlations can then be measured in four ways, in–in, in–out, out–in and out–out. Heavy-tailed degrees alone are known to make one of them, out–in, negative and leave the other three near zero. Much of the earlier work measures, generalises or imposes such mixing patterns; less is known about which local rules of link formation produce them while a network grows.

Answering that needs data in which one can see when each link was made. Large centralized platforms such as Facebook, X or Weibo are shaped by their own recommendation, ranking and moderation systems, which makes it hard to separate how users link to each other from what the platform does. Farcaster is a decentralized social network on public blockchain infrastructure (Ethereum and its layer-2 networks). Its protocol events are public and time-stamped, so the growth of its follow network can be reconstructed link by link.

120,000
first Farcaster users collected, each follow link with its time stamp
53
“superusers” removed: well-known accounts whose follower counts grow persistently fast (Appendix A)
5,000
first remaining users analysed; the statistics change little up to 10,000 (Appendix B)

Time is counted in network size: a user’s “birth step” t0t_0 is the number of users present when they joined, so exactly one user joins per step. Superusers include core contributors and prominent figures of the Ethereum community who were famous before joining; because a handful of such hubs can dominate network statistics, we leave them out to describe ordinary users.

1 · Observation

All four directed degree correlations on Farcaster are negative, at every size

For a directed edge u→vu\to v we take a degree of the source, kx(u)k_x(u), and a degree of the target, ky(v)k_y(v), with x,y∈{in,out}x,y\in\{in,out\}, and compute the Pearson correlation over all edges of the network:

rx,y=E[kx(u) ky(v)]−E[kx(u)]E[ky(v)]σkx σky. r_{x,y}=\frac{\mathrm{E}\left[k_x(u)\,k_y(v)\right]-\mathrm{E}\left[k_x(u)\right]\mathrm{E}\left[k_y(v)\right]}{\sigma_{k_x}\,\sigma_{k_y}} .

So rout,inr_{out,in}, for example, asks whether users who follow many accounts tend to follow accounts with many followers.

(a) Four log-log plots of the empirical in- and out-degree distributions, PDF and CCDF, all broad and heavy-tailed up to about 1000. (b) The four directed assortativity coefficients against network size from 500 to 5000: in-out near -0.1 to -0.05, out-out near -0.15 to -0.09, in-in near -0.22 to -0.17, out-in lowest near -0.37 to -0.28; all stay negative and never cross.
Fig. 1. Farcaster without superusers. (a) In- and out-degree distributions, both heavy-tailed. (b) The four directed assortativity coefficients as the network grows: all negative, in the same order throughout. Tap to enlarge.

The degree distributions look like those of centralized social networks: most users have few links and a few have hundreds, with roughly straight tails on log–log axes. The correlations do not. All four coefficients are negative over the whole range of sizes we followed, rout,inr_{out,in} is the most negative and rin,outr_{in,out} the closest to zero, and the curves keep their order as the network grows. Heavy tails alone would make only rout,inr_{out,in} negative, so something else in how Farcaster grows must be pushing all four below zero.

2 · Mechanisms

Three regularities in how users join and follow

Because every follow is time-stamped, we can watch how new users behave and turn what we see into rules for a growth model.

  1. A burst of following after joining. On average a user makes about 70 % of all their follows within the first τ=100\tau=100 steps after joining. The number made in this burst, KτK_\tau, has a heavy-tailed distribution that is the same in different periods of growth (Fig. 2a), with a mean of about 37. We model it as a truncated power law, P(Kτ=m)∝m−αP(K_\tau=m)\propto m^{-\alpha}, and calibrate α\alpha by matching the out-degree distribution: the Kolmogorov–Smirnov distance is smallest at α=2.0\alpha=2.0 (Fig. 2c).
  2. New users follow early users. Comparing the birth steps of followed accounts with those of all accounts gives a preference Q(t0)Q(t_0), which falls roughly as a power of the target’s birth step (Fig. 2b): older accounts are followed more. We model a follow’s target as chosen with weight w∝(t0+1)−βw\propto(t_0+1)^{-\beta}, and matching the in-degree distribution gives β=0.7\beta=0.7 (Fig. 2d).
  3. Follow-backs. When uu follows vv, vv often follows uu back later. The share of a user’s follows that are eventually returned, r^p(u)\hat r_p(u), is spread over users like a truncated exponential on [0,1][0,1] with λ=7.35\lambda=7.35 (Fig. 3); on average rˉp≈0.13\bar r_p\approx0.13. New users follow others to explore, and established accounts may follow back to engage their new audience.
Four panels. (a) Log-log PDF of the burst out-degree K_tau for three periods of growth, overlapping straight-ish lines. (b) Preference Q against the target's birth step on log axes, falling from about 3 to below 1. (c) Kolmogorov-Smirnov distance against alpha from 1.2 to 2.3, minimum at alpha 2.0. (d) KS distance against beta from 0.2 to 1.0, minimum at beta 0.7.
Fig. 2. Calibration on Farcaster. (a) Distribution of the burst out-degree KτK_\tau in three periods. (b) Preference Q(t0)Q(t_0) for following accounts born at step t0t_0. (c), (d) Kolmogorov–Smirnov distance between simulated and empirical out- and in-degree distributions, smallest at α=2.0\alpha=2.0 and β=0.7\beta=0.7. Tap to enlarge.
PDF of the follow-back probability r_p-hat from 0 to 1: empirical points falling from about 7 near zero to near zero above 0.5, with a truncated exponential fit, lambda 7.35.
Fig. 3. Share of a user’s follows that are returned, with a truncated exponential fit, λ=7.35\lambda=7.35.

In the model, the follow-back is made at once: whenever an edge u→vu\to v is created, the reverse edge v→uv\to u is added with probability rp(u)r_p(u), drawn for each user from

p(rp)=λ e−λrp1−e−λ,rp∈[0,1]. p(r_p)=\frac{\lambda\,e^{-\lambda r_p}}{1-e^{-\lambda}},\qquad r_p\in[0,1] .

Tuning λ\lambda changes the mean rˉp\bar r_p, which we use below to label how much reciprocity a network has. This form cannot have a mean above 0.5; we also test the limit in which every follow is returned, rˉp=1\bar r_p=1.

3 · Model

A growth model built from the three rules reproduces the sign and order of all four correlations

The network starts from a small random directed graph of N0=50N_0=50 users. At every step one user joins. At a random step within its first τ=100\tau=100 steps it makes its burst of KτK_\tau follows (α=2.0\alpha=2.0, mean about 37), each to a different existing user chosen with weight (t0+1)−β(t_0+1)^{-\beta} (β=0.7\beta=0.7), and each follow is returned with probability rpr_p (λ=7.35\lambda=7.35, rˉp=0.13\bar r_p=0.13). We grow it to N=5000N=5000, the size of the empirical network.

α\alpha and β\beta were fitted to the two degree distributions only. That the model then matches them (Fig. 4) is a sanity check rather than evidence, since many growth models produce heavy tails. The test is everything the model was not fitted to: the four correlations and how they change as the network grows.

Four log-log panels comparing model and empirical in- and out-degree distributions, PDF and CCDF; the model curves follow the data closely.
Fig. 4. In- and out-degree distributions, model against data (PDF and CCDF). Tap to enlarge.

The degree distributions agree closely: the Jensen–Shannon divergence between model and data is 0.0104±0.00620.0104\pm0.0062 for in-degrees and 0.0363±0.00210.0363\pm0.0021 for out-degrees.

More importantly, the model makes all four directed correlations negative, with rout,inr_{out,in} the most negative and rin,outr_{in,out} the least, as in the data, and keeps this order throughout growth from N0N_0 to 5000 (Fig. 5). The cosine similarity between the simulated and empirical curves is 0.9828.

Two panels of assortativity against network size up to 5000. (a) Simulation: in-out from +0.05 falling to -0.06, out-out about -0.12, in-in about -0.17, out-in about -0.24 to -0.22, with open circles at 5000 marking the empirical values. (b) Empirical: in-out -0.13 to -0.05, out-out -0.15 to -0.09, in-in -0.22 to -0.17, out-in -0.37 to -0.28.
Fig. 5. The four directed coefficients during growth. (a) Model, with circles at N=5000N=5000 marking the data. (b) Data. Tap to enlarge.
Coefficientin–outin–inout–outout–inmean
RMSE, model vs data0.05040.03470.02220.07480.0455
Table 2(a). Root-mean-square error between the simulated and empirical curves of Fig. 5. The out–in coefficient is the hardest to match.

The model is not perfect. It reproduces the sign and the ranking of the coefficients, but the spread between the most and least negative is compressed compared with the data, and rout,inr_{out,in} deviates most. Other behaviour on the real platform, perhaps related to content, probably strengthens the disassortativity in particular directions.

4 · Reciprocity

Follow-backs are the switch: without them the correlations have mixed signs

Assortativity at N 5000 against mean reciprocity from 0 to 1. At 0, in-in is +0.16 and out-out +0.04 while out-in is -0.23 and in-out -0.03. By 0.1 all four are negative; they converge and meet at about -0.21 at reciprocity 1. A dashed line marks the empirical value 0.13 with circles for the data.
Fig. 7. The four coefficients at N=5000N=5000 against the mean follow-back probability rˉp\bar r_p (mean of four runs); circles mark the data at rˉp≈0.13\bar r_p\approx0.13.

Our model has three main parameters: the burst exponent α\alpha, the age-preference exponent β\beta and the reciprocity rˉp\bar r_p. Switching follow-backs off (rp=0r_p=0 for everyone) gives mixed signs: rin,inr_{in,in} and rout,outr_{out,out} become positive while the other two stay negative. Varying α\alpha or β\beta without follow-backs never reproduces the data’s pattern; with follow-backs, all four coefficients stay negative over most of the ranges we tested (Fig. 6).

Keeping α\alpha and β\beta at their fitted values and varying only rˉp\bar r_p shows a transition (Fig. 7). Between 0 and about 0.1 the network switches quickly from mixed signs to all-negative. Between 0.1 and 0.3 the disassortative order is stable, and Farcaster’s 0.13 lies in this range. Towards 0.5 the four coefficients approach each other, and when every follow is returned (rˉp=1\bar r_p=1) the network is effectively undirected and they collapse onto one value.

Four panels of assortativity at N 5000. (a), (b) Sweeps of alpha from 1.2 to 2.0 and beta from 0.3 to 0.9 without reciprocity: out-out positive around +0.2 or higher and in-in slightly positive, out-in and in-out negative. (c), (d) The same sweeps with reciprocity: all four coefficients negative over most of the ranges.
Fig. 6. Coefficients at N=5000N=5000 when α\alpha or β\beta is varied, without follow-backs (a, b) and with the empirical follow-back distribution (c, d). Tap to enlarge.
Grow the network yourself
our implementation of the paper’s model, N = 5000

Scroll the panel sideways →

mean follow-back r̄p
—

Each click grows a new network of 5000 users with α=2.0\alpha=2.0, β=0.7\beta=0.7, a mean burst of 37 follows and follow-backs drawn from the truncated exponential with the chosen mean rˉp\bar r_p. Left: the four coefficients rx,yr_{x,y} of Eq. (1) as the network grows. Right: each finished network adds four dots at its rˉp\bar r_p, building up Fig. 7; “sweep” runs all values in turn. Open circles mark the Farcaster values at N=5000N=5000, read off Fig. 7, so they are approximate.

We checked this code against the paper before putting it here. Over six runs it gives, without follow-backs, rout,in=−0.23r_{out,in}=-0.23, rout,out=+0.03r_{out,out}=+0.03, rin,in=+0.19r_{in,in}=+0.19, rin,out=−0.03r_{in,out}=-0.03 (paper: about −0.23-0.23, +0.04+0.04, +0.16+0.16, −0.03-0.03); at rˉp=0.13\bar r_p=0.13 all four are negative at N=5000N=5000, and at every size from 500 to 5000 rout,inr_{out,in} is the lowest and rin,outr_{in,out} the highest (early on, while the network is small, rin,outr_{in,out} can still be slightly positive, as in Fig. 5a); at rˉp=1\bar r_p=1 all four are −0.20-0.20 (paper −0.21-0.21). A single run varies by about ±0.01\pm0.01–0.030.03. The paper does not spell out how the burst sizes are rescaled to a mean of 37; we multiply each draw by a factor that sets the mean at every step.

5 · Spreading

More follow-backs, a lower threshold for going viral

Degree correlations are known to shift percolation thresholds, and percolation is the standard model of something spreading through a network. We ran directed bond percolation on the model networks: each directed edge is kept with probability TT, the transmissibility, as if each follower passed a post on with that probability. In each percolated network we find the giant strongly connected component (GSCC), the largest set of users who can all reach each other along kept edges, and two order parameters: ging_{in}, the share of users who can reach the GSCC, and goutg_{out}, the share reachable from it.

The second-largest strongly connected component, SCC2ndSCC_{2nd}, peaks near the critical point, so the TT of its peak estimates the critical transmissibility TcT_c above which a post can reach a finite fraction of the network.

(a) g_in and g_out against T from 0 to 0.02 for mean reciprocity 0.01 to 0.5: curves rise earlier and higher for larger reciprocity. (b) Second-largest SCC against T: the peak sits near 0.019 for reciprocity 0.01, near 0.007 for 0.1 and near 0.003 to 0.004 for 0.2 to 0.5. (c) Critical transmissibility against reciprocity, falling from about 0.02 at 0.01 to 0.007 at 0.1 and about 0.004 above 0.2; a dashed line marks the empirical 0.13.
Fig. 8. Directed bond percolation on model networks with different rˉp\bar r_p. (a) Giant in- and out-components gin(T)g_{in}(T), gout(T)g_{out}(T). (b) Second-largest SCC; its peak marks TcT_c. (c) TcT_c against rˉp\bar r_p. Tap to enlarge.

As rˉp\bar r_p rises, the peak of SCC2ndSCC_{2nd} moves to smaller TT: the critical transmissibility falls, steeply at first and then more slowly (Fig. 8c), and both giant components grow at any given TT. For spreading on a social network this means that posts become viral more easily when users follow back.

Percolate a grown network
our implementation, N = 5000, 6 percolations per T

Scroll the panel sideways →

mean follow-back r̄p
—

Each click grows a model network with the chosen rˉp\bar r_p, then keeps each directed edge with probability TT for T=0.002T=0.002 to 0.040, six times per value. Left: goutg_{out} (solid) and ging_{in} (dashed). Middle: the second-largest SCC as a share of the network, averaged over the six; its peak is our estimate of TcT_c. Right: TcT_c against rˉp\bar r_p, one dot per network. Earlier runs stay on the plots in their own colours.

The trend is the paper’s: in our checks (five networks each) TcT_c falls from about 0.023 at rˉp=0.05\bar r_p=0.05 to 0.016 at 0.13, 0.011 at 0.3, 0.008 at 0.5 and 0.006 at 1, and goutg_{out} at T=0.02T=0.02 rises from 0.07 to 0.41. Our thresholds are about twice those of Fig. 8c, perhaps because of implementation details the paper does not give, so read the ordering rather than the values. A single network’s estimate can be off by a few thousandths.

6 · Summary

A decentralized network with an unusual structure, and a simple reason for it

Observation

Disassortative throughout

On Farcaster all four directed degree correlations are negative and keep their order while the network grows, unlike the positive assortativity reported for many centralized platforms.

Mechanism

Follow-backs

A growth model with a burst of follows, a preference for early users and follow-backs reproduces it; without follow-backs the signs are mixed.

Consequence

Easier to go viral

More reciprocity lowers the critical transmissibility of directed percolation and enlarges the giant components.

The study has limits. We calibrated on the early network, up to 5000 users (checked to 10,000), far smaller than Farcaster today, and on a single platform. Whether the directed disassortative structure persists as decentralized social networks grow, whether the follow-back mechanism holds on other decentralized platforms, and how reciprocity relates to cooperation, fairness and collective coordination on networks remain open.