DEV Community

DrBearhands
DrBearhands

Posted on

Steam blockchain ban: pragmatic or essential?

Steam has recently explicitly banned games built on blockchain. Specifically, ones that allowed the exchange of cryptocurrencies and NFTs. Reactions on reddit suggest this was a pretty popular move. It appears these games are perceived to be pyramid schemes; an excuse with little inherent worth, existing merely to drive value of the underlying NFTs or cryptocurrencies. In this sense, they have a similar role to cosmetics products in multi-level marketing.

I tend to agree with the sentiment, for reasons that will become apparent.

Regardless, the ban raises an interesting question. Let's accept blockchain games were low-quality facades for pyramid schemes. Is this causation or correlation? Can there be any legitimate reason for using a blockchain or some other DLT* in gaming? Or are games and DLTs theoretically incompatible?

At their core, DLTs are methods used to agree on the order of events when nobody can be trusted**.

Initially that would appear to make DLTs a bad fit for games. In games, everybody trusts the developer. You run their code on your machine, you use their servers. This is doubly true for steam games, where steam/valve is also a trusted party.

But let's suppose we don't want to maintain servers throughout the life of our game and still want some kind of persistent public state (as in MMOs or competitive speed running). I will be generous and ignore software updates. Can blockchain help?

There are a few major limitations to DLTs that are relevant for gaming:

Not real time

Time is subjective. So relativity theory tells us. This is not a problem for games with trusted, authoritative servers, as the discrepancies are small in practice. But if the point is to avoid trusted parties, time must be expressed objectively, which is impossible even before accounting for things like latency and partitions. A blockchain game can therefore not have meaningful real-time mechanics.

Replication delays

Blockchains are replicated. That means every change in public data will be somewhat slow. Changes need to be replicated to other servers. Moving away from proof-of-work does nothing against it. Many white papers conveniently forget to mention this.

Leavers

While players could interact with low latency through a side-channel, these channels can be stopped by either party at any time. It is not possible to determine who left a game without a central party, just that communication between x and y has not finished (yet). Partitions are subjective.

No hosting incentives

It is unclear how to incentivize hosting blockchains without some kind of cryptocoin pyramid scheme. Blockchains are not free, they are even more expensive than trusted servers.

Code limitations

A lot of the code used in game is not well defined or non-deterministic. Drivers for instance are often an unknown. It may be possible to "fix" this issue, but doing so is a lot of work, much more than making the game itself.

Permanent mistakes

It is quite common for exploits in-game to lead to some kind of undesirable global state. Items are stolen, in-game economy gets trashed, scarce virtual resources are depleted... without trusted authoritative parties exploits cannot be rectified.

Conclusion

I started writing this article thinking there might be an interesting theoretical benefit to using blockchain in gaming. The fact that the entire game world is virtual appeared to make the approach more sensible than many of the real-life usage proposals. I no longer believe so.

Because of aforementioned restrictions, I don't see any avenues for bona fide game development using blockchain. Many game mechanics simply cannot be expressed objectively, without trusts. A game built on top of blockchain is effectively an overblown graphical interface over virtual asset trading.

Furthermore, the benefits of blockchains to consumers are outclassed by 3rd-party servers. Trust is an incredibly useful resource, and getting rid of it just isn't particularly beneficial to gaming.

Footnotes:

* Distributed Ledger Technology. A class of systems developed to do accounting without a trusted central party.
** This is an oversimplification, but far more accurate than most blockchain/DLT articles. Even in well-trusted newspapers.

Discussion (0)