December 2, 2020

Parallelizing CryptoKitties


Recently Ethereum is hitting all-time high, so does the transaction fees. Apart from inflation and stimulus packages that are driving cryptocurrencies up, increased adoption seems to be another factor. Among DApps available on various blockchain platforms, the rise of NFT applications caught people’s attention once again.

Many believe whatever we have seen so far is just a preclude of some forthcoming revolution. Many new business models that we haven’t seen before will start to emerge. A paradigm shift of how people conducting their daily businesses. Blockchain will finally take over the territories once belonged to centralized systems.

NFT applications aren’t something brand-new, the first well-know NFT game is CryptoKitties. First launched in 2017, CryptoKitties is still the largest non-financial DApp on Ethereum. It was so popular that caused serious network congestion on Ethereum blockchain soon after its launch.

On top its popularity, CK was a wake-up call of many. In fact, a lot of people started to realize that blockchain has serious performance problem from CryptoKitties.

Could we build a blockchain that support large scale applications, fast enough to support millions of users ? or more specifically, DApps with reasonably complexity like CK (not just simple token transfer) running 1000x faster than on Ethereum, apart from all these dreams hypes and brilliant future, truly works?

If one popular game could cause world’s largest blockchain to stop, how could such a blockchain infrastructure support millions of applications? Unfortunately, after years of R&D, the issues remain.


Arcology’s idea is simple and effective, if one machine cannot handle the workload in time, executed on a group of machines simultaneously. Basically, Arcology has a system architecture that support intra-node horizontal scaling.

Parallel transaction processing is an effective way to improve system performance. If a system has 16 processor cores, which isn’t a big deal there day, and we can let all these cores to process transactions simultaneously, then in the ideal case, we will end up with 16x speedup.

We can bring idea a little bit further, let say we can 3 spare machines with 16 cores on each, then ideally, we can get a 16 x 3 = 48x speedup. It is clear that with this type of design, the TPS has become a matter of computational resource available.

Benchmarking Result

In a recent experiment, we optimized CK source code, made some minor changes to the original source code to let it take advantage of Arcology’s architectural superiority. We have achieved some astonishing results with this setup. The top TPS was around ~30k with the software and hardware configuration below.


Arcology is a real solution. It is compatible with Ethereum at the smart contract level, DApp developers no longer to learn a new language, original smart contracts developed for Ethereum may run on Arcology without little or no modifications.

Becoming a block producer / validator is also affordable on Arcology, which further guarantees decentralization. Decentralization don’t always need to be an obstacle of Scalability, Arcology is both scalable and decentralized. 

Arcology is under active development, details may change over time, please contact us for the latest updates