Hacker News new | ask | show | jobs
by gertef 3454 days ago
Yes, a completely fair game for either "games of chance", or "games of robots skill". That's great for your poker-playing bot, but not for human endeavors (except bot programming).

Ether can provide some measure of server/network-side honesty, but makes no guarantees about what happens on the client side. So you must assume that all the other clients are super-powered bot-enhanced adversaries, or you need some way to trust and verify the client-side behavior of your peers.

The robots have come for oru jobs, and now they have come for our play.

1 comments

I meant more like blackjack where you are playing against the house.

The vast majority of gambling is not poker. It is slot machines or blackjack.

Client side stuff wouldn't matter for gambling Vs the house stuff (which is what most gambling is!!)

Pardon my moralizing, but I strain to find a situation where someone's life is improved by easier access to slot machines or blackjack games, even provably fair ones.
How do you prove the gamling is fair? I know little about Ethereum, but how can you make the outcomes of games verifiable? Either you use a RNG, in which case the house can use some RNG biased in their favor, or the program in completely deterministic, in which case the player can compute in advance the permutation of the cards and play perfectly.
Here's an example: Let's say you have a card game with N players playing off a 52-card deck. Since log_2(52!) is less than 226, then you can randomly shuffle a deck of 52 cards with, say, 512 random bits.

The dealer picks a random 512-bit number, X_0, and publishes a hash of X_0 to the players.

Each of the N players, picks another random 512-bit number and publishes it. These are X_1, X_2, ..., X_N.

The dealer xors X_0 through X_N to get a random seed to shuffle and deal out the deck.

At the end, the dealer publishes X_0 so the players can verify the dealer wasn't cheating.

There are different ways, one is simply to do it in the blockchain itself , which is completly transparent so you know exactly what is going on, however this suffers from the flaw that the miners could potentially manipulate it (if the incentive is high enough), some proposals include doing a type of DAO in which participants commit a random value (hashed and revealed later). There are also approaches like the one used by satoshi dice https://www.satoshidice.com/provably-fair/?stage=1