“Zeus-o-cat and Herakitty”

- A Look At CryptoKitties Breeding Patterns And More

Danning Sui
Alethio
10 min readNov 13, 2018

--

Danning Sui, Johannes Pfeffer, Christian Crowley

Our focus in this article is a detailed look at inbreeding among CryptoKitties. That may sound strange, but if you bear with us, we assure you that you’ll learn a lot more about the fascinating world of CryptoKitties. This piece also covers the kitty color distribution, depth of generations, popularity, the biggest kitty bidders and much more.

Sounds good? Then let’s dive in!

CryptoKitties is a collectible game in which the players can purchase and/or breed virtual cats. During the peak of the CryptoKitties boom last year in December, naturally there also was a boom in breeding of new kittens. As of today, according to the KittyExplorer, the total kitty population is over 1.16 million., Apart from the ~30k generation of 0, the remaining 1.13 million have all been created by breeding. We’re able to dive into this rich history of breeding among kitties — including the newly established disciplines of kitty-sociology & kitty-genealogy — due to the many rules & governance mechanisms the game sets around kitty society: For instance, kitties’ inbreeding between closest relatives are forbidden; genes are combined and passed to the new birth descendants to keep coherence, with possibility of mutation to bring diversity; the more times a kitty has given birth to as mother, the longer it takes next time for pregnancy…

We found the graph of kitty auctions, transfers and births very rich in semantics and took a close look into the kitty family tree. Based on the kitty birth data available, we’ve produced a litter of interesting findings. We sincerely hope our work will here help propel to the aforementioned kitty-disciplines into more mainstream consideration, where we believe they should be.

For our analysis, we first collected a dataset of 436,114 records of kitties from the official public API on June 15, 2018. This dataset is not complete according to the maximum value in all available kitties’ sequential id by that date. The API returns empty results for the kitties who are 404 on official page.

We recently updated the birth data from Alethio’s data lake, and enriched the records from 436k to 1 million records. On November 12, we extracted all the data from events triggered by birth function (Topic =0x0a5311bd2a6608f08a180df2ee7c5946819a649b204b554bb8e39825b2c50ad5) and filtered them by being only called by CryptoKittieCore smart contract, for other games (e.g. CryptoPuppies, CryptoPonies and HyperDragon etc.) are also calling this function.

The Hidden Secrets in Kitties’ Family Tree

It’s no secret that CryptoKitties players thoroughly enjoy the cute individual cat pictures and their detailed character descriptions. Beyond this, however, users can grow or change their kitty families by gifting, selling or buying. They can also produce a new kitty by breeding with others. All these actions involve costs. Part of the cost is the blockchain fee for the smart contract operations (gas) and the other part goes to the CryptoKitties creators — as a kind of tax for governance. One key note is that Kitties don’t have a fixed gender. When they are bred, they can be either matron (female) or sire (male), as decided by the owner at birth.

When breeding, there are two rules designed to minimize CryptoKitty “incest” (more formally known as inbreeding):

  • A kitty cannot breed with its parents
  • A kitty cannot breed with its siblings (including half-siblings, who either share the same matron or sire with the kitty only)

With the rules above, the game strives to keep “biological” diversity among kitties and reduce the likelihood of reproduction of duplicated kitty genes/attributes. Examples include fur color, eye shape, or other fancy features — known as “cattributes”).

Below we can see the histogram of kitty births — since the release of the game in 2017 December, there has been a huge spike in births lasting for around a week, reaching a max of 30,000 new kitties per day. After the peak of the boom, the count of daily new births converges to a stationary value.

Fig 1 — Histogram of Daily Kitty New Birth

Detection of Inbreeding

… Zeus and Hera were brother and sister as well as husband and wife. They were the children of Cronus and Rhea (also married siblings). Cronus and Rhea, in turn, were children of Uranus and Gaia (a son who took his mother as consort, in some versions of the myth). Cronus and Rhea’s siblings, the other Titans, were all also married siblings like Nyx and Erebus. Wikipedia

In greek mythology the incestrous relationships were recorded by Apollodorus of Athens, Homer and other scribes of the time. Games on blockchain are different. They leave an immutable trace of all key activity on the ledger. We process this information (e.g. the kitty family tree) and create an exhaustive graph from it. Then we can conduct a graph search on it to find cases of inbreeding.

Fig 2 — An illustrated excerpt from the kitty family tree

To define “incest”, the standards for human societies vary from one region to another, and even vary dramatically in time. There are countries with strict rules that don’t allow birth with fourth civil degree relatives (like the Philippines), and also countries with rules as lax as in Brazil where there is no clear punishable relationship defined as long as the participants are over 14.

Figure 2 shows a small excerpt from the full family tree. 二郎神 and Mr. Goofy are parents of Ugly and Poopy, who naturally become siblings. Besides, Mr. Goofy is also the parent of Vanille Schokolade, but mated with other kitties rather than 二郎神, which makes Vanille Schokolade a half-blooded sibling with Poopy and Ugly. These are seen as first degree relatives in our article. The mating between these relatives are forbidden by the rules in the game.

Besides, there are “grandparents” and “uncles” / ”aunts” in this small family. Ugly and Nightmare further gave birth to 和路雪, thus it is the grandson/granddaughter of the two kitties on the top, and the niece/nephew of its parent’s sibling (i.e. Poopy and Vanille Schokolade). The breeding between them seem not to be banned by the game yet, while they biologically are highly related.

For CryptoKitties we have decided to identify four types of inbreeding:

1 Parent-Kid Breeding

Parent-kid breeding occurs when a kitty mates with its mom or dad.. This is forbidden as stated by the game. We searched in the data and found it having 0 occurrences.

Fig 3 — An illustration of Parent-Kid Breeding

2 Breeding Between Siblings (Including half-blooded/step sibling)

If any two siblings give birth to a new baby then it’s a case of breeding between siblings. Again, this is forbidden by the game rules manifested in the smart contracts. We searched in the data and found 0 records in real birth data.

Fig 4— An illustration of Sibling Breeding

3 Grandparent-Grandkid Breeding

This type of inbreeding occurs when a kitty mates with its grandparent. We searched for this pattern in the data and surprisingly found that among 1,000,000 kitties (of whom 30581 are gen-0 kitties, meaning they have no parents) there are 17779 cases of such intergenerational grandparent-grandkid breeding.

Fig 5— An illustration of Grandparent-Grandkid Breeding

Below you can see a glimpse of the grandparent-grandkid inbreeding family tree:

Fig 6 — A glimpse of zoomed kitty family tree with incest labeled as red

In the figure, each gray node is a kitty. The green edges are non inbreeding birth relationships, while red edges are cases of inbreeding. Let’s further have a detailed look at an example:

Fig 7— An example of Grandparent/Grandkid Inbreeding

The above is a small excerpt from a big incest family. It shows that Kitty 1010 and Kitty 1009 gave birth to Kitty 3204, then it mated with Kitty 1116 and produced Kitty 4216. However, Kitty 4216 later mated with its Grandparent Kitty 1009 and had the inbred kid Kitty 4282.

4 Uncle/Aunt-Niece/Nephew Breeding

Fig 8— An illustration of Uncle/Aunt-Niece/Nephew Inbreeding

Similarly, as second degree relatives, the uncle/aunt and niece/nephew inbreeding occurs in this game. There are 40780 “productive” uncle-niece relationships among the 1 million kitties!

Combing only the two types of inbreeding stated above, the graph search in the kitties’ family tree shows that there are already 58,559 second-degree-relative incest births happened among 1,000,000 kitties, in 1 year only, not mentioning great-grandparent/great-grandkid inbreeding and others yet.

While the world of CryptoKittes data can seem messy at first, analytics can attach semantics, meanings and fun to the plain data records.

CryptoKitties Statistics & Distributions

Apart from the inbreeding analysis, here are some more statistics and findings we drew from the API data:

Background Color Distribution

Fig 9 — Distribution of Background Color

We can see that strawberry is the most common one, having over 70,000 kitties attached, while autumnmoon, babypuke, palejade are the rarest in the bottom of bar chart.

Distribution of Generations

Fig 10 — Distribution of All Kitty Generation
Fig 11 — Distribution of Kitty Generation 0 to 25
Fig 12 — Zoomed Distribution of Kitty Generation 26 to 827

The first chart shows the full distribution of generations counted from the initial set of kitties. The highest generation value is 827 — but the amount of kitties with such a deep heritage is very low. The second chart zooms in into the range of 0 to 25 generations. A generation depth of 5 is most common, there are ~35,000 kitties of this generation level.

Popularity of Fancy Kitties

Fig 13 — Popularity of Fancy Kitty

Among the fancy kitties, we checked the “purrs_count”, which is the count of times that kitty is liked by users. We assume that the popularity of kitties is proportional to the average likes they have received. The chart above clearly shows that Genesis is liked most. For readability, we scaled the average likes by log10.

Are Rare Kitties More Popular? — Yes!

Fig 14 — Fancy Kitty: Volume vs Popularity

We wonder whether the popularity is related to the total number of kitties: the less it is available in the market, the more it is popular. This plot proves the assumption that the popularity is negatively related to the fancy type’s size.

How is the game’s uptake?

Fig 15 — Time Series of Kitty Auction Event by Type

Here the events count showed that the game traffic hit the top in the beginning of December (more precisely December 10), when the game was online for around 2 weeks. After the peak, the traffic declines and stays around the same level without much fluctuation.

Who are the Big Kitty Buyers?

Fig 16 — Top 10 Users who bought the most kitties in Auctions

kIn the chart we see the auction history of the top 10 users, ranked by the times of them winning the kitty auction in this game. The address 0x0eab bought over 4500 kitties in one day in December. Besides, address 0x0601 has been buying the most of kitties over time.

Fig 17 — Top 10 Users who spent the most in Auctions (in ETH)

In this chart the 10 users who spent the highest amount of ETH in auctions are shown. For example, address 0x5832 has spent over 450 ETH in one day.

Who are the Biggest Kitty Owners?

Fig 18 — Top 10 Kitty Owners

From the plot we see that the biggest owner in the game is the account 0xb169 (CK Auction Contract), who owns 86991 kitties according to our dataset. A look on the CryptoKitties website identifies the contract to belong to the team itself: https://www.cryptokitties.co/profile/0xb1690c08e213a35ed9bab7b318de14420fb57d8c

The next two addresses are 0x68b4 (Kitten Mittens | Opensea to make offers!) and 0xc7af (CK Smart Contract), with around 25000 kitties in hand. The latter one (https://www.cryptokitties.co/profile/0xc7af99fe5513eb6710e6d5f44f9989da40f27f26) seems to belong to the team also, while the first (https://www.cryptokitties.co/profile/0x68b42e44079d1d0a4a037e8c6ecd62c48967e69f) is OpsenSea, a running business focusing on NFT collectibles trading (https://opensea.io/).

Conclusion

Alethio’s vision is to create a world where any individual can interact with each other through decentralized systems in a fair, self-determined and well-informed way. By showing a case study on one specific DApp — here, CryptoKitties — we hope to enlighten the community about the power of semantics-driven blockchain analytics. We also hope to use our data platform to help make all aspects of Ethereum data accessible to a broader audience — from the deeply technical to the fun & fascinating world of Kitties. If you have any feedback or have an topic you’d like to dive into, please reach out in the comments, via Twitter (@AlethioEthStats) or our website, aleth.io. We look forward to hearing from you!

Disclaimer: We carefully collected the data that was used in this article. Still, there may be error in it or in the aggregations and conclusions drawn. Alethio has a strong commitment to staying neutral by providing facts and best judgments based on objective and/or verified information. This article should never be used as guide for any malicious practice or trading suggestion.

--

--

Danning Sui
Alethio

data @flashbots, prev data @0x, @alethio/@consensys