Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Minecraft Server with a Bitcoin-denominated monetary system (bitquest.co)
119 points by martindale on May 20, 2016 | hide | past | favorite | 48 comments


How do you handle cheating?

If you're hosting all the wallets, what's to stop you (or someone who gains control of the server) taking off with all the money?

Don't get me wrong, this is very cool and using real money might solve a whole lot of Minecraft's social/"tragedy of the commons" problems, but I'm interested what other issues it brings up.


This concept should be considered experimental (and we should emphasize more this) ànd you're right, there's nothing stopping me to take off with all the money.

Or a hacker.

We suggest to players to keep the minimum stored in their game wallets and cash out frequently as a precaution.

We are experimenting with Wallets that need to be signed by both the Client and the Server to make operations and when the time comes I'll be happy to share my findings.


The only way to make it secure is for users to bring their own wallet. On first connection they would input their wallet ID so monster look can be paid out.

When a user wants to buy something he needs to make it outside of minecraft, or use a custom minecraft extension that handles the wallet client-side.


A theft-proof way can be to avoid the anonymizing features of Bitcoin, that's it, by having the return address (for change in a transaction) being the same as the origin address.

That way you can simply monitor the blockchain for every player's single Bitcoin address, without having any private key.

Any transaction from those accounts should be explicitly initiated by the player, and for that you show QR codes in the game.


Perhaps it might be appropriate to state this in the hero image of the landing page.


Are you in the WoT? Also are you aware of Eulora?


> Minecraft's social/"tragedy of the commons" problems

I've only player single-player. What are these problems?


It's along the lines of how do you manage scarce resources and space in the centre of the map. Who do you allow to build there? It can be free-for-all (and certain servers like 2b2t.net have an anarchist charm) or it can be restricted to donors, or some other system.


Or prevent skimming?

The owner could programmatically create and distribute the pooled bitcoins to fake player account wallets, and it would look like business as usual.


Over a population of 32 with transaction consisting of 1/1000000 of bitcoins ? It wouldn't even pay off the servers.


Is bitquest capping at 32 players? Because the max population size for a minecraft server is over 2 billion.

10,000 faked kills for 100 fake players is ~$442.


I'm gonna guess you've never ran a server. A single survival server (like this is) rather than a big linked network of minigames with bungee cord, even on the best hardware available & an optimized minecraft server (spigot, paperspigot) starts to seriously struggle well before the 250 players online mark. You can squeeze out a little bit more by nerfing some core game mechanics (limiting render distance, redstone, entity spawning and tick speed) but that's it. Keep in mind that the game is mostly CPU bound and has little in the way of multi-core threading. The bottleneck then is single core CPU performance (a good amount of ram and a fast SSD help a bit but only so much). While you can of course have 1000s of players so long as only 250-300 of them are ever online at the same time no pure survival server is going to be doing anything like 2 billion players.


I have, just only with friends. I mention 2 billion in context to the server config setting that you can set, because I'm not sure why they said 32.


jebuz... I hope that you test stuff before putting it into prod after tweaking settings based on permissible values :D


Is this a joke? Because I guess I'm not seeing the humor.


Disclaimer, I know the Bitquest guys.

> Don't get me wrong

I've found people occasionally say things like that right before they make a comment full of dissonance, such as "this is cool, but I'm concerned about X". When we try to simulate a new thing so completely we find all the flaws in it, we paralyze ourselves by creating dissonance that is unresolvable. With Bitcoin this happens frequently because money, or stored trust, is a common source of dissonance (i.e. who wants to lose money? Answer, nobody.)

Even thought it has historically had some rough beta testing periods, Bitquest has shown itself to be an extremely interesting concept to explore. It is a game and it's Open Source, so I would expect discussions to focus on the positive aspects of Bitcoin, not the negative ones. Recognizing dissonance in the conversations being had around a given technology and keeping the discussion going is where the cool stuff happens.

P.S. I take credit for the land ownership idea. :) I still think it needs a timer on it though.


This is really cool. Sounds like you can earn bitcoin just by playing, without an initial investment? How are these monster drops funded?

I'm also curious to see if the latency of the blockchain has any affect on gameplay.


Hi, BitQuest developer here.

In a nutshell, every item bought from villagers goes to a "loot" wallet where sort of randomly faucets out back to players who kill monsters.

This post explains it a little bit more:

http://bitquest.co/2016/05/19/bitquest-2.html


Nice! How do you feel about gambling? Plans to do anything similar to BitVegas[1]?

[1] https://en.bitcoin.it/wiki/BitVegas


I've never gambled IRL or online and I won't feel comfortable to write gambling code as opposed to skill based games, which is what i've been playing my whole life.

I'll be happy to help, by making the bitquest repository easy to understand so people who want to make it can use our code.


You didn't by chance write the Phaser JS game engine did you?


I didn't. I've been told it's a really good engine.


Isn't this against the EULA for Minecraft? I thought selling in-game items for real world money was prohibited.


I can't answer your question but i want to clarify that All Bitcoin spent in items go back to the players in form of 'loot money' and not used for monetisation. I hope that makes the difference,

I will try to get legal help for intepreting the EULA and hopefully if we break it we can modify the server so it meets requirements. (Charging for access? Sell only cosmetic items?)


As I recall Notch specifically used the word "monetization" in his announcement blog post. This is the intent of the EULA, so if there's a problem I assume it would be adjusted.


Cosmetics are allowed, as well as charging for overall access to the server. But "secondary currencies" or buying in-game advantages for real money are disallowed.

You may be thinking about the original terms for mods, which was a more general "don't monetize it".


> mods, which was a more general "don't monetize it".

You're right, I was mistaken.


Ethereum could work even better for this. You can implement some of the logic in smart contracts, store arbitrary data on the blockchain, and the block time is 15 seconds. It's also easy to use multisig schemes to keep the money more secure.


I concur.

This is fantastic use case for a smart contract.


A while back I launched Bitcoin Armory for the first time only to discover it had to download the entire blockchain(!) before it could seemingly do anything. Does a game like this bloat the blockchain, and if it does, do people care?


I am very looking forward to SegWit and the Lightning Network and if it makes sense (probably will) to make a sidechain for BitQuest servers we'll try to implement that. In the meantime, we only process a limited amount of transactions per user per second so we don't spam the Blockchain


Eric Martindale here with Blockstream! Let us know if you need any help setting up a sidechain for this. It makes a lot of sense for your use-case.


Minecraft's database, and the elements worth value inside of it, are not based on a blockchain. This makes the entire server's economy as secure as the underlying code around exchanging items of value, mob kills, etc. Proposing they use a sidechain solves no problems for their use-case, as far as I can tell.

Given sidechains are already fairly complicated to understand[1], I'm not sure I get why suggesting their use without showing the use-case here makes a lot of sense for building Blockstream's business model. I guess that's the difference between promoting a company and contributing in a conversation.

[1] https://blockstream.com/sidechains.pdf


Take, for example, the Asset Issuance Element [1]. Not only could the currency become a tradable asset, but individual items and mobs in shops could be tracked as digital assets as well. There is much opportunity for expansion with a sidechain implementation here.

[1]: https://www.elementsproject.org/elements/asset-issuance/


Well, I'm intrigued. Thanks for the information.


Hi Eric! You can reach me at bitquest@bitquest.co. We do want to start experimenting with a sidechain


Why not just have the server handle all it's transactions in a database which can be handled without involving bitcoin or blockchains at all?

Then only deposit or withdrawl of coins will "spam" the blockchain.


Sidechains can be an open, standard way to have a transaction database, instead of us (and every other developer) with different solutions to this problem.

It's also worth mentioning a sidechain or payment channels can be "flushed" to the Bitcoin Blockchain (syncing up the balances of off-chain debits and credits) and this is not a trivial operation. If there is a community effort to a robust solution to this problem that other virtual worlds can also implement and inter-operate, makes total sense for us to test it and support it.


Yeah, it seems silly to create a sidechain for what is essentially a centralised balance book system. Since the server can run off with the money anyway, there is complete trust there.

Blockchains are cool because they solve the problem of a global ledger without centralised trust. If the problem you're solving does not require the lack of centralised trust, it's just a really complicated and resource-heavy way to implement a balance database.


You can use electrum, a light wallet


I call my server currency "Gil" and "Gilcoin" would have been the crypto currency. Server is named Gilcraft, and it uses iConomy for its economy plugin. I had the idea at least a year ago, but never got around to implementing the crypto part.


I was thinking about this recently: it'd be really cool to play even a text-based game that had crypto-currency backed econ.


Why?

I mean it seems like everyone just wants to slap 'crypto currencies' and 'blockchains' onto everything nowadays.


Maybe it encourages immersion if there's real, or at least pseudo real money involved


There are other ways. I'm a big fan of Eve Online's PLEX system. PLEX is an in-game item purchasable with real money which can be cashed in for one month of play time. It does a great job of linking the in-game economy with real money.

Basically, PLEX is Eve Online's equivalent of a gold-backed currency. There's something real behind the play money, even if it cannot be extracted once committed.


No reason, just think it'd be neat.


Congrats guys! Stoked to see BitQuest evolving.


As a game player and hobbyist game designer: please don't do this. It's pretty much guaranteed to become exploitive by design.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: