Fadi Barbàra's Brand

NFTs: the digital scarcity

I sent a link on my Telegram channel the other day, implying that Virtual Reality and Non Fungible Tokens (NFTs) will create new markets and possibly a new economy based on scarcity even if digital. Some days after, this video appears. I think that all of this needs an explanation and the summary could be something like "With NFT, copy/paste will be a thing of the past" and I explain here why, using basic videogames design.

What's in a videogame

At a very high level, videogames are (from a purely computer science point of view) a combination of a database, some graphic interface/engine and some rules/logic. Basically, if you are running on a mountain in a video game:

Things like the context/storyplay are something external and generally are reflected on the rules or things like how the mountain is shaped.

Getting rid of the database

Databases have always been "centralized" in the sense that they have always been controlled by a central party. Be it a single player game running only on your machine, or a multi-player game based on some company's servers, the database is either in your hands or in the hands of the company. In other words, the database is never shared between participants.

Now, if you haven't slept for the last 12 years, you should know something about blockchains and their potential.

What is basically a blockchain? Informally, it is data architecture that lets you have a copy of a database on your machine which is constantly in sync with the other copies. Differently from a database in a shared folder on someone else's computer, updates lock the past so that once data is appended it can't be changed. Using the normal Create, Read, Update and Delete (CRUD) paradigm of databases, a blockchain just lets you create and read data.

Another difference: how to create data on a blockchain. Generally databases have some rules about how data can be inserted or updated, but being centralized these rules can change. I.e. you aren't in charge of the database in case of a multiplayer game. What if the database owners change the rules (which also can affect the data inserted before the change takes place, i.e the past)? Should you stay, or should you go, as The Clash said? If you go you lose your progress (and by progress I also mean financial progress, because people invest real money in multiplayer video-games), and if you stay you are obvioulsy a serf. The rational behaviour would be not to start at multiplayer games in the first place, but people aren't rational.

Data appending in blockchain also follows some rules, coded in the consensus algorithm, but differently from the centralized case this rule change:

So, to sum up, with blockchains you have a constantly synced copy of a non-updatable database were you can be sure that either nobody is messing with it or if somebody does mess with it, you can discard him/they as malicous: using a decentralized database in which you have control over the rules, you do not risk losing the progress made (including financial progress) even in the case of a minority of malicious users.

Improve the rules: allow markets

If changing the past is impossible, then it is impossible to take back the word: every action in our video game cannot be canceled. It is therefore possible to have real properties without the risk of them being stolen (either by other people or by the owner of the game, see the Robinhood case). Where there are properties, there is also a market for these properties. And where there are markets there are favors, barters and units of exchange (e.g. coins). Why not admit these things in a video game?

It is not certain which games will have those markets, but generally those games that have rules for an internal market will have more interaction and therefore more participation. This turns into revenue for the creators (e.g. by putting a small fees in buying and selling, or by being a market maker, or ...) in a different channel from the banal one of the selling of the video game itself (among other things, this solves the problem of free trade: if what it costs is to play, and not the game itself, then it doesn't makes sense to complain when people make efficient copies of the game).

To sum up: video-games with a blockchain will surely have internal markets. But how NTFs come into play?

Improve the rules: populate the markets

If the only sellers were the owners of the videogames, we wouldn't need a decentralazed database to keep track of the items. The improvements is letting user create and sell things. Using the example above, user A can create a new design for mountain-shoes which are lighter and elastic: you can jump instead of running and therefore you are faster. user B likes them, so he buys a pair. But what happens when he breaks them? Can B just go to his copy of the database and add a new pair of shoes like the previous one?

If that were the case, then A would have no incentive in creating shoes. Unless each creation of the pair of shoes is an entry in the blockchain. And the breaking of B's shoes is another entry in the blockchain. In this case, B can't hide the fact his shoes are broken: rules are followed by all users that share that database, if B tampers with his copy, that action will be discarded by the other users.

So those aren't just a digital design of a pair of shoes, but two coded programs shoesToken and shoesId which has a total of at least three functions:


The shoesId is based on the blockchain, so it is called a token even if in practice is a program. Each token is different because it has a different Id even if they are all created by the same shoesToken program, either because of a different beautifulDesign or because the creator adds a serialNumberin the opt. Therefore the shoesId tokens are non fungible. Briefly, an asset is fungible if you can interchange it with an asset of the same type: a 1$ bill is fungible, an owned car or a tailored suit are not.

As you saw, the program shoesId has the transfer function in it, so it can be sold. And as you may have noticed, there is no money in the inputs: how will you pay for it? Enter the cross-chain transactions. Basically, a cross-chain transaction is a transaction between two users who are willing to exchange something on a blockchain for something else on another blockchain. Using the shoes example, we can have shoesId.transfer(A,B) from A to B and another transfer of ,e.g., 0.03 bitcoins between B and A. That means that B payed A 0.03 bitcoins for the pair of shoes shoesId in the videogame.

Some questions arise: how can we be sure that A won't cheat B or viceversa? will everybody know of this exchange? The first ploblem is called the atomicity problem (and it is quite solved) and the second is a privacy problem (not completely solved). Both topics are big and other posts are necessary.

Another possible problem could be plagiarism: although I can't copy the object itself I can still copy the design. This is true in theory, but not practically. As free/libre software users and programmers know, it is easy to make a program similar to another but it is impossible to make one which is exactly equal. Even if it is true that in some cases (such as in the Ethereum blockchain) the code can be read by everyone once it is put on the blockchain, it is still possible to mask the inputs that outline its functioning. A bit like in open source software model, the code is free but the data on which the code works is not. In these cases you can also consult the code and verify it (which is necessary to ensure security), but it is not possible to actually make it work on a large scale. In other words, plagiarism is possible but of lesser quality. And in the status game, what matters is quality.

In conclusion, we created digital scarcity because things exists in the videogame only if they have a representation on the blockchain, and we also added real value by linking the shoesId token with other blockchains such as Bitcoin. And I didn't even put decentralized finance (DeFi) in the way

Use cases

Once you have shoesId, weaponsId, carId etc. where will you put them? you probably need a houseId on a plain groundId. Similarly to physical space, data space (as in bytes, kilo-bytes, mega-bytes,...) is costly, see the fee-rate of Ethereum to get an example. So probably it won't be just design, but also design that occupies less space data-wise.

But videogames are just a little part of the story. As the video above suggests, things will change a lot if we start to talk about digital art. As a big graphic designer once said, computers have not changed neither graphics nor visual art in any meaningful way; computer just made old ways more efficient and results uglier.

Well, maybe that will change now. One way to have digital art is the Metaverse, as called in Neal Stephenson's Snow Crash. Another could be to have a screen (physically) linked to a hardware wallet: when you plug your wallet, you can display the art you own.

Of course you'll be able to make a screenshot once the piece of digital art appears, right? Well, but who says art should be static? or even bi-dimensional. Imagine something like a moving hologram or moving real matter for which the opening key is in your hardware wallet. Have fun copying that: to open it you need a key. (If you have an ideally unlockable safe with 10 million euros in gold, do you have 10 million euros in gold?)

But even if visual art remained two-dimensional, the copies are not the original. Just think of the effort it takes to authenticate a Van Gogh: obviously someone will make a copy, but it is worth much less than the original, let's say twice the price of the material. The same thing in the Metaverse case: I can make copies and hang them at home, but the only place where I can see the original is the gallery accessible in Virtual Reality. Unlike the authentications of today, there it is impossible to mistake the attribution (as long as the private keys remain private).

Finally a little black market hypothesis. If everything is tokenized, then your DNA can be tokenized too. A little speculation here, but I assume it will be possible in 5-10 years to zero-knowledge prove that your DNA has some characteristics some big mafia boss needs. I assume then you'll be able to sell your DNA code to the boss, in the same way you can sell your kidney today: you can only sell once given the intrinsic scarcity of the dnaId.


For those who read past blog entries, I have claimed that Bitcoin is not a fungible token. So you may ask if Bitcoin is a NFT. The answer is "No, it's not".

Bitcoin is not non fungible by design, but it is non fungible de facto, as I explained in the previous post. NFTs are non fungible by design. So while researchers are working on Bitcoin by solving those problems that make the bitcoin coins non fungible, other researchers are working on NFT to maintain them non fungible.

I want to thank Giulio Stefano Ravot and Martin Michelini for their valuable suggestions on the drafts of this post.