Author

Topic: BitHorse.Co, Proveable fair and transparentVirtual Horse Gambling. How Fair? (Read 510 times)

hero member
Activity: 924
Merit: 1001
Unlimited Free Crypto
LOoks like a very nice website, too bad we have to sign up to use it though. That's a personal grudge I have against sign up forms, nothing "personal" towards you or the site Smiley

Would you be comfortable to instead bet directly against a designated BTC address?
hero member
Activity: 924
Merit: 1001
Unlimited Free Crypto
LOoks like a very nice website, too bad we have to sign up to use it though. That's a personal grudge I have against sign up forms, nothing "personal" towards you or the site Smiley

You read minds sir, That is a future feature in the baker's head right now.
legendary
Activity: 1596
Merit: 1010
LOoks like a very nice website, too bad we have to sign up to use it though. That's a personal grudge I have against sign up forms, nothing "personal" towards you or the site Smiley
hero member
Activity: 924
Merit: 1001
Unlimited Free Crypto
Bithorse is finally out of the beta and dealing with real bitcoins, real profits, come and try our free faucet as well!
hero member
Activity: 924
Merit: 1001
Unlimited Free Crypto
BitHorse! the first Bitcoin based Virtual Horse racing game !
Bet on your favourite horse and watch her race to the finish line!



Hello and good day to you all,

We have been re-developing bithorse.co from scratch. We are introducing a new fair, provable and transparent virtual horse racing gambling system. Here we hope we will get the attraction and opinions about the technical aspect of how fair it is. So to describe the round generation, here are the steps we use:

General Information:
- A round happens every ten minutes.
- There are 5 horses

Flow:
1- Generating a random RSA pair and publishing the public key
2- Announce the starting of the round (timestamp == now())
3- At the end of the round fetch the following:
             - Last litecoin block generated (Timestamp, BlockNumber and BlockHash)
4- Sign the block hash with the round private key, the one that corresponds to the public key announced at the beginning
of the round.
5- Generate this JSON array with the round information:
                    $round_array {
            "round_timestamp": $timestamp,
            "round_publickey": $publickey,
            "litecoin_block": $round_block_number_match,
            "litecoin_block_timestamp": $round_block_timestamp_match,
            "litecoin_block_hash": $round_block_hash_match,
            "litecoin_block_hash_signature": $round_signature,
            "bets_detail": {[{[id_bet:xx],[user_id:xx],[satoshiamount:xx],[round_id:xx],[timestamp:xx]}]}, {[{[id_bet:xx],[user_id:xx],[satoshiamount:xx],[round_id:xx],[timestamp:xx]}]}      

*JSON above is not formatted well, it is just to give the main idea.

6- Calculate SHA256Sum for the JSON array, five times, one per horse.
7- Assign each hash to the horses respectfully; 1,2,3, etc.
8- Sort them according to this compare function:

function cmp_result($a, $b)
{
    if (intval(substr($a['hash'], 32, 5)) == intval(substr($b['hash'], 32, 5))) {
        return 0;
    }
    return (intval(substr($a['hash'], 32, 5)) < intval(substr($b['hash'], 32, 5))) ? -1 : 1;
}

*Basically compare the hashes from the 32rd byte -> 37th byte.

9- The final sorted array of hashes determines who is the first, second, third, fourth and last horse to win.

We will add more info and examples and we are still in beta, The final release will include buttons on page to download such information for personal re-verification of results. Please share your opinions about how fair and random this method is. And if we can improve its fairness. Thank you for reading and good day

- Bithorse.co development team
Jump to: