Yuga Labs didn’t buy the CryptoPunks!
So, what did Yuga Labs actually buy? They only bought the intellectual property (I.P.) to the artwork, and around 400 cryptopunk Non-fungible-tokens (NFTs) that are from a collection of 10,000 tokens. Buying the I.P. is like a web 2.0 company buying web 2.0 property. Boring.
This is an important distinction, since nobody owns the CryptoPunks NFT smart contract, and ownership of it cannot be transferred or regained, ever since Larva Labs deployed the contract and set it free in 2017.
What does it mean when we say that the “CryptoPunks NFT smart contract cannot change ownership”?
First, we need to understand what are CryptoPunk NFTs. They are tokens, where each token has a number. Each number happens to correspond to the position of where the “punk” for that number is located on the punks.png image. This image is the CryptoPunks IP, or the artwork.
So for example, if my punk token’s number is 8716, that will mean that it’s on row 88, column 17 (punk numbers start from 0). If your punk number is 0, it will be on row 1, column 1. If your punk is 9999, row 100, column 100, and so on.
How do these tokens exist? They exist because of the CryptoPunks smart contract. A smart contract is a small computer program that runs on the Ethereum blockchain. Its job is to keep a registry of who owns which token, to facilitate token transfers between participants, and makes sure that there will never be more than 10,000 tokens. A CryptoPunks smart contract also has an additional feature, a built-in marketplace to trade the tokens, complete with a bidding system and an escrow service. The smart contract does not have any owner, and runs on the Ethereum blockchain autonomously (without human intervention).
In a way, you can think of the smart token contract as the “CryptoPunks NFT Protocol”¹ . Nobody can own, change or control this protocol.
Who decides which contract is the canonical “CryptoPunks NFT” contract that implements the “CryptoPunks NFT Protocol”? Can Yuga Labs just deploy their own, new smart contract, with a new protocol and just convince everybody to use that instead?
The answer is, nobody can. In the beginning, when the CryptoPunks were launched, the association between the “CryptoPunks NFT” contract and the artwork² was set by the CryptoPunks creators, Larva Labs. This is similar to how Satoshi launched Bitcoin, and declared that The Genesis Block will be the starting point of Bitcoin. Whoever joins Bitcoin (the protocol) after Satoshi, agrees to this starting point of Bitcoin. This is what’s known as consensus, and it’s critical to understanding how blockchains work.
As the time moved on, more people joined the CryptoPunks community, and the community continued to grow around a single “CryptoPunks NFT” contract. The creators didn’t need to tell anybody about the association between the images and the tokens anymore. Everybody knew what the token contract was, from multiple sources, and the association between the contract and the artwork held up through decentralized consensus.
Decentralization is the key here, because consensus is difficult to change because of decentralization. How does it work? Every person, who recognizes a non-fungible token (NFT) as a cryptopunk, makes their own individual decision whether or not that token is a cryptopunk. If enough people agree that this token is a cryptopunk, then consensus among the participants emerges, and they can all follow the same protocol for holding and transacting these tokens.
What if Yuga labs wanted to alter the smart contract and change the protocol? They cannot do it, because the smart contract has no owner and is immutable.
In theory, the only way Yuga Labs can make changes, is to change consensus. This means convincing everybody to use a different “cryptopunks protocol”. However, that is a difficult coordination task, because of the decentralized nature of the cryptopunk community.
In conclusion, I’m hopeful that the CryptoPunks community will always guard their protocol from being co-opted and make sure that consensus will never be changed.
- Definition of the “CryptoPunks NFT Protocol”
- Deployed by LarvaLabs in 2017 (by the Larva Labs address 0xC352B534e8b987e036A93539Fd6897F53488e56a)
- Contains a hash of the punks.png image. It also contains all the methods of the “CryptoPunks protocol” for transferring and trading the non-fungible tokens.
- Has no owner, and is fully autonomous.
- Contains a built-in, fully functional, 0% fee marketplace.
2. There is only a single instance of the artwork in existence, no error version or “miss-prints”. That artwork is an image with all 10,000 punks on a transparent background, 2400 x 2400 pixels. The image can be stored anywhere, including off-site. It’s always easy to verify the authenticity of a copy of this image, by taking a cryptographic hash of the image’s data and comparing it with the hash that’s stored in the smart contract.