Bitcoin Forum
September 21, 2025, 03:18:55 PM *
News: Latest Bitcoin Core release: 29.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Economy / Gambling / Re: 999xCrash game in Telegram fairness verification and salt decision notification on: August 30, 2024, 02:35:49 AM
Let me answer your doubts. Players can compare the results of this round with the results of the last N rounds to confirm whether the dealer is cheating. Because we use continuously generated hashes to generate results.
For the specific principle, you can refer to:
https://top.game/help/provably-fair

Well, this time i was wrong, if the result is based on the previous game then you are using a good provably fair engine, i have seen people doing this kind of provably fair for games like crash in the past.

I got confused because i only saw the seed and salt, and for a moment i thought you were taking random salts for each round, casinos like freebitco do it, and i don't feel that's a good provably fair method, but you are implementing a good one, so, good luck with your project and thanks for offering a fair engine to the community, we need more of those.

Thank you.
Our vision is to strive to create a fair gaming environment so that players can enjoy the real joy of the game!
2  Economy / Gambling / Re: 999xCrash game in Telegram fairness verification and salt decision notification on: August 30, 2024, 01:59:28 AM
Code:
(seed, salt) => {
    const nBits = 52; // number of most significant bits to use

    // 1. HMAC_SHA256(message=seed, key=salt) 
    const hmac = CryptoJS.HmacSHA256(CryptoJS.enc.Hex.parse(seed), salt);
    seed = hmac.toString(CryptoJS.enc.Hex);

Just an observation, here is different the input seed than the last seed, so, why not use different names for that variable, like seed and serverSeed.

And your provably fair has a problem, is not fair at all, let me explain why.

A true provably fair engine needs a Nonse, that's a number that increases on each bet, that way your seed and salt are the same on each roll, but you provide a "secret seed", that way the user can't predict the next roll, and if the user want to reveal that secret seed, then he must ask for another seed. That's how the perfect provably fair system works. And since you only have a seed and salt that means your salt is dynamic, and you can manipulate that on each roll to decrease the user odds. The only protection for the user is to change the seed each roll.

Let me answer your doubts. Players can compare the results of this round with the results of the last N rounds to confirm whether the dealer is cheating. Because we use continuously generated hashes to generate results.
For the specific principle, you can refer to:
https://top.game/help/provably-fair
3  Economy / Gambling / Re: 999xCrash game in Telegram fairness verification and salt decision notification on: August 30, 2024, 01:43:20 AM
Block 40,009,999 has been mined, so we have our salt: mqOPKpO312RmSiIhbBh6w9JZrmAahjBgYd8+LIPjaU8=
https://tonscan.com/blocks/-1/8000000000000000/40009999

4  Economy / Gambling / Re: 999xCrash game in Telegram fairness verification and salt decision notification on: August 29, 2024, 01:51:44 PM
Yes
I'm glad you're interested in our platform. Stay tuned!
5  Economy / Gambling / Re: 999xCrash game in Telegram fairness verification and salt decision notification on: August 29, 2024, 01:18:05 PM
We are applying our online casino technology to TON. Please look forward to our games.
 Grin
6  Economy / Gambling / 999xCrash game in Telegram fairness verification and salt decision notification on: August 29, 2024, 12:34:47 PM
Hello world,

We are about to launch a Crash game in Telegram. In order to provide an absolutely fair game, we will now announce the formula for fairness verification and how to determine the salt:

GAME RESULT FORMULA:
Code:
const gameResult = (seed, salt) => {
    const nBits = 52; // number of most significant bits to use

    // 1. HMAC_SHA256(message=seed, key=salt)  
    const hmac = CryptoJS.HmacSHA256(CryptoJS.enc.Hex.parse(seed), salt);
    seed = hmac.toString(CryptoJS.enc.Hex);

    // 2. r = 52 most significant bits
    seed = seed.slice(0, nBits / 4);
    const r = parseInt(seed, 16);

    // 3. X = r / 2^52
    let X = r / Math.pow(2, nBits); // uniformly distributed in [0; 1)
    X = parseFloat(X.toPrecision(9));

    // 4. X = 90 / (1-X)
    X = 90 / (1 - X);

    // 5. return max(trunc(X), 100)
    const result = Math.floor(X);
    return Math.max(1, result / 100);
  };
 
GET SALT:
Prior to being used for calculation, each game hash is salted with the lowercase + hexadecimal string representation of the hash from pre-selected TON Masterchain block 40,009,999. This block has not been mined yet as of this post, proving that we have not deliberately selected a mined block with a hash that could be favorable to the house. Once block 40,009,999 has been mined, the results will be posted to this thread as a reply.
[/quote]
7  Economy / Gambling / Re: Crash game fairness verification and salt decision notification on: September 17, 2023, 07:05:34 AM
Block 808,080 has been mined, so we have our salt: 0000000000000000000211eb82135b8f5d8be921debf8eff1d6b38b73bc03834
https://blockchair.com/bitcoin/block/808080
8  Economy / Gambling / Crash game fairness verification and salt decision notification on: August 22, 2023, 07:22:58 AM
Hello world,

We are about to launch our own Crash game. In order to provide an absolutely fair game, we will now announce the formula for fairness verification and how to determine the salt:

GAME RESULT FORMULA:
Code:
const gameResult = (seed, salt) => {
    const nBits = 52; // number of most significant bits to use

    // 1. HMAC_SHA256(message=seed, key=salt)  
    const hmac = CryptoJS.HmacSHA256(CryptoJS.enc.Hex.parse(seed), salt);
    seed = hmac.toString(CryptoJS.enc.Hex);

    // 2. r = 52 most significant bits
    seed = seed.slice(0, nBits / 4);
    const r = parseInt(seed, 16);

    // 3. X = r / 2^52
    let X = r / Math.pow(2, nBits); // uniformly distributed in [0; 1)
    X = parseFloat(X.toPrecision(9));

    // 4. X = 99 / (1-X)
    X = 99 / (1 - X);

    // 5. return max(trunc(X), 100)
    const result = Math.floor(X);
    return Math.max(1, result / 100);
  };
 
GET SALT:
Prior to being used for calculation, each game hash is salted with the lowercase + hexadecimal string representation of the hash from pre-selected Bitcoin block 808,080. This block has not been mined yet as of this post, proving that we have not deliberately selected a mined block with a hash that could be favorable to the house. Once block 808,080 has been mined, the results will be posted to this thread as a reply.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!