ステップ1. スピンデータを見つける
ゲーム内のフェアネスパネルを開きます。4つの値があります:hash(serverSeed) — 事前公開されたサーバーシードのハッシュ、clientSeed — あなたのクライアントシード、nonce — スピン番号、そしてserverSeed自体(シードのローテーション後に明かされます)。
サーバーシードが有効な間は、そのハッシュのみが表示されます — これは「コミットメント」として機能します:サーバーは後からシードを変更できません。
ステップ2. 公開を待ってハッシュを検証する
serverSeedを変更(ローテーション)します — 古いserverSeedが公開されます。公開されたシードのSHA-256を計算し、ゲーム前に公開されていたハッシュと比較します。一致すれば、シードは変更されていません。
これが要点です:サーバーが事前にコミットした正確なシードでプレイしたことをあなたが検証します。
ステップ3. 元の値を再計算する
エンドポイント/api/fair/verifyはserverSeed、clientSeed、nonceを受け取り、リール位置を独立して再計算します。結果はゲームで見たものと一致しなければなりません。
内部ではHMAC-SHA256と棄却サンプリング(モジュロバイアスなし)を使用しているため、シンボル分布は厳密に均一です。同じメカニズムがMegawaysやカスケードテーマでも機能します。