There’s a big NFT craze right now. People are buying and selling NFTs for crazy amounts of money, but what even is an NFT?
An NFT, otherwise known as a non-fungible token, is a cryptographic token representing something unique. It’s similar to a cryptocurrency, except instead of being a currency it’s instead an item of some kind.
Generally NFTs themselves can’t be really “used” for anything. However, when it comes to proving that you own something, there’s nothing more secure or more open. Anyone who knows the smart contract address and token ID for that NFT, and knows your wallet address, can prove that you own that item.
Creating an NFT
These things are not easy to create, just due to the nature of being on the blockchain, however there are sites out there which make this process much easier, such as Rarible. It’s still going to cost you a lot due to Ethereum gas fees and so on, but at least the process itself is simple.
So, I decided to give it a try. One of my hobbies is taking photos, and I have a collection of photos which have never been published online or used by anyone, so I decided to create an NFT representing the “ownership” of one of these photos. In the end, it cost almost 80 USD in total to create a single NFT through Rarible (although maybe there are more efficient ways to do this)…
Rarible also automatically lists your NFTs on OpenSea.io, so this NFT that I made is now available on both Rarible’s marketplace as well as OpenSea’s one.
Now the end result: A unqiue token of ownership for this photo exists, and there’s only one and will only ever be one in the entire world. Anyone who looks up the details below will be able to see and prove who currently owns this photo.
- Name: Pier
- Token type: Ethereum ERC721
- Token contract address: Rarible -
- Token ID:
- Links: OpenSea, Rarible, EtherScan
If you open the EtherScan link above, you can immediately see the transfer history for this token as well as the current owner’s wallet address.
When creating an NFT you can generally attach a file, such as an image, video, etc. Generally the NFT proves that you are the owner of that file, but remember that the file itself can always be copied! There is absolutely no protection for the copying of assets in NFTs. They simply are there to prove that you are the owner of that item. In fact, someone could copy the file and even make their own NFT based on the exact same file!
This is why the contract address and token ID listed above are so important. Using these, you can immediately prove that a certain NFT is the one you’re looking for and not a fake. If you are buying an NFT, always make sure the contract and token ID match the one you’re expecting!
Proving ownership of an NFT
In the end, NFTs are basically a way of proving that a certain item is owned by a certain person, without needing to know that person’s details. You can even check that someone owns it without knowning who that person is!
Take this example: you’re someone who provides some kind of service for your clients (like maybe building websites, apps, etc, but it can be anything). Your clients talk to you online, however you don’t want to give them any information about you, or vice versa. So basically you and your client are completely anonymous to each other. How do you prove the person you’re talking to is allowed to use your service?
Well, you can create an NFT “ticket”. This ticket can then be transferred around, bought, sold, etc, until finally someone comes to redeem their ticket. To use the ticket, they would simply transfer it to you, and you’d be able to prove that it’s the real ticket by comparing it’s contract address and token ID to the one you created originally. Simple, right?
If you wanted to continue to prove their identity in the future, all you need is their wallet address. If they transferred the NFT to you, you’d see it in the transfer history as the previous owner, or if they did not send it to you, you can just see who the current owner is. Then, whenever you start speaking to them, you can ask them to start by sending you a signed message from their wallet. That would prove that they are indeed the owner of that wallet.
So now at this point you have your anonymous client, and you know their wallet address. How do you prove that the person you’re currently talking to is indeed the owner of that wallet?
Well, you could ask them to send a small amount of money to you, but the cheaper and faster way would be to get them to sign a message for you. You’d send them some kind of random text string, like
"wef7h87hfwe7h09j&^98de2dk" or a UUID for example, and ask them to sign it with their wallet and send you the message signature hash. EtherScan even has an online tool you can use to verify the signature.
To summarize, NFTs are simply a way of proving that a certain “item” is owned by a certain “wallet”, and you can use signed messages to prove that a certain “wallet” is owned by the person you’re interacting with.
And that’s it! Ethereum NFTs are currently very expensive to create due to Ethereum network fees, but Ethereum isn’t the only network you can use to create NFTs. The concept of a “non-fungible token” is something that can exist on any blockchain that supports smart contracts. They also can’t be used to prevent copying of media. But they CAN be used to prove ownership…