The idea of having an inter-functional, interconnected, and interoperable network has been flaunted a lot within the Web3 ecosystem. This popular rhetoric (mainly spread by the crypto folk) started to invade the internet, promoting concepts such as the “transferability of value outside of a (game) ecosystem”, the ability to purchase an asset in an ecosystem, that can later be used in another one, and driving community empowerment (not sure in which ways).
In fact, many have concluded that we might have to “move all of our internet infrastructures on blockchain” altogether and “rebuild everything from the ground up” if we ever, in the future, want to get to anything close to what some claim technology can do today.
Besides the things enumerated above and getting rid of 3rd parties and centralized systems, not to mention big tech owning our data, it turns out that most Web3 “solutions” to those problems are rather incoherent.
And the interoperability of data and assets with the help of NFTs… is one of the things on the list.
But even so, using “Web3” logic, this piece will critically explore why blockchain does not solve any (so-called) interoperability issues and how NFTs are void of any value in this sense.
The basics are important to understand where the misconception has emerged from.
The Non-Fungible Token (NFT) is an ownership record stored on a blockchain and linked to the assets that it represents. Those assets are typically stored on IPFS (decentralized cloud storage) or anywhere online or offline.
The most popular blockchain for those tokens is Ethereum. As you may already know, Ethereum became the go-to network, as it is programmable, it allows smart contract deployment so developers can create their own decentralized applications (dApps) on it.
Given that there are currently so many applications populating this blockchain, the Ethereum foundation set up a series of mandatory “standards” that tokens deployed on it must meet. This means that their smart contracts (the bit of program that issues those tokens) follow some consistent rules and cover the same functions (functions as in eg. balanceOf(owner) ownerOf(tokenId) etc, not functionalities). There are no standards regarding the metadata or purposes of tokens.
We all love consistency and industry-wide standards, don’t we?
There are a number of other blockchains that allow transactions of non-fungible tokens and that have created their own standards (eg. Solana), but this topic is outside of the scope of this article. We will focus just on Ethereum as a case study.
There are so many blockchains out there that cross-chain communication became a headache inside of the “Web3” movement in itself (needless to bring anything up about interoperability… or the whole internet).
The chaotic (and sometimes fast-paced) developments in the space lead to the creation of “layers” that act like a twisted web of blockchains.
To quickly review some of them:
Talking about Ethereum’s layer 2s, they are (theoretically) compatible with the Ethereum virtual machine (EVM) and able to communicate with this network to ease traffic. However, no one seems to be talking about to what extent those blockchains are actually compatible.
Here are some examples:
Moonbeam, which is a PolkaDot parachain, can execute Ethereum Virtual Machine contracts and it supports ERC721, ERC1155 & ERC20 standards. Moonriver, a Kusama parachain is supposedly fully EM compatible as well. However, PolkaDot and Kusama blockchains, themselves, do not support ERC tokens and they have their own standards (not suggesting that they should, just how it is).
Milkomeda, an EVM sidechain of Cardano, supports ERC 20 but is not compatible with ERC721 & 1155.
Overall, very cute, simple to wrap your mind around, and user-friendly, right?
Now let’s just ignore what we’ve discussed and let’s imagine that all blockchains are interconnected as a massive spiderweb, that internet is run on blockchain and all of the apps that we use are decentralized, so that we can get back to our NFTs.
Interoperability is seen as a property enabling different software to exchange information without restriction.
So, if the networks that allow those data transfers are interconnected and compatible, or if multiple environments (metaverses) are built on top of the same network, this should mean that those assets can be used in the same way across multiple dApps, right?
And that consumers of brands such as Nike (and other brands entering “the metaverse” to leverage NFTs for digital fashion), will be able to acquire an item in a digital world and sell it in another metaverse – making it easier for brands to sell more. Right?
Wrong!
Simply put: it is not about the token or its blockchain, it is about the assets that the NFT is linked to. People believe that NFTs are just pictures that can be cropped and pasted from one environment/game/dapp, to the other, which couldn’t be further from the truth.
The token in itself can (theoretically) be compatible and transferable across many apps built on the same blockchain, however its assets must make sense in the new environment they’re transferred to.
The most common “use-case” where you hear about the interoperability of NFTs is with games, so let’s discuss about them. There are many types of game engines and iterations used in the industry, meaning that the majority of games have different development environments requiring and using different tools, specialized elements, and customized software components.
Problems such as whether or not an asset fits in with the new landscape from another game (from things like proportions to the overall aesthetic) and more complex questions such as how useful this asset can be in the other game, how it can be utilized, how it interacts with the rest of the assets and so on, will need to be answered. And in an ecosystem of tens (maybe hundreds in the future) of blockchain games, this will be extremely, extremely hard to achieve. That’s if you do care about user experience at all.
Think about it this way: if you want to photoshop yourself (the NFT) on a beach (the environment), you don’t just paste your picture onto another photo of a beach. You’d have to use more advanced editing to create a realistic visual and ensure that all the elements blend in adequately. Another way to look at this is:
would an NFT yacht from another game make any sense in Need for Speed?
Other than that, depending on the game complexity, we can talk about thousands or tens of thousands of files making up an asset – including visuals, sounds, animations and effects and all sorts of functionality code that provide the whole game experience created by the said asset. This is due to the fact that everything has to be optimized for the best experience in the specific game.
Now you can probably guess that those are big fat files with gigabytes of data. Where is all of that information going to get stored? On slow IPFS?
Not so fun fact:
The Interplanetary File System (IPFS- the holy grail of NFT storage used by countless projects and businesses) is just a distributed ledger, not a blockchain. Data here is not immutable. The address that points to the respective file location remains permanent but the files themselves can actually get lost as they are passed around the distributed hash table.
Also, assets that are stored “off-chain” can absolutely get deleted, lost or destroyed, so good luck with that. Actually, nothing is ever permanent because, at the end of the day, the data must be stored on someone’s hardware. If that gets damaged, say bye-bye to your “permanent” NFTs.
If “interoperability” was so easy, those “metaverses” that we have should’ve mastered it already.
But they didn’t.
And if they didn’t, yet asset interoperability in games is a problem solved by NFTs and blockchain, one can only wonder what stopped Web3 folk from doing what they preach…
Let’s take a slightly more in-depth look at 2 of the most popular blockchain games on the market, namely Decentraland and Sandbox. They don’t even allow the same file types for 3D asset deployment (and bear in mind that the 3D model itself is only a component of what makes the object in a game).
Decentraland’s requirements (glTF format)
Sandbox, using VoxEdit for NFT creation (VXM file extension)
To solve all of those “problems”, you’d most likely need an overseeing agency/authority to impose the same rules for all developers and to concomitantly enforce those standards across the board. But this would defy the idea of decentralization.
Then if industry-wide standards in gaming are willingly and unanimously created, together with a functioning software architecture, you don’t actually need a blockchain or NFTs to power this up.
Let’s turn back at the example from the LinkedIn screenshot at the beginning of this article. NFTs and blockchain would not essentially solve any of the problems enumerated by the individual (his assets becoming obsolete with the game upgrade) or improve his gaming experience.
Why? Because no one can dictate to the game developers, or the board in charge of the business operations, what assets to keep supporting, what to discontinue and what new things to prompt users to buy, regardless of whether or not they come under the form of an NFT. The packaging is irrelevant. These decisions are usually taken as a result of data analysis from their gamers, user experience aims and revenue targets.
Then, if the developers decide to allow his old assets in the new game iteration, they can easily do this without NFTs. The “so-called” value added by blockchain in this equation is 0. In fact, it would add some additional hurdles to setting up wallets, managing keys, transferring funds to cover gas fees, etc.
Don’t believe everything that you read (especially articles that are essentially marketing material).
To recap, the 3 main digital asset management problems that stay in the way of interoperability (and that are not solved by NFTs) are: cross-compatibility, file storage and business goals.
Cross-compatibility:
Storage:
Business goals:
What happens (or does not) in a game directly affects the user experience: a negative experience → user churn → no revenue
Game assets are not a separate component from the overall product - they evolve once with the vision, mission and goals of the company