# Understanding the Evolution of Blockchain Ecosystems: A Longitudinal
Measurement Study of Bitcoin, Ethereum, and EOSIO

Ningyu He  Peking UniversityBeijingChina ,  Weihang Su  Beijing University of
Posts and TelecommunicationsBeijingChina ,  Zhou Yu  Beijing University of
Posts and TelecommunicationsBeijingChina ,  Xinyu Liu  Beijing University of
Posts and TelecommunicationsBeijingChina ,  Fengyi Zhao  Beijing University of
Posts and TelecommunicationsBeijingChina ,  Haoyu Wang  Beijing University of
Posts and TelecommunicationsBeijingChina ,  Xiapu Luo  The Hong Kong
Polytechnic UniversityHong KongChina ,  Gareth Tyson  Queen Mary University of
LondonLondonUnited Kindom ,  Lei Wu  Zhejiang UniversityZhejiangChina and  Yao
Guo  Peking UniversityBeijingChina

(2020)

###### Abstract.

The continuing expansion of the blockchain ecosystems has attracted much
attention from the research community. However, although a large number of
research studies have been proposed to understand the diverse characteristics
of individual blockchain systems (e.g., Bitcoin or Ethereum), little is known
at a comprehensive level on the evolution of blockchain ecosystems at scale,
longitudinally, and across multiple blockchains. We argue that understanding
the dynamics of blockchain ecosystems could provide unique insights that
cannot be achieved through studying a single static snapshot or a single
blockchain network alone. Based on billions of transaction records collected
from three representative and popular blockchain systems (Bitcoin, Ethereum
and EOSIO) over 10 years, we conduct the first study on the evolution of
multiple blockchain ecosystems from different perspectives. Our exploration
suggests that, although the overall blockchain ecosystem shows promising
growth over the last decade, a number of worrying “outliers” exist that have
disrupted its evolution.

††copyright: acmcopyright††journalyear: 2020

##  1\. Introduction

It has been over 12 years since blockchain was invented to serve as the public
transaction ledger of Bitcoin (bit, 2021). Since, blockchain technologies have
evolved significantly. This includes hundreds of public blockchain platforms,
thousands of cryptocurrencies (cry, 2021b), tens of thousands of decentralized
applications (DApps) and blockchain-based services (FRANKENFIELD, [n.d.]),
millions of smart contracts (He et al., 2020), hundreds of millions of user
accounts (BLOKS.IO, [n.d.]), and billions of transactions (Etherscan.io,
[n.d.]). These technologies and entities have formed a symbiotic relationship,
which we refer to as the blockchain ecosystem.

The global blockchain economy is estimated to be worth 1.8 trillion USD at the
end of May 2021 (cry, 2021b). As a result, its continuing evolution has
increased its complexity, which itself needs considerable effort to
understand: particularly its characteristics, operations, trends and security
issues.

Due to this, the blockchain ecosystem has attracted a lot of attention from
the research community. A large number of studies have focused on exploring
the characteristics of blockchain networks (Huang et al., 2020; Chen et al.,
2020b; Wu et al., 2019), detecting attacks and vulnerabilities (Chen et al.,
2018; Su et al., [n.d.]; Ji et al., 2020), deanonymizing users and tracking
money-flow (Ober et al., 2013; Awan and Cortesi, 2017; Möser et al., 2018;
Wang et al., 2020), and so on. However, little is known (at a comprehensive
level) on the evolution of the overall blockchain ecosystem. Although several
prior studies have performed measurement studies on transactions and smart
contracts, they characterize activities based on either a static snapshot
(Chen et al., 2020b), or based on a single platform (Chen et al., 2018; Huang
et al., 2020). For example, Chen et al. (Chen et al., 2018) and Huang et al.
(Huang et al., 2020) characterized Ethereum and EOSIO, respectively, based on
large-scale transaction analysis. To the best of our knowledge, no existing
studies have characterized the evolution of blockchain ecosystems
comprehensively at scale, longitudinally and across multiple representative
platforms.

This Work. To fill this gap, we perform a multi-dimensional and large-scale
study covering all of the transactions on three of the most representative
blockchains: Bitcoin, Ethereum and EOSIO. Bitcoin is the first distributed
blockchain implementation. Ethereum is the second largest blockchain system
after Bitcoin, and the first second-generation blockchain platform that
supports smart contract functionality (Browne, 2020). EOSIO claims to be the
third-generation blockchain, and adopts Delegate Proof of Stake (DPoS)
consensus, which significantly improves throughput and enables new
applications (RUSSO, 2018; CryptoPurview, 2019).

We first collect the largest ever dataset across these three platforms (see
§3), with over 35 billion traces in total. We use this dataset to provide a
high-level characterization and temporal analysis of the three platforms (§4),
including assessing the behavior of money transfers (§5), account creation
(§6) and contract invocation (§7). Following this, we explore “outliers”
across the evolution of the three blockchains. We identify these as either
misbehavior by attackers or highly popular “killer” DApps that trigger major
fluctuations in activity (§8). Among many interesting results, the following
are the most prominent:

  * •

The overall blockchain ecosystem has shown significant growth over the last
decade. Ethereum and EOSIO are on their way to becoming key decentralized
systems, featuring powerful and popular DApps. Bitcoin has shown a steady
upward trend, with the number of transactions rising 15K times over 12 years.
The number of transactions in Ethereum and EOSIO rose 7.6K times and 2.2K
times, respectively. However, along with this growth in the number of
transactions, the proportion of money transferred has dropped to 16.5% and
15.1% for Ethereum and EOSIO till Nov. 2019, while the proportion of smart
contract invocation has reached over 80%. Smart contracts and DApps are
therefore becoming increasingly popular.

  * •

Many activities in the blockchain ecosystem follow the Pareto principle across
their evolution, and we are witnessing increasing centralization. For all
three types of activities, i.e., money transfer, account creation, and
contract invocation, the Pareto principle is followed (across all
blockchains). This applies to every month we analyze, indicating that a small
group of accounts are increasingly controlling the entire network.

  * •

Interactions among smart contracts are increasingly popular. During the
development of Ethereum and EOSIO, the emergence of “killer” DApps has led to
geater interactions between smart contracts. In other words, contract
invocation transactions are more likely to be initiated by another smart
contract than by a human. However, Ethereum and EOSIO show quite different
behaviors regarding to the DApp evolution. For example, in Ethereum, the
explosion of Decentralized Finance (DeFi) DApps accounts for over 1/3 of
contract invocations since Mar. 2020. In contrast, nearly half of (49.04%)
EOSIO contract invocation transactions were related to gambling DApps.

  * •

87 “outliers” are identified from our time-series analysis. These have a
significant impact that either facilitates or impedes the progress of the
blockchain ecosystem. 48 of these are due to emerging DApps, while 39 of them
are introduced by attacks or scams.

To the best of our knowledge, this is the first longitudinal and large-scale
study across these three-generations of blockchain. Our results motivate the
need for further research efforts. Particularly, we argue it is necessary to
measure and mitigate the widely unexplored trends and misbehaviors of these
blockchain technologies.

##  2\. Background

###  2.1. Blockchain and its Evolution

Blockchain has a history spanning 12 years. Bitcoin, as the first platform
that utilized blockchain, is widely called Blockchain 1.0. Following the
growth of cryptocurrencies, users started to explore the possibility of
decentralized applications (DApps). This led to the development of Ethereum.
As a representative system of Blockchain 2.0, Ethereum is widely adopted by
developers. In fact, millions of smart contracts have already been deployed on
Ethereum. However, the performance of Ethereum is limited by its consensus
protocol (Proof-of-Work, PoW). As a result, in 2018, EOSIO came online, which
adopts Delegated Proof-of-Stake (DPoS) consensus. This has been termed
Blockchain 3.0, improving transaction throughput significantly. To boost
performance, Ethereum 2.0 (Phase 0 test) has also adopted Proof-of-Stake (PoS)
consensus in Dec. 2020. Although many kinds of other blockchain systems have
emerged, we believe these three blockchains are the most representative and
popular ones, making them ideal for studying the evolution of the overall
blockchain ecosystem.

Table 1. A Comparison of Bitcoin, Ethereum and EOSIO.

|  | Native
---
Cryptocurrency
Model | Consensus |  | Support for
---
Smart Contract
TPS (Garriga et al., 2020) | Resource | Role
Bitcoin | Bitcoin | UTXO | PoW | No | 7 | Transaction Fee | Input / Output
Ethereum | Ether | Account/Balance | PoW | Yes | 15 | Gas | EOA / Smart Contract
EOSIO | EOS | Account/Balance | DPoS | Yes | 1000+ | CPU / NET | Account

###  2.2. Bitcoin, Ethereum and EOSIO

We next briefly compare the working mechanisms of Bitcoin, Ethereum and EOSIO,
as summarized in Table 1.

####  2.2.1. Record-Keeping Models

Two types of record-keeping models are adopted in existing blockchain
networks. The first method is called the UTXO (Unspent Transaction Output)
Model (FRANKENFIELD, 2020), and the second one is the Account/Balance Model
(Sun, 2018). Bitcoin is the only one that adopts the UTXO model, which is
illustrated in Fig. 17(a) in the Appendix §A. Specifically, each transaction
is composed of a set of inputs and outputs, which all correspond to a certain
amount of Bitcoin. The UTXO model ensures that the sum of amount represented
by inputs is equal to the outputs. Moreover, each output is locked by a
scriptPubKey. Only the one with the corresponding public key can unlock the
output and spend the money by an input. Therefore, in this paper, we refer to
each of the inputs and outputs as $pubkey$.

However, Bitcoin suffers from several drawbacks: 1) the script in Bitcoin is
not Turing-complete (tur, 2021), which means it cannot perform more
sophisticated functions (e.g., smart contracts); 2) due to its consensus
algorithm, the transactions per second (TPS) is low; and 3) UTXOs are
stateless and can be executed in parallel, which is not well suited for many
applications. Therefore, Ethereum and EOSIO adopt the Account/Balance model.
It works similarly to a debit card transaction: the bank, equivalent to a
consensus algorithm, tracks the balance of each debit card to make sure enough
money exists before approving the transaction.

####  2.2.2. Accounts and Smart Contracts

In Ethereum, there are two types of accounts: External Owned Accounts (EOA)
and smart contracts. Smart contracts contain immutable and executable
bytecode, while an EOA does not and is controlled directly by a private key. A
smart contract can be created by either EOA or another smart contract. In
contrast, the smart contract in EOSIO is updatable. That is because an
executable smart contract’s bytecode in EOSIO is equivalent to an attribute of
an account, like one’s balance. Therefore, in EOSIO, one can easily update the
smart contract in accounts he/she owns after paying the required cost.

####  2.2.3. Transactions

Accounts in Ethereum and EOSIO can interact with each other by invoking
transactions, including money transfers, invoking contracts, or creating an
account. In Ethereum, the transactions initiated by EOA and smart contracts
are termed external transaction and internal transaction, respectively. In
EOSIO, a transaction consists of one or more action(s) and an action can be
invoked by an account.

To better illustrate the working mechanisms, we depict the process of
transferring tokens between accounts in Ethereum and EOSIO in Fig. 18 (see
Appendix §A). Specifically, when $account_{a}$ transfers 1 Ether to
$account_{b}$, it initiates a transaction with an empty input field and 1
Ether filled in the value field. Specifically, the data in the input field can
be parsed by the recipient as a function signature with the corresponding
parameters, and the value indicates the attached Ether. The situation in EOSIO
is more complicated. An official smart contract, named eosio.token, issues EOS
tokens and maintains a balance table for all holders. If $account_{a}$ intends
to transfer EOS to $account_{b}$, it has to request the eosio.token to update
the corresponding rows. After updating, the eosio.token would immediately
notify both of them that the transfer request is handled properly. Once
$account_{b}$ received the notification, it would perform the following
movements, e.g., initiating another action to others. Note that, when someone
intends to create an account, they need to request another official account
(called eosio) to perform the action, instead of transferring an arbitrary
amount of EOS to a non-existent address like in Ethereum.

####  2.2.4. Consensus Protocol & Resource Model

The main difference between EOSIO and the other two platforms is the consensus
protocol and the resource model. PoW requires miners to calculate a string of
meaningless hash values which must be preceded by a certain number of zero.
Therefore, the longer the prefix of zeros, the more calculation is required,
which leads to higher delays and resource-consumption. In contrast, the DPoS
is more resource–conservative and efficient. Compared to PoW, the theoretic
TPS in EOSIO is hundreds-fold, reaching up to 1000+.

Bitcoin and Ethereum adopt a similar resource model, i.e., transaction fees
and gas. Both are used to incentivize miners to pack the transactions with the
highest transaction fee or gas. In EOSIO, the resources are named as CPU and
NET, which represent the allowed time to execute an action, and the space can
be occupied within a single transaction. However, these two types of resource
do not charge anything from initiators. They can mortgage a certain amount of
EOS in exchange for CPU and NET, which can be reused in each transaction. Note
that, the price of CPU fluctuates according to the total value of mortgaged
EOS for CPU, and NET can be freely used if some is available. In other words,
the resource price in EOSIO is nearly free in normal conditions.

##  3\. Data Collection

###  3.1. Methodology

To obtain all transactions across Bitcoin, Ethereum, and EOSIO, we deploy
their official clients to synchronize data, i.e., Bitcoin Core (Bitcoin,
[n.d.]), OpenEthereum (OpenEthereum, [n.d.]), and nodeos (EOSIO, [n.d.]). To
conduct a fine-grained analysis, we also collect all traces, i.e., internal
transactions in Ethereum and actions in EOSIO (see §2.2.3). As the traces are
too large to crawl directly from mainstream browsers (like etherscan
(Etherscan, [n.d.])), we collect them by replaying each transactions.
Specifically, trace_transaction in the trace module of OpenEthereum takes a
transaction as an input, and replays it to collect all internal transactions
that result from the given transaction. For obtaining actions in EOSIO, we
take advantage of the approach proposed by (Huang et al., 2020) to customize
the core service daemon (nodeos) to accelerate the data collection process.

To facilitate our analysis of major events across the blockchains (see §8), we
further crawl the available information (i.e, name, category, and
corresponding addresses or accounts) of all DApps from three well-known
platforms: DAppTotal (DAppTotal, [n.d.]), DappRadar (DappRadar, [n.d.]), and
DappReview (DappReview, [n.d.]).

Table 2. Dataset overview (as of March 31st, 2020).

Category | Bitcoin | Ethereum | EOSIO
---|---|---|---
Launch Date | 2009.01.09 | 2015.07.30 | 2018.06.09
Blocks | 623,837 | 9,782,602 | 113,124,658
Traces | 2,371,617,384 | 1,655,111,086 | 31,588,572,466
Account | 630,562,205 | 68,790,386 | 1,816,578
Smart Contract | - | 24,201,516 | 6,139
DApp | - | 3,292 | 652
DApp Addresses | - | 13,218 | 1,556

###  3.2. Dataset Overview

####  3.2.1. Dataset.

In total, we have collected over 35 Billion traces. Table 2 summarizes the
dataset. To the best of our knowledge, this is the largest ever dataset
studied in the research community. The trace is the basic unit of transaction
in each blockchain. For Bitcoin, a trace is an input or an output; for
Ethereum, traces are composed of all the external transactions, as well as the
internal ones; for EOSIO, a trace corresponds to an action.

Obviously, although EOSIO has the latest launch time, the numbers of traces
and blocks are much higher than the other two blockchains. As Bitcoin adopted
UTXO model, which does not have the concept of account, the number of Bitcoin
accounts indicates the distinct pubkeys of inputs and outputs. In Bitcoin, an
entity may have multiple pubkeys to avoid reuse (to protect anonymity). Thus,
the number of accounts in Bitcoin is tens of Ethereum’s and hundreds of
EOSIO’s. Moreover, we can observe a significant distinction in the number of
accounts and smart contracts between Ethereum and EOSIO. As explained in
§2.2.2, this is because: 1) creating an account in EOSIO charges not only
transaction fee; and 2) EOSIO smart contract is updatable. Both of them impede
the explosion of the number of accounts in EOSIO.

Figure 1. The evolution of traces on a monthly basis.

####  3.2.2. General Trends.

Fig. 1 shows the number of traces collected on a monthly basis, and the
corresponding Transaction per Second (TPS). The numbers of traces in all three
platforms have an upward trend. Interestingly, it only took EOSIO three months
to catch up and overtake the other two platforms. However, it took Ethereum
almost three years to surpass Bitcoin. Compared to the relatively steady
growth of Bitcoin, Ethereum and EOSIO experience sudden increases. For
example, in Oct. 2016, the TPS of Ethereum reached up to 73.0, around 15.9
times higher than the previous month. Interestingly, this explosive growth was
actually due to a DoS (Jameson, 2016) attack, which far exceeded the
theoretical TPS it could handle. As for EOSIO, the TPS reached over 1,240 in
Nov. 2019, and finally reached over 3,080. This resulted from the launch of a
spam DApp, which will be detailed in §8.4.1.

##  4\. Graph-based Evolution Analysis

###  4.1. Method

We seek to characterize the evolution of the blockchain ecosystems by
investigating three representative behaviors: money transfers, account
creation, and contract invocation, corresponding to the types of interactions
between accounts (see §2.2.3). To this end, we represent these activities in
three graph structures: the Money Transfer Graph (MTG), Account Creation Graph
(ACG), and Contract Invocation Graph (CIG). For each blockchain platform, we
will denote each graph using its first three lowercase letters in subscript,
e.g., $CIG_{btc}$ for Bitcoin. We build these three types of graphs on a
monthly basis and specify the month (formatted as $yyyy-MM$) in superscript,
e.g., $CIG_{btc}^{2019-10}$. Overall, we have created 372 graphs (135 for
Bitcoin, 171 for Ethereum and 66 for EOSIO).

Table 3. Notations with their corresponding explanations.

Notations | Explanations | Notations | Explanations
---|---|---|---
$MTG$ | Money Transfer Graph | $\alpha$ | The exponent of fitting function in degree/indegree/outdegree distribution
$ACG$ | Account Creation Graph | $R$ | The Pearson’s Correlation Coefficient between indegree and outdegree
$CIG$ | Contract Invocation Graph |  $WCC$, $SCC$ | Weakly and strongly connected component
$T_{m}$ | Money transfer transactions | $(v_{i},v_{j},w,t)$ |  | Formal definition of edges, indicating at timestamp $t$, $v_{i}$ initiates
---
$w$ times of corresponding type of transactions to $v_{j}$
$T_{a}$ | Account creation transactions | $d$ | Date, converting from timestamp $t$ and formatting as ($yyyy-MM$)
$T_{c}$ | Contract invocation transactions |  $V$, $E$ | The node/edge set of the graph

###  4.2. Metrics and Notations

Following previous studies (Chen et al., 2018; Huang et al., 2020), we measure
the graphs using the following four metrics. For each graph, we later inspect
each of these metrics in-turn. Table 3 summarizes the key notations used in
this paper.

####  4.2.1. The number of traces.

We used simplified notations $T_{m}$, $T_{a}$ and $T_{c}$ to refer to the
money transfer traces, account creation traces and contract invocation traces,
respectively. This metric reflects the popularity of a certain type of
activity along the timeline. For example, a popular gambling DApp will
introduce large number of $T_{c}$ (as the player invokes the contracts of the
gambling DApp) and $T_{m}$ (as the player sends and receives money from the
gambling DApp). Moreover, for each kind of trace, we tag the role of invokers,
i.e., from a smart contract or a user account. The trends can reflect whether
the corresponding blockchain is mainly used as a payment network or a
decentralized system with emerging and powerful applications (i.e., smart
contracts).

####  4.2.2. Distribution of node degree.

The indegree and outdegree of a node represent how many edges are directed to,
or pointed from that node. The degree of a node is the sum of its indegree and
outdegree. The node degrees distribution reflects the centralization of the
blockchain in terms of certain activities. To measure this in our later
analysis, we plot the degree/indegree/outdegree distribution for each graph,
in which the y-axis is the proportion of nodes and x-axis is the size of
degree/indegree/outdegree. On the basis of these plots, we take the logarithm
of both axes, and perform a fit with function $y\sim x^{\alpha}$. The the
lower the $\alpha$, the shorter the tail, and the less centralized the
corresponding traces. We illustrate a concrete example of degree distribution
in §5.3.

####  4.2.3. Pearson Correlation Coefficient ($R$)

On top of the indegree and outdegree of different nodes, we further measure
the Pearson Correlation Coefficient (pea, 2021) (denoted as $R$ in the
following) between them. $R$ reflects whether the distribution of outdegree
and indegree have a linear relationship. It is between $1$ and $-1$ to
indicate strong positive or negative correlation. For example, a popular DApp
interacts frequently with users, leading to both high indegree and outdegree
for all participants. To this end, the $R$ would be close to 1, indicating
strong positive correlation. Thus, $R$ indicates the consistency of indegree
and outdegree of nodes within a graph.

####  4.2.4. Weakly connected component (WCC) & Strongly connected component
(SCC)

In graph theory, if there exists a path between $v_{i}$ to $v_{j}$ in a
directed graph, there exists a set of edges end-to-end whose starting and
ending points are $v_{i}$ and $v_{j}$, respectively. In WCC, there exists a
path between two arbitrary nodes but without differentiating the starting
point and the end point. In SCC, however, it requires that there exists a bi-
directional path between any two nodes. To this end, if the number of WCCs
drops, it means there exists a node with extensive coverage; and if the number
increases, it means such a node disappears. Furthermore, the number of SCCs
examines the possibility of two-way interaction of that node. Consequently,
the number of WCCs and SCCs reflects the connectivity between nodes in terms
of one-way and two-way interaction, respectively. For example, a spammer would
initiate a large amount of $T_{m}$ or $T_{c}$ to deliver its message, but few
accounts would reply. Thus, the number of WCCs and SCCs would respectively
drop and rise due to many one-way edges emerging.

##  5\. Evolution of Money Transfers

###  5.1. Graph Construction

To build $MTG$, we first define the money transfer trace, i.e., $T_{m}$ in
Bitcoin, Ethereum and EOSIO. Specifically, in Ethereum, a transaction with a
certain amount of Ether and a blank input field is regarded as a $T_{m}$. The
payer and payee can be identified easily by their addresses. In EOSIO, we
further parse the following notifications initiated from eosio.token after
transfer requests. Hence, we can extract the real participants and construct a
$T_{m}$ directly between them. For Bitcoin, a transaction may have multiple
inputs and outputs, which are regarded as two sets: payers and payees.
Therefore, we follow previous work (Akcora et al., 2018) and insert an
additional node and label it by the corresponding transaction id, $txid$.

As defined in Table 3, each $T_{m}$ can be formally represented as
$(v_{i},v_{j},w,t)$, indicating at time $t$, $v_{i}$ transferred $w$ tokens to
$v_{j}$. Then, by converting the timestamp $t$ to date $d$ (formatted as
$yyyy-MM$) and adding $w$ up as $w^{*}$, we can group $T_{m}$s with the same
payer and payee on a monthly basis for each platform. This can be formalized
as $\\{(v_{i},v_{j},w^{*},d)|v_{i},v_{j}\in V,w^{*}\in\mathbb{R}^{+}\\}$.
Consequently, $MTG$s can be defined as a weighted directed graph: $MTG=(V,E)$,
where $E$ is the above mentioned set and $V$ is a set of nodes represented as:
$(id,label)$. Specifically, $id$ is the identifier to distinguish nodes within
a platform; and the $label$ is the category of DApps to which the $id$
belongs, according to the off-chain information we collected. Consequently, we
have created 214 MFGs, 135 for Bitcoin, 57 for Ethereum and 22 for EOSIO. We
spend the rest of this section inspecting $MTG$ using the four metrics defined
in §4.

###  5.2. Number of Traces

####  5.2.1. Overall evolution.

The number of $T_{m}$ over time across three platforms is shown in Fig. 2. The
number of $T_{m}$ in Bitcoin has always been greater than Ethereum’s. Since
Oct. 2018, the number of $T_{m}$ in EOSIO has surpassed the other two
platforms. Though there was a decline from late 2018, its number has reached
2.1 billion in $MTG_{eos}^{2019-11}$, which is more than an order of magnitude
higher than Bitcoin and Ethereum at the same time.

Figure 2. The evolution of monthly money transfer traces across three
blockchains.

We further show the proportion of $T_{m}$ out of all traces by a dashed line
in Fig. 2. Note that we omit the percentage of Bitcoin, as it is always 100%
(the Bitcoin network is solely composed of $T_{m}$). For Ethereum, we observe
three troughs in late-2015, Oct. 2016 and Nov. 2017. These were caused by
Dwarfpool (dwa, 2021), a DoS attack (Jameson, 2016), and a DApp called
CryptoKitties (cry, 2021a), respectively. To be specific, the mining pool and
the DoS attack both invoked a huge number of $T_{c}$ (see §7). The DoS attack
took advantage of the flawed design of the price of gas (see §2.2.4).
CryptoKitties is a collectible game where players can trade and exchange
kitties. However, kitties are represented by alternative tokens, whose
transfer is regarded as $T_{c}$ in our paper. Except for these three troughs,
the overall share of $T_{m}$ in Ethereum has been gradually decreasing, which
we believe is due to the emergence of DeFi since May 2017. According to our
data, in just six months, the number of DeFi related $T_{c}$ had risen by a
remarkable 486.3% and another 7,420.4% for the next half year.

In contrast, the amount of $T_{m}$ in EOSIO surged in late-2018, which was due
to the popularity of gambling DApps. This type of DApps requires frequent and
abundant money transferred between players and contracts. Our collected data
indicates there were 237 million $T_{m}$ related to gambling DApps in EOSIO in
Nov. 2018 (equivalent to 23.4 times of all $T_{m}$ in Ethereum in the same
month). After this, the share of $T_{m}$ also started to go down until Nov.
2019. The emergence of EIDOS111This accepts a user’s transfer of EOS and
returns it back immediately. In the meanwhile, it initiates another
transaction with a certain amount of EIDOS tokens, issued by themselves but
can be traded in exchanges. Therefore, the ratio of $T_{m}$ to $T_{c}$ related
to EIDOS is around 2 to 1. (eid, 2021a) forced the percentage of $T_{m}$ to
around 66% (i.e. two-thirds) of all traces in each month (see §8.4.1).

(a) Ethereum

(b) EOSIO

Figure 3. Percentage of initiators’ role who invokes money transfer traces.

####  5.2.2. The role of initiators.

Fig. 3 shows the percentage of the role of initiators, from whom the $T_{m}$
is initiated, in Ethereum and EOSIO. An obvious trough existed in Oct. 2016
from Fig. 3(a). This is because the DoS attack requires frequent invocations
of $T_{m}$, which can be easily achieved by smart contracts instead of regular
accounts (i.e., human). Except for that, we observe that users in Ethereum
prefer transferring money on their own, though the ratio was still gradually
going down. According to our data, along with the increase of the absolute
number of $T_{m}$ (see Fig. 2), since 2018, the number of $T_{m}$ initiated by
EOA has dropped by 67.6%. Moreover, in EOSIO, we see a surge of $T_{m}$
initiated from smart contracts in late-2018, as the contracts of gambling
DApps needed to invoke $T_{m}$ to return money to their winners. Our data
illustrates that among these 237M pieces of gambling related $T_{m}$, 78.38%
of them were initiated by gambling DApps.

Insight:  The activity of the blockchain ecosystems has shown continuous
growth in terms of transferring native tokens, in-part incentivized by killer
DApps. The proportion of transfer transactions reveals that both Ethereum and
EOSIO has been experiencing a decline, due to them departing from pure value-
transfer networks.

###  5.3. Degree

As explained in §4.2, we use $\alpha$ to measure the degree distribution. We
first illustrate its meaning using a concrete example. Fig. 4 illustrates the
$\alpha$ of indegree and outdegree distribution in $MTG_{eos}^{2019-10}$ and
$MTG_{eth}^{2019-10}$. Each dot in Fig. 4 shows that there is $y$ percent of
nodes with the degree/indegree/outdegree valued as $x$ (in the corresponding
month and platform). The distribution of node degree is quite different across
the blockchains. Note, the larger the $\alpha$, the more obvious the long-tail
distribution, indicating less variabilty in the nodes’ degree. More
importantly, a high $\alpha$ means greater centralization. For example, we
identify a family of accounts in EOSIO that invoke spam advertisements in Oct.
2019 (more details in §8.4.2). Due to this, Fig. 4(a) has points in the top
left corner. These are nodes with a small indegree, representing victims of
this spam attack. In contrast, we see a set of points located in the bottom
right corner of Fig. 4(b), i.e., the spammers.

(a) EOSIO indegree

(b) EOSIO outdegree

(c) Ethereum indegree

(d) Ethereum outdegree

Figure 4. Indegree and outdegree distribution for $MTG_{eos}^{2019-10}$ and
$MTG_{eth}^{2019-10}$.

####  5.3.1. Overall evolution.

To study this centralization, we further calculate the $\alpha$ of the
degree/indegree/outdegree distribution for each platform on a monthly basis.
The trend of the $\alpha$s are shown in Fig. 5. The general trend shows that,
in Bitcoin, except for the infant stage (prior to 2012), the $\alpha$ of
indegree and outdegree distributions were quite stable and changed almost
simultaneously. Moreover, the $\alpha$ of Ethereum’s indegree distribution
shows an overall gradual upward trend, while that of outdegree was gradually
stabilizing. This signals growing centralization of indegree distribution. In
EOSIO, the $\alpha$ metrics fluctuate significantly though. Compared to
Ethereum, the indegree was less centralized but the outdegree was exactly in
the opposite position.

(a) Bitcoin

(b) Ethereum

(c) EOSIO

Figure 5. $\alpha$ of degree/indegree/outdegree distribution of blockchain
platforms over time in terms of $MTG$.

####  5.3.2. Per-chain analysis.

When we look in detail on the per-chain basis, subtle differences arise. As we
see from Fig. 5(a), prior to 2012, Bitcoin was still in its infancy and the
number of $T_{m}$ per month was so small that a few transactions could cause a
large shift in the $\alpha$. From Fig. 5(b), we see that prior to mid-2018,
the $\alpha$ of outdegree distribution went higher than that of the indegree
distribution. Combining with the historical prices of Ether (CoinMarketCap,
[n.d.]b), we see that the price was going up and reached a local maximum from
mid-2017. This would motivate frequent buy and sell transactions through
exchanges, who typically have multiple entries used to collect deposit
requests from users. Hence, this has resulted in more centralized indegree
distribution than outdegree. According to our data, the exchange related
$T_{m}$ during late 2017 accounted for 15.7% — 48.18% of the total DApp-
related $T_{m}$. For EOSIO, except for Oct. 2019, we see the trend of $\alpha$
was similar with the Ethereum’s (see Fig. 5(c),). Also, if we combine the
historical price of EOS (CoinMarketCap, [n.d.]a), we see that there were some
price peaks, especially before Dec. 2018 and Jun. 2019. However, the existence
of exchanges in EOSIO cannot drive the $\alpha$ so dramatically. Other driving
forces include the growth of gambling DApps in Sep. 2018, i.e., around 6.9
million transactions were initiated from gambling DApps. The top 1% accounted
for 98.1% of them, which explains the greater centralization of outdegree.

Insight:  Compared to the relative stable degree distribution in Bitcoin, the
degree distribution in Ethereum and EOSIO has been significantly affected by
the price of tokens. This has resulted in greater centralization (with some
dominant accounts) that are reflected in the fluctuation of $\alpha$.

###  5.4. Pearson Correlation Coefficient ($R$)

Figure 6. Pearson’s correlation between indegree and outdegree of blockchain
platforms over time.

The correlation ($R$) between indegree and outdegree of nodes for these
platforms are depicted in Fig. 6. After the infant stage of Bitcoin, its $R$
was relatively high, reflecting a strong positive correlation of indegree and
outdegree. However, this may be due to the topology of $MTG_{btc}$, i.e., the
node must have one indegree (the referring output is directed from its $txid$)
and zero/one outdegree (depending on if it is (un)spent). In Ethereum, after
the DoS attack, there were two peaks that indicate a strong correlation: Mar.
2017 (0.521) and Dec. 2017 (0.607). These are caused by ShapeShift (sha, 2021)
and Cryptokitties, respectively. The former is an exchange which allows users
to exchange cryptocurrencies. Though Cryptokitties led to frequent token
exchanges, it still required a huge amount of Ether transfer to perform game
logic, like trading and breeding kitties. In terms of $T_{m}$, the core
contract of Cryptokitties accounted for 469K and 458K outdegree and indegree,
respectively. However, this has been gradually decreasing since 2018, due to
the emergence of DeFi, which is more likely to initiate $T_{c}$ instead of
$T_{m}$ (see §7).

As for EOSIO, the overall tendency of $R$ shows there was nearly no
correlation between indegree and outdegree, except for two months: Apr. 2019
and Nov. 2019. One previous work (Huang et al., 2020) analyzed the EOS Global
event that happened in Apr. 2019. This was a bot-like account that sent and
received a huge number of EOS to fake an exaggerated trading volume. This
resulted in huge outdegree and indegree. The peak in Nov. 2019 resulted from
EIDOS, a spam airdrop event, whose contract received a lot of EOS from
investors and returned them back immediately (detailed in §8.4.1).

Insight:  Bitcoin has a relatively high $R$, but Ethereum’s $R$ has been
gradually decreasing. This may be related to the emergence of popoular DeFi
DApps. In contrast, EOSIO has maintained a relatively low level of $R$ in
transferring money, except for the peaks imported by exchanges and spams.

###  5.5. Connected Components

Fig. 7 shows the evolution of the numbers of WCC and SCC. Generally, these
numbers reflect the (dis)apperance of nodes who could import huge amounts of
(bi-)directional edges (see §4.2.4). Note that, due to the impossibility of
constructing bi-directional edges in $MTG_{btc}$ for the Bitcoin network, we
only measure its number of WCC. Until Apr. 2018, the number of WCCs for
Ethereum and Bitcoin have been almost equal (48,529 for Ethereum and 55,387
for Bitcoin). In contrast, the number of WCC for EOSIO was only 230 at most
(in Apr. 2019). There are two possible reasons: 1) a relatively lower number
of accounts and smart contracts in EOSIO compared to Ethereum and Bitcoin (see
Table 2); and 2) $T_{m}$ is more likely to be invoked in EOSIO (see Fig. 2).
In Oct. 2019, the number of WCC in EOSIO dropped to 3. This was caused by an
enormous amount of spam advertisements (detailed in §8.4.2) that carry tiny
EOS but cover many accounts. Astonishingly, this pushes the size of WCC as
579,964, covering more than 99.9% of nodes in $MTG_{eos}^{2019-10}$.

Figure 7. The number of WCC and SCC in different blockchain platforms over
time.

As to SCC, the difference between EOSIO and Ethereum has reduced, which
suggests that one-way directed edges in $T_{m}$ still dominate. In EOSIO, we
also see a sudden drop in Nov. 2019 (the number of SCC is 55,452), as the
EIDOS enforces the bi-directional $T_{m}$.

Insight:  The number of WCC was relatively low in EOSIO compared to other two
platforms, suggesting that accounts in EOSIO have stronger connections than
those in Bitcoin and Ethereum. That said, violent fluctuations were introduced
by certain misbehaviors. Moreover, the numbers of WCCs and SCCs have an upward
trend, meaning that the platforms are constantly flooded with new users.
However, our results show that the existing contracts do not perform many
money transfers with them.

##  6\. Evolution of Account Creation

###  6.1. Graph Construction

Though we uniformly defined accounts in all three platforms (see §3.2), the
concept of an ‘accounts’ in Bitcoin is still vague. Therefore, we only discuss
$T_{a}$, account creation transactions, in Ethereum and EOSIO. In Ethereum, we
focus on the smart contract, which can be created by an internal transaction
whose type is create (see §2.2.3). As for EOSIO, we parse the notifications
followed by function newaccount in theofficial account eosio to parse the
actual creator and the created account (explained in §2.2.3).

Similar to the definition of $T_{m}$ (see §5.1 and Table 3), $T_{a}$ is also
defined as $(v_{i},v_{j},w,t)$. However, as each $v_{j}$ can only be created
once, the $w$ is always $1$ here. Therefore, we can group $T_{a}$s by only
converting $t$ as $d$: $\\{(v_{i},v_{j},d)|v_{i},v_{j}\in V\\}$. Eventually,
we obtain an unweighted directed graph $ACG$ for each month: $ACG=(V,E)$,
where $E$ is the above set and $V$ is the set composed of nodes as introduced
in §5.1. In total, we have created 79 ACGs: 57 for Ethereum and 22 for EOSIO.
We spend the rest of this section inspecting $ACG$ using three of the metrics
defined in §4.

Figure 8. The evolution of account creation traces.

(a) Ethereum

(b) EOSIO

Figure 9. The distribution of initiators of $T_{a}$.

###  6.2. Number of Traces

The number of $T_{a}$ and its corresponding proportion to the number of all
traces in the corresponding month are shown in Fig. 8. Taking the number of
$T_{a}$ in Ethereum as a whole, we can observe a conspicuous upwards trend.
Contrary to Ethereum, the number of newly created accounts in EOSIO has
remained at a relatively low but stable level. The exception is during Apr.
2019, where the EOS Global contract created more than 241K bot-accounts.
Moreover, in EOSIO, except for the first month, the ratio of $T_{a}$ was
almost negligible (0.17% in Aug. 2018 was the maximum ratio). Contrary, there
was always a certain percentage of $T_{a}$ in Ethereum for each month (around
1% – 2.5%), though the percentage was much lower than $T_{m}$’s (see Fig. 2).
The main reason is that creating an account in Ethereum is almost free
compared to EOSIO222 Creating an EOSIO account will cost 5.39 USD (INSIDER,
2018), while it takes less than 0.01 USD in Ethereum on that day. , which may
make users more reluctant to reuse existing accounts for different purposes.

Fig. 9 further shows the role of the initiator who invokes $T_{a}$s.
Especially in Mar. 2020, the ratio of Ethereum accounts created by smart
contracts is 33.7 times higher than that of EOAs. Such an astonishing ratio
shows a dramatic contrast to the ratio in $MTG$ (see Fig. 3(a)). After manual
investigation, we find that this is due to a contract named GasToken (gas,
2021), which helps users to spend less gas to complete the transaction — this
created a huge amount of accounts since 2019. The $T_{a}$ it initiated
accounted for 62% of all $T_{a}$ in Mar. 2020. Moreover, we find that the
ratio of $T_{a}$ initiated from contracts has little correlation with the
prosperity of DApps. Overall, the DApp related account creation transactions
has never accounted for higher than 15% in each month.

Insight:  In Ethereum and EOSIO, the absolute number and ratio of account
creation transactions are relative low compared to transfer transactions.
Creating accounts is less necessary in Ethereum, and EOSIO charges expensive
fees. Moreover, accounts are more likely to be created by contracts,
indicating the tendency for more relationships between smart contract.

###  6.3. Degree

As each node can only be created once, this leads to a constant indegree value
for each node. Hence, we only measure the distribution of outdegree and
degree, and the evolution of the corresponding metrics $\alpha$, as shown in
Fig. 10.

For Ethereum, prior to mid-2017, the values of $\alpha$ show volatility, which
we believe is caused by the relatively small number of $T_{a}$ during this
period (see Fig. 8). From then on, both platforms exhibit an upwards trend for
the $\alpha$ of the outdegree distribution, especially in EOSIO. In other
words, the account creation behavior has become increasingly centralized. For
example, account genialwombat which belongs to Wombat Wallet (wom, 2021),
offers a free account creation service for its users. This wallet has created
more than 32.2K accounts. Furthermore, the top 1% of accounts in EOSIO have
created 97.3% of all accounts in Mar. 2020. Interestingly, we can observe two
sudden decreases in both sub-graphs: Aug. 2018 in Ethereum and Apr. 2019 in
EOSIO. Combining the off-chain information we collected, we conclude that
these two outliers were caused by an attack against a Fomo3D-like game called
Last Winner (AnChain.AI, 2018) and the EOS Global event, respectively. The
former took advantage of lots of newly created accounts to attack the DApp.
This account creation process followed a multi-level structure (AnChain.AI,
2018) leading to invoking enormous $T_{a}$.

(a) Ethereum

(b) EOSIO

Figure 10. $\alpha$ of degree/outdegree distribution of blockchain platforms
over time in terms of $ACG$.

Insight:  Except for the early stage of Ethereum, the $\alpha$ of the
outdegree distributions show an upward trend for both platforms. The
exceptions are two troughs, which resulted from attacks against Last Winner
and EOS Global, respectively. Especially in EOSIO, the upwards $\alpha$
indicates the emergence of large account creation providers which made the
invocations of account creation transactions more centralized.

Figure 11. The number of WCC in different blockchain platforms over time in
terms of $ACG$.

###  6.4. Connected Components

Fig. 11 shows the number of WCCs in Ethereum and EOSIO. Ethereum shows an
upward trend followed by a decline in terms of the number of WCC. In EOSIO, it
was also gradually decreasing (due to the emergence of account creation
services). Moreover, we observe an obvious trough during Oct. 2016 in
Ethereum, which had 294 WCCs. We believe this is related to the DoS attack,
which created a large number of accounts and prevented others from creating
accounts properly. Besides, the strange 1 WCC in EOSIO in Jun. 2018 was
because the account creation tree composed of invoked $T_{a}$ has a common
root node: official account eosio.

Insight:  The account creation process has become more centralized, causing
the number of WCC to go down continuously. This further reflects the tighter
relationship between smart contracts in terms of account creation behavior.

##  7\. Evolution of Contract Invocation

###  7.1. Graph Construction

Similar to $ACG$, we do not discuss $T_{c}$ in Bitcoin. We treat all the
traces in Ethereum that are targeted to any smart contract as $T_{c}$. As for
EOSIO, we excluded the transfer actions to eosio.token and the account
creation action to eosio. All the other actions are treated as $T_{c}$.
Consequently, we collect all the $T_{c}$ as $(v_{i},v_{j},w,t)$. Identical to
the process introduced in §5.1, the $CIG$ is defined as a weighted directed
graph: $CIG=(V,E)$, where $E=\\{(v_{i},v_{j},w^{*},d)|v_{i},v_{j}\in
V,w^{*}\in\mathbb{R}^{+}\\}$ and $V$ is the set of nodes. In total, we have
created 79 CIGs, 57 for Ethereum and 22 for EOSIO.

###  7.2. Number of Traces

Fig. 12 depicts the number of $T_{c}$ and its corresponding ratio across time.
All these four lines fluctuate wildly. For Ethereum, except for the spike in
Oct. 2016 caused by the DoS attack which led to the number of $T_{c}$
exceeding 189 million, its absolute number shows a gradual upward trend.
Moreover, the growth of the ratio is dramatic: from the launch of Ethereum to
Mar. 2020, the ratio grew from 9.60% to 84.69%, thereby starting to dominate
Ethereum’s network.

As for EOSIO, its absolute number was also rising and was about an order of
magnitude more than that of Ethereum, reaching almost two orders of magnitude
after Nov. 2019. However, the trends between its ratio and absolute numbers
are inconsistent. To be specific, we can see an obvious spike on Jul. 2018
that resulted from two accounts: blocktwitter and chaintwitter, which imported
more than 64.9M and 21.0M $T_{c}$. Then, during late-2018, a gambling DApp led
to frequent invocations between accounts, thereby resulting in a trough during
this period. Since then, the ratio was continuously rising till Nov. 2019,
since when the EIDOS’s mechanism almost fixes the ratio to 33.3%.

Figure 12. The evolution of contract invocation traces.

The role of invokers who initiated $T_{c}$ is also interesting, as shown in
Fig. 13. The DoS attack in Ethereum (Oct. 2016) is mainly initiated by smart
contracts. Since then, smart contracts increasingly invoke other smart
contracts. But in EOSIO, a different tendency is observed: users in EOSIO
preferred to invoke smart contracts from their own accounts. In May 2019,
41.42% of $T_{c}$ was initiated by regular accounts. The reason is unclear,
however, from Nov. 2019, EIDOS started to dominate the ecosystem, resulting in
the percentage of smart-contract-invoking invocations rising to 98.27%.

(a) Ethereum

(b) EOSIO

Figure 13. The distribution of initiators of $T_{c}$.

Insight:  The number of smart contract invocations has been increasing across
both platforms, confirming their growing use. However, the number and the
corresponding ratio were inconsistent in EOSIO, as they were significantly
affected by gambling DApps and EIDOS.

###  7.3. Degree

Fig. 14 illustrates the degree distribution. Interestingly, the $\alpha$ of
outdegree distribution of EOSIO is overall higher than that of Ethereum. The
$\alpha$ of the indegree distribution, however, is on the opposite position.
It indicates that, most accounts in Ethereum invoke fewer contracts than
accounts in EOSIO, but there exist some super nodes that accept most of the
$T_{c}$ in Ethereum. Moreover, in EOSIO, the $\alpha$ of the outdegree
distribution is almost higher than the indegree’s all the time. This
illustrates the existence of some killer DApps that invokes many $T_{c}$. The
significant upward trend in 2020 in Fig. 14(b) reflects that the initiation of
$T_{c}$ became more centralized. Recall the mechanism of EIDOS we briefly
introduced in §5.2, which initiates lots of EIDOS token transfers to benefit
users. Alone, it accounted for 92.2% of $T_{c}$ in Nov. 2019, which indicates
the tendency towards centralization in EOSIO. Additionally, in Ethereum, for
the $\alpha$ of the outdegree distribution, the trough during the whole 2018
in Fig. 14(a) is highly conspicuous. The reason is the emergence of some
popular DeFi DApps who attract users to invoke them; this finally makes the
distribution of outdegree less centralized.

(a) Ethereum

(b) EOSIO

Figure 14. $\alpha$ of degree/indegree/outdegree distribution of blockchain
platforms over time in terms of $CIG$.

Insight:  The $\alpha$ of the outdegree/indegree distributions in EOSIO and
Ethereum follow opposite trends. This reflects the centralization of the
outdegree in EOSIO, caused by popular gambling DApps and mis-behaviors; and
the centralization of the indegree in Ethereum due to the emergence of DeFi
DApps.

###  7.4. Pearson Coefficient ($R$)

Fig. 15 gives the $R$ between indegree and outdegree in terms of contract
invocation. We see there was little correlation between the indegree and
outdegree in the $CIG_{eth}$ and $CIG_{eos}$, and there never existed a
negative correlation. That said, in some months, the value of $R$ rises
sharply. This is caused by popular DApps or malicious behaviors; these have
such a large indegree and outdegree that they are able to affect the entire
network. For example, in Aug. 2018, a gambling game called Last Winner
launched in Ethereum; and in Aug. 2019, a popular DApp pornhashbaby appeared
in EOSIO. The former resulted in 876K indegree and 311K outdegree, accounting
for more than 45% gambling related $T_{c}$ in $CIG_{eth}^{2018-08}$.

Figure 15. Pearson’s correlation between indegree and outdegree of blockchain
platforms over time in $CIG$.

Insight:  The indegree and outdegree of nodes in both platforms had little
correlation in terms of contract invocation. However, this metric can be
severely impacted by misbehaviors or popular DApps.

###  7.5. Connected Components

Fig. 16 shows the number of WCCs and SCCs in Ethereum and EOSIO in $CIG$s.
These have been gradually increasing. The peak on Jan. 2018 in Ethereum’s WCC
is obvious, caused by the sudden decrease of users in Bittrex due to a hack
event (PARTZ, 2018). Moreover, the number of WCCs in EOSIO is nearly two
orders of magnitude smaller than Ethereum’s. Combining Fig. 12 and Fig. 14(b),
we conclude that users on EOSIO were calling contracts more frequently.

Figure 16. The number of WCC and SCC in Ethereum and EOSIO over time in terms
of $CIG$

Besides, some accounts initiated a large number of $T_{c}$, which covered
numerous contracts and kept the number of WCC at a low level. The maximum WCC
has covered at least 99.24% of nodes in the corresponding months. However, for
SCC, we can conclude that the callback from the smart contract is unusual.
This may be due to two reasons: 1) the initiating account is a regular
account, thus it is unable to callback by a $T_{c}$; and 2) the callback trace
just sends some native tokens, which is classified as a $T_{m}$. Note that
there is a missing point of #SCC in Nov. 2016. This is because Ethereum
officially deployed a sweeper
contract3330xa43ebd8939d8328f5858119a3fb65f65c864c6dd that initiated more than
16 million one-way $T_{c}$ to remove all the redundant and meaningless
contracts created by the DoS attack in October. This resulted in a large
number of SCCs ($>$16M).

Insight:  The growing number of accounts, indicate smart contracts are gaining
increasing popularity.

##  8\. Characterizing Outliers

###  8.1. Definition of Outlier

Our previous exploration suggests that some events (e.g., DoS attacks) and
influential accounts have a large impact on ecosystems. In this section, we
explore such events and addresses. Note our outlier analysis is not intended
to identify attacks, as many attack events may not cause noticeable changes to
the overall ecosystems. Instead, our purpose is to pinpoint what kinds of
events/DApps can facilitate or impede the development of the blockchain
ecosystems. For all metrics considered, some data points deviate significantly
from the average (Wikipedia, [n.d.]). We refer to these points as outliers.

###  8.2. Detecting and Labelling Outliers

####  8.2.1. Detecting Outliers.

We use a simple but efficient algorithm, z-score (z-s, 2021), to flag outliers
in each time series. Z-scores quantify the unusualness of an observation.
Z-scores are the number of standard deviations above and below the mean that
each value falls. Specifically, if the value of a metric for a month is $x$,
the z-score would be: $z=\frac{x-\mu}{\sigma}$, where $\mu$ is the average of
$x$ and corresponding values before and after three months (7 values in
total), and $\sigma$ is the standard deviation for these 7 values. Therefore,
the absolute value of the z-score represents the distance between the $x$ and
its adjacent elements mean in units standard deviation.

####  8.2.2. Labelling Outlier

We propose a semi-automated method to label outliers. Our idea is that
outliers result from suddenly popular DApps or misbehaviors. Thus, removing
the responsible node(s) can make the absolute value of z-score smaller than a
threshold. For each metric, we have different strategies to identify the
responsible node(s).

Specifically, (1) for the number of trace metric, the node with the highest
degree (named the supernode) in the corresponding graph will be identified;
(2) for $\alpha$ of the degree distribution, there are two cases: trough or
peak, corresponding to dispersion and centralization, respectively. Therefore,
for the former, the strategy tries to identify the node(s) who import many
nodes with a small degree; for the latter, the supernode with the highest
degree/indegree/outdegree will be labeled; (3) based on our extensive manual
investigation, a node with high indegree and outdegree simultaneously is
likely to push the $R$ higher. Therefore, the strategy focuses on the node
with the highest product of indegree and outdegree; (4) the significant change
in the number of connected components is always related to the (dis)appearance
of nodes that are directly connected to lots of nodes in the network. To this
end, the nodes with the most one-way or two-way edges with the others will be
identified.

After the node(s) are identified according to the above strategy, it and its
connected edges in the corresponding graph will be removed. We then
recalculate the corresponding metric to see if the absolute value of z-score
drops lower than a threshold. If not, the above process is repeated until the
outlier disappears. To guarantee accuracy, we manually recheck all removed
nodes to confirm they are the actual responsible ones. In other words, for
each outlier, our method can extract a set of responsible nodes that are
related to attack/spam events or killer DApps.

We classify the outliers into two major groups: Killer DApps and Misbehaviors,
as shown in Table 4. The Killer DApp category indicates the outlier is due to
the activity of a popular DApp. The misbehavior category is divided into three
sub-categories: Attack, Resource Manipulation, and Spam. An attack means the
outlier has been caused by a well-known attack, like the DAO reentrancy attack
(Chen, 2019). Resource manipulation indicates the outlier is caused by an
exploitation on the resource model, like EIDOS (see §2.2.4). The spam sub-
category covers spam advertisements and bot accounts. Note that the z-score
algorithm also flags some outliers in the infant stage of the blockchains. We
omit these, as a few transactions can lead to a volatile swing on the value of
a metric.

###  8.3. Results

Table 4. The overall result of outlier labelling.

| Killer DApp | Misbehavior | Total
---|---|---|---
| DeFi | Exchange | Gambling | Game | Platform | Token | Tool | Attack |  | Resource
---
Manipulation
Spam
Bitcoin | 0 | 0 | 2 | 2 | 5 | 0 | 0 | 3 | 0 | 1 | 13
Ethereum | 2 | 10 | 3 | 6 | 0 | 8 | 2 | 2 | 13 | 3 | 49
EOSIO | 0 | 0 | 5 | 0 | 1 | 1 | 1 | 0 | 2 | 15 | 25
Total | 2 | 10 | 10 | 8 | 6 | 9 | 3 | 5 | 15 | 19 | 87

Table 4 shows the overall results (see Table 5 to Table 7 in Appendix for
details), 87 outliers are identified in total: 13 for Bitcoin, 49 for
Ethereum, and 25 for EOSIO. As concluded before, Bitcoin is the most stable
platform. Though EOSIO fluctuates in several plots, due to its relative short
history, its number of outliers is below Ethereum’s.

Among the 87 outliers, 45% (39) belongs to the misbehavior category. Moreover,
most of them are in the resource manipulation and spam sub-categories.
Ethereum suffers more from malicious exploitation on resources. The main
reason is the DoS attack, which was so powerful that it significantly altered
many metrics in Oct. 2016. Due to the resource model in EOSIO (see §2.2.4), it
is more likely to suffer from spam. This is partly due to the EOS Global
event, which created many useless accounts and transferred EOS between them.
The spam advertisements in EOSIO also played an important role (detailed in
§8.4.2). Moreover, we observe that, compared to EOSIO, Ethereum is impacted
more by killer DApps. These apps are evenly distributed across categories.
This likely indicates that Ethereum is still preferred by DApp developers. The
only killer app in EOSIO is the pornhashbaby, which brought significant
traffic until it was shutdown.

###  8.4. Case Studies

We next briefly introduce two case studies, while the details can be found in
Appendix §C.

####  8.4.1. EIDOS Event

From Fig. 1 we observe that, in Nov. 2019, the number of traces in EOSIO
jumped by 1,009.82% compared to the preceding month (reaching 3.21 billion
pieces). Surprisingly, over 99% of the transactions are related to the EIDOS
contract. However, only a few hundred accounts interacted with the contract.
This suggests that billions of transactions were introduced by a small number
of addresses. We further calculate the total volume of money transferred to
the EIDOS contract, and the average EOS per $T_{m}$. After a slightly increase
in Dec. 2019, both of these two metrics dropped significantly. In Mar. 2020,
only 1.43 million EOS were transferred to EIDOS (around 6.53% of the peak).
Meanwhile, the average EOS per $T_{m}$ decreased to $6\times 10^{-4}$, while
$1\times 10^{-4}$ is the minimum allowed transfer amount in EOSIO. We conclude
that players were becoming rational and centralized, and a number of services
have emerged (soulmachine, 2021; eid, 2021b) that allow participants to
maximize benefits at minimal cost. EIDOS also overtook other DApps, e.g.,
previously popular gambling DApps, and has had a significant negative impact
on the entire ecosystem.

####  8.4.2. Spam Advertisement

During the analysis of Fig. 5(c), we have observed two strange spikes in the
$\alpha$ of the outdegree distribution (Mar. and Oct. 2019). We discover that
these two outliers are due to spam advertisement. Spammers have taken
advantage of the resource model in EOSIO, which allows users to initialize
spam advertisements to cover huge amounts of accounts; specifically, in the
memo field (eos, 2021) of transactions, users can write use this to free-text.
We see that spammer write things like bait-and-switch advertisements. Using
$MTG$ and $CIG$, we further propose an automated method to identify spammers
(see Appendix §C.2 for details). The key idea is that within a given time
frame, the spammer would initiate spam advertisements carrying identical spam
content by the lowest cost to cover as many accounts as possible. Thus, we can
group together small transactions with identical content to flag spam
candidates. Through this, we identify 206 distinct spam accounts in EOSIO, and
we identify two account family: peostoken and defind.io, who are responsible
for the spikes located in Mar. 2019 and Oct. 2019.

##  9\. Discussion

###  9.1. Cross-chain Comparison

Bitcoin. Bitcoin is a value-transfer network, and does not support features
like smart contracts. Moreover, its simple but effective transaction fee
mechanism guarantees that it is hard to be abused. To this end, Bitcoin has
been in a steady growth and has been hard to be manipulate according to its
number of transfer transactions and degree distribution.

Ethereum. Ethereum is still evolving, especially in terms of contract
invocation. Prior to 2018, the most dominant transaction in Ethereum is the
Ether transfer. The price of Ether would always incentivize a more frequent
and centralized Ether transfer between users and exchanges. Since then, the
emergence of DeFi has increased the number of interactions between smart
contracts. Along with the growing number of transactions, the relatively
stable ratio of newly created smart contracts also implies the liveness in
Ethereum.

EOSIO. Via DPoS, EOSIO is able to carry out hundreds of times the traces than
Bitcoin and Ethereum (who adopt PoW). Prior to Nov. 2019, though there was a
slight decline in the number of transfers and contract invocations, the
popularity of gambling DApps has attracted many users. However, the appearance
of EIDOS almost collapsed the entire network: The TPS was pushed to its limit,
and all other normal transactions suffered high congestion.

###  9.2. Threats to Validity and Future Work

This study carries several limitations. First, we primarily study the
evolution of the ecosystems based on graph analysis and, by definition, the
metrics used are limited. Although we have considered the most widely used
metrics, more metrics (e.g., global clustering coefficient (clu, 2021), page
rank (pag, 2021), reciprocity (rec, 2021)) could be adopted to gain further
understanding of ecosystems. Second, in several cases, we have relied on
heuristics and manual validation due to the paucity of ground-truth data. For
example, during the outlier analysis, we have manually confirmed the
underlying reasons for several cases. We agree that automated approaches
(e.g., via machine learning) could be used to facilitate the process. Third,
our study relies solely on transaction analysis. We believe additional code
analysis (of the smart contracts) could help us to gain a better understanding
of ecosystems. Finally, although some highly influential attacks and
unreported scams (e.g., the scam advertisements in EOSIO) have been discovered
by us, we do not consider a number of known attacks in the community (as they
did not have a noticeable impact on the overall ecosystem). For future work,
we plan to address the above limitations.

##  10\. Related Work

Blockchain Transaction Analysis. Some previous works have focused on
blockchain transaction analysis for a single blockchain platform, e.g.,
Bitcoin (Awan and Cortesi, 2017; Ober et al., 2013; Ron and Shamir, 2013; Hou
and Chen, [n.d.]), Ethereum (Chen et al., 2018; Wu et al., 2019; Chen et al.,
2020b; Kiffer et al., 2018; Lee et al., 2020; Zhao et al., 2021), EOSIO (Huang
et al., 2020; Perez et al., 2020) and Monero (Möser et al., 2018). Ober et al.
(Ober et al., 2013) and Awan et al. (Awan and Cortesi, 2017) both analyzed the
topology and dynamics of the Bitcoin transaction graph. Chen et al. (Chen et
al., 2018) used graph analysis to explore the characteristics of transactions
in Ethereum. Similarly, Chen et al. (Chen et al., 2020b) and Huang et al.
(Huang et al., 2020) also adopted graph analysis, but they focused on the
behaviors of ERC20 tokens and fraudulent activities in EOSIO, respectively.

Smart Contract & DApp Analysis. There are some works (Wu, 2019; Wang et al.,
2020) dedicated to exploring the ecosystem of DApps. For example, Wu et al.
(Wu, 2019) defined the popularity of DApps by some metrics across different
categories. They measured the reuse of DApps, and the transformation of a
traditional application to a DApp. Wang et al. (Wang et al., 2020) classify
DApps and users behaviors according to the patterns extracted from
transactions. Moreover, some works (Su et al., [n.d.]; Chen et al., 2020a; He
et al., 2020; Ji et al., 2020; He et al., 2021) have focused on the security
issue of DApps across platforms. For example, Chen et al. (Chen et al., 2020a)
conducted a detailed survey about vulnerabilities and defenses related to
smart contracts in DApps. Su et al. (Su et al., [n.d.]) and He et al. (He et
al., 2020) measured the attack instances and clone behaviors against DApps,
respectively.

##  11\. Conclusion

This paper has presented a longitudinal comparative study of three
representative blockchains: Bitcoin, Ethereum and EOSIO. We utilized billions
of transaction records to offer a unique insight into the overall ecosystems.
These have revealed complementary trends amongst the three platforms,
highlighting their differing evolutions. Although our findings have revealed
some promising trends for these technologies, a number of “outliers” have also
been identified and analyzed, e.g., abuse by spammers. We believe that our
research efforts contribute positively to inform best operational practices
and will benefit the wider research community and regulators.

## References

  * (1)
  * bit (2021) 2021\.  Bitcoin official site.  Retrieved January 12, 2021 from https://bitcoin.org/en/
  * cry (2021a) 2021a.  Cryptokitties.  Retrieved January 12, 2021 from https://www.cryptokitties.co/
  * clu (2021) 2021\.  Definition of clustering coefficient.  Retrieved January 12, 2021 from https://en.wikipedia.org/wiki/Clustering_coefficient
  * pea (2021) 2021\.  Definition of Pearson coefficient.  Retrieved January 12, 2021 from https://www.statisticssolutions.com/pearsons-correlation-coefficient/
  * rec (2021) 2021\.  Definition of reciprocity.  Retrieved January 12, 2021 from https://mathworld.wolfram.com/ReciprocityTheorem.html
  * tur (2021) 2021\.  Definition of Turing completeness.  Retrieved January 12, 2021 from https://en.wikipedia.org/wiki/Turing_completeness
  * z-s (2021) 2021\.  Definition of z-score algorithm.  Retrieved January 12, 2021 from :https://www.statisticshowto.com/probability-and-statistics/z-score/
  * dwa (2021) 2021\.  Dwarfpool.  Retrieved January 12, 2021 from https://dwarfpool.com/
  * gas (2021) 2021\.  GasToken in Ethereum.  Retrieved January 12, 2021 from https://gastoken.io/
  * pag (2021) 2021\.  Implementation of page rank algorithm.  Retrieved January 12, 2021 from https://www.geeksforgeeks.org/page-rank-algorithm-implementation/
  * cry (2021b) 2021b.  List of popular cryptocurrencies.  Retrieved January 12, 2021 from https://coinmarketcap.com/
  * eid (2021a) 2021a.  Mechanism of EIDOS.  Retrieved January 12, 2021 from https://enumivo.org/get-free-eidos
  * eos (2021) 2021\.  Memo field in EOSIO.  Retrieved January 12, 2021 from https://eosio.stackexchange.com/questions/4263/where-and-who-is-storing-all-the-memo-field-data-when-its-included-in-a-transact
  * eid (2021b) 2021b.  Miner for EIDOS.  Retrieved January 12, 2021 from https://www.npmjs.com/package/eidos-miner
  * sha (2021) 2021\.  ShapeShift: exchange on Ethereum.  Retrieved January 12, 2021 from https://shapeshift.com/
  * wom (2021) 2021\.  Wombat wallet.  Retrieved January 12, 2021 from https://getwombat.io/
  * Akcora et al. (2018) Cuneyt G Akcora, Asim Kumer Dey, Yulia R Gel, and Murat Kantarcioglu. 2018.  Forecasting bitcoin price with graph chainlets. In _Pacific-Asia conference on knowledge discovery and data mining_. Springer, 765–776.
  * AnChain.AI (2018) AnChain.AI. 2018\.  Popularity and related attack of Last Winner.  Retrieved January 12, 2021 from https://anchainai.medium.com/largest-smart-contract-attacks-in-blockchain-history-exposed-part-1-93b975a374d0
  * Awan and Cortesi (2017) Malik Khurram Awan and Agostino Cortesi. 2017.  Blockchain transaction analysis using dominant sets. In _IFIP International Conference on Computer Information Systems and Industrial Management_. Springer, 229–239.
  * Bitcoin ([n.d.]) Bitcoin. [n.d.].  Bitcoin Core: Official Client Node for Bitcoin.  Retrieved January 9, 2021 from https://github.com/bitcoin/bitcoin
  * BLOKS.IO ([n.d.]) BLOKS.IO. [n.d.].  List of accounts in EOSIO.  Retrieved January 12, 2021 from https://bloks.io/topholders
  * Browne (2020) Ryan Browne. 2020\.  Ethereum: Blockchain 2.0.  Retrieved January 12, 2021 from https://www.cnbc.com/2020/12/01/ethereum-2point0-eth-cryptocurrencys-network-starts-a-major-upgrade.html
  * Chen et al. (2020a) Huashan Chen, Marcus Pendleton, Laurent Njilla, and Shouhuai Xu. 2020a.  A survey on ethereum systems security: Vulnerabilities, attacks, and defenses.  _ACM Computing Surveys (CSUR)_ 53, 3 (2020), 1–43.
  * Chen et al. (2018) Ting Chen, Yuxiao Zhu, Zihao Li, Jiachi Chen, Xiaoqi Li, Xiapu Luo, Xiaodong Lin, and Xiaosong Zhange. 2018\.  Understanding ethereum via graph analysis. In _IEEE INFOCOM 2018-IEEE conference on computer communications_. IEEE, 1484–1492.
  * Chen et al. (2020b) Weili Chen, Tuo Zhang, Zhiguang Chen, Zibin Zheng, and Yutong Lu. 2020b.  Traveling the token world: A graph analysis of ethereum erc20 token ecosystem. In _Proceedings of The Web Conference 2020_. 1411–1421.
  * Chen (2019) Zhongqiang Chen. 2019\.  The DAO attack.  Retrieved January 12, 2021 from https://medium.com/@zhongqiangc/smart-contract-reentrancy-thedao-f2da1d25180c
  * CoinMarketCap ([n.d.]a) CoinMarketCap. [n.d.]a.  Market Capitalization of EOSIO.  Retrieved January 12, 2021 from https://coinmarketcap.com/currencies/eos/
  * CoinMarketCap ([n.d.]b) CoinMarketCap. [n.d.]b.  Market Capitalization of Ethereum.  Retrieved January 12, 2021 from https://coinmarketcap.com/currencies/ethereum/
  * CryptoPurview (2019) CryptoPurview. 2019\.  The prosperity of EOSIO DApps.  Retrieved January 12, 2021 from https://cryptopurview.com/who-leads-the-dapp-race/
  * DappRadar ([n.d.]) DappRadar. [n.d.].  DappRadar: Platform of DApps across Multiple Blockchains.  Retrieved January 9, 2021 from https://dappradar.com/
  * DappReview ([n.d.]) DappReview. [n.d.].  DappReview: Platform of DApps across Multiple Blockchains.  Retrieved January 9, 2021 from https://dapp.review/
  * DAppTotal ([n.d.]) DAppTotal. [n.d.].  DAppTotal: Platform of DApps across Multiple Blockchains.  Retrieved January 9, 2021 from https://dapptotal.com/
  * EOSIO ([n.d.]) EOSIO. [n.d.].  nodeos: Official Client Node for EOSIO.  Retrieved January 9, 2021 from https://github.com/EOSIO/eos
  * Etherscan ([n.d.]) Etherscan. [n.d.].  Etherscan: Block Explorer and Analytics Platform for Ethereum.  Retrieved January 9, 2021 from https://etherscan.io/
  * Etherscan.io ([n.d.]) Etherscan.io. [n.d.].  List of Ethereum transactions.  Retrieved January 12, 2021 from https://etherscan.io/txs
  * FRANKENFIELD ([n.d.]) JAKE FRANKENFIELD. [n.d.].  Decentralized Applications (DApp).  Retrieved January 12, 2021 from https://www.investopedia.com/terms/d/decentralized-applications-dapps.asp
  * FRANKENFIELD (2020) JAKE FRANKENFIELD. 2020\.  UTXO Model.  Retrieved January 9, 2021 from https://www.investopedia.com/terms/u/utxo.asp
  * Garriga et al. (2020) Martin Garriga, Stefano Dalla Palma, Maxmiliano Arias, Alan De Renzis, Remo Pareschi, and Damian Andrew Tamburri. 2020.  Blockchain and cryptocurrencies: A classification and comparison of architecture drivers.  _Concurrency and Computation: Practice and Experience_ (2020), e5992.
  * He et al. (2020) Ningyu He, Lei Wu, Haoyu Wang, Yao Guo, and Xuxian Jiang. 2020.  Characterizing code clones in the ethereum smart contract ecosystem. In _International Conference on Financial Cryptography and Data Security_. Springer, 654–675.
  * He et al. (2021) Ningyu He, Ruiyi Zhang, Haoyu Wang, Lei Wu, Xiapu Luo, Yao Guo, Ting Yu, and Xuxian Jiang. 2021.  $\\{$EOSAFE$\\}$: Security Analysis of $\\{$EOSIO$\\}$ Smart Contracts. In _30th $\\{$USENIX$\\}$ Security Symposium ($\\{$USENIX$\\}$ Security 21)_.
  * Hou and Chen ([n.d.]) Binbing Hou and Feng Chen. [n.d.].  A Study on Nine Years of Bitcoin Transactions: Understanding Real-world Behaviors of Bitcoin Miners and Users.  ([n. d.]).
  * Huang et al. (2020) Yuheng Huang, Haoyu Wang, Lei Wu, Gareth Tyson, Xiapu Luo, Run Zhang, Xuanzhe Liu, Gang Huang, and Xuxian Jiang. 2020.  Understanding (Mis) Behavior on the EOSIO Blockchain.  _Proceedings of the ACM on Measurement and Analysis of Computing Systems_ 4, 2 (2020), 1–28.
  * INSIDER (2018) EOS INSIDER. 2018\.  Experiment about creating an account in EOSIO.  Retrieved January 12, 2021 from https://eosio.stackexchange.com/questions/1179/how-will-someone-new-to-eos-create-an-eos-account-today
  * Jameson (2016) Hudson Jameson. 2016\.  Statement on DoS attack agaist Ethereum.  Retrieved January 12, 2021 from https://blog.ethereum.org/2016/10/18/faq-upcoming-ethereum-hard-fork/
  * Ji et al. (2020) Ru Ji, Ningyu He, Lei Wu, Haoyu Wang, Guangdong Bai, and Yao Guo. 2020\.  Deposafe: Demystifying the fake deposit vulnerability in ethereum smart contracts.  _arXiv preprint arXiv:2006.06419_ (2020).
  * Kiffer et al. (2018) Lucianna Kiffer, Dave Levin, and Alan Mislove. 2018\.  Analyzing Ethereum’s Contract Topology. In _Proceedings of the Internet Measurement Conference 2018_. 494–499.
  * Lee et al. (2020) Xi Tong Lee, Arijit Khan, Sourav Sen Gupta, Yu Hann Ong, and Xuan Liu. 2020.  Measurements, analyses, and insights on the entire ethereum blockchain network. In _Proceedings of The Web Conference 2020_. 155–166.
  * Möser et al. (2018) Malte Möser, Kyle Soska, Ethan Heilman, Kevin Lee, Henry Heffan, Shashvat Srivastava, Kyle Hogan, Jason Hennessey, Andrew Miller, Arvind Narayanan, et al. 2018\.  An empirical analysis of traceability in the monero blockchain.  _Proceedings on Privacy Enhancing Technologies_ 2018, 3 (2018), 143–163.
  * Ober et al. (2013) Micha Ober, Stefan Katzenbeisser, and Kay Hamacher. 2013\.  Structure and anonymity of the bitcoin transaction graph.  _Future internet_ 5, 2 (2013), 237–250.
  * OpenEthereum ([n.d.]) OpenEthereum. [n.d.].  OpenEthereum: Client Node for Ethereum.  Retrieved January 9, 2021 from https://github.com/openethereum/openethereum
  * PARTZ (2018) Helen Partz HELEN PARTZ. 2018\.  Hacking to Bittrex.  Retrieved January 12, 2021 from https://cointelegraph.com/news/bittrex-to-delist-bitcoin-gold-by-mid-september-following-18-million-hack-of-btg-in-may
  * Perez et al. (2020) Daniel Perez, Jiahua Xu, and Benjamin Livshits. 2020.  Revisiting Transactional Statistics of High-scalability Blockchains. In _Proceedings of the ACM Internet Measurement Conference_. 535–550.
  * Ron and Shamir (2013) Dorit Ron and Adi Shamir. 2013.  Quantitative analysis of the full bitcoin transaction graph. In _International Conference on Financial Cryptography and Data Security_. Springer, 6–24.
  * RUSSO (2018) CRAIG RUSSO. 2018\.  The prosperity of EOSIO DApps.  Retrieved January 12, 2021 from https://defirepublic.com/eos-surpasses-ethereum-in-daily-dapp-users-and-transaction-volume/
  * soulmachine (2021) soulmachine. 2021\.  Miner for EIDOS.  Retrieved January 12, 2021 from https://github.com/soulmachine/eidos-miner
  * Su et al. ([n.d.]) Liya Su, Xinyue Shen, Xiangyu Du, Xiaojing Liao, XiaoFeng Wang, Luyi Xing, and Baoxu Liu. [n.d.].  Evil Under the Sun: Understanding and Discovering Attacks on Ethereum Decentralized Applications.  ([n. d.]).
  * Sun (2018) Flora Sun. 2018\.  Account-based Model.  Retrieved January 9, 2021 from https://medium.com/@sunflora98/utxo-vs-account-balance-model-5e6470f4e0cf
  * Wang et al. (2020) Yu Wang, Zhenzhen Li, Gaopeng Gou, Gang Xiong, Chencheng Wang, and Zhen Li. 2020\.  Identifying DApps and User Behaviors on Ethereum via Encrypted Traffic. In _International Conference on Security and Privacy in Communication Systems_. Springer, 62–83.
  * Wikipedia ([n.d.]) Wikipedia. [n.d.].  Definition of outlier.  Retrieved January 12, 2021 from https://en.wikipedia.org/wiki/Outlier?oldformat=true
  * Wu et al. (2019) Jiajing Wu, Dan Lin, Zibin Zheng, and Qi Yuan. 2019\.  T-EDGE: temporal weighted multidigraph embedding for Ethereum transaction network analysis.  _arXiv preprint arXiv:1905.08038_ (2019).
  * Wu (2019) Kaidong Wu. 2019\.  An empirical study of blockchain-based decentralized applications.  _arXiv preprint arXiv:1902.04969_ (2019).
  * Zhao et al. (2021) Lin Zhao, Sourav Sen Gupta, Arijit Khan, and Robby Luo. 2021\.  Temporal Analysis of the Entire Ethereum Blockchain Network.  (2021).

##  Appendix A Money Transfer in Bitcoin, Ethereum and EOSIO

Fig. 17(a) shows the UTXO model adopted by Bitcoin, and Fig. 17(b) depicts the
corresponding topology of $MTG_{btc}$.

(a) UTXO model of Bitcoin.

(b) Its Structure of Money Transfer Graph.

Figure 17. UTXO model and its corresponding structure of Money Transfer Graph.

Fig. 18(a) and Fig. 18(b) respectively illustrate the transferring Ether and
EOS in Ethereum and EOSIO.

(a) Transferring Ether in Ethereum

(b) Transferring EOS in EOSIO

Figure 18. Transferring official tokens.

##  Appendix B Outliers

The detected outliers and their corresponding sub-category (category is
omitted, details in Table 4), as well as the reason, are shown in Table 5 to
Table 7.

Table 5. The detected outliers and its corresponding sub-category, as well as
the specific reason.

Chain | Date | Metric | Figure | Sub-category | DApp / Event
---|---|---|---|---|---
BTC | 2012-02 | indegree $\alpha$ | Fig. 5(a) | Platform | Deepbit
2015-07 | outdegree $\alpha$ | Fig. 5(a) | Game | 1Luc*
2015-12 | # WCC | Fig. 7 | Game | 1Luc*
2012-02 | degree $\alpha$ | Fig. 5(a) | Platform | Deepbit
2012-02 | outdegree $\alpha$ | Fig. 5(a) | Platform | Deepbit
2010-11 | # traces | Fig. 2 | Spam | 14mU**
2013-07 | # traces | Fig. 1 | Gambling | Satoshi Dice
2015-07 | # traces | Fig. 1 | Gambling | LuckyBit hot wallet
| 2012-01 | # traces | Fig. 1 | Platform | Deepbit
| 2012-02 | # traces | Fig. 1 | Platform | Deepbit
| 2015-07 | # traces | Fig. 1 | Attack | Spam Attack
| 2015-07 | # traces | Fig. 2 | Attack | Spam Attack
| 2015-07 | # traces | Fig. 1 | Attack | Spam Attack
EOS | 2018-10 | $R$ | Fig. 15 | Gambling | EOSTiger
2018-10 | $R$ | Fig. 15 | Gambling | Dice
2018-10 | $R$ | Fig. 15 | Gambling | eos sicbo
2018-10 | $R$ | Fig. 15 | Gambling | EOS.Win
2019-04 | $R$ | Fig. 15 | Spam | EOS Global
2019-08 | $R$ | Fig. 15 | Platform | pornhashbaby
2019-04 | indegree $\alpha$ | Fig. 14(b) | Spam | EOS Global
2019-04 | $R$ | Fig. 6 | Spam | EOS Global
2019-11 | $R$ | Fig. 6 |  | Malicious
---
Exploitation
on Resource
EIDOS
2019-04 | # WCC | Fig. 7 | Spam | EOS Global
2019-10 | outdegree $\alpha$ | Fig. 5(c) | Spam | defind.io
2019-04 | # traces | Fig. 8 | Spam | EOS Global
2019-04 | trace ratio | Fig. 8 | Spam | EOS Global
2019-04 | From Account | Fig. 9(b) | Spam | EOS Global
2019-04 | degree $\alpha$ | Fig. 10(b) | Spam | EOS Global
2019-04 | outdegree $\alpha$ | Fig. 10(b) | Spam | EOS Global
2019-04 | # SCC | Fig. 11 | Spam | EOS Global
2019-11 | degree $\alpha$ | Fig. 14(b) |  | Malicious
---
Exploitation
on Resource
EIDOS
2019-10 | degree $\alpha$ | Fig. 5(c) | Spam | defind.io
2019-10 | From Account | Fig. 9(b) | Spam | defind.io
2019-11 | # WCC | Fig. 16 | Token | krownairdrop
2019-05 | # WCC | Fig. 7 | Spam | EOS Global
2019-05 | # SCC | Fig. 7 | Spam | EOS Global
2019-05 | # SCC | Fig. 16 | Tool | AirDropsDAC
2018-11 | $R$ | Fig. 6 | Gambling | BET24
ETH | 2016-06 | # WCC | Fig. 7 | Attack | The DAO
2016-10 | # traces | Fig. 2 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | From Smart Contract | Fig. 3(a) |  | Malicious
---
Exploitation
on Resource
DoS Attack
| * 1LuckyR1fFHEsXYyx5QK4UFzv3PEAepPMK
---
* 14mUbjiofYY2F6h3ZGUSoTo3kxdqtajVTp

Table 6. The detected outliers and its corresponding sub-category, as well as
the specific reason.

Chain | Date | Metric | Figure | Sub-category | DApp / Event
---|---|---|---|---|---
ETH | 2018-08 | From Smart Contract | Fig. 3(a) | Gambling | Last Winner
2016-08 | $R$ | Fig. 15 | Exchange | ReplaySafeSplit
2017-05 | $R$ | Fig. 15 | Tool | ENS
2018-08 | $R$ | Fig. 15 | Gambling | Last Winner
2019-09 | $R$ | Fig. 15 | DeFi | NEST Protocol
2016-10 | From Smart Contract | Fig. 13(a) |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | # traces | Fig. 1 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | # traces | Fig. 12 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2019-11 | trace ratio | Fig. 12 | Game | Gods Unchained
2018-01 | # SCC | Fig. 16 | Attack | Bittrex Hacked
2019-02 | # SCC | Fig. 16 | Game | CryptoKitties
2019-02 | # SCC | Fig. 16 | Token | ethairdrop
2019-09 | # SCC | Fig. 16 | DeFi | USDT
2018-05 | indegree $\alpha$ | Fig. 14(a) | Token | EOS
2018-05 | indegree $\alpha$ | Fig. 14(a) | Token | NePay
2019-06 | degree $\alpha$ | Fig. 14(a) | Token | MGC TOKEN
2019-06 | degree $\alpha$ | Fig. 14(a) | Token | VOKEN
2016-10 | From Smart Contract | Fig. 9(a) |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | From EOA | Fig. 9(a) |  | Malicious
---
Exploitation
on Resource
DoS Attack
2018-07 | From EOA | Fig. 9(a) | Spam | 0x004b *
2019-05 | From EOA | Fig. 9(a) | Spam | 0x8c4b **
2019-09 | From EOA | Fig. 9(a) | Spam | 0x8c4b **
2016-10 | # traces | Fig. 8 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | degree $\alpha$ | Fig. 10(a) |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | outdegree $\alpha$ | Fig. 10(a) |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | # SCC | Fig. 11 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2019-10 | # WCC | Fig. 7 | Gambling | FairWin
| * 0x004bd3562a42c8a7394794849b8ff5ad71c527b2
---
* 0x8c4b7870fc7dff2cb1e854858533ceddaf3eebf4

Table 7. The detected outliers and its corresponding sub-category, as well as
the specific reason.

Chain | Date | Metric | Figure | Sub-category | DApp / Event
---|---|---|---|---|---
ETH | 2016-11 | # SCC | Fig. 7 | Exchange | ReplaySafeSplit
2017-01 | # WCC | Fig. 11 | Exchange | Yunbi
2017-08 | # WCC / # nodes | Fig. 11 | Exchange | Bittrex
2018-05 | degree $\alpha$ | Fig. 14(a) | Token | NePay
2016-05 | degree $\alpha$ | Fig. 5(b) | Exchange | ShapeShift
2016-05 | outdegree $\alpha$ | Fig. 5(b) | Token | TheDAO
2018-01 | # traces | Fig. 2 | Exchange | Binance
2018-01 | trace ratio | Fig. 2 | Exchange | Binance
2018-01 | trace ratio | Fig. 2 | Game | CryptoKitties
2018-05 | # SCC | Fig. 7 | Exchange | Binance
2018-11 | # WCC | Fig. 7 | Game | MegaCryptoPolis
2019-02 | # traces | Fig. 1 | Game | Dragonereum
2019-02 | # traces | Fig. 12 | Game | Dragonereum
2016-10 | # SCC | Fig. 16 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2016-10 | # WCC / # nodes | Fig. 11 |  | Malicious
---
Exploitation
on Resource
DoS Attack
2020-03 | # SCC | Fig. 11 | Token | GasToken.io
2016-02 | $R$ | Fig. 15 | Tool | EthereumAlarmClock
2016-03 | $R$ | Fig. 6 | Exchange | ShapeShift
2016-03 | $R$ | Fig. 6 | Exchange | Poloniex

##  Appendix C EIDOS & Spam Advertisements

In §8.4, we have briefly introduced the conclusion after we studied the EIDOS
project and spam advertisements behavior in EOSIO. Here, we will provide the
full details for them.

###  C.1. EIDOS Event

As we briefly explained in §2.1, EIDOS attracts users to transfer EOS to it
inexhaustibly. The mechanism of EIDOS is illustrated in Fig. 19.

Figure 19. The mechanism of EIDOS.

We can see from Fig. 19, once the user transfers arbitrary amount of EOS by
$T_{m}$ to its main contract: eidosonecoin (see steps 1 to 3), the EOS would
be immediately returned by another $T_{m}$ (see steps 4 to 6). Then, EIDOS
would initiate a $T_{c}$ that invokes the transfer function in its owned smart
contract (see steps 9 and 10). In the transfer function, EIDOS would increase
the user’s balance of EIDOS token whose value is not related to the amount of
EOS in the previous $T_{m}$. Users can spend these EIDOS tokens in exchanges
or other contracts that accept EIDOS token. Note that the EIDOS token is
issued by the issue function and part of them will be transferred to its
official team: eidosoneteam (see steps 7 and 8). Therefore, there also exists
an another two $T_{c}$s which invoke issue and transfer. However, the issuance
of EIDOS is not executed each time, thus the ratio of $T_{m}$ to $T_{c}$ is
roughly two to one, which were illustrated by the ‘trace ratio’ in Fig. 2 and
Fig. 12.

According to our statistics, in November 2019, the number of traces in EOSIO
has jumped by 1009.82% over the preceding month, reaching up to 3.21 billion
pieces. Therefore, we further extract all the traces related to EIDOS, and
calculate several related metrics as shown in Fig. 20.

(a) Amount of users.

(b) Amount of $T_{m}$.

(c) Transferred volume in EOS.

(d) Average transferred EOS per $T_{m}$.

Figure 20. The statistics of EIDOS project.

We see that the number of users decreased dramatically in Mar. 2020: the
number has dropped to 643 (around 95.13% compared to Nov. 2019). In the
meanwhile, the number of related $T_{m}$ has increased by 150.43%. These two
opposite changes indicate that the players of EIDOS tend to be specialized. In
other words, some accounts started to a provide service, which allows users to
invest their owned resources and get dividends back. Actually, there indeed
existed some service providers (soulmachine, 2021; eid, 2021b). These can also
be observed from the $\alpha$ of outdegree distribution during the
corresponding time period (see Fig. 5(c)).

Moreover, these players were becoming rational. As we have explained in
§8.4.1, the amount of the returned EIDOS token has nothing to do with the
amount of invested EOS. Thus, as we can see from Fig. 20(c) and Fig. 20(d),
after an ephemeral increase in the volume of invested EOS and the amount of
EOS per invested traces, the two curves start to go down sharply. In Mar.
2020, the average EOS per trace was as low as $6\times 10^{-4}$, while
$1\times 10^{-4}$ is the minimum allowed transferred amount in EOSIO and the
most rational choice. Actually, according to our data, in Nov. 2019, 99.80% of
$T_{m}$ were valued below 1 EOS. But in Oct. 2019, this percentage was up to
74.81%. Therefore, we conclude that EIDOS has captured the whole EOSIO
ecosystem via meaningless $T_{m}$ and $T_{c}$ transactions, thereby slowing
the TPS of other users.

###  C.2. Spam Advertisement

During the analysis of Fig. 5(c), we have observed two strange spikes, located
in Mar. 2019 and Oct. 2019, in the $\alpha$ of outdegree distribution. After
the analysis of our method mentioned in §8.2 and manual verification, we
figured out these two outliers resulted from spam advertisements.

To be specific, taking the advantage of memo field in EOSIO transactions (eos,
2021) where the initiator can freely write anything, an account or a smart
contract is able to initiate lots of $T_{m}$ carrying with $1\times 10^{-4}$
EOS and bait-and-switch advertisement to cover as many users as possible.

Based on our investigation, we proposed a detection methodology. Specifically,
our methodology traverses the $MTG$ and $CIG$ for each month, and detects if
node $N$ obeys to the following rules:

  1. (1)

The average amount of transferred EOS to each user initiated from $N$ is no
more than $x$;

  2. (2)

$N$ invokes up to $y$ pieces of $T_{m}$ to each user within a single month;

  3. (3)

More than $z$ users who received $T_{m}$ from $N$ did not in turn initiates
$T_{m}$ or $T_{c}$ to $N$;

  4. (4)

The memo should carry the leading content, typically is an exaggerated
statement and a URL.

The $x$, $y$ and $z$ are heuristically set as 0.001, 30, and 500, which are
relative conservative and may lead to false positives. Thus we further conduct
a manual verification focusing on the memo content and the patterns of
behavior. We discover 206 distinct accounts in total that have initiated spam
advertisements at least for one month. The distribution of the first
appearance time for these 206 accounts is shown in Fig. 21. We can see the
obvious two spikes correspond to the outliers located in Mar. 2019 and Oct.
2019, respectively. However, except for these two spikes and the peak in the
late-2018 (caused by gambling DApps), the advertisement accounts are not so
active, especially after EIDOS.

After investigation, we figure out these two spikes are caused by two clusters
of advertisement accounts: peostoken family and defind.io family. Therefore,
we have built a family tree to explore the creation relationship, taking
advantage of our $ACG$, which is shown in Fig. 22. We observe that there are
clusterings (framed by red boxes in the figure) in which the proportion of
advertisements nodes are relatively high. We have marked the peostoken family
and defind.io family in Fig. 22, which were the reasons behind the two
outliers. These two clusters are composed of accounts with multi-level
creation relationships.

Figure 21. The distribution of these 206 detected advertisement accounts
according their first appearance time.

Figure 22. The family tree of spam advertisement related accounts, where the
red nodes are advertisement nodes.

In addition, we have observed some interesting characteristics for spam
advertisement accounts:

  * •

The language in memo content is mainly in English and Chinese, as well as a
small percentage of Korean and Japanese.

  * •

It is possible for the same account to send out memos with different content
under different time periods, and even change the language used in the memo.

  * •

Most of the advertisements are promoting their own gambling games, and some
are promoting their own tokens or services (e.g., airdrop services). Moreover,
advertisements promoting DeFi-related DApps have been appearing since Sep.
2019.

  * •

eostribalert and eostribealrt are a pair of accounts that launch
advertisements. The memo in the latter one contains a URL and convinces users
to apply for TLOS token. Immediately after the former one also starts sending
out a large number of $T_{m}$ containing a memo stating that the URL is
fraudulent information. However, the difference of number of $T_{m}$ they sent
is very large, 5.3K and 101K times, respectively.

We conclude that spam advertisement behavior was popular in EOSIO. They mainly
target users who speak English and Chinese. Moreover, those advertisement
accounts usually have relationships in terms of account creation behavior.