You may have got into the NFT space but want to have deeper understanding of how it works and how it is related to the blockchain. I did my best to research and prepare this post for non-technical savvy person (like myself) and to get an introductory insight about the topic to prepare for programming for NFTs.

Technically, NFTs are tokens generated from a programmed smart contract stored in the blockchain network.

 

How-NFTs-Technically-Work-A-Useful-Comprehensive-Summary--300x300 How NFTs Technically Work? A Comprehensive Short Summary

 

 

In this post, we will focus on the Ethereum network blockchain when discussing NFTs for now because it is the most poplar one.

 

How NFTs Technically Work

NFTs are  generated from a smart contract as a token on the blockchain. Here are the steps on how it works:

  1. Smart contract gets programmed;
  2. Smart contract is uploaded to the blockchain;
  3. Wallets interact with blockchain to generate tokens from the contract.

Let us explain it further

 

Smart Contract:

The smart contract is a computer program which is recorded in the blockchain. What makes it unique from other programs/scripts is that it can only be prepared once and then it can’t be editable anymore once it goes to the blockchain network unless specified in the code in certain places.

These smart contracts comply with standards in the Ethereum network. These standards refer to Ethereum request for comments (ERC) which assists developers in their coding and be compliant with its requirements.

For example, ERC-721 and ERC-1155 allow tokens like NFTs to be generated.

  • ERC-721 allows generating tokens, setting supply limit,…etc (check out this link if you want to know more)
  • ERC-1155 does the same but allows transferring multiple tokens per transaction to reduce gas fees (good for gaming NFTs, here is a link for more details)

ERCs are initiated through Ethereum Improvement Proposals (EIP) which has influence on the programming standards of the blockchain.

Programmers are able to write smart contracts code mainly using Solidity programming language (link for more details about it).

Also because Ethereum is turing complete (which briefly means it accepts any programming language) it allows other programming languages to be used to interact with the smart contract like Javascript, .Net, …etc.

 

Screenshot-2022-02-28-at-23.01.31-276x300 How NFTs Technically Work? A Comprehensive Short Summary

Please follow Alex, he contributed in educating us here! (Feb 2022)

 

Once the smart contract is programmed it gets saved in the blockchain network where wallets can securely interact with it.

 

Blockchain

Blockchain is basically multiple computers around the world that oversee, verify transactions occurring on the network which includes the smart contracts and also the user wallets transactions.

Computers on the blockchain network has the Ethereum Virtual Machine (EVM) running which monitor the state of the smart contracts and complete tasks the smart contract executed  (link for details).

To make it clear, the blockchain has two type of accounts, User accounts (which are the wallets) and the contract account (which are the smart contracts) that could be viewed as the piece of code we can interact with to achieve our goal like buying, selling, or any other purpose.

 

Non-Fungible Token (NFT) Using Wallets:

Finally the NFT is generated from the smart contract code associated based on the criteria mint price, random token, ID, media file/link.

Some smart contracts will accept uploading directly on marketplaces, and others will accept NFTs as being minted on the creator website that are minted on the marketplace.

You can also refer to the post I prepared recently about how NFT is exactly stored.

 

How-Exactly-NFTs-are-Stored-300x300 How NFTs Technically Work? A Comprehensive Short Summary

Attribution: The icons has been designed using resources from Flaticon.com

 

 

 

Notable NFTs Properties  

Non-Fungible: as discussed above NFTs are ERC 721 and ERC 1155 which are the standards that are serving non fungible tokens. This means that an NFT unlike a cryptocurrency, it is unique in nature and has no exact value as another NFT.

Ownership Rights: A NFT is a certificate of authenticity of owning a digital asset. However, NFT holders do not necessarily have the legal right to use the digital asset unless agreed with the creator and that the creator did not steal the art from someone else.

Metadata: NFTs are identified through their unique ID (to distinguish it from other tokens in the contract) and metadata information which are written in the code of each token. The metadata could be the title of the token, description, the media link saved off-chain (if the NFT picture stored on another website)…etc

Tradeable/Sellable: NFTs can be bought through marketplaces like OpenSea or even traded whether its through regular Ethereum transfer from one address to another or through trading decentralised applications (here is a link for NFTtrader, disclaimer: I never tried it before)

Interactive: NFTs can be interactive with any application we can think of. Most commonly discussed is the Web3.0. Programmers can develop code that interact with the smart contract from websites that allows adding utility for the NFT holder. For example, an online store can develop a code where if a user connect his wallet and holding Nike NFTs (just example), user will get 30% discount.

As a note, the programming language required to interact with a smart contract does not necessarily have to be on Solidity. This is because of the nature of the Ethereum network to be a turing complete, it allows through libraries to interact with smart contract with other languages like Javascript, Java, Python..etc.

Here is a link for a post discussing the potential future trends of NFTs.

 

9-Predictions-Shaping-the-NFT-Future--300x300 How NFTs Technically Work? A Comprehensive Short Summary

Attribution: The icons has been designed using resources from Flaticon.com

 

Final Thoughts

NFT is part of an ecosystem that is decentralized. This technology is very powerful and if it gets adopted by the mainstream I believe it will make huge impact in the world just like how internet did.

 

Related Posts:

 

Disclaimer: Above links are affiliate links and at no additional cost to you. I may earn a commission. Know that I only recommend products, tools, services and learning resources I’ve personally used and believe are genuinely helpful and relevant. It is not because of the small commissions I make if you decide to purchase them. Most of all, I would never advocate for buying something that you can’t afford or that you’re not yet ready to implement.