Bitcoin Forum
May 01, 2024, 04:01:46 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Economy / Gambling / Pasino.com Provably Fair Seeding Event for Fortune Wheel on: May 11, 2022, 01:30:39 PM
Welcome to the Pasino Provably Fair Seeding Event for Fortune Wheel!

This will reuse the idea posted by Ryan and used for Bustabit v1.
   
A chain of 10 million (1e7) sha256 hashes was generated, starting with a Server Secret that has been repeatedly fed the output of sha256 hash back into itself 10 million times.

The final hash in the chain is: 172cb498b3df5f017c3763b6685f8b8e972054ab5101075413b1fb9d1ca58b15, by publicizing it here we are preventing any ability to pick an alternate sha256 chain.
Pasino.com will play through that chain of hashes, in reverse order, and use the hashes to determine the crash point.
To avoid criticism that the Server Secret used in step 1 was carefully chosen to generate lots of "bad" crash points, each hash in the chain will be salted with a client seed, which we have no control of.

The client seed will be the block hash of a Bitcoin block that hasn't yet been mined: block 736013


Using our chosen starting serverSeed, the hash terminating the chain is 172cb498b3df5f017c3763b6685f8b8e972054ab5101075413b1fb9d1ca58b15. That is to say, the first game's hash played under the new provably fair scheme, when hashed will be 172cb498b3df5f017c3763b6685f8b8e972054ab5101075413b1fb9d1ca58b15.
2  Economy / Gambling / New Pasino.com Provably Fair Seeding Event for Crash! on: November 29, 2021, 05:55:20 AM
Welcome to the Pasino.com Provably Fair Seeding Event for Crash!

This will reuse the idea posted by Ryan and used for Bustabit v1.
  
A chain of 10 million (1e7) sha256 hashes was generated, starting with a Server Secret that has been repeatedly fed the output of sha256 hash back into itself 10 million times.

The final hash in the chain is: b066c23ef601659038ad46860677642de5f8541418002b43ef56c406270e78e9, by publicizing it here we are preventing any ability to pick an alternate sha256 chain.
Pasino.com will play through that chain of hashes, in reverse order, and use the hashes to determine the crash point.
To avoid criticism that the Server Secret used in step 1 was carefully chosen to generate lots of "bad" crash points, each hash in the chain will be salted with a client seed, which we have no control of.

The client seed will be the block hash of a Bitcoin block that hasn't yet been mined: block 711779

The reference code (javascript) is as follows:

Code:
function genGameHash(serverSeed) {
  return crypto.createHash('sha256').update(serverSeed).digest('hex');
}

The method to convert a game hash, mix it with the picked client seed to a money pot multiplier:

Code:
function toFixed(num, fixed) {
    var re = new RegExp('^-?\\d+(?:\.\\d{0,' + (fixed || -1) + '})?');
    return num.toString().match(re)[0];
}

function crashPointFromHash(serverSeed, clientSeed) {

  var actual_hash = CryptoJS.SHA512(clientSeed + "-" + serverSeed).toString();

  var p1 = parseInt((actual_hash.substr(0, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p2 = parseInt((actual_hash.substr(2, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p3 = parseInt((actual_hash.substr(4, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p4 = parseInt((actual_hash.substr(6, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);

  var roll = Math.floor(((p1 / Math.pow(256, 1)) + (p2 / Math.pow(256, 2)) + (p3 / Math.pow(256, 3)) + (p4 / Math.pow(256, 4))) * 1000000);

  var crash_point = toFixed(parseFloat(1000000 / (roll + 1) * 0.96), 2);

  return crash_point;

}


The chain could be generated with code such as:

Code:
var serverSecret =  'If you knew this, you could steal all my money';
var clientSeed = '0000examplehash';

var gamesToGenerate = 1e7;

var serverSeed = serverSecret;

for (var game = gamesToGenerate; game > 0; --game) {
  serverSeed = genGameHash(serverSeed);
  console.log('Game ' +  game + ' has a crash point of ' + (crashPointFromHash(serverSeed, clientSeed) / 100).toFixed(2) +'x', '\t\tHash: ' + serverSeed);
}

var terminatingHash = genGameHash(serverSeed);

console.log('The terminating hash is: ', terminatingHash);

Using our chosen starting serverSeed, the hash terminating the chain is b066c23ef601659038ad46860677642de5f8541418002b43ef56c406270e78e9. That is to say, the first game's hash played under the new provably fair scheme, when hashed will be b066c23ef601659038ad46860677642de5f8541418002b43ef56c406270e78e9.
3  Economy / Gambling / Pasino.com Provably Fair Seeding Event for Crash! on: April 12, 2021, 12:31:31 PM
Welcome to the Pasino.com Provably Fair Seeding Event for Crash!

This will reuse the idea posted by Ryan and used for Bustabit v1.
  
A chain of 10 million (1e7) sha256 hashes was generated, starting with a Server Secret that has been repeatedly fed the output of sha256 hash back into itself 10 million times.

The final hash in the chain is: 96bd217bd55f07aba2980b59210eaa27a9b302e17617092be7fea3e232132f41, by publicizing it here we are preventing any ability to pick an alternate sha256 chain.
Pasino.com will play through that chain of hashes, in reverse order, and use the hashes to determine the crash point.
To avoid criticism that the Server Secret used in step 1 was carefully chosen to generate lots of "bad" crash points, each hash in the chain will be salted with a client seed, which we have no control of.

The client seed will be the block hash of a Bitcoin block that hasn't yet been mined: block 678978

The reference code (javascript) is as follows:

Code:
function genGameHash(serverSeed) {
  return crypto.createHash('sha256').update(serverSeed).digest('hex');
}


The method to convert a game hash, mix it with the picked client seed to a money pot multiplier:

Code:
function toFixed(num, fixed) {
    var re = new RegExp('^-?\\d+(?:\.\\d{0,' + (fixed || -1) + '})?');
    return num.toString().match(re)[0];
}

function crashPointFromHash(serverSeed, clientSeed) {

  var actual_hash = CryptoJS.SHA512(clientSeed + "-" + serverSeed).toString();

  var p1 = parseInt((actual_hash.substr(0, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p2 = parseInt((actual_hash.substr(2, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p3 = parseInt((actual_hash.substr(4, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p4 = parseInt((actual_hash.substr(6, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);

  var roll = Math.floor(((p1 / Math.pow(256, 1)) + (p2 / Math.pow(256, 2)) + (p3 / Math.pow(256, 3)) + (p4 / Math.pow(256, 4))) * 1000000);

  var crash_point = toFixed(parseFloat(1000000 / (roll + 1) * 0.96), 2);

  return crash_point;

}

The chain could be generated with code such as:

Code:
var serverSecret =  'If you knew this, you could steal all my money';
var clientSeed = '0000examplehash';

var gamesToGenerate = 1e7;

var serverSeed = serverSecret;

for (var game = gamesToGenerate; game > 0; --game) {
  serverSeed = genGameHash(serverSeed);
  console.log('Game ' +  game + ' has a crash point of ' + (crashPointFromHash(serverSeed, clientSeed) / 100).toFixed(2) +'x', '\t\tHash: ' + serverSeed);
}

var terminatingHash = genGameHash(serverSeed);

console.log('The terminating hash is: ', terminatingHash);

Using our chosen starting serverSeed, the hash terminating the chain is 96bd217bd55f07aba2980b59210eaa27a9b302e17617092be7fea3e232132f41. That is to say, the first game's hash played under the new provably fair scheme, when hashed will be 96bd217bd55f07aba2980b59210eaa27a9b302e17617092be7fea3e232132f41.
4  Economy / Gambling / FaucetPay.io Provably Fair Seeding Event for Crash! on: June 15, 2020, 10:43:37 AM
Welcome to the FaucetPay Provably Fair Seeding Event for Crash!

This will reuse the idea posted by Ryan and used for Bustabit v1.
   
A chain of 10 million (1e7) sha256 hashes was generated, starting with a Server Secret that has been repeatedly fed the output of sha256 hash back into itself 10 million times.

The final hash in the chain is: e3ac72b2b84cb8b64669e0441e50bb24834980ed065a479113505c0984ac32c5, by publicizing it here we are preventing any ability to pick an alternate sha256 chain.
FaucetPay.io will play through that chain of hashes, in reverse order, and use the hashes to determine the crash point.
To avoid criticism that the Server Secret used in step 1 was carefully chosen to generate lots of "bad" crash points, each hash in the chain will be salted with a client seed, which we have no control of.

The client seed will be the block hash of a Bitcoin block that hasn't yet been mined: block 635017

The reference code (javascript) is as follows:

Code:
function genGameHash(serverSeed) {
  return crypto.createHash('sha256').update(serverSeed).digest('hex');
}


The method to convert a game hash, mix it with the picked client seed to a money pot multiplier:

Code:
function toFixed(num, fixed) {
    var re = new RegExp('^-?\\d+(?:\.\\d{0,' + (fixed || -1) + '})?');
    return num.toString().match(re)[0];
}

function crashPointFromHash(serverSeed, clientSeed) {

  var actual_hash = CryptoJS.SHA512(clientSeed + "-" + serverSeed).toString();

  var p1 = parseInt((actual_hash.substr(0, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p2 = parseInt((actual_hash.substr(2, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p3 = parseInt((actual_hash.substr(4, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);
  var p4 = parseInt((actual_hash.substr(6, 2) + '').replace(/[^a-f0-9]/gi, ''), 16);

  var roll = Math.floor(((p1 / Math.pow(256, 1)) + (p2 / Math.pow(256, 2)) + (p3 / Math.pow(256, 3)) + (p4 / Math.pow(256, 4))) * 1000000);

  var crash_point = toFixed(parseFloat(1000000 / (roll + 1) * 0.96), 2);

  return crash_point;

}

The chain could be generated with code such as:

Code:
var serverSecret =  'If you knew this, you could steal all my money';
var clientSeed = '0000examplehash';

var gamesToGenerate = 1e7;

var serverSeed = serverSecret;

for (var game = gamesToGenerate; game > 0; --game) {
  serverSeed = genGameHash(serverSeed);
  console.log('Game ' +  game + ' has a crash point of ' + (crashPointFromHash(serverSeed, clientSeed) / 100).toFixed(2) +'x', '\t\tHash: ' + serverSeed);
}

var terminatingHash = genGameHash(serverSeed);

console.log('The terminating hash is: ', terminatingHash);

Using our chosen starting serverSeed, the hash terminating the chain is e3ac72b2b84cb8b64669e0441e50bb24834980ed065a479113505c0984ac32c5. That is to say, the first game's hash played under the new provably fair scheme, when hashed will be e3ac72b2b84cb8b64669e0441e50bb24834980ed065a479113505c0984ac32c5.
5  Economy / Games and rounds / FORTNITE Tournament Sponsored by NanoGames.io - Win up to 1300 NANO on: May 17, 2019, 11:20:01 PM




6  Economy / Gambling / 🚀 NanoGames.io - Social Gambling | Play or Invest with a leverage up to 5x 🚀 on: February 03, 2019, 10:23:41 PM


7  Economy / Gambling / NanoGames.io V2 Provably Fair Seeding Event! on: January 29, 2019, 10:15:50 AM
Welcome to the NanoGames.io V2 Provably Fair Seeding Event!

This will reuse the idea posted by Ryan and used for Bustabit v1.
   
A chain of 10 million (1e7) sha256 hashes was generated, starting with a Server Secret that has been repeatedly fed the output of sha256 hash back into itself 10 million times.

The final hash in the chain is: 39c1ad95ebdafcec5f215549800f86b02c301010481fcb11cf4363d02baacae0, by publicizing it here we are preventing any ability to pick an alternate sha256 chain.
NanoGames.io will play through that chain of hashes, in reverse order, and use the hashes to determine the crash point.
To avoid criticism that the Server Secret used in step 1 was carefully chosen to generate lots of "bad" crash points, each hash in the chain will be salted with a client seed, which we have no control of.

The client seed will be the block hash of a Bitcoin block that hasn't yet been mined: block 560621

The reference code (javascript) is as follows:

The method to create the hash chain is simply sha256:

Code:
 
Code:
 function genGameHash(serverSeed) {
  return crypto.createHash('sha256').update(serverSeed).digest('hex');
}

The method to convert a game hash, mix it with the picked client seed to a money pot multiplier:

Code:
Code:
function crashPointFromHash(serverSeed, clientSeed) {
  function divisible(hash, mod) {
    // We will read in 4 hex at a time, but the first chunk might be a bit smaller
    // So ABCDEFGHIJ should be chunked like  AB CDEF GHIJ
    var val = 0;
   
    var o = hash.length % 4;
    for (var i = o > 0 ? o - 4 : 0; i < hash.length; i += 4) {
      val = ((val << 16) + parseInt(hash.substring(i, i+4), 16)) % mod;
    }

    return val === 0;
  }

  var hash = crypto.createHmac('sha256', serverSeed).update(clientSeed).digest('hex');

  /* In 1 of 101 games the game crashes instantly. */
  if (divisible(hash, 101))
     return 0;

The chain could be generated with code such as:

Code:
 
Code:
var serverSecret =  'If you knew this, you could steal all my money';
var clientSeed = '0000examplehash';

var gamesToGenerate = 1e7;

var serverSeed = serverSecret;

for (var game = gamesToGenerate; game > 0; --game) {
  serverSeed = genGameHash(serverSeed);
  console.log('Game ' +  game + ' has a crash point of ' + (crashPointFromHash(serverSeed, clientSeed) / 100).toFixed(2) +'x', '\t\tHash: ' + serverSeed);
}

var terminatingHash = genGameHash(serverSeed);

console.log('The terminating hash is: ', terminatingHash);

Using our chosen starting serverSeed, the hash terminating the chain is 39c1ad95ebdafcec5f215549800f86b02c301010481fcb11cf4363d02baacae0. That is to say, the first game's hash played under the new provably fair scheme, when hashed will be 39c1ad95ebdafcec5f215549800f86b02c301010481fcb11cf4363d02baacae0.
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!