I’m going to attempt to answer all of the questions that I had when entering into the Crypto Art space.
Like, what the fuck is a non-fungible token (NFT) and the technology behind it. I will try to cover as much as I can think of, but be warned, I have ADHD, and even with medication, I am easily distracted. My apologies in advance.
Let’s start with the basics. NFTs are simply a tokenized representation of ownership that provides digital proof of uniqueness. Yeah, I know, that’s a mouthful. Let me try to explain it in a way that is not just a jumbled blanket statement. I will do this by explaining how the technology actually works and it will all start to make sense.
Let's look at what happens on the backend when you tokenize something that is non-fungible. First you need to have something that you want to tokenize, since I am a crypto artist, I will focus on art tokenization, but this can (in theory) work for anything like land, homes, cars, etc. Hell, I’m actively trying to find a solution to tokenize my marriage on the blockchain. This would require a separate encryption type (off-chain) such as AES where only the involved parties have the keys to the personal data.
Alright, back to tokenizing art. So I have this art that I want to share with the world, but I don’t want someone to be able to steal it and claim that they made it. Side-note: I’m not a big fan of copyright, or the system in general. That is a whole other topic that I will have to cover in a different piece entirely.
ADHD SUCKS, back to tokenizing…..
Above is my work of art that I want to use cryptography to prove it’s digital uniqueness. To make this happen I will need a few prerequisites. Before you jump into trying to tokenize anything you need to grab some Ethereum. A google search can point you in the right direction, as I’m not writing this to shill you links.
But, before you can buy Ethereum you’re going to need a crypto wallet. There are loads of wallets to choose from on any platform you choose. There are a few things to consider though, it needs to support web3 in some way, see the examples below:
•Wallet Connect- an open sourced platform that has seen some significant improvements with the growth of NFTs. Wallet Connect works by linking your mobile wallet to a Web3 connection through QR codes or deep linking.
•Wallet Link- This one is very similar to to wallet connect, but exclusive to coin bases wallet application. It works in the same manner but is not an open sourced project (to my knowledge, but I haven’t googled it so don’t sue me).
•Hardware Wallets- some hardware wallets have built in direct support to interact with DApps, but this can be limited to each DApp and whether the choose to support it.
Examples of hardware wallets that directly interact with the Ethereum blockchain.
•Safepal: an all in one hardware wallet and DApp browser that uses the most secure method of securing your private keys, air-gapped cold storage. (Will write about this in another piece as I tend to get carried away when talking data security)
•Trezor: Trezor is one of the most trusted hardware wallets, that is open source, transparent, and has been actively adding direct integrations to some DApps. Although I don’t think it has been directly integrated into any NFT platform, it can be used with metamask to interact with Web3.
•Ledger- ledger is one of the most popular hardware wallets, with a lot of direct integrations, but I’m not a fan. Especially since they leaked my fucking data. Bitches.
•All-in-one Wallet/browser: There are loads of these available on mobile devices, including some of the above examples, Coinbase wallet, SafePal, and Metamask Mobile, but my new favorite is the open sourced project called Status. Status is a private messenger, DApp Browser and Ethereum wallet where your keys are your identity. AWESOME CONCEPT!
So now that you picked your wallet of choice, we can look at what we need to do.
2.Sign into a NFT marketplace using your cryptography keys via your “wallet”
3.Upload image, video, gif, whatever your choice platform supports.
4.Sign a message to transmit this data to the blockchain
5.Pay Gas Fees. (I expect this to be significantly reduced with the rollout of Optimism)
6.Before you can sell this token you have to allow the smart contract access to interact with your wallet. This is a one time fee. I’ll try to explain this in the next section.
7.Set your price and transmit the data to the blockchain and your item is listed for sale.
Now that we have the logical process mapped out, let's look at what happens on the back end.
Your tokenized image doesn’t actually go onto the Ethereum blockchain. What happens is your image is uploaded to the InterPlanetary File System [IPFS]. When content is uploaded to IPFS it provides an immutable hash, that represents your file, and IS your file. IPFS works differently than traditional web servers that store your data in centralized servers. Using IPFS, your data is stored and queried by its contents, not it’s location. This hash is distributed to peers on the IPFS network and hosted - indefinitely.
So what does that have to do with your NFT?
Well, that unique IPFS Hash is tied to your unique Ethereum token as metadata.
Why does this matter, or why is this important?
The concept behind the Ethereum Virtual Machine is an open source programming language and immutable ledger. To process transactions you need to pay for processing power of the devices that are running your code. As we know, proof of work transactions can be quite costly, and energy consuming. Thats where IPFS helps to keep the raw data processed by the smart contract to a minimum. The IPFS has is used instead of a large image file, which I don’t even want to imagine how much gas would be required to upload an image to Ethereum.
So the genius minds behind Crypto Punks discovered that by linking the IPFS Hash to the Ethereum Request for Comments this technology would be able function on a wide scale level. That’s when ERC-721 was born. Side-note: OG crypto punks are actually ERC-20 tokens that proved the concept which eventually led to ERC-721 being a NFT standard. Also, check out ERC-1155 which reduces on-chain data and therefore lowers transaction fees.
I uploaded the image above to IPFS as an example:
The CID is the cryptographic hash of the image I uploaded and will allow this image to be distributed and viewed from anywhere, with 0 downtime.
To use a normal Web2 browser to view this image we would have to format the link in a way our browser can understand:
This link will take you directly to the image uploaded, which is now hosted by peers on the IPFS network.
Essentially this hash would be plugged into the API for your token, and when requesting the metadata of your token (i.e viewing it) your image would be displayed in the NFT platform or wallet of your choosing.
I’m sure I left out a bunch of useful information, but my brain has had enough of writing and is ready to focus on some art. I am going to continue to do informative pieces and try to share as much knowledge as I can, as I learn it. This community is awesome. If you have questions Twitter is a great place to start. Reach out, you will be surprised at the open support that you receive. Thanks for reading and……….