In June 2017, Enjin Coin Co-founder Witek Radomski created the code for the first non-fungible token. The code was released to the public on a Github repository shortly after in August 2017 and influenced the creation of the ERC-721 token. Since then, the ERC-721 has become widely renowned as the standard for blockchain gaming and digital art. It has been implemented by hundreds of Dapps to produce nearly a million one-of-a-kind collectibles.
But ERC-721 does have its limitations.
“The non-fungible tokens being used today have defined a new class of user-owned virtual items. However, there are many problems with the existing token model. It is very expensive and inefficient to deploy large databases of items that mainstream game developers use,” said Radomski, Enjin CTO. “Our new ERC-1155 Crypto Items standard allows for infinite numbers of fungible and non-fungible items in a single deployed contract. We needed it to be lightweight and easy for the network to handle. If this does take off, the gaming industry alone will require tens of millions of new items–but the application of this standard is by no means limited to the games market. ERC-1155 tokens could be used to certify all forms of ownership, tangible or digital.”
“After a year of working to develop ERC-1155, this is a very proud day for my team. We hope to see some amazing inventions born out of this token standard, so if any projects need assistance implementing it, they should feel free to contact us at Enjin.”
Modular Plug and Play Smart Contracts
The most significant inefficiency of current token standards is that they require projects to deploy a separate smart contract for each and every token type. This means every ERC-20 token and every ERC-721 collectible contains boundless amounts of repeated data.
The bulk of the blockchain is comprised of the same set of repetitious code being used over and over again—millions of times over. Because of the blockchain’s immutable nature, this code will remain forever on thousands of machines, which is a enormous waste of storage space, processing power, and electricity.
To better understand this concept, imagine uploading an image to Google Drive, except to do so, you must build an entirely new Google Drive website to manage the image. So, in order to manage all of the images on Google Drive, you would need billions of Google Drives instead of just one.
The ERC-1155 standard is the first token standard to provide a solution to this problem. The bulk of the code for each token variation is stored in a central contract and given an identification number. From there, each new token that requires use of that code can be assigned an ID, and all of the coding is applied to the token without the need to copy and paste data.
Atomic Swaps of Bundled Tokens
The current process for exchanging one kind of token for another on the blockchain without an intermediary is called an atomic swap.
Within games, there will be a need for atomic swaps of multiple items. For example, say I have a sword and shield that I would like to swap for another user’s helm and chainmail. Using the current standard, completing this trade would require a minimum of four separate steps due to the system processing and approving the trade of each item separately. The more items you add to the swap, the more significant this inefficiency becomes.
Upscaled Item Management
Similar to trading multiple items, ERC-1155 will also allow you to perform multiple complex operations in a single transaction, thereby reducing gas and congestion on the Ethereum blockchain. The transfer, approval, melting, and trading functions all take arrays as parameters, which allow performance of between 100–200 operations in a single transaction. This enables you to predetermine a set of operations for the blockchain to fulfill in a single transaction. It’s like going to the grocery store and buying all of your items at once, rather than paying separately for each one.
Fungible AND Non-Fungible Items
Given the inefficiencies of ERC-20 tokens, they are not generally used to create a few tokens at a time. Most ERC-20 tokens are minted by the millions for use as currency.
Because they are fungible and therefore identical, ERC-20 tokens also aren’t well-suited for use as proof of ownership or authenticity. You cannot add a history, provenance, or identity to each token using metadata. On the flipside, ERC-721 tokens only allow you to create one-of-a-kind tokens, and to create a few thousand of an identical token would be grossly inefficient. ERC-1155 solves these issues by combining the benefits of both. With ERC-1155, developers will now have increased power of choice, as each token can be either mass-produced or created singularly and either contain unique metadata or be fully fungible.
ERC-1155 has been posted to Ethereum’s Github as a discussion thread, where Witek and his company Enjin are asking for feedback before submitting it as a pull request.
Enjin recently launched their smart contracts on the testnet and are debugging prior to their mainnet launch.
They will soon be releasing a Unity software development kit, which will enable 4.5 million game developers to create virtual items using their cryptocurrency, Enjin Coin. Unity enables developers to create games for 35 mainstream platforms, including PlayStation, Xbox, Android, iOS, Samsung TV, Facebook Games, and Google Cardboard.
About Enjin: Founded in 2009 and based in Singapore, Enjin is an gaming industry company with two core integrated products – Enjin Network and Enjin Coin. Enjin Network is a gaming-focused CMS & eCommerce platform, with over 20m users spread out across 250,000 communities and thousands of games. Enjin Coin is a smart cryptocurrency & a blockchain game development platform.