Scratch That: CryptoKitties Isn't Quite Ethereum's Vision for Apps
Ethereum's biggest success story isn't showcasing the full benefits of the platform, at least that's what its critics allege.
Ethereum creator Vitalik Buterin cried himself to sleep the night "World of Warcraft" maker Blizzard Entertainment altered his "beloved warlock's Siphon Life spell."
According to Buterin, the online role-playing game forever changed his outlook toward app development. "On that day, I realized what horrors centralized services can bring," he writes on his official "About.me."
Aspiring to offer a "world computer," ethereum has sought to stop similar occurrences by providing a platform on which decentralized applications (dapps) can run. But while a whole slew of startups is developing ethereum solutions for everything from social media to file sharing, none have yet to see a large, mainstream audience.
Apart from CryptoKitties.
An internet-based game for buying, selling and breeding adorable digital kittens, CryptoKitties has found itself in the center of a pop culture storm. Many have lauded the app for giving new users an easy, fun way to learn about cryptocurrency protocols, but others are strongly opposed to the app, which has been the cause of serious backlogs and rising transaction fees on the network.
But there's another issue with CryptoKitties that's being increasing called to attention: namely, your kitty isn't as decentralized as you think.
As least, that's the contention of some critics, who claim CryptoKitties, like World of Warcraft before it, is under the control of a central authority. Widely heralded as an unprecedented success for ethereum, questions have now begun to emerge about whether it's at the sacrifice of the fundamental concept of the project.
What's to stop the owner of the CryptoKitties smart contract, Kitty Core, from editing the algorithm and mutating a kitty against the will of its owner? According to its skeptics, not much.
As bitcoin developer Udi Wertheimer, asked Vitalik Buterin on Twitter:
Domesticated cat
Because CryptoKitties is built on top of ethereum, many in the community assumed it was a dapp.
But that's not the case. Rather, the game is run within a centralized database, and mostly operates from one internet portal – the CryptoKitties website itself.
In this way, CryptoKitties has a central point of failure – one of the key reasons there is such enthusiasm for blockchain technology. With a decentralized model, if one company shuts down, others are there to pick up the slack; if a handful of servers go offline, others are there to keep the software running.
CryptoKitties critic and Bitcoin Core developer Peter Todd told CoinDesk too much power is in the hands of the app's creators.
"It'd be like if I sold you a cat, but then took away your ability to interact with it, see it, etc. For all practical purposes, you'd no longer have a cat," he told CoinDesk.
Adding to this, while the majority of the CryptoKitties code is open source – long touted as a key to decentralization – there are a few commands that have been kept hidden. For one, the genetic algorithm which creates the kittens is concealed, which according to the CryptoKitties team "is what makes games like this fun."
Those in the crypto space might not agree, especially since the execs at the firm have the power to halt this contract at any time, possibly inducing a wave of narcolepsy throughout the market.
Another quirk in the code allows the COO to create up to 5,000 copies of any kitten at any time, and although it's unlikely that Kitty Corp would deliberately sabotage its players, if a malicious actor hacked into their systems, there could be either a purge or an overpopulation of the furballs.
As Philip Daian, developer of security-focused smart contract programming language Viper, emphasized on Twitter:
Kitty fork
Even Buterin took to Twitter to comment on the current version of CryptoKitties, arguing that he believes it's a step in the right direction.
"It's not close to fully decentralized in its current form," he said. "But I think people see that it can be." And, if necessary, Buterin later tweeted: "I suspect the community will just hard fork the kitties."
Still, someone could build a third-party software protocol to interact with CryptoKitties, since enough of the open-source code is public. This also means the the game's contract could evolve into new species – frogs for example.
Irrespective of the aspects of the code that aren't public, Parity representative and CryptoKitties enthusiast Afri Schoedon said, "Nobody can prevent you or me or anyone else building your own 'CryptoFrogs' game on top of the CryptoKitties logic."
And in his mind, that's as decentralized as CryptoKitties needs to be.
"All important logic is hosted on the ethereum blockchain in smart contracts," he told CoinDesk.
Schoedon defended the centralized aspects of the game, explaining, "they just reserved the right to keep some proprietary stuff centralized and host it on some web server for the convenience of a huge user base that never interacted with decentralized applications or ethereum before."
Kitty Corp representatives echoed those comments, saying the company's primary intention was to make the game accessible for people new to crypto.
And decentralization will come with its trade-offs.
Speaking to CoinDesk, Griff Green, founder of decentralized charity Giveth, said that, currently, "the options for creating a truly decentralized application are very limited and in the end impractical."
When it comes to user experience, Green said, "trying to run an app on the ethereum blockchain without using some help from central servers is UX suicide."
In a blog post, the Kitty Corp team reflected on the issue, stating:
STORY CONTINUES BELOW
CryptoKitties image via Shutterstock