GAME MATH LIBRARY

Provably Fair とは?Commit / Reveal・HMAC・Server RNG の違い

重要なのはラベルではなく、秘密値の reveal 後にプレイヤー自身が同じ deterministic outcome を再計算できるかどうかです。

Wavelet Intelligence · 2026-09-25

直接回答

重要なのはラベルではなく、秘密値の reveal 後にプレイヤー自身が同じ deterministic outcome を再計算できるかどうかです。

要点

基本
先に commit、後で reveal
主な道具
HMAC / hash
検証入力
seed + nonce → outcome
証明しないこと
公平性のすべて

01

Commit / Reveal が解決する問題

Round 前に server seed の hash を公開すると、未公開の秘密値に先に commit できます。

Round 後に元 seed を reveal すれば、先の hash と一致するか確認でき、プレイヤー操作を見てから seed を差し替える余地を小さくできます。

02

HMAC で seed を outcome に変換

server seed、client seed、nonce、round id などを deterministic input として HMAC-SHA256 等へ入力します。

Digest を公開 mapping で dice roll、Plinko path、card sequence へ変換すれば、入力とアルゴリズムから同じ結果を再計算できます。

03

Server CSPRNG は自動的に Provably Fair ではない

Cryptographically secure RNG は高品質な乱数を生成できますが、replayable seed / commitment がなければ個別 round をプレイヤー自身で再検証できません。

『安全な RNG を使う』と『player-verifiable Provably Fair』は別の主張です。

04

Provably Fair だけで公平性は完結しない

主に outcome generation の検証であり、paytable、RTP 表示、Wallet settlement、規制遵守まで自動的に証明するものではありません。

ゲーム数学、outcome authority、表示、会計証拠を分けて確認する必要があります。

EXAMPLE

検証フロー例

  • 1. Round 前:hash(serverSeed) を公開
  • 2. Round:HMAC(serverSeed, clientSeed + nonce) を計算
  • 3. Round 後:serverSeed を reveal
  • 4. hash と HMAC を再計算し commitment と outcome を確認

よくある質問

公開 hash から server seed を逆算できる?

適切な cryptographic hash は preimage resistance を持つよう設計され、hash 公開だけで元 seed を実用的に逆算できないことが前提です。

Provably Fair ならアニメーションも正しい?

server-authoritative outcome と最終表示が一致している必要があります。RNG 検証だけでは presentation / settlement の整合性を代替できません。

Server CSPRNG の Slot は Provably Fair?

必ずしもそうではありません。player-replayable commitment/reveal がなければ server CSPRNG と表現する方が正確です。