Bitcoin Forum

Economy => Gambling => Topic started by: savantguy on May 10, 2013, 05:20:33 PM



Title: BitcoinSlots.co - Bitcoin Casino Slots - Affiliate Program Just Launched!
Post by: savantguy on May 10, 2013, 05:20:33 PM
Introducing BitCoin Slots with progressive jackpot. Head on over to: http://www.bitcoinslots.co/?bct to play.

Features:

  • Progressive Jackpot Pool - We add to the pool to increase the bonus. Increase your chances of winning by donating more of your winnings from every spin
  • Small minimum bet
  • Proof of hash on every spin. You pick when to stop the wheel.
  • Withdraw after 2 confirmations
  • No registration required to play.
  • Affiliate Program built into system. Just register for an account and get an instant referral link.



Visit: http://www.bitcoinslots.co/?bct


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: lexxus on May 10, 2013, 05:54:51 PM
This is not provable fair. So don't write that. When a player presses stop button it doesn't stop on the number I see but after 1-3 other numbers which you can choose arbitrary. In this case your hash is meaningless and doesn't show anything about fairness of the game.


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 10, 2013, 06:09:08 PM
That means you had low connection latency. We spin one wheel for everybody every 0.2 secs. If your ping is lower than that - you got your hash in time otherwise it syncs with server's spinning point.


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: lexxus on May 10, 2013, 06:34:40 PM
That means you had low connection latency. We spin one wheel for everybody every 0.2 secs. If your ping is lower than that - you got your hash in time otherwise it syncs with server's spinning point.

That's a purely technical issue and should not affect players. You can either:

1. Do buffering, i.e. fetch 100-200 hashes in a buffer in advance and stream new hashes while it's going
or
2. Stop at the hash that was shown when player clicks the button, i.e. do the stop on the client not on the server

The second solution can be implemented in 5 mins. Then we can start talking about "provable fair" things because what I described is just necessary conditions, but far from sufficient.


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 10, 2013, 07:47:37 PM
There is live spinning process. If you are pretending to be expert in "fair play" you should understand that there is no possibility to basing user choice on last or future hashes: since spinning process is global. It would be technically possible to "cooperate" and predict results in case we would be showing future/past results. So, the only way to make it by timing with possibility for users to see streaming hashes, and if their internet connection is good, they would have possibility to stop on some hash (which is technically provable).

For proving that spinning process is global, open two different browsers and spin the wheel same time. You would see same hashes streamed to both users. You also could take a video and see, that hash which was selected by user, would appear at the screen of another users.


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 10, 2013, 08:03:19 PM
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 13, 2013, 12:42:39 AM
There is live spinning process. If you are pretending to be expert in "fair play" you should understand that there is no possibility to basing user choice on last or future hashes: since spinning process is global. It would be technically possible to "cooperate" and predict results in case we would be showing future/past results. So, the only way to make it by timing with possibility for users to see streaming hashes, and if their internet connection is good, they would have possibility to stop on some hash (which is technically provable).

For proving that spinning process is global, open two different browsers and spin the wheel same time. You would see same hashes streamed to both users. You also could take a video and see, that hash which was selected by user, would appear at the screen of another users.

Does posting the code satisfy you?


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: mem on May 13, 2013, 12:22:38 PM
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);

Hello, Im not quite sure what code Im looking at here, is it python / php ? I really only know perl and c.

I see n1,2,3 getting their random vars but Im not seeing them hashed, instead I see:
Wheel1[1].toString()

I assume spinOnce is a sub that rotates to the next item on the wheel, if so do you have a game map showing how each wheel maps to the random numbers 1-88 ?

Just had a quick look on your site, could use a little guide on how players can verify their own results - it helps with confidence.
Nice clean site design :)


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 13, 2013, 04:57:51 PM
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);

Hello, Im not quite sure what code Im looking at here, is it python / php ? I really only know perl and c.

I see n1,2,3 getting their random vars but Im not seeing them hashed, instead I see:
Wheel1[1].toString()

I assume spinOnce is a sub that rotates to the next item on the wheel, if so do you have a game map showing how each wheel maps to the random numbers 1-88 ?

Just had a quick look on your site, could use a little guide on how players can verify their own results - it helps with confidence.
Nice clean site design :)


crypto.createHash('sha1'); creates the hash.

Thanks for the comments.


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 21, 2013, 01:23:24 AM
Lets get that jackpot pool higher guys! Anyone want to try their luck tonight?



Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 25, 2013, 10:09:37 PM
Stay tuned... We will be releasing an affiliate program to promote BitcoinSlots.co !


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: 🏰 TradeFortress 🏰 on May 26, 2013, 12:31:05 AM
No, don't make it provably fair. Read this and come back: https://bitcointalk.org/index.php?topic=161236.40


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: mem on May 27, 2013, 05:06:25 AM
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);

Hello, Im not quite sure what code Im looking at here, is it python / php ? I really only know perl and c.

I see n1,2,3 getting their random vars but Im not seeing them hashed, instead I see:
Wheel1[1].toString()

I assume spinOnce is a sub that rotates to the next item on the wheel, if so do you have a game map showing how each wheel maps to the random numbers 1-88 ?

Just had a quick look on your site, could use a little guide on how players can verify their own results - it helps with confidence.
Nice clean site design :)


crypto.createHash('sha1'); creates the hash.

Thanks for the comments.

this answers none of my questions, please address the other questions I raised.
I am not convinced this is provably fair at this point in time.


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on May 27, 2013, 06:50:33 PM

  • It is Javascript code used in Node.JS server.
  • WheelX array contains 40 known elements with known sequence. so nX random variable gives us random number of points to shift the array.
  • Then we generate secret hash ( random hash for each spin ) which means role of salt in the spinning.
  • spinOnce function spins wheel for one time.

This line:
             
Code:
         var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";

shows Wheels positions at the end of spinning ( we use WheelX[1] to calculate results each time ), which would be shown at the frontend/calculating winnings: easy to check with the images we give you at the explanation of spinning proof.

at the image
https://s3.amazonaws.com/bitcoinslots/image1.png

currentHash = 7b1c13db29788d223f1f8d910a76cb6d02533741
secretHash = 0ff736cbb065eb1ecf0091f50211eed2244ec7c3 ( which is visible after stop )
[12,5,11] - hashString, which showing positions of the wheel: 12 means 12th element, 11th, 10th from the first line; 5,4,3 - second line; 11,9,8 - third line.

we use SHA1, as you mention as the encrypting algorithm, and you could easily check using online sha1 service ( ex. http://www.sha1-online.com ) to see if line "[12,5,11]-0ff736cbb065eb1ecf0091f50211eed2244ec7c3" encrypted with sha1 matches 7b1c13db29788d223f1f8d910a76cb6d02533741.

When you rotate wheels once more, you will see that the elements order is static, which proves the fairness of the game.
Cheating could be possible when only game board is dynamic, and generated each time your are stopping wheels, which is false in our case. The board order could only change when server is restarted.


Does this answer your questions?


Title: Re: BitcoinSlots.co - Progressive Jackpot, Instant deposit and play
Post by: savantguy on June 11, 2013, 07:55:27 PM
Bitcoinslots.co just released its new design to all users! Please check it out and let us know how it looks? We will be making various improvements in the upcoming weeks.

Thanks for all your support!


Title: Re: BitcoinSlots.co - Bitcoin Slots Machine. Progressive Jackpot, no registration.
Post by: savantguy on June 14, 2013, 07:46:07 PM
What do you think of the new design?


Title: Re: BitcoinSlots.co - Bitcoin Slots Machine. Progressive Jackpot, no registration.
Post by: savantguy on June 23, 2013, 04:48:21 PM
Lets get those bets going! The jackpot pool is still waiting to be won!


Title: Re: BitcoinSlots.co - Bitcoin Casino Slots - Affiliate Program Just Launched!
Post by: savantguy on June 24, 2013, 04:24:40 PM
Affiliate Program just launched! Just register for a username and you can click the referral tab. Just give out that link and you will get 10% of the players losses. Your commision % can go up on performance!


Title: Re: BitcoinSlots.co - Bitcoin Casino Slots - Affiliate Program Just Launched!
Post by: savantguy on August 09, 2013, 09:40:23 PM
Added 3 banner sizes to the affiliate program. To get 10% of all house winnings for the life of the player please goto http://bitcoinslots.co/ and click on "Referals". Simply send traffic to that url and those users will be tagged.

This is a great idea for bitcoin related website owners to place on their unsold banner inventory advertisement slots.



Title: Re: BitcoinSlots.co - Bitcoin Casino Slots - Affiliate Program Just Launched!
Post by: savantguy on February 14, 2014, 04:53:45 PM
We are offering our project files for anyone wanting to open up their own progressive jackpot bitcoin slots site. This means you will have basically zero development time on launching your own. You could reskin the site with your own images very easily.

Please send your bids via PM.

Thanks!