Author

Topic: 2012-08-31 forbes.com - BitZino And The Dawn Of 'Provably Fair' Casino Gaming (Read 2477 times)

legendary
Activity: 2506
Merit: 1010
However, the author really didn't do a good job of explaining how the player can prove the deck was fair.

Well, it isn't something you want to be doing manually.  The "greasemonkey script" was described as a way to automate this verification.

The thing is that since bitZino doesn't know who is verifying and who isn't.  But if even one single verification I do fails, that would be inexcusable and would be not only the last hand I'ld play would be something bitZino would have to come up with a darn good explanation as to how it happened.

So while bitZino can be probably fair on any hand, most hands are played without anyone doing the verifying.   Unless you are recording the info in each hand (and how you played), you can't go back to previous hands to verify.  Again, a greasemonkey script can do all this but the bitZino web app doesn't.

With BitLotto and SatoshiDICE for example, proof of fairness can be determined long afterward, as nearly all the info is in the blockchain.  For SatoshiDICE, their hash file plus their secrets file is also needed. Their hash file is a static file that has been archived independently, and the secrets file is appended to daily and can be verified at any point in time using the hash file.  The additional info necessary for BitLotto comes from the results of a state-run lottery (Megaball) which occurs after the monthly draw deadline.

If bitZino (or someone else) were to create a mobile app version that did the verification on each hand, then verification for each hand could be performed, in real time.   Of course, that should be an open source app so that the method can be inspected to ensure it is doing the verification properly.
hero member
Activity: 520
Merit: 500
It's nice to see articles like these. However, the author really didn't do a good job of explaining how the player can prove the deck was fair. I wholeheartedly agree with his conclusion though. Once online gamblers start to become educated on the topic, casinos with "provably fair" will have a huge competitive advantage.
donator
Activity: 1736
Merit: 1006
Let's talk governance, lipstick, and pigs.
I would like to see this standardized with smartphone apps that can actually verify that the play actually did go by a verifiable order. It would show the order of cards, numbers, etc. that were actually played.
legendary
Activity: 1136
Merit: 1001

The crucial part is that there is an incentive for the game to be fair by the house. If there is a way to predict an outcome, the user would be able to take advantage of it. If hashes were biased -- much less predictable -- SatoshiDice wouldn't still be in business. For casino craps (IRL), biased dice can be exploited, therefore I feel confident that they are not screwing me over when I play.

For online, a dice game where the user can put in the offset for the dice after the server has rolled.

Example:
computer: 5b0f45c9c40e7fd9606bfc22efbb0c6d03f38b50528734c68d5466ffdd2634d8
User, enter an offset: +1 , +4
computer: You rolled (1) (6) = 7. [Proof: "62 | hhghwefnwienoieourar"]

Cards -- the user can send a string swapping cards in a deck after a shuffle.

legendary
Activity: 1246
Merit: 1014
Strength in numbers
At first I believed this might be a boon for Bitcoin, but the 'Provably Fair' crypto can be used for fiat money just as easily. Maybe it will help with adoption before it is used by mainstream gambling.

The reason bitcoin+provable is so awesome is because together they eliminate nearly 100% of the overhead of starting a gambling operation. Strangers can pay you in a way they can't yank back and they can trust you as a stranger aren't screwing them (any more than the odds dictate at least).
donator
Activity: 1736
Merit: 1006
Let's talk governance, lipstick, and pigs.
At first I believed this might be a boon for Bitcoin, but the 'Provably Fair' crypto can be used for fiat money just as easily. Maybe it will help with adoption before it is used by mainstream gambling.
legendary
Activity: 1288
Merit: 1076
So the title is nonsense and there was no proof at all?

No.  'Fair' doesn't really mean 'Random'.   'Fair' means that there is no hidden mechanism implying lying about the past.

Say you want to play rock, paper scissors (RPS) with a machine.  You can not just chose R, P or S and wait for the machine to tell you if you have lost or won.  A fair way of doing this would require that the machine shows you a hash of a salted R, P or S world.   Then you chose R P or S and the machine shows you its initial salted phrase which was beginning by R P or S.  Therefore you know that the machine did not lie.

A machine could very well not be random and still be fair.  If for some psychological reason people tend to  chose rock as a first bet, the machine can very well be programmed to have a tendency to play Paper as its first bet.   It would still be fair as long as the machine does not change its mind when it notices that the player actually played scissors.

In the same way, it is very well known that people really suck at picking up random choices.  So the machine could try to detect a pattern in the player's choices.  And still, it will be fair as long as the machine doesn't lie on what it picked before the player actually bet.

Actually, it is much better to play against a machine that is not truly random, because it is predictable.  So people can carefully study how the machine behaves and try to deduce its algorithm.  So, fairness has very little to do with randomness, imho.

I hope this all makes sense to you, but I confess it's tough to explain.  It's probably easier with an example:


Human:  Let's play Rock, Paper, Scissors, shall we?
Machine:  Sure, let me think of a random number...
Machine:  Ok I got one.  The sha-256 of the string I'm thinking about is:
50a32f4b3864165afb1d52f709191e7eaf98c9dfca572b9406a9110759b24aa3
Human:   Ok....  PAPER!
Machine:  You win.  My initial string was:  "ROCK 59496.1637704731"
zby
legendary
Activity: 1592
Merit: 1001
I would expect something more from 'provable random', was there any proof at all presented?

There is no such thing as 'provable randomness'.  But you can collect data and do statistics to check that the distribution is even.

So the title is nonsense and there was no proof at all?
legendary
Activity: 1288
Merit: 1076
I would expect something more from 'provable random', was there any proof at all presented?

There is no such thing as 'provable randomness'.  But you can collect data and do statistics to check that the distribution is even.
legendary
Activity: 1288
Merit: 1076
I suspect people who are smart enough to understand this kind of things just don't play casino games.
 
There is really no point playing once you know for sure that your expected win is actually a net loss.
zby
legendary
Activity: 1592
Merit: 1001
All of these are dependent on one thing though.  They use the results of a cryptographic hash and grab part of the result and that value is supposed to be random.   That's not the purpose of that algorithm though (to have part of the result be used to provide a random number).  I guess it is "close enough", but I haven't seen anything for or against the argument that this produces statistically random results.

I would expect something more from 'provable random', was there any proof at all presented?
legendary
Activity: 2506
Merit: 1010
Quote
The bitcoin community provides an excellent user base of cryptographically-aware players which increases the practical understanding of ‘provably fair’ systems that don’t require a third-party authority.
...

I submitted a comment in reply to the Forbes article:

Quote
When I sit down at a slot machine and push a button, I have no idea what goes on behind the scenes. Supposedly a gaming commission is ensuring periodically that the casino isn't cheating me but when my funds are gone I'm certainly thinking there's no way bad luck could be so brutal.

But what recourse do I have? I can't prove that the machine played properly?

Now with consumer-owned technology, we have the ability to not just provide the "seed" used to ensure fairness, we have technology that can ensure the machine's algorithm performed the computations properly.

This is like the genie being let out of the bottle. Once players get used to being able to recompute to verify that every wager was handled fairly, then any casino or online waging site that doesn't offer this verification is suspect.

And without having to present an image of being trustworthy, it is much less costly to offer these gaming services.

Nobody probably thought the Internet would be bringing a change to the way casino gaming would be viewed. It is quite possible this will be exactly what happens.

A survey of these "provably fair" services so far includes:

 - BitLotto, blockchain based.  Uses the results of a state-run lottery and matches that against the blockchain transaction IDs from the wagers to determine the winner.  Each player competes against other players.
 - SatoshiDICE (and the knockoff/clone of it), blockchain-based.  Uses the blockchain transaction ID plus a secret that is only revealed after the bet.  Each player competes against the house.
 - BitJack21, client editable seed (in Javascript).  Each player competes against the house.  [may wish to read thread though before playing]
 - bitZino, client editable seed (in Javascript).  Each player competes against the house.

All of these are dependent on one thing though.  They use the results of a cryptographic hash and grab part of the result and that value is supposed to be random.   That's not the purpose of that algorithm though (to have part of the result be used to provide a random number).  I guess it is "close enough", but I haven't seen anything for or against the argument that this produces statistically random results.  I brought up this question here:

 - https://bitcointalksearch.org/topic/using-sha512-hash-as-random-number-generator-for-gambling-services-77206

That being said, I'm a big fan of these "provably fair" systems.   I like how every single wager that has ever been placed with SatoshiDICE can be recalculated today to determine that the computation was performed correctly and that the payout was truly sent.

I've been trying to get bitZino to allow a player to add funds by scanning a private key/QR code and redeeming that.   That way, a person can purchase a bitcoin banknote with fiat and play, without really knowing what the heck Bitcoin really is.  They just know $11 today bought them 1,000 credits for use in wagering.  Cashing out to fiat too has ways that can be made easier as well (e..g, payout to a PayPal address, for instance, or having an Amazon gift ecode presented).

legendary
Activity: 1092
Merit: 1001
Quote
BitZino And The Dawn Of 'Provably Fair' Casino Gaming

Jon Matonis
2012-08-31

http://www.forbes.com/sites/jonmatonis/2012/08/31/bitzino-and-the-dawn-of-provably-fair-casino-gaming/

...
The bitcoin community provides an excellent user base of cryptographically-aware players which increases the practical understanding of ‘provably fair’ systems that don’t require a third-party authority.
...
Jump to: