Pages:
Author

Topic: What prevents casino "pre-rolling"? - page 2. (Read 2347 times)

legendary
Activity: 1302
Merit: 1005
New Decentralized Nuclear Hobbit
September 30, 2014, 04:02:54 AM
#19
I dont trust any site, just because they got backed by fans long ago, they will spread positive outlook on the casino and later take advantage of them when they dont expect or dont proove to do so, those are the true con artists.

True, but when someone had the chance to scam a 5-figure (in unit of btc) and didn't take it, it should be pretty safe to consider that person trustworthy. Tongue

He could be waiting for it to become 6-figure. That is how HYIP works.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
September 30, 2014, 03:43:51 AM
#18
the fear is that the operator can choose a server seed that provides unfavorable outcomes to the player, either through using the player betting behavior and playing against that, or by giving the player unfavorable initial situations (bad cards, etc).  There must be games where these vulnerabilities are not relevant at all because the game rules, or the game mechanics/play, inhibit these from being exploited.

Turn based, or time based raffle or lotteries fall into this category. Pick a number from 1 to 100 (or balls, or combinations). Playing odds against the house, instead of a shared pot. If you pick the same number as the game (already predetermined with matching SHA256 hash), then you win. If not, you lose.

Games which run in a rapid fashion, such as dice, have this problem, since players roll several times a minute, or even every second; the only thing changing is the nonce. The site still does not know if you are rolling high or low though.
sr. member
Activity: 323
Merit: 254
September 30, 2014, 03:35:46 AM
#17
Actually, there is one type of game that can be provably fair without requiring any client seeds. It's a raffle or lotto type game. In effect, the bet is the client seed. I plan to make one soon, should be simple to code even for a non-coder like me.

The only thing you are doing by not using a client seed is proving the outcome was predetermined.

That's precisely what will happen, a predetermined outcome, but one where the players do not know, so they can bet against the outcome.

the fear is that the operator can choose a server seed that provides unfavorable outcomes to the player, either through using the player betting behavior and playing against that, or by giving the player unfavorable initial situations (bad cards, etc).  There must be games where these vulnerabilities are not relevant at all because the game rules, or the game mechanics/play, inhibit these from being exploited.

edit: part of this fear/risk could be mitigated by the operator allowing the player to change the server seed (changing it to another random seed set by server), this might be used for a single player game.  multiplayer games might not be able to do this as easily.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
September 30, 2014, 03:18:48 AM
#16
Actually, there is one type of game that can be provably fair without requiring any client seeds. It's a raffle or lotto type game. In effect, the bet is the client seed. I plan to make one soon, should be simple to code even for a non-coder like me.

The only thing you are doing by not using a client seed is proving the outcome was predetermined.

That's precisely what will happen, a predetermined outcome, but one where the players do not know, so they can bet against the outcome.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
September 30, 2014, 03:04:00 AM
#15
Client seeds will always be required. Either in the form of a transaction id from a deposit, or some user input. There might be a way, and that is to use a third party random number, like from random.org.

It's a lot easier to just ask it from the player and use that.

On a downloaded client, if it is open source, your client can generate the seed unpredictably and fairly. I think the same can be said of client-side javascript.
m19
full member
Activity: 186
Merit: 100
September 30, 2014, 02:56:55 AM
#14
i'm trying to think of games which don't require a Client seed and still be provably fair.  does anyone have any examples of those types of games?

Either single or multi player/realtime types?

The only thing you are doing by not using a client seed is proving the outcome was predetermined.
sr. member
Activity: 323
Merit: 254
September 30, 2014, 02:18:30 AM
#13
i'm trying to think of games which don't require a Client seed and still be provably fair.  does anyone have any examples of those types of games?

Either single or multi player/realtime types?
legendary
Activity: 1484
Merit: 1001
Crypto-News.net: News from Crypto World
September 30, 2014, 01:44:15 AM
#12
I dont invest my money in gamble but use there free and i must say that sometimes i take some of them.
Also know some people that live from this dont know how but they do.

Have some strange system on roulette and they always win.
full member
Activity: 140
Merit: 100
September 30, 2014, 01:41:58 AM
#11
I dont gamble at all but i read that some of them fake that users like some1 up mentioned dicebit.

I dont like this cuz it turn bad on cryptos.
Maybe i am wrong about it but that is what i think.
hero member
Activity: 561
Merit: 500
September 29, 2014, 02:09:18 PM
#10
I dont trust any site, just because they got backed by fans long ago, they will spread positive outlook on the casino and later take advantage of them when they dont expect or dont proove to do so, those are the true con artists.

True, but when someone had the chance to scam a 5-figure (in unit of btc) and didn't take it, it should be pretty safe to consider that person trustworthy. Tongue
newbie
Activity: 7
Merit: 0
September 29, 2014, 11:54:46 AM
#9
I dont trust any site, just because they got backed by fans long ago, they will spread positive outlook on the casino and later take advantage of them when they dont expect or dont proove to do so, those are the true con artists.
legendary
Activity: 1736
Merit: 1023
September 29, 2014, 10:18:15 AM
#8
You need to trust that they will pay you in the event that you catch them cheating, sure. But you don't have to trust that they will deceive you about whether they are cheating or not. You can determine that for yourself with certainty.

Yeah, I was thinking that there might be some other ways to undetectably deceive the user even when the system is provably fair. If the provably fair system is properly designed, it should be possible to detect any cheating though. You only really need to worry about the sites that claim to be provably fair but in reality are not.
legendary
Activity: 2940
Merit: 1333
September 29, 2014, 10:05:43 AM
#7
Yeah, there is always the risk that the casino is cheating you. Even in provably fair systems, there is often many ways of cheating the user.

Provably fair doesn't mean the casino can't cheat you. It just means that if they do, you can detect it if you put in the required effort (checking hashes, etc.)

You really need to find a reputable site and trust that they are playing fairly. A well though out provably fair system also helps, but is not full proof.

You need to trust that they will pay you in the event that you catch them cheating, sure. But you don't have to trust that they will deceive you about whether they are cheating or not. You can determine that for yourself with certainty.

Thanks! So the server's seed must not ever change, right? It has one seed which generates each future nonce, where each pre-generated nonce is sequentially numbered? Each bet must then be made public, and hopefully the casino isn't betting to get past unfavorable rolls... But if the casino bets, they can still pre-roll so long as it's within a short-enough span of time that the user who would've won would've noticed, yeah?

Even if the client generates a new seed, I'd guess it's possible that the casino already pre-generated a boatload of casino-favorable seeds, so that must be why sites allow users to "invert" their number selection (less than instead of greater than) - to prove they aren't doing that.

It's fine for the server seed to change so long as each time it does, all three of the following are true:

1) the user is aware that it has changed (preferably because the user requested the change; PRC dice used to change it each time they rebooted, so I wouldn't even notice sometimes, other sites change all the seeds on a daily basis which is inconvenient, but acceptabe; PD used to change it every roll which was a pain in the ass)
2) the user is presented with a hash of the new server seed, so he can make a note of it and check the hash when the seed is eventually revealed
3) the user is prompted to provide a new client seed after seeing the new server seed hash

You seem a little confused about the word "nonce". It is simply a number (n) whose value is used once each time it changes (n-once). So we have three things: server-seed, client-seed, nonce. The server makes up a random server-seed, publishes its hash, shows the hash to the user, the user makes up a client-seed and tells it to the server. The nonce is set to 0. Each time a roll is needed, the server hashes the two seeds and the nonce all together and does some math to come up with a number in the required range, then increments the nonce (adds one to it). That's all.

The user can look at the rolled numbers and verify that the nonce goes up by exactly one between each roll. That's all the verification he can do before he knows the server seed (since knowing the server seed would allow him to calculate his next roll before he made the roll).

Once the server seed is changed, and the old server seed is revealed, the player can hash the two seeds together with each nonce in turn to recreate all his old rolls and verify that they were accurate.

When you understand this, you can see that the casino can't "pre-roll" anything without being detected. They can't pre-generate a load of different server seeds, because they don't know what client seed you will use (you pick client seed AFTER they commit to a single server seed by publishing its hash) and they can't skip a bunch of nonces because you'll notice.
legendary
Activity: 1736
Merit: 1023
September 29, 2014, 09:43:24 AM
#6
Yes, if you think you have figured out a pattern, or it's rolling HIGH, then you can "invert" and roll LOW. Or the other way around.

In other variants, you might have more than one betting option, such as in Roulette, or Sic Bo.

There is one simple change that site operators / owners can do to assure provable fairness: most sites create an account for you, and suggest that you set up a user name and password, and optionally 2FA. In that same process, if it is the first time, they should also ask you to create the player or client seed (after showing the server seed hash) before you even make your first roll. The client seed shouldn't even be "suggested".

That's what I would do anyway, if I had my own site.

Yeah, I agree it would be much preferred to ask you for a client seed rather than then automatically generating one for you.
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
September 29, 2014, 09:17:45 AM
#5
Yes, if you think you have figured out a pattern, or it's rolling HIGH, then you can "invert" and roll LOW. Or the other way around.

In other variants, you might have more than one betting option, such as in Roulette, or Sic Bo.

There is one simple change that site operators / owners can do to assure provable fairness: most sites create an account for you, and suggest that you set up a user name and password, and optionally 2FA. In that same process, if it is the first time, they should also ask you to create the player or client seed (after showing the server seed hash) before you even make your first roll. The client seed shouldn't even be "suggested".

That's what I would do anyway, if I had my own site.
donator
Activity: 1218
Merit: 1015
September 29, 2014, 07:46:19 AM
#4
In provably fair casino's like PrimeDice the number is also determined by the client seed. So even a slightly different client seed would produce a total different outcome.

The scary part is when the casino pre-decides the client seed and the user doesn't change it.

Also, like with DiceBitco.in, they could skip winning rolls by ignoring some nonces (that's basically with you are saying in your first post?), but like with DiceBitco.in, thanks to provably fair users quickly discovered they were cheated.

The nonce is an sequentially number of the server seed - client seed combination.
Thanks! So the server's seed must not ever change, right? It has one seed which generates each future nonce, where each pre-generated nonce is sequentially numbered? Each bet must then be made public, and hopefully the casino isn't betting to get past unfavorable rolls... But if the casino bets, they can still pre-roll so long as it's within a short-enough span of time that the user who would've won would've noticed, yeah?

Even if the client generates a new seed, I'd guess it's possible that the casino already pre-generated a boatload of casino-favorable seeds, so that must be why sites allow users to "invert" their number selection (less than instead of greater than) - to prove they aren't doing that.
legendary
Activity: 1736
Merit: 1023
September 29, 2014, 07:20:38 AM
#3
Yeah, there is always the risk that the casino is cheating you. Even in provably fair systems, there is often many ways of cheating the user.

You really need to find a reputable site and trust that they are playing fairly. A well though out provably fair system also helps, but is not full proof.
m19
full member
Activity: 186
Merit: 100
September 29, 2014, 07:03:08 AM
#2
In provably fair casino's like PrimeDice the number is also determined by the client seed. So even a slightly different client seed would produce a total different outcome.

The scary part is when the casino pre-decides the client seed and the user doesn't change it.

Also, like with DiceBitco.in, they could skip winning rolls by ignoring some nonces (that's basically with you are saying in your first post?), but like with DiceBitco.in, thanks to provably fair users quickly discovered they were cheated.

The nonce is an sequentially number of the server seed - client seed combination.
donator
Activity: 1218
Merit: 1015
September 29, 2014, 06:50:05 AM
#1
Let's say you win on >90 out of 100.

What prevents the server from quietly pre-rolling with the client's self-generated seed and then re-rolling if the number's ever >90? -So it just dumps "bad rolls" and regenerates until the results favor the casino.

Would users ever notice they're generating and sending multiple hashes even though the casino site's only showing the hashes for the roll which generated a <=90?
Pages:
Jump to: