Late last year CryptoKitties burst into the blockchain world. If you haven’t been paying attention, CryptoKitties is a Web site that uses a browser-based wallet (MetaMask) to sell (for Ether) little virtual kitties. Once you have a kittie, you can breed it with others, to create new kitties. Each one is a unique individual created with some genetic algorithm. Some Gen 0 or Gen 1 kitties have sold for ridiculous amounts of money. If you were around in the 90’s when the Web was taking off, think Beanie Babies meets Blockchain and you’ll get the idea1.
Except it’s a little more interesting than Beanie Babies ever were because each CryptoKittie is really a non-fungible token on the Ethreum blockchain. This means each kittie has some interesting properties:
- Each kittie is disiguishable from all the rest and has a unique identity and existence
- Each kittie is owned by someone. Specifically, it is controlled by whoever has the private keys associated with the address that the kittie is tied to.
Because of these properties, a CryptoKitty can be remixed and used in other applications. Just today, I heard that they are being sold on OpenBazaar for Bitcoin. Someone could create a game that uses the kitties that were part of the CryptoKitty game as characters in a new game. Because they are not just a line in some centralized company’s database, they really do belong to the people who bought them and who can use them for anything they like.
Why is this important? You can go on Amazon and “buy” a digital copy of a movie or song. But do you really own it? Do you have a unique copy that is controlled only by you? Not likely. In the wake of Louis C.K’s sexual miscoduct allegations, many services cut their ties to the comedian. I’m not defending his actions in any way, but people who “bought” that content didn’t own it, because someone else’s decisions took the content away from them.
That can’t happen with a CryptoKittie (almost, keep reading). The token representing the kittie is mine and under my control. That’s the idea of self-sovereignty. You control something without others being able to take the asset away from you. As I wrote in On Sovereignty:
Sovereignty is about relationships and boundaries. When we say a nation is sovereign, we mean that it can act as a peer to other sovereign states, not that it can do whatever it wants. Sovereignty defines a boundary, within which the sovereign has complete control and outside of which the sovereign relates to others within established rules and norms.
The border, in this case, is defined by Ethereum, the ERC-721 specification, the smart contract, and my private keys in my wallet. The only thing that can take my CryptoKitty away from me is Ethereum going away. They are a non-fungible asset like art and other collectible. They can be traded and they can be repurposed, but only with my consent.
The Fly in the Ointment
What I wrote above is almost true. The structure of individual ownership is all there2. There is one problem with CryptoKitties as a model of self-sovereignty: the CryptoKittie smart contract has a “pause” function that can be executed by certain addresses. This is probably a protection against bugs — no one wants to be the next theDAO — but it does provide someone besides the owner with a way to shut it all down.
I have no idea who that someone is and can’t hold them responsible for their behavior — I’d guess it’s someone connected with CryptoKitties. Whoever has control of these special addresses could shutdown the entire enterprise. I do not believe, based on the contract structure, that they could take away individual kitties; it’s an all or nothing proposition. Since they charged money for setting this up, there’s likely some contract law that could be used for recourse. Nevertheless, we need more discussion of formalized governance in decentralized systems. How do we balance the need for security (the kill switch) with the rights of the people who own kitties?
- Next time you see me in person, I’ve got a funny story about Beanie Babies and iMall.
- Addresses that pay for kitties are linked to those kitties in the smart contract. My understanding is that if the smart contract that controls CryptoKitties were updated, the old contract is still there and would control the kitties created by it. Because the contract is public, owners can always interact with their tokens.
Originally published at www.windley.com.