Tuesday, July 16, 2013

Bitcoin and MMO-RPGs: somebody get on this

When we talk about MMO games and their problems, the first question is "Who's running the server?" We take for granted that an MMO is a machine with a trusted server and a bunch of not-very-trusted clients. (I myself have been working on a multiplayer MUD-like game, and while it is open-source, there's still a trusted server that players log into.)

This assumption is fundamental, but it's bunk. Let me explain.

Bitcoin got a lot of attention earlier this year, while a Bitcoin bubble was going on. (Which is to say: earlier this year, there was a Bitcoin bubble, because there was a bubble.) Bitcoin is supposed to disrupt standard economic models, because it is secure, private, untraceable, frictionless -- a lot of words got used up. Everybody has the wrong end of the stick, I say.

Look, what is Bitcoin? Never mind the privacy cheerleading and the libertarian wallahs. What is Bitcoin, in essence? (And Litecoin, Feathercoin, and the other twenty knockoffs that aren't taking off. I'll just use "Bitcoin" generically from now on.)

Bitcoin is a decentralized, cooperative system for validating the exchange of digital tokens.

People want to use this for a currency. I don't. The economic arguments can be hashed out by economists. I think it's sufficient to point out that nations have monetary policy, and having your monetary policy set forever by a single rigid algorithm is only marginally less stupid than handing it over to the whims of South African gold-miners. But whatever. Bitcoin will go big or it won't, and my only investment in that is schadenfreude or embarrassment. Let's think about other uses for digital tokens.

...You're way ahead of me. (Because you read the title of this post.) What is a World of Warcraft server?

Blizzard runs bazillions of these servers, and people pay $15 per month for access. What service do they pay for? The opportunity to put in time and effort, and get out virtual goods -- gold, weapons, armor, pets, etc. Then, to trade virtual goods for other virtual goods. And that's all.

This is a consensus system, although Blizzard sets the trading terms. I could take a WoW screenshot and photoshop in my name, a giant glowy mace, and a trillion gold pieces. Would anybody care? Of course not -- that's not acting within the system; I couldn't trade my imaginary gold for WoW imaginary gold.

World of Warcraft is a centralized, rent-burdened system for validating the exchange of digital tokens.

Oh, there's a fancy UI and a lot of nice scenery, and the trading terms are baroque, but basically it's a big token-trading box. (It's even based on a proof-of-work system, just like Bitcoin! Not computational work, but still work.)

I trust the conclusion is obvious. Blizzard's role in the system could be swapped out for a Bitcoin-like network. It would be open-source and decentralized, but still do the job of enforcing the game rules, preventing theft, detecting "counterfeit" goods in the system, etc.

...In theory! I'm glossing over all the engineering and organizational questions here. Scaling is hard. Fast distributed networks are hard. Clearly Blizzard does a lot of work (art creation, story creation, combat mechanics, etc) which is subsidized by subscription fees. A decentralized version would still need to think about all of that.

(Although it wouldn't need to do all of that. Perhaps the system I'm hypothesizing would use Dwarf Fortress or Minecraft-style visuals, rather than high-end fantasy-photorealistic art. Maybe nobody cares about story. Lot of ways this could go.)

My point is, there's no inherent need for a central, trusted manager for an MMO-like system.

I am certainly not the first person to point this out. But when I poke around the nets, nobody seems to have drawn these threads together. Lots of people talk about decentralized MMOs, but they seem to presume trusted parties, or else divide up the trust domain. ("Anyone can administer a server.") There are noncentralized network libraries (Badumna). There are companies talking about accepting subscription fees for their (centralized) MMO in Bitcoins. There's even this article, which explicitly compares MMOs to the Bitcoin network, but doesn't go on to consider changing the MMO model.

I don't think anybody is tackling the question of a distributed game which is crypto-secured and validated by a concensus network. If I'm wrong, point me to them!

To me, this seems way more interesting than replacing currency. Bootstrapping a currency runs into all sorts of inconvenient questions about nations, and financial regulations, and money-laundering laws, and "why is this going to work again?" But bootstrapping a game is very easy to explain! "People will play because the game is fun. No, you don't have to care about the tokens -- if you're not playing the game, they're meaningless." And so on.

I bet something like this could take off. It would be a big project, but there are bigger (and sillier) open-source efforts out there. And it would be pretty funny if the giant online gaming companies turned around in ten years to realize that nobody needed them any more.

(Footnote: I've thought about this occasionally over the past year or so, but this post was spurred by the new Stross novel, Neptune's Brood. He's touched on virtual economies before, in Halting State, but this book is explicitly about bitcoin-style currency. Yes, he has an SFnal explanation for why his society uses it. I won't spoil the fun.)

Comments imported from Gameshelf

Andrew Plotkin (Jul 16, 2013 at 7:11 PM):

Warning: comments attempting to convince me that Bitcoin will too succeed shall be roundly ignored.

katre (Jul 16, 2013 at 7:54 PM):

This is basically the way the online games in Halting State work. It's all running on people's phones, using some sort of cryptographical trickery to allow people to store everyone else's state but not look at or change it.

TJ Radcliffe (Jul 16, 2013 at 9:21 PM):

Not an argument for bitcoin, but an analysis of what's wrong with it: http://www.theatlantic.com/business/archive/2013/04/bitcoin-is-no-longer-a-currency/274859/

Short version: bitcoin the reductio ad absurdem of a dotcom stock, a digital asset subject to the same kind of extreme valuation bubbles and volatility other digital assets have been subject to.

The relevance to your proposal is: without a central trust authority moderating the rules of supply and demand within your token-exchange system, would it be stable against this kind of bubble/crash behaviour? To carry your analogy forward, does Blizzard play the role of a central banker in the digital-token-exchange system that is the game, and who or what would play this role in your proposed system?

I may have completely misunderstood your proposal, so this may be a non-question in reality, but as a skeptic regarding the stability of unregulated markets against asset bubbles (since pretty much every unregulated market ever has experienced them) I'm wondering if your analogy is going to bring the problems along with the benefits of bitcoin to your proposed system, even though you aren't using it as a currency per se: it still will be used as a means of exchanging items of value, so being able to inject more of it into the system or otherwise tweaking exchange rules seems likely to be necessary to keep things stable.

vaporware (Jul 16, 2013 at 9:23 PM):

In Bitcoin, the shared transaction log isn't only validated by proof of work, but also by all clients independently checking each block. In this decentralized MMO, all game rules would have to be enforced the same way, right?

I imagine that with some crypto-trickery you could have things like player inventory whose manipulations could be validated by all clients, without revealing the contents to all clients, but it still seems like a lot of data for everyone to process... and there are already concerns about the size of the Bitcoin block chain. I wonder how the rate of "transactions" in an MMO compares to the number of Bitcoin transactions.

vaporware (Jul 16, 2013 at 9:34 PM):

@TJ Radcliffe: it still will be used as a means of exchanging items of value, so being able to inject more of it into the system or otherwise tweaking exchange rules seems likely to be necessary to keep things stable

There's no technical reason this couldn't be done, if the participants wanted to do it. Even with Bitcoins, the rules for mining and exchanging are just pieces of code in the clients, so if the developers and users decided that new blocks should continue to be worth 25 BTC forever (lifting the cap on the total number of BTC), they'd just need to push out a new client with that rule. The obstacle is a social one -- a new rule is only as "real" as the number of miners and users supporting it.

Andrew Plotkin (Jul 16, 2013 at 9:35 PM):

I'm not particularly interested in arguments against the validity of Bitcoin as an economic currency, either. We went through all that in April.

The stake against asset bubbles in an MMO currency is that nobody gives a crap about MMO currency! It's not an investment vehicle. Its only value is to continue making transactions within the game. The transactions are the fun part. This characteristic of Bitcoin -- that it has no inherent value except that it can be traded -- is what brought MMO gaming to mind in the first place.

Yes, such a game would require distributed transaction-checking. (Not necessarily every client checking every transaction -- I'm sure that statistical sampling would be sufficient.) I'm deliberately staying out of the engineering problems, because I know that I don't know anything about the guts of these things.

(Stross's distributed "slow money" has real bandwidth limitations, because it's validated by interstellar message laser! But this is part of the point...)

paul (Jul 17, 2013 at 12:15 PM):

This seems like an interesting direction but I see a lot of technical challenges. You would be talking about many participants coming to a consensus about every single simulation step, which would be tons of network traffic (even if done efficiently), and a latency in the order of seconds for each step. I could definitely see it working for a turn-based game but I don't see it replacing WoW.

Another interesting difference with BTC, in BTC land there is a strong motivation for everyone to conform to the one standard behavior. In WoW land, that motivation is less, and some players are more interested in deviating from the standard behavior. One guy might decide "Hey, I want to play WoW with machine guns", then he codes it up and shares it, and a million other players also decide "We, too, want to play WoW with machine guns", and so they are able to reach a consensus. In a non-centralized authority model, Blizzard might not be able to prevent these kinds of changes. This kind of game sounds awesome to me, but I can see why Blizzard would not want to go down that road.

Andrew Plotkin (Jul 17, 2013 at 4:32 PM):

Sure, I'm skipping all the technical challenges. This is about the underlying assumption.

Getting people to buy into a consensus behavior model is very un-AAA-game-like, but it looks a lot like running a protocol spec or programming language committee. (I didn't say that nobody would have responsibilities in this system.) There are pitfalls, but it's clearly possible.

Darkstryder (Feb 3, 2014 at 10:10 AM):

Hi Andrew,

Not sure if you'll read this now as your article is 8 months old.

I've been investigating the same problematic as you do recently, and here are my conclusions.

A blockchain-based MMORPG could work 100% with non-realtime gameplay. Any kind of gameplay that allows the player to "commit" his actions then wait for the result of it. Anything turn-by-turn would work well. You can even include controlled randomization inside the process by using a standardized pseudo random number generator and use the hash of the block as the PRNG seed. This allows to have really nice features like not knowing in advance if an attack will succeed or not in advance, but have the whole network get a consensus on the result once the block including the attack has been found.

Real time MMORPGs is super tricky and even more trickier with a blockchain. Basically, every information older than the last 10 minutes has been validated by the network and can be considered as being safe. However everything that is less than 10 minutes old can be invalidated at any time once a new block is found, so there is a potential for "hard resynchronization" where you thought you were playing a certain situation and then after resync it happens to be completely something else.

That is not to say it is impossible to do, but I think a non real-time game would be A LOT easier for a proof of concept.

Graham (Feb 19, 2014 at 11:08 PM):

The First Crypto Currency Decentralized MMOCG

Jonathan Wint (May 8, 2014 at 10:52 AM):

I honestly suspect Blizzards Reboot of Titans directly related to this I suspect they will have a exchange auction house and take a cut like any real auction house and be f2p. I suspect they might do there own bitcoin system.

Rebecca (May 8, 2014 at 11:59 AM):

It's interesting to note that High Fidelity, Philip Rosedale's new startup, is planning to do exactly this, right down to a distributed voxel based system:


Rebecca (May 8, 2014 at 12:02 PM):

Or rather, I should say, the currency and script computations would be tied to a block-chain based currency– not actually tieing all world modifications to it. Still, baby steps.

No comments:

Post a Comment