2.1 Data
In this study we analyze empirical datasets from three distinct domains, as elaborated below:
2.1.1 Amazon ranking dataset
The Amazon Product Rankings dataset [26] contains product reviews and metadata from Amazon, including 142.8 million reviews spanning August 1997–July 2006. This dataset includes reviews (ratings, text, helpfulness votes), product metadata (descriptions, category information, price, brand, and image features), and links (also viewed/also bought graphs). We construct weekly bipartite temporal networks, containing product ratings from the Amazon online shopping website. In each such temporal network, nodes represent users and products. An edge between a user and a product is formed if the user rated the specific product within the given timespan. Previous studies that used this dataset for the modeling of network properties can be found for example in [27–30]
2.1.2 ERC20 Ethereum blockchain ledger
Launched in July 2015 [31], the Ethereum Blockchain is a public ledger that keeps records of all Ethereum related transactions. The ability of the Ethereum Blockchain to store not only ownership, similarly to Bitcoin, but also execution code, in the form of “Smart Contracts”, has recently led to the creation of a large number of new types of “tokens”, based on the Ethereum ERC20 protocol. These tokens are “minted” by a variety of players, for a variety of reasons, having all of their transactions carried out by their corresponding Smart Contracts, publicly accessible on the Ethereum Blockchain. As a result, the ERC20 ecosystem constitutes a fascinating example of a highly varied financial ecosystems whose entire activity is publicly available from its inception. This dataset was used in several network theory related studies [32–34] including financial assets adoption [35] and Malware and BOTs detection [36].
In order to preserve anonymity in the Ethereum Blockchain, personal information is omitted from all transactions. A user, represented by their wallet, can participate in the economy system through an address, which is obtained by applying Keccak-256 hash function on his public key. The Ethereum Blockchain enables users to send transactions in order to either send Ether to other wallets, create new Smart Contracts or invoke any of their functions. Since Smart Contracts are scripts residing on the Blockchain as well, they are also assigned a unique address. A Smart Contract is called by sending a transaction to its address, which triggers its independent and automatic execution, in a prescribed manner on every node in the network, according to the data that was included in the triggering transaction.
We have retrieved all transactions spanning from February 2016 to January 2019, resulting in \(179{,} 488{,} 619\) transactions, performed by \(27{,} 888{,} 847 \) unique wallets, trading \(79{,} 451 \) distinct tokens. We construct weekly bipartite temporal networks, containing crypto-tokens transactions on top of the Ethereum Blockchain. Nodes represent trading wallets and crypto-tokens. An edge between a wallet and a token is formed if the wallet bought or sold the given token in the examined timespan.
2.1.3 eToro financial trading dataset
The financial transaction data used in this work was received from an online social financial trading platform for foreign exchanges, equity indices and commodities, called eToro [37, 38]. This trading platform allows traders to take both long and short positions, with a minimal bid of as low as a few dollars, thus providing access for retail traders to investment activities that until recently were only available for professional investors. A key feature of eToro’s “social trading” platform is that each trader can easily see the complete trading history of other investors. Investors can then set their accounts to copy one or more trades made by any other investors, in which case the social trading platform will automatically execute the trade(s). Accordingly, there are three types of trades: (i) Single (or non-social) trade: Investor A places a normal trade by himself or herself; (ii) Copy trade: Investor A places exactly the same trade as investor B’s single trade; (iii) Mirror trade: Investor A automatically executes Investor B’s every single trade, i.e., Investor A follows exactly investor B’s trading activities (and implicitly their investment decisions). Both (ii) and (iii) are hereafter referred to as social trading, and can be regarded as decision making that is based on information received through the common social medium.
The data that was analyzed for this work encompasses approximately 3 million registered accounts, containing over 40 million trades during a period of 3 years. We construct weekly temporal networks, based on the mirroring activity of users on top of this platform.Footnote 2 The nodes represent traders (followers and followees). An edge \((v_{1},v_{2}) \) between two traders is formed if trader \(v_{1} \) mirrored the trading activity of trader \(v_{2} \). Previous studies of this dataset can be found in [39–46].
2.2 Methods
2.2.1 Temporal networks
We define temporal networks as follows.
Definition 2.1
The temporal graph for a given timestamp t, \(G_{t}(V_{t},E_{t})\) is the directed graph constructed from all transactions performed during the time period \([t-\Delta ,t) \). The set of vertices \(V_{t}\) consists of all entities participating in the network activity during that period:
$$ V_{t}:= \bigl\{ v\| v \text{{ participates in network activity during }} [t-\Delta ,t) \bigr\} $$
(1)
and the set of edges \(E_{t} \subseteq V_{t}\times{V_{t}}\) is defined as:
$$ E_{t} := \bigl\{ (u,v)\| \text{{An activity between }} u \text{{ and }} v \text{{ occured during }} [t-\Delta ,t) \bigr\} . $$
(2)
The temporal degree of a vertex \(v\in V_{t} \) is defined as:
$$ \deg_{t}(v) = \bigl\vert \bigl\{ u\in V_{t}| (u,v)\in E_{t}\bigr\} \bigr\vert . $$
(3)
Definition 2.2
Given a time-stamp \(t \in [T] \), the rank assigned to node \(v\in V_{t} \), according to its degree \(\deg_{t}(v)\), is denoted by \(\operatorname{rank}_{t}(v) \). The ranking is performed in a descending order, such that the rank of 1 corresponds to the highest degree node in \(V_{t} \). Specifically, \(\operatorname{rank}_{t}(v) = r\) if there are \(r-1\) nodes with a higher degree than v:
$$ \operatorname{rank}_{t}(v) = \bigl\vert \bigl\{ u\in V_{t} \text{{ such that }} \deg_{t}(u)> \deg_{t}(v) \bigr\} \bigr\vert +1. $$
(4)
Ties are broken randomly, by a random internal ranking of groups containing identical degree nodes. Given a threshold T̂, a node v will be referred to as popular if its rank is amongst the top-T̂ nodes:
$$ 1 \leq \operatorname{rank}_{t}(v) \leq \hat{T}. $$
(5)
2.2.2 Fitting a heavy-tailed model
In this work, we find that the examined distributions present heavy-tailed patterns. In order to substantiate this hypothesis and determine the exact model best representing these distributions, we compared four plausible heavy-tailed models:
-
1.
The power-Law model: \(P(k)=k^{-\alpha}\)
-
2.
The Truncated Power-Law model: \(P(k)=k^{-\alpha}\cdot e^{-\lambda k}\)
-
3.
The Exponential model: \(P(k)=\lambda e^{-\lambda k}\)
-
4.
The Lognormal model: \(\frac{1}{k \sigma} \exp (- \frac {(\ln (x)-\mu )^{2}}{2 \sigma ^{2}} )\)
To this end we applied a prevalent statistical framework [1] encompassing two main stages. Namely, given a heavy tailed model M:
Stage 1: calculate goodness of fit
-
1.
Fit the empirical data to the given model M, estimate its parameters \({P_{M}}\) using maximum likelihood estimators, and calculate the Kolmogorov-Smirnov (KS) statisticFootnote 3 for this fit – \(KS_{M}\).
-
2.
Calculate the goodness-of-fit between the data and the examined model. This stage incorporates:
-
(a)
Generate \(n=1000\) synthetic data sets with the \({P_{M}}\) parameters.
-
(b)
Fit each synthetic data set individually to its own model M and calculate the KS statistic \(KS_{i}\) for each one relative to its own model.
-
(c)
Calculate the p-value, being the fraction of times that \(KS_{i}\) (\(\forall i\in n\)) is larger than \(KS_{M}\).
-
3.
If the resulting p-value was greater than 0.05 the model M was considered to be a plausible hypothesis for the data, otherwise it was rejected.
Stage 2: compare plausible models
Compare all plausible models which were not rejected in the previous step using a likelihood ratio test. The log likelihood ratio test calculates the likelihood of the given data between two competing distributions. The logarithm of this ratio is positive or negative depending on which model presents a better fit, or is zero if a tie is obtained. The sign of the log likelihood ratio is subject to statistical instability and when close to zero, the fluctuations can change its sign. In order to establish the statistical significance of the log likelihood ratio sign, we calculate its standard deviation and corresponding p-value, where small p-values indicate that the established sign is a reliable estimate of model compatibility.
2.2.3 Barabasi-Albert (BA) model simulations
Introduced in 1999 [47], the BA Model was based on the discovery that a common property of many large networks is that vertex connectedness follows a scale-free power-law distribution. This feature appears generically in expanding networks where new vertices attach preferentially to already well connected sites. The proposed model managed to reproduce various stationary scale-free distributions, indicating that the development of large networks is governed by robust generic self-organizing phenomena that are agnostic to the particularities of the examined system. The BA Model has served as the basis of numerous studies in various scientific fields, including social networks analysis [9, 48, 49], computer communication networks [50], biological systems [51], transportation [52, 53], IOT [54], emergency detection [55], financial trading systems [40, 41, 44] and many others.
In order to substantiate our empirical findings, we examine the dynamics established by the Barabasi-Albert (BA) model. First we generate a Barabasi-Albert scale-free network \(G(V,E)\) over \(n=100{,}000\) nodes. A single node is added at every iteration, each outputting \(m=20\) edges, which are preferentially attached to existing nodes, proportionally to their degree. Algorithm 1 depicts this standard Barabasi-Albert process for scale-free network generation [47], with the minor alteration of tagging the added edges with the iteration at which they were added to the network. Next, in order to construct temporal networks from \(G(V, E)\) we follow def. 2.1 with varying Δ choices:
-
1.
\(\Delta =100\)
-
2.
\(\Delta \sim \operatorname{Norm}( \mu , \sigma )\) for \(\mu =100\), \(\sigma =20\)
Specifically, each temporal network \(G_{t}(V_{t}, E_{t})\) is composed of all edges whose tags are within the following range:
$$ E_{t} = \bigl\{ (e,tag)\in E | tag \in [t-\Delta , t ) \bigr\} $$
(6)
and all the nodes that participated in these iterations:
$$ V_{t} = \bigl\{ u \in V | (u,v ) \in E_{t} \text{ or } (v,u ) \in E_{t} \bigr\} . $$
(7)
2.2.4 Trendy preferential attachment (TPA) model simulations
The Trendy Preferential Attachment model [56] is a forget-based extension to the BA model. It presents a network evolution model where edges become less influential as they age. The diminishing influence is modeled by a monotonically decreasing function \(f(\tau )\) of their age τ. We have chosen to apply \(f(\tau ) \propto 1/( \tau ^{2})\). As such, the probability of a new node to connect to another node v in time t is proportional to its time-weighted degree as follows:
$$ \widehat{\deg_{t}}(v) = f(1)\cdot \deg_{t-1}(v) + f(2)\cdot \deg_{t-2}(v)+\cdots+ f(t-1) \cdot \deg_{1}(v), $$
(8)
where \(\deg_{t}(v)\) is the actual (not time-weighted) degree of node v at time t.
We start by generating a TPA network \(G(V,E)\) over \(n=100{,}000\) nodes. A single node is added at every iteration, each outputting \(m=20\) edges, which are preferentially attached to existing nodes, proportionally to their time-weighted degree. Similarly to the process we have performed with the BA model, we tag each edge with the iteration at which it was added to the network. Next, in order to construct temporal networks from \(G(V, E)\) we follow def. 2.1 with \(\Delta =100\).