Post
Topic
Board Gambling
Re: Bircarra-Seeding Event
by
Bazinga888888
on 28/08/2021, 02:43:27 UTC
                                                               https://i.imgur.com/vmVq4zc.png

To establish transparency, Bitcarra is using the provably fair concept to eliminate external intervention in the results of all the games that we are providing on the platform. Since the blockchain is immutable, players will also be able to verify all the historical game multipliers through a public algorithm.

The current date and time as of this posting are 28/08/2021 10:00 (GMT +8), and the current Bitcoin block is 697905. For the salt, we will commit to using the lowercase, the hexadecimal string representation of the hash from block 697929, which will only be mined approximately 4 hours away (i.e. mining rate of 10 min/block) in the future. Since the future blocks have not been mined, we would not have been able to deliberately select a block with a hash that could be favorable to us. The 17 initial salts will be based on the subsequent blocks, each sampled three blocks apart. For example, the first block in consideration is 697929, the subsequent block for the following game will be 697932, and so on.

For every game, we have pre-generated a chain of 5,000,000 SHA-256 hashes. Each element is the hash of the lowercase, hexadecimal string representation of the previous hash. Their respective terminating hashes are presented below:

NoBitcarra Games Terminating Hash
1Dual Crash Game D121732a6b15e3927a10403e234b60ebe90305cd42869b67fe42787c13e4166a59
2Dual Crash Game D27d70a68836a897db950d3c9a09598b22999661d028b6757495a96713b565472f
3Dual Crash Game D34cada73e2bd7851c4fa68702e57984b0af306cbc904e319f2502caaa78193f3b
4Dual Crash Game D4e15139141a2f3fb6090d68cfd92fc88459b6c3efd5f7db838f5588f8ab299604
5Dual Crash Game D5e40379973d02b968d11c2657ba70694c22e084f15f34d06883215f04a5b29afb
6Dual Crash Game D662f47c8170b34037d1c5ffe5423a523c75338162033d1d44de2316b2c3fa729c
7Dual Crash Game D7591511fac4dcb0ababe7bae25bf60fb3505a4774ae8760edfce06d8020d6dc4d
8Dual Crash Game D80704f8635d94ea2154159498c012640685e02be9ddd2101ea42fd6d7bc99c17e
9Dual Crash Game D953f11ae4ac147f2e486626548bc65e124bc267a0fb3a6c0e9e21c325314146b8/td]
10Dual Crash Game D10953a848d472a72a992b2a5cb2acd1df051953aaef85bfdf291a0978c16caa679
11Dual Crash Game D112327b17f74a435176478acf9116ce32af9aca11c6b5be870fd090d4dce1e98be
12Dual Crash Game D121667e180280d95abc3f57f574bb1942571da60f78912d9fe61785bba5a886f48
13Single Crash Game S14cda5e6d1237af68cca28f38f4ab744dd1d6439b2e3d16a7c5b03ff676592092
14Single Crash Game S2cdd2e03da8fe4fda82d1e95dfb1f88d606aa7f42b5332cc7eeb18f17af116ff0
15Single Crash Game S3636b9b7bbbfe000820db4c497bd8ff8a18f9e5e62dfd68c6958bc0a1a13ad826
16Single Crash Game S4ffc97f599db4b04f29d1ed588969aceb771d30bf5c7ed04fdfd85e253adf23b5
17Classic Crash Game C1614546bdbe297a0c838559efd65dec9a2b6af73cb99a5ba5cd58067a07ab1de0

To get the results of the games, these are our implementations of how we use the hashes.

Implementation of the Single Crash Game is as follows:

export function getMultiplier(seed, salt, offset = 2.5) {
   const nBits = 52;

   const hmac = HmacSHA256(seed, salt);
   seed = hmac.toString(enchex);

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

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

   X = (100 - offset) / (1 - X);

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

Implementation of the Dual Crash Game is as follows:

export function getDual(seed, salt) {
 const nBits = 40;         // number of most bits to use per number
 const nChars = nBits / 4; // number of hex characters per number
 const hmac = CryptoJS.HmacSHA256(seed, salt);
 
 seed = hmac.toString(CryptoJS.enc.Hex);
 
 // Extract 6 slices from the hash
 const hexNumbers = [];
 for (let i = 0; i < 6; i++) {
   const number = seed.slice(i * nChars, nChars * (i + 1));
   hexNumbers.push(number);
 }
 
 // Convert 6 slices to a number between 0-9
 return hexNumbers
   .map(n => parseInt(n, 16) * 10)
   .map(n => n / Math.pow(2, nBits))
   .map(Math.floor);
};

Implementation of the Classic Crash Game is as follows:


export function getClassic(seed, salt, offset = 1) {
   const nBits = 52;

   const hmac = HmacSHA256(seed, salt);
   seed = hmac.toString(enchex);

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

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

   X = (100 - offset) / (1 - X);

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

For more information about the Bitcoin block being mined, you can also log on to https://www.blockchain.com/btc/blocks