NFTs on Ethereum, Polkadot, and Cosmos: a battle on the horizon?
As we are starting the development of the NFT functionality for MerchDAO, we have an important choice to make: which NFT token standard should we use? And which platform — Ethereum, Polkadot, or perhaps something else? In this post, we’ll give you behind-the-scenes look at our research process.
How NFTs are used on MerchDAO: a reminder
MerchDAO is a marketplace where users decide which designs should be made into real merchandise. Each item will be limited-edition or unique, and a special NFT will verify its authenticity and ownership. It’s an interesting crossover between a marketplace for rare physical collectibles (such as t-shirt), a blockchain DAO, and a creative community.)
The NFT market is booming, but the most common token standard — ERC-721 — is far from perfect. Apart from the more technologically advanced ERC-1155 on Ethereum, there is a lot of potential for NFTs in other ecosystems, such as Polkadot and Cosmos — though there are a lot of challenges, too.
NFT sales have grown by a factor of 10 in 2020: from $60k a day on average to $600k a day. The market structure has changed, too: whereas before CryptoKitties are the best-known NFTs out there, platforms like CryptoPunks (selling punky-looking characters) and Sorare (fantasy football cards) actually have larger sales volumes.
However, the rivalry between different kinds of non-fungible characters isn’t as important as the competition between different NFT standards. In the Ethereum universe, the choice right now is between ERC-721, the older and better-known standard , and ERC-1155 — a potentially more efficient by less-tested algorithm.
On top of that, interoperability platforms like Polkadot are also getting their first NFT projects — and could potentially overtake Ethereum thanks to lower fees and cross-chain swap functionality. Below is a short analysis and comparison of the main NFT types and their advantages.
The draft of the 721 standard was published in September 2017 by Dieter Shirley and finalized in January 2018. It became famous thanks to CryptoKitties.
- The first-mover factor. Here’s a comment from Valerie Rutskaia, CEO of MerchDAO, a blockchain marketplace for physical collectibles and limited-edition items:
“Being the new kid on the block is always hard. ERC-721 is a bit like Bitcoin among NFTs: it’s slow and expensive, but it’s what everyone knows best. All the best-known NFT projects run on ERC-721, including CryptoKitties, Sorare, Ethereum Name Service, F2 Delta Time, and so forth. Etherscan doesn’t even list ERC-1155 as a category, only ERC-20 and ERC-721. It doesn’t have any technical advantage over ERC-1155, but it’s easier to find developers who can write a contract for it. So, as a project founder, you feel more comfortable turning to ERC-721, and it will take at least a couple of years for the 1155 standard to gain its rightful place.”
- Lack of flexibility. ERC-721 supports non-fungible tokens only, and a single contract can host only one type of tokens: say, Cute Dinosaurs and Cuddly Birdies would need two different contracts.
- Deployment costs. Having more contracts means having to pay hefty gas fees for deploying each of them.
- One token, one transaction. You’ll pay the gas fee as many times as the number of tokens you are sending, even if they all go to the same buyer.
- Risk of losing tokens. If you accidentally try to send an ERC-721 to a contract address that doesn’t support it, you’ll most likely lose them forever.
The ultimate problem is that ERC-721 isn’t scalable or cost-effective. Any platform that sells different kinds of ERC-721 NFTs — such as the MerchDAO marketplace, for example, or OpenSea — will have to do additional coding work for each of them.
ERC-1155 is the result of a collaboration between several development teams: Enjin, The Sandbox, and Horizon Games. The first version was published in July 2018, and ERC-1155 became an official Ethereum standard in June 2019. Though you may not be familiar with this standard, there are actually hundreds of thousands of ERC-1155 assets out there.
- Flexibility. You can issue different types of NFTs on the same contract — fungible, non-fungible, and semi-fungible. The latter type means tokens that are scarce (rather than unique), such as copies of a limited-edition t-shirt, tickets to a concert, etc. The same address can hold multiple copies of a semi-fungible token.
- Saving on gas fees. It’s possible to transfer any number of different NFTs within the same transaction. For instance, you can sell your whole fantasy football team in one go (to a single buyer, of course) and pay the gas fee only once. If we’re talking about 10 cards or characters, and the Ethereum mining fee is $7 (as it is at the time of writing), then you’ll pay just $7 for a ERC-1155 sale, but a whopping $70 for selling a ERC 721 football team.
- No risk of token loss. An ERC-1155 transfer to a non- ERC-1155 compatible address simply won’t go through.
- Easy integration. You don’t have to tweak your dApp to support ERC-1155 created by different developers — and you can even let users do quick token swaps.
- Metadata localization. You can localize the token description and name in different languages.
- Enjin domination. While a lot of credit obviously goes to the Enjin team in their role for developing the standard, it can sometimes seem like ERC-1155 belongs to them. From the start, other Enjin tools were promoted as virtually the only way to build and use ERC-1155 NFTs. You can think of it as Linux (do and use what you want) vs MacOS and Apple hardware (only use what we’ve created for you). This can stop independently-minded founders from choosing this standard, even though technologically it’s much more advanced.
Polkadot NFTs: meet SubstraPunks
Polkadot is a next-generation multichain network that will allow users to swap data and assets across different blockchains. It uses a blockchain-building framework called Substrate, and the governance is in the hands of the DOT token holders. Polkadot 1.0 is currently live, though it’s far from a final release.
The idea of being able to transfer NFTs between blockchains is very attractive, especially since Polkadot is scalable and fast by design. And while it doesn’t natively support smart contracts, individual blockchains that ‘live’ on it (parachains) can do so. If you want to build a new NFT project or marketplace using Polkadot, you’ll need to integrate smart contract functionality into your code.
As for a separate NFT token standard for Substrate, you don’t need one, strictly speaking. A Polkadot NFT dApp will be able to support ERC-721 and ERC-1155 thanks to Ethereum bridges, such as ChainBridge and Snowfork. That’s apparently how a new NFT marketplace built on Polkadot, called Xeno NFT Hub (currently in beta), will function, though for now its parachain is still under construction, and the Snowfork bridge, on which the integration will run, isn’t live yet.
Still, even though NFT projects on Polkadot will be able to use Ethereum assets, native Substrate NFT projects will surely appear. For now, the only functioning experiment is SubstratePunks — a Polkadot version of the popular game CryptoPunks. It was created by Unique Network — the first Substrate-based NFT chain. Even though the SubstraPunks marketplace is still running on the testnet , it made it into the top-20 of nonfungible.com in its very first week. The characters are sold for Kusama coins, and the price varies between $150 and $700.
If you are interested in the practical side of writing an NFT contract similar to ERC-721 using the Substrate-native language ink!, check this tutorial.
Cosmos NFTs: a ready-to-use SDK module
Cosmos is similar to Polkadot in that it’s an interoperability framework, but it provides more sovereignty and independence to individual blockchains. They don’t have to share resources and their individual blockchain states; plus, developers won’t need to compete in auctions for parachain slots.
But perhaps the biggest advantage of Cosmos over Polkadot where non-fungible tokens are concerned is that the former already has a ready toolset for creating NFTs. It is part of Cosmos-SDK — a framework that helps developers build and launch new Cosmos blockchains faster by using pre-compiled modules. Other modules include Governance, Bank, and Staking.
Cosmos SDK uses the Go language and is fully open-source. If you want to build an NFT dApp based on your own blockchain, with its own governance, — and as long as you have developers familiar with Go on the team — Cosmos is probably the best way to go. There is no backward ERC-1155 compatibility for now (though there is for ERC-721), but once again, we are in very early stages.
So far very few teams are experimenting with the new NFT module, however. CryptoCosmos is a very basic sample app that allows you to mint NFTs that represent space objects. If you aim to create something more complex, like a marketplace, prepare to do a lot of research and coding work.
There is also a very interesting collaboration project to create a new set of cross-network NFT and metadata standards, initiated by the Interchain Foundation. The working group should publish the first developer tutorials in Q1 2021, and the eventual standard will be integrated into the Cosmos SDK modules. You can follow the development process by joining the nft-and-metadata module group in the Cosmos Discord community.
A few final words
Building an NFT marketplace dApp or game on Ethereum is easy, but high gas fees and low capacity will remain a problem in 2021 — or until the switch to Ethereum 2.0 and PoS is complete.
Polkadot has the potential to become the new NFT hub, replacing Ethereum. Independent NFT and dApp creators will be able to build on chains like Unique Network, which will feature an Ethereum bridge and smart contract support. With time, a new NFT standard built for Substrate will surely emerge.
However, all this will take a few years. If you are planning to build an NFT project on Polkadot, you are in uncharted waters. Unless you have a very strong development team and a big budget, you’ll need to either wait for other teams to release their solutions (such as bridges and NFT parachains).
Cosmos and its handy NFT SDK module is probably a better bet if you wish to break free from the Ethereum limitations and start building something completely new right now. Even with the SDK module, you’ll have a lot of development work to do, since there are no functioning precedents that you could copy.
Of course, you can also start with an Ethereum-based MVP, test your market fit hypothesis, and then proceed to rebuild the whole thing on Polkadot or Cosmos, whichever becomes practicable sooner. This is what MerchDAO is planning to do with its marketplace for rare and unique physical merchandise. In any case, NFTs have a great and largely unexplored market potential, and the barriers to entry are still lower than in over-hyped DeFi. So whichever platform you choose for your NFT dApp, you’d better get to work soon.
Please, join us: