CryptoKitties Transaction Network Analysis: The Rise and Fall of the First Blockchain Game Mania

CryptoKitties was the first widely recognized blockchain game. Players could own, breed, and trade kitties, which are the only prop in the game. The game gained explosive growth upon its release but quickly collapsed in a short time. This study analyzes its entire player activity history for the first time in literature and tries to find the reasons for the rise and fall of this first blockchain game mania. First, we extracted the five million transaction records among 100 thousand addresses involved in CryptoKitties in the past three years. Based on the numbers of addresses involved in the game each day, we divide the game progress into four stages: the primer, the rise, the fall, and the serenity. We construct a temporal kitty ownership transfer network and analyze the varying network parameters in the four stages. We find that a large number of players poured in during the 10th and 18th days since the game release and quickly exited in the following month. Since then, a few big players have gradually dominated the game, concentrating the game resources. Through further analysis, we find that the main reason for the rapid increase in the game popularity was the increase of public attention by media outlets, while the reasons for the rapid decline in the game popularity include the oversupply of kitties, the decreasing of player income, a widening gap between the rich and poor players, and the limitations of blockchain systems. Based on these observations, we advise on the further blockchain game design: (1) to finely control the production of props and avoid an oversupply, (2) to balance the gaming cost and revenue and protect the enjoyment of players, (3) to narrow down the gap between rich and poor and create an equal gaming community, (4) to consider the limitations of blockchain systems in their game designs.

which often suffered from trust issues in traditional online environment. As a result, current designs of blockchain games mainly revolve around the generation, ownership, and trading of virtual assets [5].
Cryptokitties is a blockchain game released on Ethereum in late November 2017. Players can own, trade, and create virtual kitties, represented by non-fungible tokens meeting the ERC-721 token standard in the game. The attributes and transactions of kitties are recorded in the Ethereum blockchain. Once released, CryptoKitties soon gained massive popularity that its transactions accounted for more than 10% of the entire Ethereum traffic in early December 2017 [6].
Nonetheless, Min et al. [4] claimed that most of the current blockchain games lack playability. Possible reasons include that current blockchain platforms restrict developers from implementing complex game functions, current developers are paying insufficient attention to the players' gaming experience, and lack a competitive market in the blockchain game industry. Not surprisingly, the popularity of CryptoKitties only lasted for a short period, too.
In this study, we aim to fully unveil the collective user behaviors in the game and the reasons leading to the game's rapid rise and fall by analyzing blockchain transaction records. Specifically, we first construct a kitty ownership transfer network and investigate the network structural changes over time. Then, we conjecture and verify the possible reasons for the rapid changes in gaming popularity from four perspectives: the supply and demand of kitties, the profitability in the game, the inequality of players' wealth, and the limitations of blockchain systems. Based on our observations, we pinpoint the deficiencies in the design of CryptoKitties and provide suggestions for further development of blockchain games.
Network analysis methods have been applied to cryptocurrency transaction records in many previous works. Chen et al. [7] constructed three graphs with ether transfer, contract creation, and contract invocation, found a power-law degree distribution, and revealed anomalies in these graphs. Somin et al. [8] also found a power-law degree distribution in the ERC20 token transfer network. Guo et al. [9] further revealed a bow-tie structure in the Ethereum transaction network. Except for the Ethereum blockchain, similar methods have also been used to analyze transactions on other blockchains, such as EOSIO [10].
The rest of this paper is organized as follows. CryptoKitties' gaming rules are introduced in Section 2. In Section 3, we construct the kitty ownership transfer network and define network structural properties. In Section 4, we divide the progress of the game into four stages and examine the changes of network parameters in different stages. We will discuss the reasons for the rapid change in the popularity of CryptoKitties in Section 5. Section 6 concludes the study and provides suggestions for the further development of blockchain games.

GAMING RULES
As shown in Table 1, the CryptoKitties game has five smart contracts: the Core contract, GeneScience contract, Offers contract, SalesAuction contract, and SiringAuction contract. The names of these contracts could be found on Etherscan [11]. Based on these contracts, players can trade or transfer kitties with other players and breed new kitties.
There are three ways to trade or transfer a kitty. (1) Using the SalesAuction contract. The seller lists a kitty for sale with an initial price, a final price, and a price change period to the SalesAuction contract. The initial price is usually higher than the final price. After the auction begins, the kitty price will change linearly from the initial price to the final price at a constant rate during the price change period. The price will not change after this period. Unless bid by a buyer or canceled by the seller, the kitty will remain in the SalesAuction contract. Upon receiving a bid, the SalesAuction contract will send the kitty to the buyer and transfer the payment to the seller. The game publisher also sells 0-generation kitties to players in this way. (2) Using the Core contract. A player can either call the transfer function to transfer his kitty to another player or the approve function to allow other players to transfer his kitty. Authorized players can call transfer from function to transfer other players' kitties. Transferring a kitty in this way does not necessarily mean that the player is trading the kitty but can also be sending a kitty as a gift to a friend. (3) Using the Offers contract. In this way, the buyer initiates a request to the seller and sends the purchase fee to the Offers contract. If the seller accepts the request, the Offers contract will transfer the kitty to the buyer's address and send the purchase fee to the seller.
When trading kitties through the SalesAuction, the game publisher charges the sellers for 3.75% of the dealing price as a handling fee. Same rate of dealing price will be charged to the buyers using the Offers contracts. When calling any function in each contract, the players also need to pay gas fees to Ethereum miners through their Ethereum wallet. The gas fee is usually between 0.0001eth and 0.01eth.
There are two ways to breed a new kitty. (1) A player selects two of his own kitties as parameters and call the breed With Auto function in the Core contract with a breeding fee. After this operation, the mother kitties (can be arbitrarily chosen between the two) will become pregnant for a period. After this period, a player, also called the midwife, will call the give birth function in the Core contract to give birth to the new kitty. The newborn kitty will be transferred to the owner of the mother kitty. The breeding fee will be compensated to the midwife for their Ethereum gas fees paid. (2) A player breeds with one of his own kitties and another rented from the Siring Auction contract, which lists a number of kitties owned by the lenders. A midwife is also needed in this case.

Contract name Main functions
Core Record all kitties' attributes and owner information SalesAuction As an intermediary to help player trade kitties Offers As an intermediary to help player trade kitties SiringAuction As an intermediary to help player rent kitties GeneScience Calculate the genes of newborn kitties Frontiers in Physics | www.frontiersin.org March 2021 | Volume 9 | Article 631665 When a kitty is rented out through the Siring Auction contract, the game publisher will charge the lender 3.75% of the rent as a handling fee. The breeding fee varied over time (see Figure 1). It was set to 0.002eth at the game's release. However, due to the congestion of the Ethereum network resulting from the gaming transactions, the gas fee was raised. The game publisher increased the breeding fee to 0.015eth and later adjusted it to 0.008eth. Such adjustment happened several times afterward, but despite that, the breeding fee has been stable at 0.008eth.

Blockchain Transactions
We synchronized an Ethereum parity client in full mode and used the eth_getLogs method to extract the transactions in CryptoKitties. The transactions span from November 23, 2017, to May 19, 2020. The data involved 1,923,901 kitties, 104,517 addresses, and 5,173,521 transfer records. There are nine types of transactions (see Table 2) related to the movements of kitties, including the trading, transferring, and the new birth of kitties. Consider participation rate as the ratio of the number of addresses that take part in a specific activity to the number of all addresses in CryptoKitties, buying kitties through the SalesAuction contract has the highest participation rate (84.6%), indicating that most players would buy at least one kitty from the official marketplace. Participation rates are also high for breeding kitty (64.9%) and selling kitty through the SalesAuction contract (51.8%). Players showed low interest in lending (38.1%) and renting kitties (26.6%). Only a very small number of players (less than 1%) traded kitties through the Offers contract.

Constructing Ownership Transfer Network of Kitties
The actual ownership of the kitties only changes when (1) the sales auction on the SalesAuction contract is fulfilled, (2) the trading through the Offers contract is fulfilled, and (3) kitties are transferred directly using functions in the Core contract. Therefore, We construct the kitty ownership transfer network G (V, E), where V is the set of addresses belong to kitty owners, including the game publisher and players, who have the actual ownership of kitties, and E is the set of directed edges representing the actual ownership changes. The directed edges e (u, v, t) are temporal, where u represents the address of kitty's previous owner, v represents the address of kitty's new owner, and t represents the time when the ownership change occurred. The network contains 104,514 nodes and 1,304,525 edges. We further use three days as the window size and construct a series of

Network Structural Properties
We use the average degree, non-zero in-/out-degree ratio, Gini coefficient of in-, out-, and total degrees, average clustering coefficient, density, reciprocity, and assortativity to describe the structural properties of the network.
The average degree k 2M/N represents the average number of kitties transferred in and out of the addresses, where M is the number of edges and N is the number of nodes in the temporal network.
The non-zero in-/out-degree ratio α N out > 0 /N in > 0 is defined as the ratio of the number of nodes with an out-degree greater than zero (N out > 0 ) to those with an in-degree greater than zero  (N in > 0 ) in the temporal network. It can also be considered as the ratio of the number of sellers to buyers in the game. The Gini coefficient G k of the total degree k of all nodes in the temporal network reflects the gap between the players' activeness in the number of kitties transferred in and out of the address, i.e., where k i is the degree of node i indexed in non-decreasing order (k i ≤ k i+1 ) and N is the number of nodes in the network. The Gini coefficients for the in-degrees G kin and out-degrees G kout of all nodes can be defined likewise.
The average clustering coefficient c is used to measure the clustering degree of the network, which is defined as where T v is the number of directed triangles passing through the node v, k v is the degree of node v, and k r v is the number of bidirectional edges of node v. Multiple edges between u and v are considered as one even with the same t in this case. High average clustering coefficient means that players interact closely with other players.
Network density d M/(N(N − 1)) describes the portion of the potential connections in the network that are actual connections. Again, multiple edges between u and v are considered as one even with the same t in this case.
The reciprocity ρ 2M u /M describes the ratio of the number of edges pointing in both directions to the total number of edges in the network, where M u is the number of undirected edges in the network. High reciprocity means that the relationship between addresses is relatively strong, and the owners of these addresses are likely to know each other. Multiple edges between u and v are considered as one even with the same t in this case.
The degree assortativity coefficient r measures the similarity of connections in the network with respect to the node degree: where A ij is an element in the adjacency matrix, k i and k j are the degrees of node i and j, and δ ij is the Kronecker function. The direction of edge is ignored and multiple edges are considered in the calculation.

The Four Stages of Game Progress
Using the numbers of daily addresses related to CryptoKitties transactions, the game can be divided into four stages: the primer, the rise, the fall, and the serenity, as shown in Figure 2.
1. The primer: The game was released on November 23, 2017. There were not many players before December 2, 2017. 2. The rise: A large number of players entered the game since December 2, 2017. The game popularity rapidly increased before reaching a peak on December 10. 3. The fall: Since then, the popularity has dropped sharply. At the beginning of 2018, the game's popularity is less than 10% of its peak. 4. The serenity: After January 15, 2018, the popularity stabilized into a long-term slow downward trend. Figure 3 shows four snapshots of the network in each of the stages. The network size shrinks apparently over time.

Evolution of the Network Structure
The evolution of network structural properties in the four stages are shown in Figure 4. In the first stage, the Gini coefficient of out-degrees decreased suddenly. This is because almost all 0generation kitties were transferred from the game publisher's addresses to the players in the first few days. Soon after that, players began to breed new kitties and sell them to each other. The decreases in average degree, network density, and average clustering coefficient result from early players entering the game and expanding the network. Meanwhile, the assortativity coefficient stayed negative because low-degree players tended to trade with high-degree players, who are the game publisher.
In the second stage, the network density stayed low due to the large number of players entering the game. The degree assortativity coefficient increased to zero, meaning that lowactivity players tended to transfer kitties among themselves rather than trading with high-activity players.
In the third stage, the non-zero in-/out-degree ratio maintained an upward trend, indicating that the ratio of sellers to buyers was increasing, and market competition was intensifying. The Gini coefficient of out-degrees decreased gently, indicating that even the seller/buyer ratio increased, the gap between sales volume among sellers was narrowing. However, in-degrees' Gini coefficient went up suddenly. The anomalous data point around December 23, 2017, was caused by an exceptionally large number of transactions made by a handful of addresses.
In the fourth stage, the increasing average degree and reciprocity indicate that the players left in the games were actively trading with each other. The Gini coefficients all maintained an upward trend, indicating a large gap forming in these players: some big players were gradually dominating the game.
Note that the average degree, Gini coefficients, and reciprocity suddenly increased in June 2019. We found that they were caused by the launch of Wrapped Cryptokitties (WCK), which is an ERC-20 token contract, enabling players to exchange unwanted ERC-721 kitties for WCK and use WCK to exchange other kitties. The replacement of a large number of ERC-721 kitties with WCK resulted in a sudden fluctuation in the network structure.

Changes in the Kitty Ownership Transferring Methods
There are three ways to transfer the ownership of kitties: through the SalesAuction, Offers, or Core contracts. The changes in the proportions of the three methods over time are shown in Figure 5. In the early days of the game, the ownership transfer of kitties was mainly realized through the SalesAuction contract. Later, the proportion of transferring kitties with the method in Core contract gradually increased. After April 2019, this method had become the main way of transferring kitty ownerships. The number of kitties transferred through the Offers contract was always small.
Cost was the main reason for this change. Players tend to transfer kitties at a lower cost. When buying and selling kitties through the SalesAuction and Offers contracts, players need to pay a transaction fee to the game publisher, usually 3.75% of the transaction amount. Using the transfer method in the Core contract, in contrast, only requires a gas fee payment. Therefore, some third-party trading platforms emerged to help players trade kitties, charging fewer transaction fees. For example, the transaction fee charged by the OpenSea trading platform is only 2.5%.

Reasons for the Explosive Growth of Game Popularity
On December 2, 2017, the kitty with ID 1 was sold for 247eth, i.e., more than US $100,000 [12]. This message spread quickly on the Internet, generating a large amount of attentions. Figure 6 shows the Google trend index of CryptoKitties and number of daily addresses related to CryptoKitties transactions. Kitties traded at extremely high prices will undoubtedly attract media attention and bring many new players to the game. The increased attention from Internet users eventually led to the explosive growth of the game's popularity. We cannot rule out the possibility that the game publisher deliberately made the news that a special kitty has being sold at an extremely high price. In fact, almost all transactions with an amount greater than 100eth occurred in early December 2017, which corresponds precisely to the rise stage of the game. Nonetheless, despite of the cause, media exposure had indeed increased the game popularity significantly. Cryptocurrencies, such as Bitcoin, show a positive correlation between their prices and the sizes of the user groups [13][14][15]. The kitties in the game are ERC-721 token, and therefore, the same rule applies. On the one hand, the expansion of the player community has increased the demand for kitty tokens and promoted the rise of kitty price. On the other hand, the increase in kitty price attracted more players to join the community. Eventually, the entry of a large number of players into the game has led to a surge in demand for kitties, hence the kitty price (see Figure 7). The mean price of kitties in each day is significantly higher than the median price because a small number of kitties were sold at significantly higher prices than average.

Reasons for the Rapid Fading of Game Popularity
The rapid growth of game popularity only lasted less than ten days. Since then, the number of players has dropped sharply. Lee et al. [16] noted that users' playing behaviors in CryptoKitties are affected by speculative and enjoyable factors. Here, we propose four specific reasons that could account for the rapid decline in game popularity: the out-of-balance of the supply and demand of kitties; the loss of profit in kitty trading; the increasing gap between the rich and poor players, and the limitations of blockchain systems.

The out of Supply and Demand Balance
The large number of players poured in during the explosive growth stage bred a large number of kitties in a very short time. Since December 4, 2017, the number of new kitty listings has significantly exceeded the number of kitties sold every day, resulting in a rapid increase in the number of kitties left on sale, i.e., stock inventory (see Figure 8A). The kitty market has become a buyer's market, and the competition has intensified. The ratio of a successful sale for kitties listed on each day also decreased (see Figure 8B), and the turnover time, i.e., the average time interval between kitty listing and trade closing becomes longer (see Figure 8C).

The Loss of Profit in Kitty Trading
Buchholz et al. [17] pointed out that the value of cryptocurrencies has no benchmark but purely depend on the supply and demand in the market. As the supply of kitties significantly overwhelmed the demand, the price of kitties dropped significantly. Profit is an important motivation to encourage the players to stay in the game. If their revenue from selling kitties becomes lower than the costs, the players' enthusiasm will decline or even disappear.   Teoretically, suppose a player uses two of his own kitties to breed a new kitty and sell it at the median kitty price (excluding the 0-generation kitties) through the SalesAuction contract on the same day. The average cost of breeding and selling a kitty in one day can be written as where f breed is the average breeding fee, g breed is the average gas fee for kitty breeding, and g sell is the average gas fee to sell a kitty through SalesAuction contract on a particular day. The profit of a kitty sale on the same day can be written as where v median is the median price of kitties (excluding 0generation kitties) sold on that day. The seller can only receive 96.25% of the dealing price after deducting the 3.75% handling fee received by the game publisher. Figure 9A shows that the cost break-down for breeding and selling increased sharply in stage 2. Among all the costs, the breeding fee is the highest, followed by the miner's fee for the selling operation, and the miner's fee for the breeding operation is the lowest. Figure 9B shows that starting from December 13, 2017, the average profit for a player to breed and sell a kitty became negative, indicating that the player may lose money when playing the game. The actual in-game breeding and sale may not happen on the same day. For every kitty sold, the seller's actual profit can be evaluated by the difference between the breeding or acquisition cost and selling revenue. Here, we also estimate the actual profit of kitties sold each day. For the kitty sold for the first time, the seller's profit can be written as where v is the price at which the kitty is sold, f breed is the breeding fee, g breed is the gas fee for kitty breeding, and g sell is the gas fee to sell the kitty. If the player rents another player's kitty, he has to pay the rent r and gas fee g rent . The seller can only receive 96.25% of the dealing price after deducting the 3.75% handling fee for the game publisher. For the kitties that are bought from others and resold, the seller's profit can be written as where v sold is the sold price, v purchase is the purchase price, g purchase and g listing are the gas fees paid in purchasing and selling the kitty. The seller can only receive 96.25% of the dealing price after deducting the 3.75% handling fee for the game publisher. Figure 10 shows the probability of generating a positive profit by selling kitties each day. After December 6, 2017, this probability for kitty resales became less than 50%. After December 13, 2017, this probability for selling self-bred kitties became less than 50%. Whether the player sells kitties bred by self or previously purchased, there is a great chance of losing money.

The Increasing Gap Between the Rich and Poor
Players receive revenue from selling and lending kitties. In the first stage of the game, the Gini coefficient of daily revenue from selling and leasing increased significantly (see Figure 11A), and that of the cumulative revenue for all the addresses also increased significantly (see Figure 11B). After entering the third stage, although the Gini coefficient of the revenue earned by players from selling and renting fluctuated, they all remained at a relatively high level (greater than 0.6). The Gini coefficient of accumulated revenue stayed at a high level (greater than 0.8). Since 0-generation kitties were mainly sold by game publisher, these sales were not considered when counting the revenue of players. Our results show that the gap between the rich and poor in the game expanded. A few players earned most of the money from the game, while most can only get very little income, if any. The increasing gap in the revenue has caused most players' gaming experience to deteriorate, and they gradually withdrew from the game.
Not only the revenues, kitty ownerships were also gradually concentrated to a few players. The Gini coefficient of the number of kitties owned by all addresses at each stage is shown in Figure 12. When counting the number of kitties belong to an address, unsold kitties in the SalesAuction contract belong to the seller, and unrented kitties in the SiringAuction contract belong to the lender. In the first and second stages, many new players entered the game, all making purchasing, and the Gini coefficient gradually decreased. However, as the number of new players decreased and existing players quit, the Gini coefficient rose in the third stage and kept rising in the fourth stage. As of April 2020, the Gini coefficient of kitties with addresses has exceeded 0.8. At this time, the resources in CryptoKitties became highly concentrated.

Limitations of Blockchain Systems
The cost of performing operations on a public blockchain system is highly volatile due to the unstable price of  cryptocurrencies, resulting in it difficult to control the cost of the applications deployed on the blockchain. As CryptoKitties was deployed on Ethereum, the cost of playing the game (including the costs of buying, breeding, and renting kitties, as well as the fees paid to Ethereum miners) has risen significantly due to the rapid rise of Ether price in the third stage. Ether price increased from US $451 on December 10, 2017, to US $1,322 on January 10, 2018 (see Figure 13), resulting in a significant increase in the cost of playing the game, raising the bars for new players entering the game.
In addition to the cryptocurrency price, other potential limitations of blockchain systems include the unnecessary gas cost by poorly designed smart contracts and the low system throughput (measured in transaction per second, TPS). Under-optimized smart contracts will consume more gas than necessary [18], making it more expensive for users to play games. Chen et al. [19,20] studied the gas cost mechanism of Ethereum and proposed a way to optimize smart contracts through analyzing bytecodes, potentially reducing the gaming costs. The low throughput of Ethereum [21] has rendered that concurrent operations by many users are not feasible. Once too many players have joined the game, the time needed to validate operations in the game takes too long, therefore sabotaging the players' gaming experiences.

CONCLUSION
This paper is the first to fully unveil the user activities in the once most popular blockchain game CryptoKitties and A B FIGURE 11 | Gini coefficients of (A) daily selling and lending revenue and (B) the accumulate revenue from kitty sale and renting for all the addresses. Dotted lines separates the stage 1, 2 and 3.  identify the reasons for its rise and fall. Based on the number of addresses associated with the game every day, we divide the process of CryptoKitties into four stages: the primer, the rise, the fall, and the serenity. We extracted all the five million kitty transactions from the Ethereum blockchain and constructed the kitty ownership transfer network for characterizing the user behaviors. We found that a large number of players flooded in the game in the early days but quickly withdrew later, and a few big players gradually took control of the game. We found that the public attention drew by the message that a special kitty was sold at an extremely high price eventually led to the explosive growth of game popularity. For the rapid decline of the popularity, reasons including 1) the oversupply of game props, i.e., the kitties, 2) the loss of profit in the game prop trading, 3) the increasing gap between the wealth distribution among the players, and 4) the limitations of blockchain are accounted for.
Drawing from these observations, we advise on the designing of future blockchain games as follows.