Non-fungible tokens (NFTs) are a hot topic these days with apes dressed in sailor suits and all sorts going for millions of dollars. NFTs made on the Ethereum blockchain use one of two token standards— ERC-721 and ERC-1155.
Let’s see what are the differences between the two.
Before we get into the differences between ERC-721 and ERC-1155, we must first have a grasp of tokens, token standards, and ERCs.
Ethereum blockchain tokens are digital assets built on top of the blockchain. Managed by smart contracts, a token can be bought, sold, or traded and can represent anything from a cryptocurrency (other than ETH- which is native to Ethereum) to an IOU, access rights, certification or a collectible, such as NFTs.
Token standards are basically a set of predefined rules to determine how all tokens are minted (created) and how they behave on the blockchain.
Let’s take a real-world analogy of a McDonald’s burger as a token. McDonald’s burgers are made to look and taste the same in every single McDonald’s restaurant all over the world. The standard recipe is what ensures this consistency. The recipe is the token standard.
So, a token standard is the recipe defining how a token is produced and how they act.
ERC stands for Ethereum Request for Comments. An ERC works in a similar way to the Internet Engineering Task Force, an open standards organization in which volunteer participants work to improve how the internet functions.
The blockchain is a decentralized public ledger, with no governing body— its standards and protocols are determined by the community of users.
When a smart contract programmer wants to suggest a new standard, it can be presented to the Ethereum community as an EIP (Ethereum Improvement Proposal). The ERC will include application-level specifications, name registries, functions, formats and more. The Ethereum community will then review the proposed standard and can vote whether to accept or reject it.
ERC-721 and ERC-1155 are standards that relate specifically to the creation of non-fungible tokens on the Ethereum blockchain. So, if both are standards for NFTs, what’s the difference?
ERC-721 was introduced as an improvement to ERC-20— the basic standard for the creation of fungible tokens and is one of the most widely used standards on the blockchain. But as the blockchain has evolved, ERC-20 can’t do everything.
In January 2018, ERC-721 was proposed, opening up the possibility for smart contracts to serve as non-fungible tokens.
ERC-721 tokens are unique, indivisible, distinguishable, can represent a collection of assets, and can have a different value from other tokens even if they are part of the same smart contract.
These special characteristics are what enabled the NFT boom which kicked off in 2017 with the emergence of Cryptokitties, the first of many NFT collectibles.
The ERC-721 standard provides a wide range of functionalities such as:
It’s worth noting that these standards aren’t just limited to the Ethereum blockchain.
For example, Binance Smart Chain and Tron, use the ERCs as a base, but adopt their own version. BEP-20/721 and TRC20/721 respectively.
First introduced in 2019, the ERC-1155 standard can represent and control both fungible and non-fungible tokens, even both at the same time. It is a hybrid of ERC-20 and ERC-721 while addressing their flaws and limited functionality.
For example, ECR-720 and ERC-721 require deploying a separate contract for every single item type (in the case of ERC-20), or collection (as per ERC-721).
Let’s say someone wants to buy a set of 10 NFTs. In order to transfer them from artist/owner to the buyer, you would have to execute 10 separate transactions, incurring 10 times the transaction fees and putting 10 times the load on the network.
ERC-1155 allows for much greater efficiency.
An ERC-1155 token is a single smart contract that can produce and manage an infinite number of tokens simultaneously. It allows each token ID to represent a new customizable token type, complete with its own metadata, supply and other attributes.
So, in the above scenario, you can simply transfer all 10 tokens in a single transaction which is not only faster, but leads to significant cost savings on Ethereum gas and reduced congestion on the network.
ERC-1155 also addresses the incompatibility issue between ERC-20 and ERC-721 tokens. Many dApps on the market utilize both, but since the contracts are created differently, management can become rather complex. ERC-1155 bridges that gap.
With an ERC-1155 token you can not only batch transfer, but get the balances of multiple assets in a single call, and approve all tokens to an address.
One of the most significant functions of the ERC-1155 is the Secure Token Transfer.
This helps verify if the transaction has been completed, and if not, it can reverse the transaction returning control of the tokens back to the issuer.
Both ERC-20, 721 and 1155 have all proven themselves as standards and which one you would use depends on your needs and preferences.