Hacker News new | ask | show | jobs
by alanfalcon 3088 days ago
The "no secrets on the blockchain" aspect has already played out in subtly interesting ways in Cryptokitties. I have a tool that lets me see in a moment whether a given account has gained or lost money, and how much, and how much they were willing to spend. The marketplace is a completely open book, with real time sales data and a full history. You can't breed kitties in secret in pursuit of a particular breed. You can't (easily) buy out all of a given trait on the marketplace to create a false sense of high demand. And yes, you can see the entire kitty inventory of any other CK player.
1 comments

That's based on one current implementation of a gaming DApp.

It's worth noting that you can achieve semi-privacy through either on-chain/off-chain hybrids, as well as some other emerging efforts.

One example I've been playing around with is to use the multi-address approach:

In your database each "player" consists of multiple addresses each which are OR-multi-sig wallets, for various inventory elements and stats.

When they log in via a system like metamask, their main wallet (PlayerID) is unlocking an account which in your games database (off-chain) ties together another set of "master wallets" together with you've given the player private keys for - for each item, or each set of X items, in the players inventory you are setting up a new smart contract that is a OR-multi-sig wallet.

For this wallet, which holds the item, there are two possible signatories the first being the game's main contract, so that the game can add/remove items from players based on game events, and then one of the players private keys.

While you'd likely need a custom fork of metamask to handle the multi-key environment, you've made a system where:

* Player's inventory cannot be know from one private address.

* Player's retain full control over the items.

* Player's have private key access to the items in case the service goes down.

* You store player data off-chain, but in a way that your service is not crucial to the game.

* Player assets can be traded off-game without updating the game service.

* Data about individual items is still public, and does not need to be obscured, oraclized or stored off chain.

The current blocker isn't any specific blockchain technology, but just having a good multi-key management UI for users.

Brilliant. Definitely interested to see how this space evolves! Metamask is a great first step to helping bring wallets to the masses in the web browser, and it continues to improve, but it certainly isn't what a mainstream web wallet extension will look like in a couple years.