立証システムの説明

フェアなルーレットの証明

ここBitstarzでプレイできる全てのBgamingゲームは、公平であり、それを立証することができます。プレイヤー自身がその場で確認できるシステムを設けています。

私たち(カジノ)またはあなた(プレイヤー)が、ゲームが始まる瞬間まで、結果を知ることができないことを保証する暗号方法を使用しています。それは、あなたがシンプルに目で確認できる、ゲーム上のインプットがあり、ゲームが始まる前に、使用される回転の指紋のようなものを表示することによって、ゲーム終了後に、同じ指紋のスピンが実際に使われたかどうかが、確認できるのです。このように機能します:

  1. ルーレットホイールのコンピュータモデルを使用して、ランダムな回転を選び、適用します。

    表示通りの順序でタイルをリスト上に並べ、ルーレットの回転が終わる位置をランダムに作る出すことができます。 私たちは最高のデジタル暗号化技術であるMersenne Twisterのアルゴリズムを使用しています。この回転を「結果」と呼びます。

  2. 回転の「指紋」と私たちが「秘密」と呼ぶ乱数をあなたに示します。

    私たちはこのハッシュを{Result+Secret}(結果+秘密)と呼んでいます。「秘密」と呼ばれる乱数を生成し、これを使ってゲームを作り上げるデータの指紋を作成します。これにより、指紋だけで回転の最終結果を把握することができなくなります。このユニークな指紋は、SHA-256ハッシングアルゴリズム(暗号的ハッシュ関数)でデータを暗号化作成します。これにより、ホイールと秘密の正確な回転に固有の指紋が作成され、後に、これを使用してゲームを確認することができます。

  3. あなたがゲームにひと押しできる機能を与えます。

    ホイールにあなたから追加のひとプッシュを加えることができるようになっています。0〜36区分の数字(タイルを1つ多く持つアメリカンルーレットの場合は37区分)を選択することによって、「スピン」(回転)を押す時に、その分だけホイールがさらに回るようになります。 自分の好きな数字を選択するか、ランダムに選択された数字を使用することができます。

  4. ゲームをプレイするのはあなた!

    ベットを賭け、ゲームを開始。何よりも楽しんでください。

  5. プレイしたゲームの生成に使用された実際のデータをお見せします。

    ゲーム終了後、ホイールの回転:{Result+Secret}(結果+秘密)、ゲーム前に表示された「指紋」(hash[Result+Secret])、 あなたがゲームに加えた操作、そして最終的な結果をお見せします。ゲーム前に与えられた指紋が回転と一致しているか、当システムの機能、又は自身で外部のハッシュ計算機を使って確かめることができます。

  6. あなたがゲームに加えた影響もお確かめください!

    回転(結果+秘密)と最終結果を比較することで、ゲーム上あなたが与えた影響を確認することもできます。 クライアントシード(プレーヤーによって指定されたランダムな数列)を使って、最初に着陸するはずだったタイル(区分)を越えて、多くのタイルが(Result + Secret)を数えることができ、その後、最終結果と同じタイルになります!

    独立した外部のウェブサイトを使用してゲームを確認する方法

    マニュアル検証


公平性を証明できるポケットダイス

ゲーミングの立証可能な公平性を実現するため、当社は SHA256Mersenne TwisterFisher-Yates shuffleなどの強力な暗号アルゴリズムを使用しています。これらはゲームがいじられたり、改ざんされないようにします。

技術的な実施

  1. 1から6までの30個の初期乱数を生成します。
  2. ランダムなサーバシードを生成します。
  3. 最初の数字はhash("sha256", json_encode($initial_numbers) . $server_seed)を使用してハッシュされます。 結果的なハッシュは公開されます。
  4. ゲームを始めると、ブラウザ内でjavascriptを使用し、クライアントシードを作成します。
  5. 最初の数字は、Fisher-Yatesシャッフル方によって、クライアントシードとシャッフルされます

最初の数字のシャッフルに使用されるコード:


  /**
  * Calculates hash of array with server seed
  * @param  array  $initialNumbers
  * @param  string $serverSeed
  * @return string
  */
  function hashInitialNumbers(array $initialNumbers, $serverSeed)
  {
      return hash('sha256', json_encode($initialNumbers) . $serverSeed);
  }

シャッフルに使用されるコード:


  /**
  * Shuffles array with client seed
  * @param  array  $items
  * @param  string $seed
  * @return array shuffled array
  */
  function fisherYatesShuffle(array $items, $seed)
  {
      $mt_seed = intval(substr(hash('sha256', $seed), -8), 16);
      mt_srand($mt_seed);
      $count = count($items);
      for ($i = $count - 1; $i > 0; $i--)
      {
          $j         = mt_rand(0, $i);
          $tmp       = $items[$i];
          $items[$i] = $items[$j];
          $items[$j] = $tmp;
      }
      return $items;
  }

  $finalShuffle = fisherYatesShuffle($initialNumbers, $clientSeed);
  $result = array_slice($finalShuffle, 0, 2);

公平性を証明できるカード

  1. シャッフルされたトランプひと組は、最先端のシャッフル技術と、”Secret”(シークレット)と呼ばれる別の番号を使用して生成します。

    Secretは、サーバーによって生成され、ハッシュに使用される番号です(後述)。シャッフルされたひと組を生成するには、Fisher Yate's Shuffleという方法を使用します。これは、抽選や、くじ引きなどの仕組みと同様です。さらに、選ばれた数字も完全にランダムであることを確実にするために、Mersenne Twister Mersenne Twisterアルゴリズムを使用して、Fisher Yateのシャッフルが使用する乱数を生成します。これはシャフリング技術の最上級の基準といえます。 シャッフルされたひと組を「Result」(結果)と呼びます。

  2. シャッフルされたカードひと組の「指紋」と「Secret](秘密)をお見せします。

    このハッシュを{Result+Secret}と呼びます。このユニークな指紋は、SHA-256ハッシングアルゴリズムでデータをハッシュして作成します。 これにより、正確なカードひと組に固有の指紋が作成され、後に、これを使用してゲームを確認することができます。

  3. あなたがゲームにひと押しできる機能を与えます。

    カードゲームのお場合は、トランプひと組の、きりたい部分を選んでいただけます。このきりたい場所は、クライアントシードと呼ばれる数字で表わされます。あなたが選択した番号を使用してゲームの結果に反映させます。 これにより、私たちは、ゲームが開始される時点まで、ゲーム結果を知る方法がないことが保証されます。なので、もしあなたがクライアントシードとして24を選んだ場合は、ゲームを始める前に、上から24枚目のカードでひと組を切り、カードを配り始めます。

  4. ゲームをプレイするのはあなた!

    ベットを賭け、ゲームを開始。何よりも楽しんでください。

  5. プレイしたゲームの生成に使用された実際のデータをお見せします。

    ゲーム終了後、シャッフルされたカードのひと組:{Result+Secret}(結果+秘密)、ゲーム前に表示された「指紋」(hash[Result+Secret])、 あなたがゲームに加えた操作(クライアントシード)、そして最終的な結果をお見せします。ゲーム前に与えられた指紋がシャッフルと一致しているか、当システムの機能、又は自身で外部のハッシュ計算機を使って確かめることができます。

  6. あなたがゲームに加えた影響もお確かめください!

    完全にシャッフルされたカードひと組と(Result+Secret) 切った後のひと組(最終結果)を比較して、あなたがゲームに与えた結果も確かめることができます。バリューは同じカードひと組でも、一つはあなたが選んだところで(数字で)切られたことが確認できます。

    独立した外部のウェブサイトを使用してゲームを確認する方法

    マニュアル検証


公平性を証明できるスロット

  1. スロットのリールのコンピュータモデルを使用して、ランダムなスピンを選び、適用します。

    順番通りにタイルをリスト上に並べ、リールの回転が終わる位置をランダムに作る出すことができます。 私たちは業界で最も優れた乱数生成器、Mersenne Twister のアルゴリズムを使用して、各スロットのランダムな数字を生成しています。このスピンを'Result'(結果)と呼びます。

  2. スピンの「指紋」と私たちが「秘密」と呼ぶ乱数をあなたに示します。

    私たちはこのハッシュを{Result+Secret}(結果+秘密)と呼んでいます。「秘密」と呼ばれる乱数を生成し、これを使ってゲームを作り上げるデータの指紋を作成します。これにより、指紋だけで回転の最終結果を把握することができなくなります。このユニークな指紋は、SHA-256ハッシングアルゴリズム(暗号的ハッシュ関数)でデータを暗号化作成します。 これにより、スロットのリールと秘密シードの正確な回転に固有の指紋が作成され、後に、これを使用してゲームを確認することができます。

  3. あなたがゲームにひと押しできる機能を与えます。

    各リールにあなたから追加のひとプッシュを加えることができるようになっています。各リールに0〜9の間の数字を選ぶことができ、その数字の分だけリールがさらに回るようになります。 自分の好きな数字を選択するか、ランダムに選択された数字を使用することができます。

  4. ゲームをプレイするのはあなた!

    ベットを賭け、ゲームを開始。何よりも楽しんでください。

  5. プレイしたゲームの生成に使用された実際のデータをお見せします。

    Aゲーム終了後、スロットリールの回転:{Result+Secret}(結果+秘密)、ゲーム前に表示された「指紋」(hash[Result+Secret])、 あなたがゲームに加えた操作(クライアントシード)、そして最終的な結果をお見せします。ゲーム前に与えられた指紋が回転と一致しているか、当システムの機能、又は自身で外部のハッシュ計算機を使って確かめることができます。

  6. あなたがゲームに加えた影響もお確かめください!

    回転(結果+秘密)と最終結果を比較することで、ゲーム上あなたが与えた影響を確認することもできます。 クライアントシードと呼ばれる、あなたがゲームに与えた影響は、番号であり、その1桁ずつが各リールを表します。なので、5リールのスロットマシーンだった場合は、5桁の数字となります。もしあなたの番号が30700だった場合、あなたの最終結果に、最初のリールの上部にアイコンが表示され、結果に表示される4番目のセットの最初のアイコンと一致します(最初のセットは0としてカウントされます)。2つ目のアイコンは第1セットに表示された第2のアイコンであり、3つ目のアイコンは第8セットに表示された3つ目のアイコンであり、以降も同様に続きます。 さらに、2行目と3行目にも同じことができます!

    例:

    最終結果

    {"symbols":[[", "shield","siren","lightning","medusa","siren" ],[", "thor","neptune","heracles","shield","artemis" ],[", "coin","coin","themis","coin","thor" ]],"card":"6D"}

    First Row – Green, Second Row – Blue, Third Row - Red

    Client Seed

    30700

    Result+Secret

    {"symbols":[

    ["siren", "siren" ,"heracles", "medusa" , "siren" ], (0)

    ["themis", "neptune" ,"themis", "shield" , "artemis" ], (1)

    ["heracles", "coin" ,"artemis", "coin" , "thor" ], (2)

    [ "shield" ,"heracles","heracles","medusa","shield"], (3)

    [ "thor" ,"thor","coin","shield","heracles"], (4)

    [ "coin" ,"medusa","themis","artemis","thor"], (5)

    ["lightning","artemis","ship","ship","medusa"], (6)

    ["minotaur","shield", "lightning" ,"themis","lightning"], (7)

    ["thor","heracles", "heracles" ,"coin","shield"], (8)

    ["artemis","thor", "themis" ,"artemis","medusa"], (9)

    ["coin","siren","coin","heracles","artemis"], (10)

    ["ship","heracles","neptune","medusa","thor"] (11)

    ],"card":"6D","game":"slots:platinum_lightning","secret":"ad17e9bf57de88cd103569c6f84a1d63"}

    独立した外部のウェブサイトを使用してゲームを確認する方法

    マニュアル検証