DOT.News » RMRK

All the latest news about Polkadot, Kusama and its strong ecosystem

RMRK and Statemine / Statemint NFTs

Published date: January 26 2022
Share:

RMRK and Statemine / Statemint NFTs

Statemine and its Polkadot version Statemint are common-good parachains for generic balance tracking of custom assets. Custom assets can be non-fungible tokens (NFTs) or fungible tokens like $RMRK.

There is a common misconception that Statemine / Statemint NFTs are "Kusama NFTs" or "Polkadot NFTs" respectively, due to some irregular nomenclature put forward by the authors of the Statemine / Statemint chains.

This has resulted in hundreds of users asking about "wen trading Kusama NFTs" when in fact there is only one implementation of Kusama NFTs in existence - that's RMRK.

Polkadot NFTs do not exist natively on the relay chain (Polkadot itself), but Statemint (a parachain on Polkadot) can have NFTs, and these should be referred to as "Statemint NFTs" and not Polkadot NFTs. The same goes for Kusama, where Statmine can have NFTs, referred to as "Statemine NFTs". However, the development of the RMRK specification enabled Kusama to have NFTs natively, and these are Kusama NFTs or better known as RMRK NFTs.

In addition to those described above, there are other flavors of NFTs within the Dotsama ecosystem - see the diagram below for an overview.

Why is it hard to do trading of Statemine / Statemint NFTs?

One of the most requested features of Singular has been allowing the trade of Statemine NFTs. This is not easy to do.

Statemine and Statemint have been developed with minimalism in mind, to only support balance tracking. Without smart contracts or programmability there is no way to code special conditions for these assets, thus making decentralized interaction with them impossible.

The chains are well suited for admin-controlled centralized currency like USDT but have extremely limited use for anything else.

To clarify in a technical way, in order to get trading of these assets going, we would need to:

  1. Boot up a special machine with a hot wallet that has balance and is always online - very unsafe.
  2. This machine would need a special process to monitor for BUY and LIST remarks - very unreliable (what if it goes down?)
  3. When a user LISTs their NFT, the interaction would have to issue an Approve on the NFT. An Approve makes it possible for the hot wallet (from 1) to just take this token whenever (very unsafe for every listed NFT if hot wallet is hacked).
  4. When the process (from 2) notices a BUY command from a user with a transfer (payment) attached, this transfer should be sent to the hot wallet (from 1) which then splits the payment according to fee and royalty info, and forwards the rest to the NFT seller, and then uses then uses the Approve logic from before the grab the NFT and send it to the buyer.

While (4) is going on, due to the lack of smart contract protection, the seller can front-run the purchase and remove the NFT from being put up for sale in the same block as (1) is executing the swap, such that the money arrives, but the NFT is never sent.

It would also be possible to remove the Approval (3) in that same block by frontrunning, causing the same damage. Both problems would need extra processes to monitor the entire situation at all times, and become yet another single point of failure.

Chains without custom logic or smart contracts are ill suited for money legos or NFT legos of this type, and as such the implementation of a marketplace would be full of vulnerabilities and highly questionable ROI.

This is why we are not focusing our efforts on Statemine / Statemint NFTs almost at all (except for minting, burning, and sending), and are instead building on a more robust infrastructure. To repeat, Statemine/t NFTs will eventually be tradable on Singular, but not any time soon (rough estimate is 2022 Q3 or Q4).

Note: An alternative approach to trading these NFTs would be using multisig escrow, but this approach has so many downsides that discussing it is outside of this post's context.

Summary

  • Statemint is a parachain on Polkadot. Statemint can have NFTs (i.e., Statemint NFTs), but Polkadot does not natively have NFTs (i.e., Polkadot NFTs are not a thing).
  • Statemine is a parachain on Kusama. Statemine can have NFTs (i.e., Statemine NFTs), and initially Kusama did not natively have NFTs (i.e., so initially Kusama NFTs were not a thing). But the RMRK specification enabled Kusama to have NFTs natively.
  • Thus, Polkadot NFTs don’t exist, and Kusama NFTs are RMRK NFTs.
  • There are other flavors of NFTs in the ecosystem, but social consensus seems to be converging on RMRK's implementation due to their advanced features and availability across infrastructure.
  • While Statemint and Statemine can have NFTs, these parachains are minimalistic. Marketplaces built to transact NFTs on these parachains may have vulnerabilities that can be exploited, or at the very least will be severely centralized. While the vulnerabilities can be worked around, the ROI is questionable and provides no advantage over other implementations.
  • Currently the easiest and safest place to mint NFTs in the Dotsama ecosystem is Singular which offers double-buy protection and other perks, and will also hook into all the chains implementing RMRK in any way.