A couple of weeks ago a close friend approached me asking if I’m into the NFT scene, and to be honest at that point I hadn’t paid much attention to it. I’d briefly looked into the Bored Ape Yacht Club and was aware that you can buy and sell Tweets as NFTs on Opensea, but other than that I wasn’t close to it.
I thought this could be a good time to look into the space a bit and now I had a project to direct my focus towards, as it turns out my friend was a co-founder of an NFT project. Surely if I can’t wrap my head around it this time I could ask him to explain it to me like I’m five until I see the value.
For the next day or two I did a lot of research coming to terms with a lot of the jargon, core concepts, flaws, and strengths of it all.
Let’s start from the basics
What is an NFT (non-fungible token)? Think of it as a magic piece of paper that says something, but it’s annoying in that what it says cannot ever be changed. It lives on the blockchain.
What is the blockchain? Think of it as a book that holds an always growing amount of these magic pieces of paper. Everyone can read the book, yet the pages in it cannot be changed. The only way to update the book is to add a new piece of magic paper saying a new transaction has been made (and agreed upon by all of the involved parties).
Okay, so far so good.
At this point, my friends’ project was officially starting to sell their “tokens” which would eventually be redeemable (called minting) for digital artwork NFTs and I found myself at a crossroads. Nopes out and call it a day, or go with my gut and support my friend. Thankfully the tokens weren’t all that expensive (yet?) and I only needed one for the rest of the learning experience, so I paid my class fees.
I learned that in the NFT space being “early” to a project is desirable and this certainly was that. There wasn’t even a website or any way to buy the future-NFT/token as the way to buy it was to send the correct amount to a wallet address directly. It all raised many eyebrows but, as I said, this is a project by someone I know very well and trust so I wasn’t worried about them running off with my coin. The concern was more of a general “so this is how things are done here 🤔“ kind of way.
They allowed everyone in the “early” club 48 hours to send their crypto to the specified address and then we all got our 1 new shiny token in exchange back.
I had taken currency I can use at the shops and pay my rent with, turned it into a currency some company made up (and give themselves a billion of it every month while they are at it!) and turned that into a currency my friend and his mates made up. Welcome to the future.
This is the point where I really started digging into what the heck did I just “buy”. Understandably my friends NFT project just launched so they had lots to do, so I started looking into more mature projects using the same approach.
NFTs and digital art
Basically the idea is to come up with 1-10000* uniquely generated images that all form part of one project with one theme. *I’m not actually sure 10k is the limit, but artificial scarcity is a big part of it so 10k seems to be the upper limit for most projects.*
The most common way that is done is by coming up with a couple of different attributes the subject can have (hats, eyes, ears for example) and then different variants for each attribute (top hat, trucker hat etc), some being rarer than others. All those different combinations then make up the spread of the available digital artworks to be made into NFTs.
So maybe getting the one type of glasses is super rare, while getting the other type of mouth is super rare, and getting them both at the same time?! Hah you’d be buying Lambos. I’m being facetious, but you get the idea.
While each individual hat or face or mouth or whatever is created by an artist of some sort, the final 1-10000* unique images aren’t. They are simply different combinations of the artists’ created elements. So in a sense it’s a way of creating digital artworks that scale *really well*.
Anyone familiar with the mathematical concepts of combinations can easily see that increasing each unique variant (three possible hats to four possible hats) or increasing the number of attributes (hats and mouths to hats, mouths and ears) greatly increases the amount of unique possible outcomes.
Although it’s not quite as straightforward as most projects assign rarity to each variant (and some attributes altogether) so the math is much more complex, but the concept is the same.
Now that we know how the images are being generated and have a loose idea of what makes some more “desirable” than others, let’s dig deeper.
How do the NFT and blockchain relate to the generated image?
For projects like these starting from day one, you buy a “token” they issued, at a price the creators set, and at some point in the future you can then exchange this token (or however many of them you have) for these generated images based on a specific ratio. Most projects seem to be 1 token = 1 NFT, or 1 token = 2 NFTs.
Once you redeem these NFTs a new transaction is placed on the blockchain indicating to everyone that your wallet now owns this specific NFT (a process called minting). This process takes the generic project “token” and destroys it, and gives you a unique project token in return which “points” to a specific piece of digital art.
On the secondary market you can then sell these unique project tokens, which is technically the thing that you own indicating you own the digital artwork, for whatever price you deem fit.
If this all sounds super complicated to you still, don’t worry I felt the same. I generally like learning using an example so I did just that.
Let’s buy an actual NFT
I decided to look for other projects that are further along in the lifecycle. A project where I can buy an actual NFT for the generated artwork immediately.
Turns out I had to go to a completely different blockchain to achieve it as the one my friends’ project is on (Ripple) doesn’t yet support NFTs on their blockchain. Ripple is working on it though so it will come soon, you can see the proposal here.
Although this leads to a problem, there are loads of blockchains and of those that do support NFTs already, there are thousands of NFT projects. How to pick one?
I decided to stay away from anything on Ethereum because it’s eating itself alive at this point. The average transaction fee at the time of writing is around $55, with a real-world average transaction fee for those wanting to get things done quickly being $100-200. I was talking to someone a couple of months ago who was convinced the Ethereum scaling issues were a thing of the past, yeah right.
Even though on the other (as in working) blockchains fees and transaction times are low and quick, there still was too many NFT projects to choose from. So I did what any keen NFT enthusiast would do, I randomly picked one recommended on one of the endless amounts of NFT Discords (more on that in an upcoming post).
I’m joking, sort of. I’d seen a couple of NFT projects mentioned a few times across a couple of different Discords I’d been scanning so I decided to go for one that A) I actually like the way the digital artwork look and also B) it has an interesting/somewhat unique usefulness feature beyond just being a token and a picture.
I loaded up a new Cardano wallet with some money, visited one of the NFT marketplaces they have (thank god I didn’t have to do it all directly person to person), and bought an NFT.
This fella is from a project called Bumping Uglies, which as the slang suggests has an additional “feature” in that two NFTs can come together and make a baby.
Ok well sort of, actually the “more rare” party makes available its rarer features (while getting paid) and the “less rare” party has a chance to receive these “more rare” features, in exchange for paying for the ordeal and the destruction of the original “less rare” NFT. The “less rare” party then gets a new NFT/artwork with the result. You could also just go for attributes you like and ignore that rarity altogether if that’s your thing.
Here’s a couple more of them just for fun (I don’t own these)
While that’s an interesting gamification use case of NFTs I won’t go into it more here since this part of it is still largely in development and unique to this project, let’s get back to the general stuff that applies to all these projects.
What did I buy?
So conceptually we now understand that the NFT is essentially something on the blockchain (Cardano in this case) proving without a doubt that I (as in my wallet address) “own” this specific artwork from this project. Let’s see that in action by looking at my wallet
You can see my wallet balance, and also in the previous transactions I received the NFT for this image (along with how much I paid for it for the curious).
There we see the “Output” where my wallet received the “Ugly01255” token. Clicking on the token gives us more details of the actual token including its full transaction history from minting (creation) date.
The Cardinoscan website is useful, but not very user friendly for inspecting what is going on here related to the actual NFT. Thankfully there is also this much nicer explorer where we can see all the NFT metadata attributes.
Hopefully now you are starting to see just how public all of this information is, and what I did above by publicly sharing my actual wallet address is a very big no-no in the crypto world, as using that information you can trace literally everything I’ve done using that wallet.
Claims that cryptocurrency makes it easy to anonymously transact online are largely based on a lack of understanding of the underlying technology. Most people have to fund a wallet from somewhere that’s regulated (crypto exchanges have to play within the rules to accept fiat currency) and from there it’s easy to trace the hops in the wallet until it reaches somewhere to cash out (once again regulated).
The only serious contenders for fully anonymous and untraceable transactions are blockchains dedicated to doing specifically that such as Monero, and Zcash has also bolted on that functionality post inception.
Quick explainer aside, we now see that on the blockchain my wallet has that “Ugly01255” NFT/token, which in turn contains unique metadata for that Ugly (Background colour, nose type, hat etc.) and also this is where the final piece of the puzzle lies. The image.
Where does the actual image come from?
People tend to think since the NFT lives on the blockchain that’s where the actual image lives too right? This is the largest misconception I’ve seen. Storing the actual bytes for the image on the blockchain would be incredibly expensive and inefficient as blockchains aren’t designed to do that, they are meant to store transactions and references and now with NFTs also some other metadata.
Within the on-chain NFT metadata there is a field for image URL, which much like any other normal image on any website is simply a link where the actual image file is stored. That is the same metadata information used by pool.pm above.
We can also verify this for ourselves by digging into the blockchain, which I’ll do just for my own curiosity if nothing else.
First by going to the Ugly01255 NFT token and looking for the transaction that minted (created) the NFT token
Then by looking at that minting transaction metadata we can see three Uglies were minted in that transaction, and mine (01255) has the following metadata stored on chain
There we have it, all of the actual NFT data, along with the link to where the image for this NFT can be found:
While this is pretty good and I’ll explain why with what IPFS is in a bit, let’s first take a moment to think about this.
This is what is stored on the blockchain for this artwork NFT/token. It can never be changed. Since the NFT/token is for a digital artwork this pointer is what I own. Metadata that points to where the image can be found. Nothing more, nothing less.
If the creators of this NFT project were a bit less technically savvy, or just didn’t care, that NFT image URL could be pointing anywhere else where images are stored. Imgur, Dropbox, Google Drive, whatever.
Say it were to be stored on Imgur and at some point in the future Imgur decided to delete that .PNG from their servers, what then? Well then your NFT points to nothing, it’s essentially a token for a broken link, and unless someone is able to re-upload the file to that exact URL the link will never work again.
Actually, that has happened already. There are loads of NFTs out there with broken links, some in Decentraland.
Image from this Tweet by xssfox
Equally if whoever had access to the image hosting service wanted to change whatever image is hosted at that specific URL to something else they could very easily do that. So instead of my Ugly I could see a photo of a potato (as an example) and there would be no way to fix it unless I ask them nicely and they comply.
Neither the blockchain nor the NFT/token has any idea when the actual image it points to is deleted or modified, that’s not its job, so it’s crucial for all of these NFT projects that the actual image is stored somewhere that’s both secure and as permanent as we can get, while being accessible from standard web 1.0 technologies. Yes images have been around that long.
Another thing to note is that since digital artwork NFTs are just pointers to where the actual image can be found, nothing is stopping anyone from creating another NFT that points to the same image as my Ugly NFT does. It wouldn’t be part of the original Uglies set listed on the blockchain, so pretty easy to spot the fake, but it could be easy to fool people who don’t know better this way.
InterPlanetary File System (IPFS)
While the name for IPFS takes some leaps (it’s still only running on Earth) the idea behind it is decent. It aims to be a completely decentralised distributed file storage and retrieval protocol.
Essentially when files are uploaded they are hashed and given a unique fingerprint (such as my Ugly’s image at
QmVTRKYAbnUt8dpEtfJZ2ZwqpVShUPMaE6TpyoKXnXkobQ), the actual file bytes are then stored and hosted by the independent server it was uploaded to (called the node).
In the future when people try to retrieve this file via IPFS they will ask their local node for the file, and if their local node doesn’t have it it will attempt to get the file from whoever else has it and then cache it for future use.
Support for IPFS is growing a lot, so much so that among the 107 listed gateways on this list 35 were online and serving images at the time of writing this. While 35 might not sound like a huge number each of these gateways could be running any amount of nodes serving petabytes of data. Most importantly is that Cloudflare have a gateway and that signals quite a bit of stability to me.
Using the Cloudflare gateway address of cloudflare-ipfs.com/ipfs we can append my Uglies’ image ID from the blockchain metadata
QmVTRKYAbnUt8dpEtfJZ2ZwqpVShUPMaE6TpyoKXnXkobQ and we come up with https://cloudflare-ipfs.com/ipfs/QmVTRKYAbnUt8dpEtfJZ2ZwqpVShUPMaE6TpyoKXnXkobQ which is a fully functional normal image URL. In fact, it’s the same URL I used to embed the original image for the Ugly above when I introduced it.
One last thing to note here is that while IPFS really doesn’t have much to do with crypto in and of itself, and the idea behind it is solid, it still does not have any permanence guarantees. If all the nodes (or at least all the nodes caching a specific file) go offline forever those files are lost and cannot be recovered, if those files happened to be related to an NFT you end up with a broken link NFT all over again.
Much less likely than with a Imgur link, but still possible.
The economics of IPFS also don’t make a lot of sense to me in that there are providers (think of them as Imgur for IPFS) you can use to upload and cache files on their nodes using a free/paid for account, and it’s in their best interests to keep those files up as long as they possibly can, but if that business model doesn’t work out for them that leaves a lot of questions about where your files go after.
Filecoin is a cryptocurrency built by the people behind IPFS in an attempt to solve this problem by an alternative business model where you can think of “mining” as offering storage space and network bandwidth to the IPFS network in exchange for a small reward. Another viable idea, but as yet totally anyone’s guess on longevity.
Hopefully there are enough independent internet strangers running nodes to keep my Ugly’s .PNG alive forever, only time will tell.
Okay, but is it legally valid?
I think most people have the same type of reaction when they hear about these digital artwork NFTs for the first time, something along the lines of “So people are buying JPEG’s!? 🤔😭🤷♂️” and while it’s a step in the right direction it’s also missing the actual interesting bit.
Buying JPEG’s (or any form of digital art) has been around for a long time. If you’ve ever heard of Shutterstock or Gettyimages or even Fiverr you know where you can buy some. If you’ve ever hired a graphic designer to make you some logo or social banner or something you’ve done it, much like hiring a photographer.
The innovation is that now we have a mechanism for a public record of ownership that’s completely open and no one (well that depends on the specific blockchain actually, maybe more on that later) can tamper with it. In the past you had to have complex legal contracts and dedicated authoritative businesses or governments that get to say “person x owns these rights to thing y”. Now we don’t really need them anymore.
Which leads to a whole new interesting question as to how the actual laws will get changed to accommodate this? If at all.
For example, when I buy an image from Gettyimages they have a very well defined and legally compliant definition of what I can and cannot do with the image. This is because along with buying a .PNG or whatever there is legally a transfer of some well-defined rights to me when I buy an image from them. Which they in turn are allowed to do because they legally acquired the rights to do so by either (1) creating the image themselves or (2) buying those rights from the original artist who had those rights to sell (with signed contracts to prove it).
When I bought the NFT and the token was transferred to me that was the end of it. Will doing so in the future implicitly include transferring legal rights to the image? If I’m working on a platform that only allows my using of media that I have the strictly legal rights to can I show the lawyers the NFT and say “there ya go”?
I think we can assume the NFT digital artwork creator had all the possible legal rights for all of those 1-10k images, as that’s usually how it works when an artist creates something, they have all the rights to it (in the most simple of cases, unless they do it for a company, but for this example lets go with it). Then by facilitating the minting of NFTs that uniquely correlate to instances of the media would that include the artist also transferring the legal rights to “the NFT” itself? As in, instead of a person having the legal rights to the image, it becomes a case of “the NFT” has the rights and that is transferrable along with the NFT itself to an individual owner who gets to use that right. That’s certainly not the case now.
Many questions here that I’d love to know more about, if you have any good (legally valid) resources to share with me about what is happening in that part of the NFT-meets-copyright-laws world please send them to me on Twitter.
Won’t it kill the planet?
You see this a lot on Twitter, and the short answer is it depends. It depends on each specific blockchain and the technology it uses for verifying transactions are valid.
The real environmental baddie is blockchains that use a mechanism called proof of work. This is where computers all over the globe go 100% usage day in day out to verify transactions on that blockchain in the least energy-efficient way possible. Of the blockchains mentioned in this post Bitcoin, Ethereum, Monero and Zcash use proof of work. To be fair, the Ethereum devs are working hard to move to proof of stake instead in Ethereum 2.0.
In proof of work blockchains new miners being added to the network does not increase the network maximum transaction speed, it merely increases the mining “difficulty”. This is where the most environmental impact is and hopefully devs for these blockchains come up with good solutions, or regulations are put in place to only allow their mining using renewable energy sources.
However, there are many other ways people have come up with to verify transactions are valid that aren’t nearly as bad for the planet.
These include proof of stake which is consensus by the parties having the most currency involved (used by my Uglies blockchain, Cardano).
Another option is using distributed hash tables where each node knows about some transactions, and nodes then share that information among themselves (used by Hedera).
And then well you have whatever they call it in Ripple where there are “validator nodes” which is a predefined “independent” list of authorities for the entire network. While this is probably the most energy efficient, it’s by far the least actually decentralised option, which apparently doesn’t bother the Ripple fans all that much. Did I mention the company behind Ripple can pay themselves a billion Ripple a month and they have more than half of the supply either directly or in Escrow?
I feel like I went into this exploration expecting one thing (to loathe it entirely) yet I came out with a very different opinion.
While I’m not updating my Twitter bio to include
$CRYPTO $NFT #diamondhands anytime soon, I do see the potential for the underlying technology to be used for some really interesting things.
Although perhaps a Ponzi-like digital artwork rush isn’t it.
Thanks for stopping by.