Ethereum brought about a revolution in the blockchain space by creating the first Turing-complete blockchain—i.e., able to solve any reasonable computational issue— that enabled developers to build Smart Contracts. It enabled the creation of various applications, called Distributed Applications, that could leverage Ethereum’s decentralized and secure blockchain while tokenizing specific use cases.
Ethereum has various protocols that can be used for different use cases. More developers can also propose different protocols to enhance functionality. The most popular protocol, ERC-20, enabled the creation of fungible tokens on the Ethereum blockchain. While ERC-721 enabled the creation of non-fungible tokens?—?the most popular application being Cryptokitties?—?that would still be based on Ethereum’s blockchain.
Fungible ERC-20 tokens
Fungible tokens are interchangeable and not unique. They can function as money. A one-dollar bill can be exchanged with another one-dollar bill. These tokens are also divisible. So I can transfer 0.1 of an ERC-20 token to someone.
Non-Fungible ERC-721 tokens
Non-fungible tokens represent a unique value or an asset and hence are not interchangeable like currency. Think of this as a token that represents a book or a painting or the most popular implementation of this protocol?—?Crypto Kitties. Each token represents a unique kitten and it can be traded, exchanged and used for but cannot simply be interchanged with any other token of the same kind. This concept opened up a new avenue for value and assets that could be stored and represented on the blockchain.
Non-fungible ERC-1155 tokens
This protocol is like ERC-721 tokens on steroids. Developed by Witek Radomski, as the Chief Technology Officer for Enjin project, this has primary applications in the gaming sector. Introduction of this token took gaming on blockchain to the next level. Radomski’s journey to improve gaming on the blockchain has been a long drawn one. He was the creator of ERC-721, which was accepted by the Ethereum community and was implemented in various crypto games.
This is before he realized the limitations of ERC-721. In a game, I could transfer an asset to you but most games require multiple assets of the same kind. For example, in a game like PubG, one would need 10 rounds of ammunition for a gun or in another game I could need 10 swords. Here, Sword is a non-fungible token but having ten such swords is the exact use case for games. This use case is not solved using ERC-20 or ERC-721 protocol. As per Radomski, “mainstream games need an evolved token”.
Need for ERC-1155
Modern games like World of Warcraft are often very complex and have tens of thousands, if not hundreds of thousands of items. These items could be deployed using ERC-20 tokens, but they require deploying separate smart contracts for each of the item type. A game with 100,000 items with separate smart contracts and blockchain entries for each one of them will be highly inefficient. For instance, it would require a contract for swords, a separate contract for grenades, a separate contract for the reward items and each of them need to be invoked at some point to transact in that item.
This scenario requires a developer to create a contract every time you want to add an item or edit / delete it. It is as inefficient as needing a developer to add/edit/delete pages of a media website that is mostly populated of content by journalists or writers.
It is a big redundancy because the contracts would all have the same code with minor tweaks. But because of the nature of blockchain, every node would have to store every bit of information with itself. So every node keeping track of 100,000 items in just one game is costly.
What does ERC-1155 do?
ERC-1155 clubs all these items in one single contract. That means 100,000 tokens are operated from one single contract where most of the information is the same barring a few details that help distinguish the items from each other. The contract treats these items as a collection.
Swapping these tokens is one of the most important transaction types. This is achieved by atomic swaps. In a traditional atomic swap, there are four steps. To explain this in simpleeasy terms, it is like checking out every item separately. If I want to buy four items from a supermarket, I can checkout, pay and get the receipt for all four separately. Now imagine this process with a thousand items and you see the magnitude of inefficiency we are talking about here.
ERC-1155 is designed to club all of this into one transaction?—?a shopping cart with multiple items and one receipt. This would not only be efficient for the user/game but also reduce congestion and Gas fees on Ethereum blockchain.
Fungible and Non-fungible in one token type
Current blockchain games are too simplistic. But with any modern game, the complexity of the narrative and story will most likely demand a different type of assets and therefore requiring both fungible and non-fungible tokens to be used. In a typical modern game, assets like weapons, ammunition is a fungible asset. Each one is not unique from the other. They can be traded, earned, gifted or bought.
However, a history, provenance, or identified unique weapons may require non-fungible tokens. These are unique and still may be traded, bought, earned or gifted.
Combine this with the fact that the game developer would want to create many such items in bulk and have a number of machine guns and a number of non-fungible items as well. Normally ERC-20 and ERC-721 are in different silos and do not allow for swaps but ERC-1155 makes it possible to swap these tokens as the user or the game developer wishes.
ERC-1155’s application has the power to will take blockchain gaming to the next level. Although its applications are not limited to gaming, gaming can greatly this industry benefits from the most with the kind of flexibility that ERC-1155 provides.