Hacker News new | past | comments | ask | show | jobs | submit login

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





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

Search: