evoorhees (OP)
Legendary
Offline
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
|
|
July 22, 2012, 01:07:15 PM |
|
perhaps here is as good a place as any to warn people about the fake site, satoshidice.net <-- don't send your coins here
Yeah thanks Payb.tc. SatoshiDice.NET is a scam site. Make sure to only use SatoshiDice.com
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1333
|
|
July 22, 2012, 11:31:07 PM |
|
now that there have been three quarter million bets, i would be curious to see the a chart of the results of the distribution of lucky numbers,
are there any ranges that have been beating the odds?
https://bitcointalk.org/index.php?topic=80312.msg1047173#msg1047173 has a table of the results so far. If you compare the 'should win' column with the number in brackets in the 'win' column you'll see that lots of the bets have been beating the odds. For example, you would only expect "lessthan 64" bets to win 1 in 1024 bets, but of 5178 bets so far, 7 have won. We would expect only 5 to have won so far. Despite this, "lessthan 64" is currently the most profitable bet for the house, relative to the amount bet on it (other than the ones which nobody has won yet, i.e. lessthan 16, 8, 4, 2, and 1). It has only paid back 58.146% of payments received. It must be that the losing bets were on average bigger than the winning ones. The 3 new bets are performing badly for players, all giving back less that expected. Particularly the "lessthan 56000" bet, which should pay out 85.449% of the time, but so far in 99 bets has only paid out 76.768% of the time, resulting in an effective 25 house edge! "lessthan 52000" has actually paid out more often than lessthan 56000", despite being easier to win. But I don't have a distribution chart. I'd have to make a web query for every bet to get that since the lucky number doesn't get into the blockchain.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
opticbit
|
|
July 23, 2012, 12:11:27 AM |
|
I have a situation,
I accidentally withdrew some funds directly from my mtgox account to a satoshi dice game, funnily the bet won and the funds were sent from satoshi to the originating address. I have been in touch with MTGOX and they claim that the address that my withdrawal request was paid from was not one from mtgox's wallet. I find it hard to understand how that is possible. And so now they claim the coins that were returned is not in their possession. Is that possible ? What are your views guys ?
I had the same problem with gox, but I was using the android wallet app and copied the wrong address. lost 2btc
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1333
|
|
July 23, 2012, 12:15:49 AM |
|
I had the same problem with gox, but I was using the android wallet app and copied the wrong address.
lost 2btc
If you lost the 2 btc because you won the bet but Gox didn't credit it to your account, you'll probably find that they'll credit it back to you eventually. If you lost it because your SatoshiDice bet lost, then I would guess you're out of luck.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
organofcorti
Donator
Legendary
Offline
Activity: 2058
Merit: 1007
Poor impulse control.
|
|
July 23, 2012, 06:07:18 AM |
|
now that there have been three quarter million bets, i would be curious to see the a chart of the results of the distribution of lucky numbers,
are there any ranges that have been beating the odds?
The cumulative probability distribution table you want is here: https://bitcointalk.org/index.php?topic=80312.msg1047760#msg1047760
|
|
|
|
|
SRoulette
|
|
July 26, 2012, 03:35:15 PM |
|
Id like to thank satoshidice for being the direct inspiration of my site: http://satoshiroulette.com/I unashamedly admit I did my best to clone their payout system as I think it could revolutionize gambling.
|
|
|
|
fireduck
|
|
July 26, 2012, 04:40:52 PM |
|
Id like to thank satoshidice for being the direct inspiration of my site: http://satoshiroulette.com/I unashamedly admit I did my best to clone their payout system as I think it could revolutionize gambling. That is cool, roulette was always my favorite game in casinos. I liked not having to talk to the croupier about anything and being able to pick the odds and payout by choosing different positions on the board. Also, I need 0-00. Reading your FAQ, are you absolutely certain that this is evenly distributed? # convert 0-65535 to 1-38 $number = int(1+(($number / 65535) * 38)); Since 65536 is not evenly divisible by 38, it is impossible for your distribution of ball landings to be even. I recommend reading and understanding the implementation of a good random int function. Example: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html#nextInt(int) The math is kinda strange, but it is absolutely crucial for what you are doing. Good luck!
|
Bitrated user: fireduck.
|
|
|
SRoulette
|
|
July 26, 2012, 04:50:04 PM |
|
Id like to thank satoshidice for being the direct inspiration of my site: http://satoshiroulette.com/I unashamedly admit I did my best to clone their payout system as I think it could revolutionize gambling. That is cool, roulette was always my favorite game in casinos. I liked not having to talk to the croupier about anything and being able to pick the odds and payout by choosing different positions on the board. Also, I need 0-00. Reading your FAQ, are you absolutely certain that this is evenly distributed? # convert 0-65535 to 1-38 $number = int(1+(($number / 65535) * 38)); Since 65536 is not evenly divisible by 38, it is impossible for your distribution of ball landings to be even. I recommend reading and understanding the implementation of a good random int function. Example: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html#nextInt(int) The math is kinda strange, but it is absolutely crucial for what you are doing. Good luck! thanks and a good catch, Id tip you bit I feel I have already tipped satoshidice heavily. The FAQ is also a test, the simulation results did show a fairly even distribution but I need to get a larger sample size (currently only ~30k). I shall return to running further simulations
|
|
|
|
fireduck
|
|
July 26, 2012, 04:54:27 PM |
|
thanks and a good catch, Id tip you bit I feel I have already tipped satoshidice heavily. The FAQ is also a test, the simulation results did show a fairly even distribution but I need to get a larger sample size (currently only ~30k). I shall return to running further simulations In this case, as only 0-65535 are allowed values you don't need to sample, just use each possible input number once and see if the output numbers are all exactly even.
|
Bitrated user: fireduck.
|
|
|
kano
Legendary
Offline
Activity: 4620
Merit: 1851
Linux since 1997 RedHat 4
|
|
July 26, 2012, 10:39:32 PM |
|
Id like to thank satoshidice for being the direct inspiration of my site: http://satoshiroulette.com/I unashamedly admit I did my best to clone their payout system as I think it could revolutionize gambling. That is cool, roulette was always my favorite game in casinos. I liked not having to talk to the croupier about anything and being able to pick the odds and payout by choosing different positions on the board. Also, I need 0-00. Reading your FAQ, are you absolutely certain that this is evenly distributed? # convert 0-65535 to 1-38 $number = int(1+(($number / 65535) * 38)); Since 65536 is not evenly divisible by 38, it is impossible for your distribution of ball landings to be even. I recommend reading and understanding the implementation of a good random int function. Example: http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html#nextInt(int) The math is kinda strange, but it is absolutely crucial for what you are doing. Good luck! thanks and a good catch, Id tip you bit I feel I have already tipped satoshidice heavily. The FAQ is also a test, the simulation results did show a fairly even distribution but I need to get a larger sample size (currently only ~30k). I shall return to running further simulations It's simply a case of end conditions making certain bets have a better edge since they are more likely due to modular arithmetic when the modulo number is not a factor of the whole number (in this case 65536)
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1333
|
|
July 27, 2012, 05:24:50 AM |
|
$number = int(1+(($number / 65535) * 38));
if $number is 65535 then the result of the above is 39. 37 and 38 are 0 and 00. What's 39? You should divide by 65536, not 65535. Better would be a simple: $number = ($number % 38) + 1 You still have 1724/65536 chance of getting some numbers and 1725/65536 chance of getting others, but there's not much difference between the two.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
kano
Legendary
Offline
Activity: 4620
Merit: 1851
Linux since 1997 RedHat 4
|
|
July 27, 2012, 06:16:07 AM |
|
$number = int(1+(($number / 65535) * 38));
if $number is 65535 then the result of the above is 39. 37 and 38 are 0 and 00. What's 39? You should divide by 65536, not 65535. Better would be a simple: $number = ($number % 38) + 1 You still have 1724/65536 chance of getting some numbers and 1725/65536 chance of getting others, but there's not much difference between the two. ... i.e. still not correct ...
|
|
|
|
SRoulette
|
|
July 27, 2012, 06:41:35 AM |
|
sub get_result { my $tx = shift; my $number = Digest::SHA::hmac_sha512_hex($tx, $main::secret); $number =~ s/^(.{4}).*$/$1/; $number = hex($number);
#$number = int((($number / 65535) * 38) + 1); $number = int(( (($number - 1) / 65535) * 38) + 1);
#print "lucky number: $number\n";
return $number; } Seems to result in a very fair distribution for odd/even red/black 18-19/19-36 1st/2nd/3rd col and 1st,2nd,3rd group of 12. Even with this updated code as fireduck pointed out some numbers have a slightly higher distribution (1 more than those that do not for every 65535). Which results in some numbers having a 0.02% edge over others. It seems to be negated by using a hash when I run my simulations. If I cannot resolve this satisfactorily I will build a new roulette table that has 65 numbers (FF). Thanks for the helpful discussion everyone
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1333
|
|
July 27, 2012, 07:01:31 AM |
|
$number = int(( (($number - 1) / 65535) * 38) + 1);
If I cannot resolve this satisfactorily I will build a new roulette table that has 65 numbers (FF).
You're still dividing by 65535. That's still wrong. And 65 doesn't divide into 65536 any better than 38 does. You need powers of 2. May I suggest 32. Or 64.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1333
|
|
July 27, 2012, 07:06:05 AM |
|
Even with this updated code as fireduck pointed out some numbers have a slightly higher distribution (1 more than those that do not for every 65535). Which results in some numbers having a 0.02% edge over others.
Wouldn't the edge then be 1/65535 (or 1/65536, but it makes little difference for this calculation), which is 0.000015 or 0.0015%?
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
SRoulette
|
|
July 27, 2012, 07:11:34 AM |
|
I hope we are not derailing satoshidice's thread here for a table containing 65 numbers I would use FF not FFFF I will pm dooglus and discuss further. Dooglus you are welcome to share anything technical I discuss with you in PM - I just dont want to spam the SD thread to much
|
|
|
|
|
ErebusBat
|
|
July 28, 2012, 12:24:11 AM |
|
I will sell you a spreadsheet I made so you can't make these kinds of mistakes
|
|
|
|
ingrownpocket
Legendary
Offline
Activity: 952
Merit: 1000
|
|
July 28, 2012, 12:26:50 AM |
|
I will sell you a spreadsheet I made so you can't make these kinds of mistakes ✔
|
|
|
|
|