ScalableKitties Clause Samples
ScalableKitties. ScalableKitties is a clone of CryptoKitties, a popular Ethereum smart contract that was created in November 23th 2017 and until the writing of this paper had over four mil- lion related transactions. During the apex of its popularity, CryptoKitties congested the Ethereum network for several days, accounting for over fifteen percent of all Ethereum transactions [25]. In CryptoKitties cats are collectibles that can be bred to generate more cats following a set of rules (e.g., sibling cats cannot mate). Cats were first generated by the contract’s owner. Both the initial and bred cats are sold in an auction smart contract. The game was the first mainstream application built on top of Ethereum, and some cats were sold for more than a hundred thousand dollars at the time. The contract is still actively used today. ScalableKitties’s functions map one-to-one to the Cryp- toKitties smart contract but for simplicity we discuss only the functions that are related to the execution of cross-blockchain transactions. Cats are created in two ways: either by having the contract’s owner calling a function to generate “promotional” cats or by breeding two cats to generate a third. Breeding is the only operation that can generate cross-blockchain transactions because bred cats can be in different blockchains and need to be moved to the same one. Furthermore, if the owner of cat A wants to breed A with B, it either needs to own both cats or B’s owner has to permit B to be sired with A. In the experiments in Section VII-A we replay transactions from the CryptoKitties contract on the ScalableKitties contract.
