\[ALPHA\] FTC dice / coinflip game
-
If you think from math. side revealing the server key for much more transactions / plays make probability lower for cheating. Anyway, always end users must believe that service provider is honest, at the end of the day if someone says 50% chance for winnings it’s easy to be checked as true/false after observing X transactions for the play address :)
-
[quote name=“slavco” post=“45142” timestamp=“1387222521”]
If you think from math. side revealing the server key for much more transactions / plays make probability lower for cheating. Anyway, always end users must believe that service provider is honest, at the end of the day if someone says 50% chance for winnings it’s easy to be checked as true/false after observing X transactions for the play address :)
[/quote]Wrong!
It’s entirely possible to cheat users by producing equal numbers of wins/losses, but weighting the wins towards the smaller amount, while giving more losses to the larger amount. If someone says 50% chance, and demonstrates an equal number of wins to losses, this proves nothing at all.
The only way to have a provablly fair system is by exposing the formula, which is static and unchanging. Primedice.com does this, just-dice.com does this, coinroll.it does this. If it REALLY is fair, there’s no reason not to do this.
-
Fair play ( There will be fairness calculator script ) :
- Your transaction id
- Game key
- number = last 4 bytes of md5(txid+key) to integer module 100
Is this honest ?
-
[quote name=“slavco” post=“45213” timestamp=“1387230380”]
Fair play ( There will be fairness calculator script ) :- Your transaction id
- Game key
- number = last 4 bytes of md5(txid+key) to integer module 100
Is this honest ?
[/quote]Only if you publish the hash of the key prior to the bet, and the actual key that corresponds to that hash after the bet.
-
exactly and really I found only few services that do the same. Most of them are waving with exposing the formulas and not exposing the server keys hashes. :)
-
or exposing the next day => they could calculate the winnings how they want and then to calculate appropriate hash. In case of coinflip game creating such secret will have 0.5^number_of_plays probability to find.
On small number of plays it’s possible and could be performed with almost no expense, but for popular sites no need of cheating => 50% probability and 1.95 will do the job :)
-
[quote name=“slavco” post=“45216” timestamp=“1387230958”]
exactly and really I found only few services that do the same. Most of them are waving with exposing the formulas and not exposing the server keys hashes. :)
[/quote]As I mentioned, Satoshi’s dice does this, so does primedice, just-dice, and coinroll. If there are others out there with the same popularity, I’ve not heard of them.
[quote author=slavco link=topic=5931.msg45219#msg45219 date=1387231441]
or exposing the next day => they could calculate the winnings how they want and then to calculate appropriate hash.
[/quote]Just-dice, Satoshi’s dice, and coinroll expose it the next day. Primedice exposes it (and changes it) after every roll.
[quote]
In case of coinflip game creating such secret will have 0.5^number_of_plays probability to find. On small number of plays it’s possible and could be performed with almost no expense, but for popular sites no need of cheating => 50% probability and 1.95 will do the job :)
[/quote]I’m not following your math. If the server keys are of a fixed size which is suitably large, I don’t see how you could cheat that.
-
Simple brute force.
server keys are hashes => fixed size.
I have exposed my formula already.ok!
let say you have:
tx1 loose ; tx2 loose ; tx3 win and I claim that you have 50% probability for wining what is proven by my public formula right and applying server hash and txid.
I can generate not just one but many server side keys ( hashes ) that when applied with public formula will give exact output.
e.g. this means that I can calculate the winnings on 30% and serve you a hash that will prove that probability is really 50%.As you said, only exposing the hash of the server key before the bet and exposing the server key after the bet is the real proof that system is honest. :)
-
Soooo… you’re going to brute force a 256 bit hash collision?
I’ll believe it when I see it.
If we have a “perfect” hash function with output size n, and we have p messages to hash (individual message length is not important), then probability of collision is about p2/2n+1 (this is an approximation which is valid for “small” p, i.e. substantially smaller than 2n/2). For instance, with SHA-256 (n=256) and one billion messages (p=109) then the probability is about 4.3*10 ^60.
The Bitcoin network itself produces less than 10,000,000 hashes a second. At that rate, it would take the Bitcoin network itself 1*10^53 YEARS (that’s a 1 with 53 zeros after it) to produce a hash collision.
A mass-murderer space rock happens about once every 30 million years on average. This leads to a probability of such an event occurring in the next second to about 10^15. That’s 45 orders of magnitude more probable than the SHA-256 collision. Briefly stated, if you find SHA-256 collisions likely then your priorities are wrong.
-
Here, I’ll prove it to you.
I’ve picked a number at random. It’s encoding is EXACTLY 28 bytes.
Here’s the SHA-256 hash of it: fd6f52aad269c7188c44415185759929b65f80afc387a98a7fe568f9c9b5dbde
Go brute force me the number I picked. I’ll even give you the first 6 bytes: 59 6f 75 27 76 65
-
Nope we are talking different things ( my wooden engrish :) )
I say if coin game service give you the formula for the bet calculation and that formula proves that 50% probability of winning based on your txid and server key that will be revealed after the play, no matters if service on the server side calculate winning probability on 30% they can give you hash that will prove that your bet is really honest calculated e.g. 50%
Or via experiment:
- I’ll create a script on special address for you ( this can be done tomorrow )
- I’ll reveal the formula used to calculate the winnings it will claim 50% chances of winning
- After your 5 bets ( you will loose them all ) I’ll give you a key to check the fairness of the script and will prove that is correct.
-
[quote name=“slavco” post=“45234” timestamp=“1387234765”]
Nope we are talking different things ( my wooden engrish :) )I say if coin game service give you the formula for the bet calculation and that formula proves that 50% probability of winning based on your txid and server key that will be revealed after the play, no matters if service on the server side calculate winning probability on 30% they can give you hash that will prove that your bet is really honest calculated e.g. 50%
Or via experiment:
- I’ll create a script on special address for you ( this can be done tomorrow )
- I’ll reveal the formula used to calculate the winnings it will claim 50% chances of winning
- After your 5 bets ( you will loose them all ) I’ll give you a key to check the fairness of the script and will prove that is correct.
[/quote]
I don’t get it. You’re saying you’re going to reveal a hash of a piece of data that will be used in the calculation, and then after the rolls, you’ll produce a DIFFERENT piece of data that when hashed result in the SAME previously revealed hash, that will result in the same rolls as what was produced?
This I gotta see.
-
I’m saying that If I reveal the hash of the server key before bet I must be honest. ( the same as you say )
but If I’m revealing only the server key ( no matter what form it is ) after the play and not revealing server key hash before the play then I could cheat :) -
[quote name=“slavco” post=“45239” timestamp=“1387235530”]
I’m saying that If I reveal the hash of the server key before bet I must be honest. ( the same as you say )
but If I’m revealing only the server key ( no matter what form it is ) after the play and not revealing server key hash before the play then I could cheat :)
[/quote]Well then I’m not sure why were’re debating this. All the sites I listed reveal their server key prior to play. That’s the only way to make it fair.
-
They reveal server seed not secret. As i understand secret is revealed after the play
-
[quote name=“slavco” post=“45243” timestamp=“1387236020”]
They reveal server seed not secret. As i understand secret is revealed after the play
[/quote]They reveal the hash of the server secret. Afterwords, they reveal the secret. I can take the secret, and hash it myself, and compare it to the hash they showed.
-
Yup, that’s the only way fairness is calculated (server key hash before and server key after ) and on big number plays per day def. the margin is the only one that ensures the profit. :)
-
any amount to test ? I have 0 ftc at the moment . my adress is below.I will play as soonas possible
-
I have another question , why the odds are 1.85and not 2 ? I din’t know how this works . 0-49 is 50/100 ,1/2 winning odds , am I wright ?
-
[quote name=“psvexploit” post=“45635” timestamp=“1387317921”]
I have another question , why the odds are 1.85and not 2 ? I din’t know how this works . 0-49 is 50/100 ,1/2 winning odds , am I wright ?
[/quote]That’s called the house margin, and it’s to ensure site profitability over the long term.
If the odds were 2, the operator would expect to make no money over the long term. With 1.85, while you’ll still roll a winning bet 50% of the time, you’ll only ever get back 85% of your winnings.
There’s other sites with much lower house odds (98% is very popular), as well as one I’ve heard of that has no house margin. These sites also have much higher limits, and most do the betting off-chain as to not create lots of dust outputs.