Author

Topic: MintDice 2.0 BitRocket Seeding Event (Read 90 times)

hero member
Activity: 1328
Merit: 563
MintDice.com | TG: t.me/MintDice
August 13, 2021, 05:43:55 PM
#3
hero member
Activity: 1328
Merit: 563
MintDice.com | TG: t.me/MintDice
August 09, 2021, 11:49:58 AM
#2
Hey everyone. MintDice has recently launched it's 2.0 platform. And with this, we are looking to update our Provably Fair system to the public with our BitRocket Bitcoin crash game and hosting a public seeding event. We have generated a chain of 10,000,000 SHA256 hashes. Each element is the hash of the lowercase, hexadecimal string representation of the previous hash.

The hash of the chain's last element is: 239a98ad68258c8abef5cbe062ac58f72d798b088d1ea063e89ea5a774a3841a.

Every game of BitRocket maps to a hash in the chain: The 10,000,000th element of the chain is the hash of game #1 and the first element in the chain is the hash of game #10,000,000. To verify that a hash belongs to a game #n, simply hash it n times and compare the result with the terminating hash.

To calculate a game's result from its hash:
Code:
const crypto = require("crypto")

function gameResult(seed, salt) {
  const nBits = 52 // number of most significant bits to use

  // 1. HMAC_SHA256(key=salt, message=seed)
  const hmac = crypto.createHmac("sha256", salt)
  hmac.update(seed)
  seed = hmac.digest("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)

  // 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)
}


Before being used to calculate the corresponding result, each game hash is salted with the lowercase, hexadecimal string representation of the hash of Bitcoin block 695,600. This block has not been mined yet, proving that MintDice has not deliberately picked a chain that is unfavorable for players.

Please quote the above message and Bitcoin block for any legacy and audit purposes.

Regards, MintDice

Here to confirm it's with MintDice and quote the message.

I'll update the thread soon since 2.0 is mostly fully live and we have a lot of exciting things coming online over the coming weeks and months Wink
copper member
Activity: 131
Merit: 4
MintDice.com | TG: t.me/MintDice
August 09, 2021, 11:39:21 AM
#1
Hey everyone. MintDice has recently launched it's 2.0 platform. And with this, we are looking to update our Provably Fair system to the public with our BitRocket Bitcoin crash game and hosting a public seeding event. We have generated a chain of 10,000,000 SHA256 hashes. Each element is the hash of the lowercase, hexadecimal string representation of the previous hash.

The hash of the chain's last element is: 239a98ad68258c8abef5cbe062ac58f72d798b088d1ea063e89ea5a774a3841a.

Every game of BitRocket maps to a hash in the chain: The 10,000,000th element of the chain is the hash of game #1 and the first element in the chain is the hash of game #10,000,000. To verify that a hash belongs to a game #n, simply hash it n times and compare the result with the terminating hash.

To calculate a game's result from its hash:
Code:
const crypto = require("crypto")

function gameResult(seed, salt) {
  const nBits = 52 // number of most significant bits to use

  // 1. HMAC_SHA256(key=salt, message=seed)
  const hmac = crypto.createHmac("sha256", salt)
  hmac.update(seed)
  seed = hmac.digest("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)

  // 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)
}


Before being used to calculate the corresponding result, each game hash is salted with the lowercase, hexadecimal string representation of the hash of Bitcoin block 695,600. This block has not been mined yet, proving that MintDice has not deliberately picked a chain that is unfavorable for players.

Please quote the above message and Bitcoin block for any legacy and audit purposes.

Regards, MintDice
Jump to: