Pages:
Author

Topic: BTCKeno.com (Read 2562 times)

full member
Activity: 126
Merit: 100
February 28, 2013, 05:09:46 AM
#48
I already have a confirmation

though it says it hasn't confirmed, nor
that it has received it.

Is this script automatic or manual?
:I
sr. member
Activity: 293
Merit: 250
February 19, 2013, 11:02:10 AM
#47
what's the point in submitting a ticket with 1 number or 15?

The reason the players play with more numbers is to have a chance of winning more with the same bet value.

with your odds, when playing with 1 number you have 25% odds of winning 3.9 and only 3.9
but when playing lets say with this paytable for the 13 numbers:

0-0
1-0
2-0
3-0.5
4-1
5-2
6-4
7-8
8-23
9-80
10-220
11-620
12-2670
13-6000

you have will more than 41% of getting between your ticket back and 6000 times your bet. for sure I will bet with 13 numbers.

The problem is that you're dealing with human nature. If I will gamble my money, so I wanna have a chance, even if it is insignificant, of multiplying it by thousands.

Take the satoshidice statistical analysis by dooglus https://bitcointalksearch.org/topic/satoshi-dice-statistical-analysis-80312

number of bets of "less than 2": 4326
number of bets of "less than 1": 84807

we have two times the chance of hitting the "less than 1" with the "less than 2" and when hitting the less than 2 my money will be multiplied by 32000. but the people choose to cut the chances by the half to have a chance of winning 64000x.
jr. member
Activity: 140
Merit: 1
February 19, 2013, 10:01:42 AM
#46
I see no point in having a keno game if the expected rate of return is constant for every outcome.

really? Why not? The reason the players play with more numbers is to have a chance of winning more with the same bet value.

So if I pick 1 number, my expected return is 97.5%. If I pick say 4 numbers, each number has it's own expected return. So if I was to make everything have a constant expected return, what's the point in submitting a ticket with 1 number or 15?
sr. member
Activity: 293
Merit: 250
February 19, 2013, 09:36:54 AM
#45
I see no point in having a keno game if the expected rate of return is constant for every outcome.

really? Why not? The reason the players play with more numbers is to have a chance of winning more with the same bet value.
jr. member
Activity: 140
Merit: 1
February 18, 2013, 11:26:33 PM
#44
Updates Feb 14, 2013


Added a page that will list your odds based on the amount of numbers you want to pick. By default it will display the odds for if you select 15 numbers. It gives the odds for each hit. So to read it, if you pick 15 numbers, the probability that you will get X hits is... The prize is your multiplier, so if you bet 1 BTC, multiply that by the multiplier to get your amount won.

Here are links to all odds for all valid picks.

http://btckeno.com/odds?picks=1
http://btckeno.com/odds?picks=2
http://btckeno.com/odds?picks=3
http://btckeno.com/odds?picks=4
http://btckeno.com/odds?picks=5
http://btckeno.com/odds?picks=6
http://btckeno.com/odds?picks=7
http://btckeno.com/odds?picks=8
http://btckeno.com/odds?picks=9
http://btckeno.com/odds?picks=10
http://btckeno.com/odds?picks=11
http://btckeno.com/odds?picks=12
http://btckeno.com/odds?picks=13
http://btckeno.com/odds?picks=14
http://btckeno.com/odds?picks=15

NOTE: This url will stay valid, however I am planning on cleaning up the page to so default response will be just a plan HTML page.

Future updates to the payout table will include decreased expected return for some of the picks. A one pick game will always contain your best odds. The others will just be for shits and giggles, I see no point in having a keno game if the expected rate of return is constant for every outcome.

As always, feel free to post a reply or PM me if you have any suggestions/ideas/complaints and I will take care of them.
jr. member
Activity: 140
Merit: 1
February 18, 2013, 12:06:15 AM
#43
Updates

  • Updated the homepage to have "Quick Picks", you pick the number and it will randomly select that amount.
  • Payout Table Update - I have only updated the one pick, see below for the payout rate, other numbers remain the same, I'll get around to updating those a little later. Pick one number for a 95% expected return =)

Prize = Multiplier, ie (bet amount * multipier), bet amounts MUST be between 0.01 BTC and 1 BTC.

Code:
Hits  Prize           Combinations       Probability          Frequency          Variance            Return        House Edge
 0     0.000                    60 0.750000000000000               1.33 0.676875000000000 0.000000000000000 0.000000000000000
 1     3.800                    20 0.250000000000000               4.00 2.030625000000000 0.950000000000000 0.050000000000000

Have fun guys, I already see a few people using this a lot ;p I'm always open to comments/suggestions to improve the site.
jr. member
Activity: 140
Merit: 1
February 13, 2013, 12:18:11 AM
#42
Updates

Sorry I have not posted any updates in awhile, there have been a few personal issues. Just want everyone to know that I'm still here  Grin

  • Homepage now lists previous 10 tickets

In the coming few weeks I plan on updating the site with a lot of new features. Also plan on sitting down and tweeking the payout table to spit out better returns for clients. Also plan on spitting out some paytable stats soon as well. It will a prettier version of this:

Code:
Hits  Prize           Combinations       Probability          Frequency          Variance            Return        House Edge
 0     0.000                    60 0.750000000000000               1.33 0.067500000000000 0.000000000000000 0.000000000000000
 1     1.200                    20 0.250000000000000               4.00 0.202500000000000 0.300000000000000 0.700000000000000

And will also list all of the expected returns. The above assumes you bet the max of 1 BTC and only picked one number. This should address

looks like you didn't check the probabilities.

you should adjust your payouts because:

if I play only one number, my expected return is 0.3 times the bet
if I play 13 numbers, my expected return is 0.986163742250369 times the bet

and your house edge is almost 30%, this is too much for a bitcoin gambling site.

I am also open to any other comments and suggestions that people have. I also plan on having some quick pick buttons, click the "Pick 5" button and 5 numbers get randomly picked for you.

There may also be a need for me to pre-populate the payout address field to the last one you used?

Any other data you guys would like to see about the numbers, let me know.

Thanks
-Joshua


jr. member
Activity: 140
Merit: 1
January 15, 2013, 11:21:55 PM
#41
Updates
  • Updated the site so it now uses secret keys when calculating the random numbers. You can see the keys at http://btckeno.com/keys and the code that generates the random numbers at https://gist.github.com/4516159 The picks are generated by the bet transaction id and the secret key that is used is the one that is current for that day when the bet comes in.

Future/Planned Updates
  • Display the most recent winners/losers on homepage
  • Update pay table
  • Increase the max bet

Most of the major issues that everyone seems to have had are now updated and fixed. I will continue working on the site and post updates here every now and again. As always suggestions are welcome.
sr. member
Activity: 293
Merit: 250
January 13, 2013, 11:11:15 PM
#39
looks like you didn't check the probabilities.

you should adjust your payouts because:

if I play only one number, my expected return is 0.3 times the bet
if I play 13 numbers, my expected return is 0.986163742250369 times the bet

and your house edge is almost 30%, this is too much for a bitcoin gambling site.
vip
Activity: 1316
Merit: 1043
👻
January 13, 2013, 10:21:51 PM
#38
UPDATES

* Payout table has been updated with decreased payout amounts (min bet is 0.01 BTC, max bet is 1 BTC, I'll update this later to allow larger bets)
* Bets can now be proven fair and details can be found on the about page along with a link to the code gist that is used. (This code will update at a later point in time to include a daily secret key, but for right now, it doesn't seem like I should require one)

If you have any questions/comments/suggestions, please feel free.

Thanks,
-Joshua

it doesn't seem like I should require one ??

Are you waiting to get your wallet plundered? Tongue
jr. member
Activity: 140
Merit: 1
January 13, 2013, 07:21:16 PM
#37
UPDATES

* Payout table has been updated with decreased payout amounts (min bet is 0.01 BTC, max bet is 1 BTC, I'll update this later to allow larger bets)
* Bets can now be proven fair and details can be found on the about page along with a link to the code gist that is used. (This code will update at a later point in time to include a daily secret key, but for right now, it doesn't seem like I should require one)

If you have any questions/comments/suggestions, please feel free.

Thanks,
-Joshua
jr. member
Activity: 140
Merit: 1
January 13, 2013, 07:14:40 PM
#36
@darkmule
The issue with not having enough to payout has been resolved, I have updated some of the settings so that there will be more btc left on the server. If there was ever a need to have more I would send them to the server via my personal wallet. If that still will not cover the bet, I will just jump on mtgox and purchase enough to cover the bet.

I also agree that people shouldn't accept that "oh, you'll get paid whenever". I want my customers to be paid ASAP, ie as soon as I can confirm the bet.

I have a few updates that I will be pushing up soon, the updates are already on testnet.btckeno.com

Thanks
-Joshua
legendary
Activity: 1176
Merit: 1005
January 11, 2013, 11:47:13 AM
#35
The update I'd like to see is any evidence you can actually pay out the bets on this paytable, as you've already admitted you can't and would be scrambling if anyone hit one of them.  When you're willing to take bets for these amounts that you don't have on hand, that's scammy to say the least.

How do you want me to prove this?

Are you serious that you don't know how to prove you have a certain amount of BTC?

Thanks, but it concerns me that you had to scramble to find the 2 BTC to pay me!  What if someone won a few hundred BTC (your top jackpot is 10,000 BTC) ??

That is a good question. To be honest, I have no idea how I will come up with it, but I can will guarantee you that they will get paid.

It is a serious problem to take bets you can't cover.  Nobody legit does that.  It may just be cluelessness, but if not, it is frankly scammy.  If you are spreading gambling games, as the house, it is simply not kosher to ask people to accept your marker if they win.
vip
Activity: 1316
Merit: 1043
👻
January 11, 2013, 02:56:08 AM
#34
I agree, you should not use any kind of random function to generate the game values -- there's plenty of entropy in just the txid+secret combination (the secret can be whatever length you want).  Besides, your users will need a deterministic way to prove to themselves that the game is fair -- just like the other sites.
Yep, I just some some simple code for the purpose of illustrating what I'm saying  Smiley which is why I linked to more info.
jr. member
Activity: 140
Merit: 1
January 10, 2013, 11:26:23 PM
#33
Got it, I'll make some updates over the weekend and do a deploy with an algo that uses the transaction id of the bet to generate 20 random numbers. Thanks guys, I'll get something awesome up and running soon.
newbie
Activity: 42
Merit: 0
January 10, 2013, 10:07:20 PM
#32
I agree, you should not use any kind of random function to generate the game values -- there's plenty of entropy in just the txid+secret combination (the secret can be whatever length you want).  Besides, your users will need a deterministic way to prove to themselves that the game is fair -- just like the other sites.
jr. member
Activity: 140
Merit: 1
January 10, 2013, 09:57:40 PM
#31
$serverSecret = hash("sha256", rand());
$serverSecretHash = hash($serverSecret);
//store serverSecret somewhere
echo $serverSecretHash;

function process_keno($tx){
$result = hash("sha256", $serverSecret . $tx['txid']);
$dec = hexdec($result);
mt_srand($dec);
$generated = [];
for($i = 0; $i < 20; $i++){
$num = mt_rand(1,80);
$generated[] = $num;
}
return $num;
}

The issue I see with that code is it pulls the 20 numbers with replacement. Needs to be without replacement Tongue The other issue is according to php.net's notes on mt_rand and rand, they do "not generate cryptographically secure values".

I get your point that it needs to be proven to be fair, and I'll figure out a way to make it so. I'll take this weekend to push up an update that is based off some of that code are create some scripts to show that it can be proven fair.

Thanks for the input
vip
Activity: 1316
Merit: 1043
👻
January 10, 2013, 09:36:26 PM
#30
For more info, go to satoshiDICE and click on the Verification tab (or type in "javascript:$('.verificationbox').slideToggle();" in the address bar on Chrome), see BitZino's https://bitzino.com/about/fair, http://btcmultiplier.com/keys.php?l=en
vip
Activity: 1316
Merit: 1043
👻
January 10, 2013, 09:32:42 PM
#29
Do it like BTCMultiplier. If you select the number 1 and 2, there's one address and just one address. Winnings are sent back to the address it came from. Have a daily secret, publish a hash of them in advance, and then hash secret + txid. Get the first few bytes, use that to determine what numbers satoshi picked.

The issue is I don't want to send it back to the address that sent the bet. I'd like the user to put in the address that they want the payout sent to. As of right now here's more or less the flow.

User comes to site, submits numbers and an address to send payout.
Bet is received and the satoshi picks are selected and then counts what it matched
Once bet has been confirmed, payout is sent to the payout address

If anyone has suggestions or can point me to more resources, I'd be more than happy to set something up. BTW I like how BTCMultiplier has a list of bets on their front page. I want to add something similar. I'll have more time Friday evening to push updates.

Thanks
OK, to make it provably fair then:

$serverSecret = hash("sha256", rand());
$serverSecretHash = hash($serverSecret);
//store serverSecret somewhere
echo $serverSecretHash;

function process_keno($tx){
$result = hash("sha256", $serverSecret . $tx['txid']);
$dec = hexdec($result);
mt_srand($dec);
$generated = [];
for($i = 0; $i < 20; $i++){
$num = mt_rand(1,80);
$generated[] = $num;
}
return $num;
}

Anyone (with a copy of PHP) will be able to verify that you are generating the correct results, but they will not be able to predict the results ahead of time.
Pages:
Jump to: