Bitcoin Forum
May 11, 2024, 01:10:27 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Economy / Gambling / Re: bustabit – The original crash game on: February 27, 2024, 06:34:44 PM
Now that bustabit is using Leo's hashchain I can publish the seed of mine: The hash of the chain's final game #10,000,000 would have been c7229ce894a08e1d382c14e8c3c02bb06bc3b11dac3b370de6909bdfad09f9f6. In case anyone is curious, the median multiplier across the entire chain is 1.97x. The median across the part that wasn't played (game #8,535,717 and up) is also 1.97x.

I actually was waiting for this. The golden hash! It's pretty crazy to think that anyone who could get access to this hash literally would have access to hundreds of millions of dollars.

Thanks for revealing the final hash, I was wondering if you'd do it. Very nice. You've been so amazing so far Daniel, thanks for everything.
2  Economy / Gambling discussion / Re: bustabit.com - New seeding event on: February 19, 2024, 05:56:30 PM
Welcome to bustabit's third provably fair seeding event.

Our provably fair system, based on the first seeding event, is evolving into an advanced multi-party provably fair scheme. We have integrated ActuallyFair.com's Vx, a third-party service contributing to the algorithm that converts game hashes to game results. This not only helps us have a more secure system, but also preserves all provably fair guarantees while allowing Actually Fair to verify all games on behalf of our players.

1. Starting with a secret, we have generated a chain of 100,000,000 sha256 hashes by recursively hashing the binary value of the previous hash. Every hash in the chain will be used to generate a game result. The first element in the chain is the hash of game #100,000,000 and the last one is the hash of game #1, aka our terminating hash, which is: 567a98370fb7545137ddb53687723cf0b8a1f5e93b1f76f4a1da29416930fa59.

You can verify if a hash is part of the chain with a function like this:
Code:
import { sha256 } from "@noble/hashes/sha256";
import { bytesToHex, hexToBytes } from "@noble/hashes/utils";

const TERMINATING_HASH = "567a98370fb7545137ddb53687723cf0b8a1f5e93b1f76f4a1da29416930fa59";

function verifyInChain(hash: Uint8Array) {
  for (let gameId = 1; gameId < 100e6; gameId++) {
    hash = sha256(hash);
    if (bytesToHex(hash) === TERMINATING_HASH) {
      console.log("hash is in the chain. It is game: ", gameId);
      return gameId;
    }
  }
  console.error("hash is not in the chain");
}

Which could be used like:
Code:
verifyInChain(
  hexToBytes("70eed5c29bde5132f4e41ec8b117a31533e5b055c6c21174d932b377a1855a04")
);

2. Vx will use its BLS public key: b40c94495f6e6e73619aeb54ec2fc84c5333f7a88ace82923946fc5b6c8635b08f9130888dd96e1 749a1d5aab00020e4.

3. We will play through that chain of hashes, in reverse order, and use the hashes to determine the crash point in a provably fair manner.

4. To prove that Actually Fair and bustabit have picked a fair hash chain (and public key) we will also mix in the lowercase, hexadecimal representation of the hash of a Bitcoin block that has not been mined yet: Bitcoin block 831500. This will be known as our game salt.

5. Vx gives us a signature (vxSignature) by signing the concatenation of the previous game hash along with the game salt. Vx uses BLS signatures so that it is not possible to generate multiple valid signatures for a particular message. We can validate the signature with something like:

Code:
import { bls12_381 as bls } from "@noble/curves/bls12-381";
import { concatBytes, utf8ToBytes } from "@noble/hashes/utils";

const VX_PUBKEY = "b40c94495f6e6e73619aeb54ec2fc84c5333f7a88ace82923946fc5b6c8635b08f9130888dd96e1749a1d5aab00020e4";

function validateSignature(
  gameSalt: string, // the hash of block 831500
  prevGameHash: Uint8Array,
  vxSignature: Uint8Array
) {
  const message = concatBytes(prevGameHash, utf8ToBytes(gameSalt));
  return bls.verify(vxSignature, message, VX_PUBKEY);
}

5. Once we have a valid vxSignature, we take the next unused hash from the chain and use it to determine game results:
Code:
import { hmac } from "@noble/hashes/hmac";
import { sha256 } from "@noble/hashes/sha256";
import { bytesToHex } from "@noble/hashes/utils";

export function gameResult(vxSignature: Uint8Array, gameHash: Uint8Array) {
  const nBits = 52; // number of most significant bits to use

  // 1. HMAC_SHA256(key=signature, message=hash)
  const hash = bytesToHex(hmac(sha256, vxSignature, gameHash));

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

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

  // 4. X = 99 / (1 - X)
  X = 99 / (1 - X); // 1 - X so there's no chance of div-by-zero

  // 5. return max(trunc(X), 100)
  const result = Math.floor(X);
  return Math.max(1, result / 100);
}

For more reference code, take a look at our open-source verifier and at this illustrative demo.

Quoting as well to prevent editing of OP.
3  Economy / Gambling / Re: bustabit – The original crash game on: February 19, 2024, 05:06:01 PM
I've reached an agreement with Leo Medina to sell bustabit and bustadice. While most of you know him as the operator of MoneyPot, he's worked with me as part of our developer team behind the scenes for several years.

Here's what's happening:
Next Monday (February 26) at 15:00 UTC bustabit will go offline during its regular maintenance window and Leo will step in to take over. Because of the complicated nature of the transfer we expect the downtime to last longer than usual, up to a few hours. We will keep this thread updated with our progress.

What happens to bankroll investments?
I have reached out to all bankroll investors via email and asked those that do not want to remain invested in the bankroll to divest. Investors that I haven't been able to get in touch with by next week will be divested prior to the handover. It goes without saying that all users including investors are free to withdraw all their money at any time.

Congratulations on the sale! Bustabit has been the gold standard in terms of trustworthiness, reliability, and security for the past 6 years, and redefined what it means to gamble on the internet in a safe, secure and provably fair way. Daniel is one of the most talented, smart and capable people in the Bitcoin space, and I have no doubt that he would only sell Bustabit to someone who he knows can take care of the ship just as well as him.

I look forward to see what Leo makes of Bustabit!
4  Economy / Gambling / Re: IsItProvablyFair.org - Instantly verify if the game you just played was fair! on: January 03, 2024, 04:06:07 AM
Nice work! I'd suggest also offering something that people can run themselves, so they can verify the code is really telling the truth or not.

  I'll try to make it faster by upgrading the server,  if there's enough interest for the site.

There's no need to upgrade the server to make it faster.  Jut track the latest game you've successfully verified, e.g.


So let's say you verify game 23:

Code:
maxVerifiedGame = { gameId: 23, hash: "0f08611e0751a8311ef15d80ed83fa78f7d44e8e0713e47da8481ebba240c665" }


Now if you want to verify game 25,  you only need to hash it 2 times and then check if matches `maxVerifiedGame`. If it does, then game 25 is verified. If it doesn't, then it's not.


Basically it's the same idea of a blockchain. When a new block(s) come in, you only verify the new block(s) there's no reason to verify the old ones all the way to the genesis block each time

Good idea! Also, yes, I've made it so people can run the code locally by downloading the files on Github. All the source code for the site is open source and available here: https://github.com/drkhero/isitprovablyfair

5  Economy / Gambling / Re: IsItProvablyFair.org - Instantly verify if the game you just played was fair! on: January 02, 2024, 05:19:27 PM

All the code for this website is open source and available on Github: https://github.com/drkhero/isitprovablyfair

If this website gains traction and if there's interest for it, I'll be extending support for other casinos too. Do not hesitate to give feedback and let me know what you all think!  Grin

Honestly, this is a very good development, and congratulations for coming up with such a wonderful idea and also bringing it to life.

But I am kind of sad though, would have made more sense if you would extend support for other casinos regardless of how much interest the project generates under Bustabit.
And besides, why choose Bustabit? Bustabit is not the most popular and most used online gambling casino on this forum, and personally, i believe that not too many users on this forum are playing there, if you needed alot of interest on this project, you should have choose casinos like Stake, Rollbit, bc.game and so on, this are popular casinos on this forum and I trust alot of users will want to use this your site to verify if the games played on any of this casinos is provably fair.

But all the same, I still hope you would provide support for other casinos regardless of how interest the program generates under Bustabit like I said before.


Thank you! I'll make sure to extend support to other casinos as soon as I can.


Welcome to bitcointalk platform. You really did good to have come up with such innovation. I checked the website and it works perfectly well and I must say that you spent time in fixing this up. It is worth commendable to have developed such a mechanism for fairness verification and this has been one of the major challenges faced by gamblers but as you have stated, I think a hand of extension to other casinos would be very much welcomed because as it is now, complaints have been raised here with respect to game fairness with members here blaming casinos of not being fair and manipulative results by the casinos in their own favour.
Your innovative idea is very much welcomed and if I may ask you, are you in any way affiliated to bustabit or a team member as I checked your few posts are just bustabit related.

Appreciate the kind words. And no, I'm not affiliated in any way with Bustabit, which is why I'm going to be extending support for other casinos.  Grin

Great site indeed, although i don't have an account on bustabit, but such provably fair verifier with only game hash and ID as requirement is better. Unlike other's that needs client and server seed, nonce, and some needs seed hash too.

What i observed is, it is still processing when you click the submit button even there's no data inputted on the textbox. You should at least put a required attribute there or some validation that the textbox is empty and required to avoid getting spammed which take resources by just clicking the submit button.

Thanks! I'll be addressing that too, as soon as possible.
6  Economy / Gambling / Re: IsItProvablyFair.org - Instantly verify if the game you just played was fair! on: January 02, 2024, 04:00:38 PM
Great tool! I have played Crash on bustabit for the first time and that has been a few years LOL.
I just have checked a few games from bustabit and it works fine. It takes a little time to get the result. Can you make it a bit faster?

If this website gains traction and if there's interest for it, I'll be extending support for other casinos too. Do not hesitate to give feedback and let me know what you all think!  Grin
I guess there aren't a lot of players who usually verify the game; I haven't seen many bothering on this LOL. Nevertheless, feel free to add support for moneypot as well. I played there last month.

Thank you for testing it out!

Yeah, when you run through 8 million games, it can take up to 10+ seconds to get a result.  I'll try to make it faster by upgrading the server,  if there's enough interest for the site.
7  Economy / Gambling / IsItProvablyFair.org - Instantly verify if the game you just played was fair! on: January 02, 2024, 03:28:51 PM
Hello BitcoinTalk Grin,


Today, I'm thrilled to launch isitprovablyfair.org, a brand new site that will allow players to verify in just a few seconds if the game they just played on Bustabit was provably fair.

It does this by checking if the game hash inputted by the user is on the same hash chain as the terminating hash that was generated in the 2018 seeding event: https://bitcointalk.org/index.php?topic=2807542.0. It can go through millions of games in just a matter of seconds.

How do we do that exactly ? We hash the game hash n times (n being the game ID), and then we check to see if the result matches with the terminating hash. If the result matches with the terminating hash, the game is provably fair. If it doesn't, then the game was altered.

Here is the NodeJs code used to check for the terminating hash:

Code:

function verifyingGameHash(data, gameID) {
    let hashedSeed = data;
    for (let i = 0; i < gameID; i++) {
        hashedSeed = crypto.createHash('sha256').update(hashedSeed).digest('hex');
    }
    return hashedSeed;
}


And finally, we also calculate the game bust with the salted hash of Bitcoin block #505750 to ensure that it matches too.

Code:

const gameResult = (seed, salt) => {
    const nBits = 52;


    const hmac = crypto.createHmac('sha256', salt);
    hmac.update(Buffer.from(seed, 'hex'));
    seed = hmac.digest('hex');


    seed = seed.slice(0, nBits / 4);
    const r = parseInt(seed, 16);


    let X = r / Math.pow(2, nBits);


    X = 99 / (1 - X);


    const result = Math.floor(X);
    return Math.max(1, result / 100);
};


const sha256 = (str) => {
    return crypto.createHash('sha256').update(str).digest('hex');
};


const gameBust = (gameHash, numRounds) => {
    let prevHash = null;
    for (let i = 0; i < numRounds; i++) {
        let hash = prevHash ? sha256(String(prevHash)) : gameHash;
       
        let bust = gameResult(hash, '0000000000000000004d6ec16dafe9d8370958664c1dc422f452892264c59526');
        return bust
        prevHash = hash;
    }
};




All the code for this website is open source and available on Github: https://github.com/drkhero/isitprovablyfair

If this website gains traction and if there's interest for it, I'll be extending support for other casinos too. Do not hesitate to give feedback and let me know what you all think!  Grin


8  Economy / Gambling discussion / Re: Bustabit Bankroll Profit Predictor on: November 13, 2023, 05:40:20 PM
Can you break down the formula that you use to make these calculations? It sounds a bit crazy that you can make more than 30% of the investment capital you deposited, back in profit in a year.  Roll Eyes

I am also getting security certificate warnings about your site, so I do not know if your SSL certificate are legit? In any way, it is nice to see those potential profits, but can we trust the calculations?



I am now breaking down the exact formula on the front page of the site to make it clear for everyone and it's as follows: (your bankroll stake) * (daily bankroll profit profit)

To predict future profits, this is the formula used:

(your bankroll stake) * (average daily profit of the last 60 days)

9  Economy / Gambling discussion / Re: Bustabit Bankroll Profit Predictor on: November 08, 2023, 12:54:09 AM
That's a simple site but it works fine. Is cool to know how we can get 0.00166 daily if you invest 1 BTC, it means the investor can get more than 0.5btc/year with 1 BTC, and that sounds too good to be real :p

Since we are talking about gambling some months the casino can end with loses, and that happens when some whales win big. But most of the months the house ends with profits.

By the way, it would be nice if you add a tab with info about the project, it would be nice to know the equation you use to do the math.

Thanks! Currently, the site is using an estimation of the total invested in the bankroll, alongside the daily bankroll profit for the estimation. According to my site, if you invest 1 BTC on November 8th, 2023 and hold till November 8th, 2024, you'll make 0.306 BTC in profit.

I believe those numbers to be fairly accurate. However, my site is still in alpha and i'm planning to improve the accuracy of the prediction by adding more data into the math calculation. The data i'm planning to add is the estimated commission taken by Bustabit, alongside a couple more.

In any case, I hope devans (bustabit owner) can give his thoughts on the site as well.
10  Economy / Gambling / Re: bustabit – The original crash game on: November 07, 2023, 11:53:43 PM
I created a site where people can estimate the returns they'd make if they invested in the Bustabit Bankroll.

The site is https://babprofitcalculator.com/

Let me know what you guys think  Cool
11  Economy / Gambling discussion / Bustabit Bankroll Profit Predictor on: November 07, 2023, 11:39:00 PM
Hi all,

I created a Bustabit Bankroll profit predictor, which uses the total invested and the daily bankroll profit to form an estimate of the amount of returns you can expect to make when investing in the Bustabit bankroll.

To predict future profits, we are using the daily profit average of the past 2 months.

You can access my site here: https://babprofitcalculator.com/

Let me know what you guys think Tongue
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!